Skip to main content
Guide · E-invoicing in Italy

E-invoicing in Italy, without the heavy lifting

Every invoice in Italy flows through SDI, together with the XML formats, closed code lists and notification streams that come with it. Latitude App is a directly accredited SDI transmission channel: issue, receive and track your FatturaPA invoices in one modern platform, and let us handle the plumbing.

Updated: 31 July 2026 · 7 min read

  • Accredited SDI transmission channel
  • Certified Peppol Access Point
List of invoices issued through SDI in the Latitude App, with each invoice's status in real time

In short

  • Nearly every invoice issued by operators established in Italy, whether B2B, B2C or B2G, must go through SDI (Sistema di Interscambio) as FatturaPA XML; the notable exception is healthcare services to private individuals, which are barred from SDI.
  • Invoices must be issued within 12 days of the transaction. A rejected invoice (scarto) can be corrected and resubmitted within 5 days.
  • Cross-border transactions are reported through SDI too, ever since the old "esterometro" was retired in 2022: foreign purchases as TD17–TD19 self-invoices, sales to foreign customers as ordinary invoices with the XXXXXXX recipient code.
  • Since 2024 the mandate covers everyone, including flat-rate (forfettario) businesses.
  • Latitude App is a directly accredited SDI transmission channel: issue, receive and track every invoice in one platform, with a certified Peppol Access Point built in for your invoices beyond Italy.

Context

What are SDI and FatturaPA?

SDI, short for Sistema di Interscambio, is the national invoice exchange platform run by Agenzia delle Entrate. Unlike most countries, in Italy an invoice never travels directly from supplier to customer: every invoice passes through SDI first, which validates it and only then delivers it to the recipient. An invoice that never went through SDI simply doesn't exist for tax purposes.

FatturaPA is the mandatory XML format, currently at version 1.2, with the FPR12 profile for invoices between businesses and to consumers. On the ordinary B2B and B2C flow, SDI accepts no PDFs and no other formats: only FatturaPA, with strict structural rules and closed code lists (document types TD01–TD29, "Natura" exemption codes, payment method codes, and so on).

Good to know

Every recipient has a codice destinatario, which is a 7-character code identifying the channel where they receive invoices, or alternatively a certified PEC e-mail address. When neither is known, the generic code 0000000 is used and the invoice stays available to the recipient in the tax authority's portal. For foreign customers, XXXXXXX is used. Latitude App customers receive their invoices through our public code U5NW3BH, which we cover in more detail below.

Timeline

A decade of mandatory e-invoicing

2014

Mandatory towards the public sector (B2G)

Invoices to the Italian public administration are transmitted exclusively through SDI.

2019

Mandatory B2B and B2C

Italy becomes the first EU country with generalized e-invoicing for operators established on its territory.

2022

"Esterometro" disappears

Cross-border transactions are reported through SDI as well: purchases as TD17–TD19 self-invoices, sales with the XXXXXXX recipient code.

2024

The mandate becomes universal

Flat-rate businesses (forfettari) also fall under the e-invoicing obligation.

2026

Latitude App becomes an accredited SDI channel

We transmit and receive invoices directly in SDI, through our own accredited channel and with no intermediaries.

The mandate

Who has to invoice through SDI?

The obligation covers operators established in Italy, meaning Italian companies of every size as well as branches and fixed establishments of foreign groups. Since 2024 there are no thresholds or regime exemptions left: even flat-rate (forfettario) taxpayers invoice electronically.

Foreign companies that are merely VAT-registered in Italy (without a fixed establishment) are not required to issue through SDI, but their Italian partners report those transactions with self-invoices, and many Italian customers simply expect invoices via SDI.

Built for companies in Italy

Latitude App accommodates Italian businesses directly, from a ditta individuale all the way to a corporate group. Activation is a few steps (a signed channel agreement and a short verification), not a migration project. And when your business reaches beyond Italy, the same platform speaks Peppol.

The flow

How an invoice travels through SDI

Four steps, fully automated in Latitude App. Follow the invoice:

