New KPMG Agentic ERP, now available with KPMG in 140+ countries Read the announcement

SDI e-invoicing in Italy

Guide
Admin guides
Reading
10 min read
On this page
  1. 01On this page
  2. 02At a glance
  3. 03What is SDI?
  4. 04SDI takes over routing for your entity
  5. 05Getting registered
  6. 06Routing incoming invoices to Light
  7. 07What you need to fill in
  8. 08Addressing Italian customers
  9. 09Document rules
  10. 10Invoicing consumers and public bodies
  11. 11Credit notes
  12. 12Limits
  13. 13FAQ and troubleshooting
  14. 14Related articles

What is this page about: How to register an Italian entity on SDI, how invoices are routed to Italian customers, what SDI requires on your documents, and the one behaviour that surprises entities registered on more than one network. This article covers what is specific to SDI. The wizard, registration statuses and EDIFACT codes are the same everywhere and are explained in E-invoicing in Light.

On this page

  • At a glance
  • What is SDI?
  • SDI takes over routing for your entity
  • Getting registered
  • Routing incoming invoices to Light
  • What you need to fill in
  • Addressing Italian customers
  • Document rules
  • Invoicing consumers and public bodies
  • Credit notes
  • Limits
  • FAQ and troubleshooting
  • Related articles

At a glance

Item Detail
Country Italy
Kind of network Clearance. The tax authority validates and delivers
Set up yourself Yes
Sending / receiving Both, or sending only
Address issued A shared receiving code, not a personal address. See below

What is SDI?

SDI (Sistema di Interscambio) is the clearance hub run by Italy's Agenzia delle Entrate. Italy requires effectively every domestic invoice to pass through it. You send the invoice to SDI, SDI validates it, and SDI delivers it to your customer.

Invoices are FatturaPA XML. Because clearance and delivery happen in the same step, there is no separate reporting obligation on top. Passing through SDI is the report.

Light sends and receives SDI documents through its e-invoicing provider, Invopop.

SDI takes over routing for your entity

This is the most important thing to know, and it is easy to miss. Once your entity has an active SDI registration, every e-invoice it issues goes through SDI, regardless of what network is set on the individual customer. If the entity also holds a Peppol registration, SDI still wins. This is deliberate. Italy requires a resident business's invoices to be cleared through SDI, including invoices to customers abroad, and it is not something you can override per customer.

So if you have an Italian entity that previously sent over Peppol and you add SDI, expect the routing to change for all of its customers at once. Plan the switch rather than discovering it.

Getting registered

SDI is the least demanding registration of any network Light supports. There is no document to upload and no verification step.

  1. Go to Settings (gear icon) → Entities and open your Italian entity
  2. Check that the entity's country is set to Italy and its VAT number (Partita IVA) is filled in. A Business registration number (Codice Fiscale) is recommended but not required for SDI
  3. In the E-invoicing section, click Add
  4. Select Invopop as the provider and SDI as the network
  5. Choose the Registration type: Sending and receiving, which is the default, or Sending only
  6. Click Next

Registration is automatic, with no document to upload and no verification step. SDI is the one network that skips Pending verification entirely, so the status goes straight from Created to Processing, then Active.

If registration fails, open the onboarding details to see why, fix the problem, and start again by clicking Add. There is no separate retry button, because there is no verification step to retry.

Sending needs no registration with the authority at all. Invopop transmits as a recognised intermediary, so a sending-only registration is effectively just switching the entity over.

Receiving is different, and needs one step from you at the Agenzia delle Entrate. Entities registered to receive through Light share Invopop's recipient code, JKKZDGR. That code is not personal to your company, and we cannot register it on your behalf. See the next section.

Routing incoming invoices to Light

To have supplier invoices reach Light, tell the Agenzia delle Entrate to route them to Invopop's recipient code.

  1. Log in to the Agenzia delle Entrate portal using SPID, CIE, CNS or Entratel credentials
  2. Open Fatture e Corrispettivi
  3. Select Registrazione delle modalità di ricezione della fattura elettronica
  4. Choose the Codice Destinatario option and enter JKKZDGR
  5. Click Conferma

Until you do this, invoices addressed to you sit in the AdE portal for you to collect manually instead of arriving in Light.

Registering JKKZDGR replaces whatever code you had registered before. From that moment your incoming invoices route to Light and stop arriving through your previous channel. If you are switching from another provider, make sure Light is receiving properly before you shut the old one down, because there is no period where both work.

What you need to fill in

On your entity

Field Needed for Notes
Country, set to Italy Registration
VAT number (Partita IVA) Registration and sending 11 digits
Business registration number Sending

On each Italian customer

What is required depends on who they are.

Customer type Required
Italian business VAT number (Partita IVA)
Italian public body VAT number and e-invoice address. See below
Italian consumer Their personal tax code. See "Invoicing consumers and public bodies"
Non-Italian business Business registration number
Non-Italian consumer Nothing beyond a billing address

Italian customers need a VAT number but not a business registration number, which is the reverse of the Peppol rule.

Addressing Italian customers

SDI does not use EAS codes. Nothing on the Peppol addressing model carries over.

Italian customers are routed by their Codice Destinatario, a seven-character code identifying where SDI should deliver. Put it in the customer's E-invoice address field.

It is optional for businesses. If you leave it blank, SDI delivers the invoice to the customer's account on the Agenzia delle Entrate portal, where they collect it themselves. That is a legitimate outcome, not a failure.

Public bodies are the exception. They are addressed by a six-character Codice Univoco Ufficio identifying the specific office, and there is no portal fallback for them. An invoice to an Italian public body without an office code cannot be sent, and Light blocks it before submission. Office codes can be looked up at indicepa.gov.it.

