e-invoicing in Italy
Regional spotlight
Formats? Mandates?
We've got you covered!
-
Overview of B2G, B2B and B2C e-invoicing in Italy. -
Key formats, networks and channels you may need to support. -
High-level regulatory and compliance considerations.
Italy has one of Europe’s most advanced e-invoicing systems. B2G e-invoicing has been mandatory since 2015, B2B/B2C e-invoicing became mandatory for all VAT-registered businesses in January 2019, and flat-rate taxpayers were brought in from 2024. Italy’s EU authorisation for mandatory e-invoicing through SDI runs until 31 December 2027. All domestic invoices must flow through the SDI (Sistema di Interscambio), Italy’s centralised clearance platform managed by the Revenue Agency (Agenzia delle Entrate), and since July 2022 cross-border invoices must also be reported to it.
Italy requires setup on both sides before any Italian company can send or receive invoices through Maventa. Contact Maventa support to configure your vendor key for sending to SDI, and ensure the Italian company has registered Maventa as their e-invoicing operator in their SDI account.
Italy company account registration
When registering a new Italian company via the API, the fiscal code or VAT number (Partita IVA / P.IVA) must be used as the company identifier. At the moment, company registration requires the vendor to have KYC approval from Maventa. Contact Maventa support to get started.
| Identifier | Description | Format | Validation |
|---|---|---|---|
| Codice Fiscale | Italian fiscal code | XXXXXXXXXXXXXXXX |
Structural validation |
| Partita IVA | Italian VAT identifier | IT12345678901 |
Structural validation via VIES |
Sending in Italy
SDI reporting and delivery
To start using Maventa as the e-invoicing operator through SDI, the Italian company must register Maventa’s Codice Destinatario (operator code) in the SDI portal:
61M0PS7
All invoices sent through Maventa for Italian companies are reported to SDI in the FatturaPA format — the official XML format mandatory for all transactions through SDI. Send Italian invoices to Maventa in FatturaPA (see Formats you need to support). When SDI accepts the invoice, Maventa marks it as SENT immediately. However, SDI validates invoices in the background, so an invoice can still fail after it has been marked as SENT.
Domestic invoices are routed to SDI by Maventa — the sender does not need to take any additional steps. SDI acts as the clearance and delivery platform, validating the invoice and handling forwarding to the recipient. No other delivery channel is used for domestic B2B traffic.
B2G and B2C invoices are not currently supported. Invoices to Italian public administrations must carry a qualified electronic signature (CAdES or XAdES) before they are sent to SDI, and Maventa does not currently sign invoices. Invoices to consumers are not yet supported either. Contact Maventa if you need either flow.
Cross-border invoices are first reported to SDI (mandatory since July 2022). Once SDI confirms the invoice has passed validation — which can take hours or even a few days — Maventa sends the invoice to the recipient through standard routing. This means the invoice is delivered via the best available channel — internal Maventa network or Peppol — based on the recipient’s capabilities. Email and print delivery are also available if these fallback routes are enabled on the sender account.
Addressing the recipient
SDI routes every invoice by the recipient code (CodiceDestinatario) in the FatturaPA header. Set the recipient code and the transmission format (FormatoTrasmissione) in the FatturaPA you send to Maventa according to the recipient:
| Recipient | CodiceDestinatario |
FormatoTrasmissione |
Identifier scheme |
|---|---|---|---|
| Italian company (B2B) | The recipient’s 7-character Codice Destinatario | FPR12 |
0205 |
| Italian company without a recipient code |
0000000; add the buyer’s PEC address in PECDestinatario if it has one |
FPR12 |
— |
| Foreign (non-Italian) recipient | XXXXXXX |
FPR12 |
— |
For a foreign (non-Italian) recipient, XXXXXXX (the letter X seven times) is the standard SDI convention for recipients that have no Italian destination code. It tells Maventa to report the invoice to SDI and then deliver it cross-border through the best available channel (internal network or Peppol).
Never put a Peppol identifier (such as 0211:IT12345678901) in CodiceDestinatario. SDI accepts only a 7-character recipient code, 0000000, or XXXXXXX, and rejects the invoice otherwise.
SDI outcomes
SDI validates invoices in the background, and responses can take hours or even a few days to arrive. SDI returns one of three outcomes:
| Outcome | Meaning |
|---|---|
| Delivered | SDI delivered the invoice to the recipient. |
| Rejected (scarto) | The invoice failed SDI’s checks and is not issued. Correct it and send it again within 5 days of the rejection. |
| Not delivered (mancata consegna) | SDI could not reach the recipient’s channel, but the invoice is legally issued. The buyer can find it in their reserved area of the Revenue Agency’s portal. |
Maventa currently reports both rejection and non-delivery by setting the invoice status to error and notifying the sender via webhooks. Check the error message before resending: resending an invoice that was not delivered issues it twice.
Email and print delivery
Email and postal delivery (printing) are available as fallback delivery channels for cross-border invoices when enabled on the sender account. For domestic traffic, SDI handles all delivery — email and print are not used.
Receiving in Italy
Receiving in Italy is handled via SDI.
Receiving addresses for Italian companies
| Address Type | Description | Example address | Activation Requirement |
|---|---|---|---|
| Codice Destinatario | 7-character recipient code for B2B routing through SDI | 1234567 | Provided by recipient; used as SDI routing code |
Peppol registration is not currently available for Italian companies. An Italian company cannot be registered as a Peppol receiver through Maventa, so it cannot receive invoices from foreign suppliers over Peppol. Contact Maventa if you need it.
For step-by-step instructions on enabling receiving, see the invoice receiving integration guide.
When an Italian company receives an invoice from a foreign supplier, it must report the purchase to SDI with a TD17, TD18, or TD19 document by the 15th of the following month. Maventa does not create these documents; the buyer handles the reporting.
Archiving is the customer’s responsibility. Italian e-invoices must be kept in compliant electronic preservation (conservazione) for 10 years. Storage in SDI does not count. The Revenue Agency offers taxpayers a free preservation service.
Formats you need to support
An Italian invoice carries data that a standard Peppol BIS invoice cannot fully represent, such as the SDI recipient code, the transmission format, and Italian tax and payment details.
To serve Italian customers, your integration must support FatturaPA. Peppol BIS Billing 3.0 alone is not enough: send invoices from Italian companies to Maventa in FatturaPA, and download invoices received through SDI in FatturaPA to get all the invoice data.
| Format | API format code | Notes |
|---|---|---|
| FatturaPA 1.2 | FATTURAPA12 |
Italian national standard. Mandatory XML format for all transactions through SDI. Use it for sending and receiving. |
| Peppol BIS Billing 3.0 | PEPPOLBIS30 |
EN16931. Used for sending cross-border over Peppol. |
Use the format code as the return_format parameter when downloading a received invoice with GET /v1/invoices/{id}.
Italy also has a national Peppol BIS variant defined by AgID (CIUS-IT). Maventa does not currently support it for Italian invoices. Contact Maventa if you need it.