← E-invoice Preflight

Italy's e-invoicing: SdI and FatturaPA

Italy has been the EU's e-invoicing pioneer: since 2019 domestic invoices go through the SdI exchange as FatturaPA XML. Below: how it works, how it differs from EN 16931, and what a free local checker covers.

How it works (as reported)

DateWhat changed
1 Jan 2019Electronic invoicing through SdI became mandatory for B2B and B2C domestic sales (public bodies since 2014).
From 2024The flat-rate regime (regime forfettario) was brought in step by step.

The invoice is a FatturaPA XML file sent to SdI, which validates it, forwards it to the buyer's channel and records it for the tax authority. This is a summary from secondary sources, not tax advice; confirm scope and rules with your adviser or the Agenzia delle Entrate.

What it covers, and what it does not

FatturaPA is Italy's own XML schema, older than the EU standard. An EN 16931 file in UBL or CII is a different document and is not accepted by SdI as FatturaPA. Public procurement also runs over Peppol, a separate channel.

What this checker does and does not do

It now reads FatturaPA XML (FPR12 and FPA12) and runs its own offline checks: partita IVA and codice fiscale check digits, the SdI destination code, TipoDocumento, RegimeFiscale and Natura codes, line, VAT-summary and document-total arithmetic, and the payment IBAN. It is not SdI: it does not check the XSD schema in full, the digital signature, duplicates, or whether SdI will accept the file, and it skips the totals check when a cassa, bollo, withholding, rounding or document-level discount is present. It also still applies EN 16931 and Peppol BIS 3.0 rules to JSON, UBL, CII and Factur-X files. Rule IDs for the EN 16931 side are in the rule reference. Open the checker; no account, nothing uploaded.

No invoice yet? The e-invoice creator turns a form into UBL or CII XML and checks it. Other countries: See also Romania, Greece, Bulgaria, the UK, the UAE, India, Saudi Arabia. Spain, Germany, France, Belgium, Poland and Croatia, or the Portugal, EU e-invoicing mandate checker. Also: Slovakia, Lithuania, Luxembourg, Malta, Norway, Hungary, Denmark, Estonia, Latvia, Slovenia, Czech Republic, Serbia.

Common questions

What is Italy's e-invoicing mandate?

Italy has required electronic invoices through the Sistema di Interscambio (SdI), run by the Revenue Agency, for B2B and B2C domestic sales since 1 January 2019. Invoices are XML files in the national FatturaPA format, sent to SdI, which checks them and forwards them to the buyer. The small-business flat-rate regime (regime forfettario) was brought in step by step from 2024. Confirm the current scope with your adviser or the Agenzia delle Entrate.

Is FatturaPA the same as EN 16931?

No. FatturaPA is Italy's own XML schema and predates the EU standard. The EN 16931 syntaxes (UBL and CII) are different files, so an EN 16931 invoice is not a FatturaPA file and SdI will not take it as one. Italy also uses Peppol for public procurement, which is a separate channel.

Can this checker validate a FatturaPA file?

Partly. Drop the FatturaPA XML into the checker and it runs offline checks of its own (IT-001 to IT-022: partita IVA and codice fiscale check digits, codes, line and VAT arithmetic, IBAN, and the Agenzia delle Entrate schema's element order, required elements and character set). It is not SdI and cannot confirm acceptance.

How do I check an invoice before sending it to an Italian customer?

If the customer is a domestic Italian business, SdI and FatturaPA apply: the checker catches arithmetic and check-digit faults first but cannot confirm SdI's acceptance. For an EN 16931 invoice, drop the file into the checker. Nothing is uploaded when you use the page. It is an offline observation, not SdI's acceptance and not legal advice.

Open the E-invoice Preflight checker to validate your own invoice file.

More countries

Australia Austria Brazil Cyprus Finland Ireland Japan Malaysia Mexico Colombia Chile Peru Argentina Netherlands Nigeria Singapore Invoicenow Sweden Switzerland Turkey Uruguay Paraguay Ecuador Indonesia Vietnam