Your company issue the invoice in the app, upload the European XML (UBL) or use a custom integration
Latitude App automatic FatturaPA conversion + validation before sending
SDI Sistema di Interscambio, where the tax authority runs its checks
Your customer receives the invoice on their codice destinatario or PEC
  1. You issue the invoice in the app, upload the European XML (UBL), or we connect your system through a custom integration
  2. Latitude App converts it to FatturaPA and validates it locally, before SDI
  3. SDI runs its checks and delivers the invoice to the recipient
  4. The ricevuta di consegna comes back automatically and the status updates in the platform

Statuses

SDI notifications, in plain language

After submission, SDI answers with one of the notifications below. In Latitude App each one becomes a clear status on the invoice, with no XML to decipher.

RC

Ricevuta di consegna

The invoice was delivered to the recipient, with the delivery officially attested; fiscally, it was already issued the moment SDI accepted it.

→ in the app: "Sent OK", lifecycle "Sent"

NS

Notifica di scarto

The invoice was rejected by SDI's checks. You have 5 days to correct and resubmit without penalties.

→ in the app: "Error", with the error list on the invoice

MC

Mancata consegna

SDI could not deliver (recipient channel unavailable). The invoice remains valid and available to your customer in the tax authority's portal.

→ in the app: "Made available (not delivered)"

NE / DT

Esito & decorrenza termini (B2G)

Public-sector customers can accept (EC01) or refuse (EC02) the invoice; after 15 days without an answer, it closes automatically.

→ in the app: "Accepted" / "Refused" / "Closed (deadline passed)"

12

days to issue an invoice from the transaction date

5

days to resubmit after a rejection (scarto)

2019

the year B2B e-invoicing became mandatory in Italy

10

years of mandatory archiving (conservazione)

The solution

How Latitude App helps

We're not another upload portal: Latitude App is a directly accredited SDI transmission channel, connected straight to the Italian tax authority and wrapped in a platform your whole team can actually use.

A direct, accredited SDI channel

We transmit and receive invoices over our own secure connection with SDI, so there are no intermediaries between you and the tax authority.

No FatturaPA expertise needed

Issue invoices in the app or upload the European standard XML (UBL / EN 16931). Conversion to FatturaPA and validation happen automatically, before anything reaches SDI. And if your system only exports a proprietary format, we build a custom integration that picks it up automatically.

Real-time statuses, zero limbo

Every SDI notification, whether delivered, rejected or undeliverable, becomes a clear status on the invoice, and we regularly reconcile with SDI's own registers so no invoice is ever left unknown.

Receive through one public code

Register our codice destinatario U5NW3BH once with Agenzia delle Entrate, and every supplier invoice lands in the platform automatically, already converted to the European format and paired with a readable PDF in the official AdE layout.

Self-invoices & reverse charge

Issue the TD16–TD21 self-invoices for cross-border purchases and reverse charge, the very reporting that replaced esterometro, from the same flow.

Beyond Italy, same platform

We are a certified Peppol Access Point and run e-invoicing across 24 European countries, including Romania (ANAF e-Factura), Belgium, Germany and France. When your business crosses borders, your invoicing doesn't have to fragment.

Our public codice destinatario
U5NW3BH

One code, all your incoming invoices

This is the recipient code Latitude App customers use to receive their electronic invoices. Register it once in your Fatture e Corrispettivi area, under "Registrazione dell'indirizzo telematico", and every invoice addressed to your company arrives in Latitude App automatically, whatever code your suppliers write in their invoices.

Routing to your company is done by your Partita IVA / Codice Fiscale, since the code is shared by all our customers, with no setup on your suppliers' side.

The obligation in Italy

Invoices in FatturaPA 1.2 XML (FPR12), with strict structure and closed code lists

With Latitude App

Automatic conversion from the European standard, from invoices created in the app or from a proprietary format picked up through a custom integration, validated before sending

The obligation in Italy

Transmission exclusively through SDI, via a technical channel

With Latitude App