Italian identifiers, and the codes that carry them

If you also invoice Italian customers over Peppol, for example from a non-Italian entity, these are the codes to use there. SDI itself uses the Codice Destinatario above rather than these.

Code Identifier Use for
0211 Partita IVA The default for any Italian business
0210 Codice Fiscale Individuals and sole traders. For companies it is the same digits as the Partita IVA
0201 Codice Univoco Ufficio (IPA) Public bodies only
0202 PEC certified email address Valid, but uncommon

9906 and 9907 are deprecated. They were the old codes for Partita IVA and Codice Fiscale and have been removed from the Peppol code list. A customer still quoting one has out-of-date information, so use 0211 or 0210.

0000000 and XXXXXXX are not codes of this kind. They are placeholder values that go inside the invoice itself: 0000000 meaning "no registered channel, deliver via the portal", and XXXXXXX meaning "the recipient is foreign". Light sets them for you, and you never enter them on a customer record.

Document rules

Document numbers are capped at 20 characters. FatturaPA rejects anything longer, so Light checks the length before submitting and tells you if a number is too long. There is no format requirement beyond that.

Currency. Invoices should be in euros. A non-euro invoice needs an exchange rate that Light does not currently send, so it will be refused after submission rather than up front.

Names must use Latin-1 characters. Supplier, customer and line descriptions containing characters outside that set are rejected.

Tax codes. As on every network, each tax code used needs an EDIFACT code. On SDI, a line with no VAT percentage also needs a Natura code, the Italian classification of why VAT is not charged. Light takes the Natura code from the tax code's Italian settings if one is configured, and otherwise derives a sensible default from the EDIFACT code. If your advisor has told you which specific Natura sub-code to use, set it on the tax code so it is sent exactly.

Fiscal regime. Invoices are sent under the ordinary VAT regime (RF01). If your entity is on a special regime such as forfettario or minimi, talk to us before going live, because the regime is not yet configurable.

Invoicing consumers and public bodies

Consumers. Italian private individuals are identified by their 16-character personal Codice Fiscale. Light does not yet have a dedicated field for it, so for now set the customer's type to Consumer and put their Codice Fiscale in the VAT number field. Light recognises the combination and sends it correctly.

Two consequences to be aware of: the code will be labelled "VAT" on PDFs and in the ledger, and if you leave the customer typed as a business by mistake, the code is sent as a VAT number and the invoice fails. A dedicated field is planned.

Public bodies. Set the customer's type to Government. Light then sends the invoice in the public-sector format, which is a different format from the business one and is required, because public bodies reject the business format.

Two things follow. The office code is mandatory, as covered under Addressing above, and where VAT is charged the invoice is marked for split payment, under which the public body pays you net and remits the VAT itself.

Public-sector invoices can sit at Sent for a long time. After SDI delivers to a public body, that body has 15 days to accept or reject. Until it responds, the invoice legitimately stays at Sent rather than moving to Delivered. Silence for the full 15 days counts as acceptance in Italian law, and Light treats it as accepted.

Credit notes

Credit notes go through SDI as a corrective document, following the same rules as invoices, including the 20-character number cap and the public-sector format where the customer is a public body.

Limits

  • Special VAT regimes are not configurable. Invoices go out under the ordinary regime (RF01), so contact us before going live if that is not you.
  • Stamp duty (imposta di bollo) is not added automatically. Exempt or no-VAT invoices over €77.47 legally need a €2.00 stamp, and Light does not add it.
  • Withholding tax (ritenuta d'acconto) and professional fund contributions are not supported, so freelancer-style invoices cannot be produced.
  • CIG/CUP tender codes are not sent as structured fields. If a public-sector contract requires them, put them in the invoice's additional text for now.
  • Only invoices and credit notes. Debit notes, deferred invoices and self-billed documents are not supported.
  • Anonymous consumer sales cannot go through SDI, because SDI needs the customer's tax code. Italy has a separate digital receipt mechanism for retail, which Light does not integrate.
  • Received invoices are not imported into Light yet. Registering to receive routes them to our provider, but they do not become bills automatically.

FAQ and troubleshooting

Do I need a Codice Destinatario for every customer?

No. Leave it blank for a business and SDI delivers to their portal account. It is mandatory only for public bodies.


Why did my Peppol customer's invoice go through SDI?

Because the entity has an active SDI registration, which takes over routing for everything it issues. See the section above.


Why has my invoice to a public body been sitting at Sent for days?

Public bodies have 15 days to respond. That wait is normal, and silence counts as acceptance.


My invoice was rejected for a document number that is too long.

FatturaPA caps it at 20 characters, so shorten the number or the prefix.


How do I invoice an Italian private individual?

Set their customer type to Consumer and put their Codice Fiscale in the VAT number field.


What is the code JKKZDGR?

Invopop's shared recipient code, used by every entity receiving through Light. Register it in your Agenzia delle Entrate account so incoming invoices reach it. See "Routing incoming invoices to Light" above.


I registered JKKZDGR and my invoices stopped arriving at my old provider.

That is expected. The Agenzia delle Entrate stores one recipient code per company, so registering a new one replaces the old one. Switch only when you are ready.


Do I need a Codice Fiscale on my entity?

It is recommended but not required for SDI. Your Partita IVA is the mandatory identifier.


Can I invoice foreign customers through SDI?

Yes, and if your entity is registered on SDI, you have to. That is the routing behaviour described above, and it matches Italy's requirement.

Was this article helpful?