E-invoicing in Italy: A Complete Guide for Businesses
What is Italy e-invoicing?
Italy was the first EU member state to mandate B2B e-invoicing. Mandatory electronic invoicing via the SDI (Sistema di Interscambio) has been required for all B2B and B2C transactions between Italian VAT-registered entities since 1 January 2019, following a successful B2G pilot that launched in 2014.
The Italian model is a clearance model: invoices must be transmitted to and cleared by the SDI — operated by the Agenzia delle Entrate — before they are considered legally valid. An invoice that bypasses SDI is not legally recognised for VAT deduction purposes, regardless of whether both parties agree to it.
Italy's e-invoicing mandate was extended to cross-border transactions (Esterometro replacement) from 1 July 2022. Italian suppliers invoicing foreign customers, and Italian businesses receiving invoices from foreign suppliers, must transmit those transactions to SDI using the TD17, TD18, TD19, TD28 (and other) document type codes for self-billing and cross-border scenarios.
The FatturaPA format
FatturaPA (Fattura Pubblica Amministrazione, now used for all invoices) is Italy's national e-invoice format. Key technical characteristics:
- Standard: FatturaPA XML, defined by the Agenzia delle Entrate
- Version: FatturaPA 1.2.2 (current as of 2024) — schema
https://www.fatturapa.gov.it/it/norme-e-regole/ - Syntax: proprietary XML (not UBL); fields are Italian-language (
FatturaElettronicaHeader,DatiGenerali, etc.) - Document type codes:
TD01(standard invoice),TD04(credit note),TD05(debit note); cross-border codesTD17–TD28 - Codice Destinatario: a 7-character alphanumeric code assigned to each business by SDI, identifying their receiving channel. If the buyer has no code, use
0000000and supply their PEC (certified email) address instead - SDI routing: invoices are submitted to SDI, which validates, routes to the buyer (via codice or PEC), and returns a receipt (
ricevutaConsegna) or rejection notice (notificaScarto) - Digital signature: optional but permitted; SDI validates against the schema regardless
Who does it apply to?
| Segment | Status |
|---|---|
| B2B (Italian VAT entities) | Mandatory since Jan 2019 |
| B2G | Mandatory since Jun 2014 |
| B2C | Mandatory since Jan 2019 |
| Cross-border (Esterometro replacement) | Mandatory since Jul 2022 |
| Foreign suppliers invoicing Italian companies | Must provide data for self-billing via SDI |
Italy applies no SME exemption — the mandate covers every Italian VAT-registered entity regardless of size or sector.
Timeline / key dates
- Jun 2014: FatturaPA mandatory for central public administration (B2G)
- 1 Jan 2019: Full B2B and B2C mandate for all Italian VAT entities
- 1 Jul 2022: Cross-border transaction reporting replaces the quarterly Esterometro
- Ongoing: Agenzia delle Entrate regularly updates the technical specification and codebook
How Clearvo handles Italy e-invoicing
Clearvo generates FatturaPA 1.2.2 XML from your standard CustomerInvoiceInput payload, submits it to SDI, polls for the delivery receipt or rejection notification, and surfaces the result via a webhook or synchronous response.
Key points:
- Clearvo holds an SDI intermediary agreement, so you transmit to Clearvo's endpoint — not directly to SDI
- The
codiceDestinatariofield is required for the buyer routing; Clearvo will fall back to PEC if you supplybuyerPecinstead - Rejection codes (
notificaScarto) are translated into human-readable error messages in the API response - Cross-border invoices (
TD17,TD18,TD19) are supported; setdocumentTypeaccordingly
What you send: standard invoice fields plus buyerCodiceDestinatario (or buyerPec), buyerFiscalCode, and buyerCountry: "IT".
What you get back: the SDI protocol number, delivery status, and the full FatturaPA XML.
{
"invoiceNumber": "INV-2025-00234",
"documentType": "TD01",
"issueDate": "2025-04-10",
"dueDate": "2025-05-10",
"currency": "EUR",
"supplier": {
"name": "Acme Software Srl",
"vatNumber": "IT12345678901",
"fiscalCode": "12345678901",
"address": {
"street": "Via Roma 12",
"city": "Milano",
"postalCode": "20121",
"country": "IT"
}
},
"customer": {
"name": "Rossi & Partners SpA",
"vatNumber": "IT98765432101",
"fiscalCode": "98765432101",
"codiceDestinatario": "ABC1234",
"address": {
"street": "Via Nazionale 44",
"city": "Roma",
"postalCode": "00184",
"country": "IT"
}
},
"lines": [
{
"description": "Licenza software annuale",
"quantity": 1,
"unitPrice": 3600.00,
"taxRate": 22,
"taxCategory": "S"
}
],
"paymentMethod": "MP05",
"iban": "IT60X0542811101000000123456"
}
Getting started
SDI submission, rejection code handling, and cross-border document types are documented at clearvo.io/docs. Use the SDI test environment (ambiente: "TEST") to validate your FatturaPA integration before switching to production.
Related country guides
- France — Factur-X PDP model, mandate from September 2026
- Spain — VeriFactu hash-chain + Peppol B2B mandate
- Portugal — Peppol BIS 3.0, SAFT-PT, B2G mandatory
Frequently asked questions
When did Italy make e-invoicing mandatory? Italy made B2B and B2C e-invoicing mandatory for all Italian VAT-registered entities from 1 January 2019. B2G e-invoicing via SDI has been mandatory since June 2014. Cross-border transaction reporting (replacing the quarterly Esterometro) became mandatory from 1 July 2022.
What is the SDI and how does it work? SDI (Sistema di Interscambio) is Italy's government clearance hub operated by the Agenzia delle Entrate. Every invoice must be submitted to SDI before it is legally valid. SDI validates the XML structure, routes the invoice to the buyer (via Codice Destinatario or PEC email), and returns a receipt or rejection notice. An invoice not cleared by SDI has no legal standing for VAT deduction.
What is a Codice Destinatario?
The Codice Destinatario is a 7-character alphanumeric code assigned by SDI to each business that registers a receiving channel. It is used to route invoices to the correct recipient. If your buyer has not registered a Codice Destinatario, use 0000000 and provide their PEC (certified email) address as an alternative routing method.
Does Italy's e-invoicing mandate apply to foreign businesses? Foreign businesses without an Italian VAT registration are not subject to the FatturaPA mandate directly. However, Italian businesses receiving invoices from foreign suppliers must self-bill those transactions via SDI using the appropriate cross-border document type codes (TD17, TD18, TD19). Foreign suppliers selling to Italian buyers should provide their invoice data in the agreed format to enable this.
What happens if SDI rejects my invoice?
SDI returns a notificaScarto (rejection notice) with specific error codes explaining why the invoice failed validation. Common reasons include invalid XML structure, incorrect Codice Destinatario, missing mandatory fields, or a duplicate invoice number. The invoice is not legally issued until SDI accepts it — you must correct and resubmit. Clearvo translates SDI rejection codes into plain-language error messages in the API response.
Ready to handle e-invoicing in Italy?
One API, all 31 countries. Sign up and get your API key within 24 hours.
Get started free →