Our own accredited channel, connected directly to SDI and activated with a simple signed agreement

The obligation in Italy

Tracking the notifications (delivery, rejection, non-delivery)

With Latitude App

Clear statuses on every invoice, with SDI's error list shown right in the app

The obligation in Italy

Receiving invoices on a codice destinatario

With Latitude App

Register U5NW3BH once with Agenzia delle Entrate and your invoices flow into the platform automatically

The obligation in Italy

Reporting cross-border purchases (TD17–TD19 self-invoices)

With Latitude App

Self-invoices issued from the same flow, over the same direct SDI channel

The obligation in Italy

A complete archive of XML files and delivery evidence

With Latitude App

Every file, whether sent, received or a notification, stored and downloadable at any time

Inside the app

What it looks like in Latitude App

Real screenshots from the platform, from issuing all the way to the final SDI status.

The "e-Invoice → Sent" grid with Italian invoices and the status column visible: Sent OK, Accepted, Error, Made available (not delivered).
All your invoices, with their SDI status in real time.
The PDF/HTML preview of a FatturaPA invoice, generated with the official Agenzia delle Entrate layout.
Your Italian invoices, readable and not just XML.
An invoice with an open notifica di scarto: SDI's error list shown on the invoice, ready to fix.
When SDI rejects, you see exactly what to correct and where.
The "Received" grid with supplier invoices, arrived automatically through codice destinatario U5NW3BH.
Your suppliers' invoices, straight into the platform.
The invoice creation page, with an Italian customer selected and clean forms instead of raw XML.
Issuing an invoice takes minutes, not a consultant.
The SDI activation page in "My company": the verification steps and the agreement to sign.
Activation takes a few steps, not a few months.

FAQ

Frequently asked questions

Have a question that isn't covered here? Contact us →

We already receive invoices through another provider. How hard is it to switch?

One step: change your registered indirizzo telematico to U5NW3BH in the Fatture e Corrispettivi portal. Once registered, this address takes precedence over whatever code your suppliers write in their invoices, so informing key suppliers of the new code is optional good practice, not a requirement. From that moment SDI delivers your invoices to Latitude App. Outgoing invoices move just as simply, once the channel activation agreement is signed.

What happens if an invoice is rejected (scarto)?

SDI sends a notifica di scarto with the list of errors. You have 5 days to correct and resubmit the invoice with the same number and date, without penalties. In Latitude App you see the errors directly on the invoice and resubmit from the same screen.

Do we need to know the FatturaPA format?

No. You issue invoices in the app or upload the European standard XML (UBL / EN 16931), and the platform converts to FatturaPA and validates before sending. The Italian specifics, such as document types, Natura codes and payment methods, are handled automatically.

Our software can only export invoices in its own format. What can we do?

Contact us and we set up a custom implementation project: we build an integration that takes the format your system exports and loads it into Latitude App automatically, where it is converted to FatturaPA and validated like any other invoice. We support custom development for exactly these cases, where the standard format isn't available.

Can you handle our invoices outside Italy too?

Yes. Latitude App is a certified Peppol Access Point and runs e-invoicing across 24 European countries, including Romania, Belgium, Germany and France, so invoices to customers across Europe travel through the same platform. Cross-border purchases are covered as well, with the TD17–TD19 self-invoices submitted to SDI from the same flow.

We're an international group with an Italian entity. Does this work for us?

Perfectly. The Italian entity invoices through SDI like any Italian company, while the rest of the group runs its own countries in the same platform: Romania's ANAF e-Factura, Peppol in Belgium, Germany and France, 24 European countries in total.

This article is for information purposes only and does not constitute tax or legal advice. Italian e-invoicing rules may change; the information reflects the situation at the date of the last update.

Start sending FatturaPA the easy way

Activate the SDI channel in a few steps and your first invoice can leave Latitude App today. No hand-written XML, no legacy portals, no intermediaries.

Certifications & accreditations

Peppol Access Point - Certified Provider ISO 9001 & ISO 27001 certified
Need help?