Reference · Italy
Italy's SDI code, explained
Someone asked you for an "SDI code" and you are not Italian, not a tax specialist, and stuck on one field. Here is what it is, and what it is not.
The Sistema di Interscambio (SdI) is the platform every electronic invoice between Italian parties passes through: the issuer's invoice goes to SdI, and SdI delivers it to the recipient. It was established by the Decree of the Minister of Economy and Finance of 7 March 2008, with the invoice format and technical rules set out in DM 55 of 3 April 2013, and it is managed by the Italian Revenue Agency (Agenzia delle Entrate).
Who has to use it
Legislative Decree 5 August 2015 n. 127, article 1(3), requires electronic invoicing through SdI for supplies of goods and services between persons resident or established in Italy — with exemptions for the regime di vantaggio, the regime forfettario, and certain bodies under Law 398/1991 below a turnover threshold. That wording matters if you are a foreign supplier. A business that is merely VAT-identified in Italy, without an establishment there, sits outside "resident or established" as the statute states it. For the dates the obligation started and when it applies to you, see the Italy page of the deadline checker.
What the code actually identifies
The point almost every other page gets wrong
A codice destinatario does not identify your customer's company. Under the Agenzia's provvedimento of 30 April 2018, SdI associates at least one seven-character code with a telematic channel that a party has activated, on request, after an accreditation process. One channel can carry several codes, and one code routinely serves several different companies. A customer may hand a supplier an intermediary's code, and every invoice addressed to that code lands with the intermediary. It does not land with a single named business. The code identifies where invoices are delivered. It does not identify who the customer is.
The CodiceDestinatario field
In the FatturaPA invoice, element 1.1.4 CodiceDestinatario is six characters when
element 1.1.3 FormatoTrasmissione is FPA12 (a public-administration
invoice), and the six characters are the Codice Univoco Ufficio from IPA, the index of public
bodies maintained by AgID. It is seven characters when
FormatoTrasmissione is FPR12 (a private-recipient invoice), and the
seven characters are assigned by SdI once a channel is accredited. The two are enforced
against each other. SdI check 00427 rejects a seven-character code submitted with
FPA12, and a six-character code submitted with FPR12. A six-character
code must exist in IPA; a seven-character code must exist in SdI's own register. The
specification calls the field alphanumeric and the provvedimento calls it numeric. Write
"seven characters"; it is not "seven digits". This has not changed. The wording is identical in the
superseded version 1.2.2 of the specification and in version 1.4, in force since 1 April 2025.
What to put in the field, if your customer has not given you a code
This is where most readers of this page actually are. Point 3.4 of the provvedimento covers
it. If you have a real code, SdI delivers there; if the code does not exist, SdI rejects the
invoice back to you, and if the channel exists but is inactive, SdI instead deposits the
invoice in the customer's reserved area on the Agenzia's website and tells you it did.
0000000 together with a PEC address in the PECDestinatario field
delivers to that PEC, falling through to the reserved area if the PEC is full or inactive.
0000000 alone applies to a final consumer identified only by codice fiscale, to a
customer under the regime di vantaggio, the regime forfettario or article 34(6) DPR 633/1972,
and (the case most readers of this page are actually in) to a VAT-registered customer who
simply has not given you a codice destinatario or a PEC. In every one of those
0000000 cases, the invoice goes to the customer's reserved area and you are
obliged to notify them it is there by some other means.
Do not use XXXXXXX
XXXXXXX exists for invoices recording cross-border transactions; SdI check 00313
permits it only where the customer's country code is not IT. It is what an Italian
supplier puts on an invoice to a foreign customer, so the transaction still
reaches SdI for cross-border reporting. It is not something a non-Italian supplier puts on an
invoice to an Italian customer.
A registered delivery address overrides the field
The Agenzia offers a service that lets a taxable person register the address where it wants
to receive its invoices. Where that registration exists, SdI always delivers there regardless
of what a supplier entered in CodiceDestinatario or PECDestinatario
— and the Agenzia states it is not responsible for an address a sender completed incorrectly.
A wrong code and a missing code are not the same failure
A code that does not exist produces a rejection. SdI returns a ricevuta di scarto within five
days, the invoice "si considera non emessa" (is considered not issued), and the fix is an
internal accounting correction, with nothing sent to SdI as a credit note. A missing code
(0000000) or a dead channel is not a rejection. The invoice is deposited in the
recipient's reserved area and you are obliged to tell them by other means. The two also carry
different dates for tax purposes. A successful delivery produces a delivery receipt carrying
the date of receipt, while an invoice left in the reserved area is treated as received on the
date the customer views it there.
If you send an EN 16931 invoice
Italy accepts EN 16931 invoices in UBL or CII under the FatturaEU rules, following D.Lgs.
148/2018, Italy's transposition of Directive 2014/55/EU; the technical rules are at version
2.6, in force since 15 May 2025. In such an invoice the buyer's electronic address carries the
attribute schemeID="0201" (<cbc:EndpointID schemeID="0201"> in
UBL, <ram:URIID schemeID="0201"> in CII), and that value maps to FatturaPA
element 1.1.4, the codice destinatario. EAS code 0201 is "Codice Univoco Unità Organizzativa
iPA", per the Peppol BIS Billing 3.0 electronic address scheme code list. Check a document
against the EN 16931 rules with the free checker, and
read what UBL and CII share and where they differ in
UBL 2.1 and CII D16B: two syntaxes for one invoice.
What this does not cover
This page names only two SdI checks, 00427 and 00313; it is not a list of SdI's rejection and notification codes. It does not cover the esterometro or any cross-border reporting deadline. EUInvoice does not transmit invoices to SdI and does not produce FatturaPA documents — if you were sent one and need to read it, see someone sent you an e-invoice.
Sources
- Provvedimento del Direttore dell'Agenzia delle entrate, 30 April 2018, prot. 89757, coordinated text to 30 June 2021.
- Agenzia delle Entrate, Rappresentazione tabellare del tracciato fattura ordinaria, version 1.4, in force from 1 April 2025.
- Agenzia delle Entrate, Regole tecniche relative alla gestione delle fatture europee, version 2.6, in force from 15 May 2025.
- D.Lgs. 5 August 2015 n. 127, article 1.
- D.Lgs. 148/2018, transposing Directive 2014/55/EU.
- Council Implementing Decision (EU) 2024/3150 of 10 December 2024.
- Peppol BIS Billing 3.0, Electronic Address Scheme code list.