Guide
Markdown exportE-Invoicing in Italy
Key formats, routing options, and a practical checklist for sending compliant e-invoices in Italy.
What matters in practice
This Italy guide covers FatturaPA XML, SdI routing, Codice Destinatario or PEC delivery, and the validation checks that matter most before submission.
Common e-invoice formats
Use these points as the practical checks for this section.
- FatturaPA XML
Routing & delivery
Common identifiers
Use these points as the practical checks for this section.
- Codice Destinatario / PEC
- VAT ID
Mandate & scope
Italy is known for a clearance-style approach where invoices are routed through the SdI platform (FatturaPA XML).
Country-specific operating notes for Italy
Use these points as the practical checks for this section.
- Esterometro and SdI ESTERO routing have replaced the cross-border XML report format since July 2022; foreign invoices now use Codice Destinatario
XXXXXXXand the country code on the buyer block. - Cassetto fiscale (the taxpayer’s online dashboard with Agenzia delle Entrate) is the primary place to retrieve received invoices and notifications.
- B2C invoices use document type code
1.6.1.1for esterometro replacement reporting.
Quick checklist
Use these points as the practical checks for this section.
- Format: FatturaPA XML is the common format for platform routing.
- Routing: Codice Destinatario or PEC is used to deliver invoices to the recipient.
- Compliance: ensure totals, VAT breakdown, and identifiers match platform rules.
- Sistema di Interscambio (SdI): mandatory clearance hub for all B2B and B2G invoices since January 2019; B2C since 2024.
- FatturaPA 1.7.1+ (current XSD): exact format validated server-side by SdI — no escape hatch.
- Codice Destinatario (BT-49 equivalent): 7-character recipient routing code. Placeholders:
0000000(PEC fallback),XXXXXXX(cross-border non-resident), or specific provider codes. - FormatoTrasmissione codes:
FPA12for B2G,FPR12for B2B/B2C. - SdI scarto (rejection) codes:
00200-series for syntactic,00400-series for semantic. RC (consegna) and MC (mancata consegna) notifications within 12 days.
How to send (practical steps)
Follow this sequence as the practical checklist for this section.
- Confirm whether the recipient expects Codice Destinatario or PEC and collect the correct value.
- Generate the required XML format and validate against platform/business rules.
- Submit via the SdI process (portal/API/provider) and track the platform status/acknowledgements.
- Store delivery receipts and outcomes for audit and dispute handling.
Validation & compliance
Use these points as the practical checks for this section.
- Keep recipient routing identifiers accurate (wrong codes commonly lead to non-delivery).
- Ensure VAT calculations and totals are consistent across lines and summaries.
- Avoid free-text identifiers where the platform expects structured codes.
Common pitfalls
Use these points as the practical checks for this section.
- Wrong Codice Destinatario/PEC leading to routing failures.
- VAT and rounding inconsistencies causing rejections.
- Missing mandatory identifiers for seller/buyer or taxable status.
- Hardcoding Codice Destinatario as 7 zeros without a PEC fallback — the sender is responsible for ensuring deliverability.
- Sending an EN 16931 UBL or CII invoice expecting SdI to accept it — SdI requires the FatturaPA XML schema, not UBL or CII.
- Confusing RC (delivery receipt) with MC (delivery failure) — they require different next steps.
Frequently asked questions
What invoice format is used in Italy?
Italy commonly uses FatturaPA XML for SdI routing, so the structured XML must match the recipient’s delivery details.
What causes the most problems with Italian invoices?
Routing identifiers, VAT consistency, and missing mandatory party data are the most common reasons for rejection or non-delivery.