FatturaPA Format Explained: Structure, Fields, and XML Schema
Technical guide to the FatturaPA invoice format. XML structure, mandatory fields, document type codes (TD), regime fiscale codes, and validation requirements for Italian e-invoicing.
FatturaPA Format: Complete Technical Guide
FatturaPA (Fattura della Pubblica Amministrazione) is Italy's mandatory e-invoice format. Despite its original name referencing the Public Administration, since January 2019 it is required for all B2B and B2C transactions by Italian VAT-registered entities, not just public sector invoices.
What Is FatturaPA?
FatturaPA is an XML-based document format defined by the Agenzia delle Entrate. It is the only format accepted by the SDI (Sistema di Interscambio), Italy's central e-invoicing hub. Every invoice transmitted through the SDI must conform to the FatturaPA schema.
The current schema version is FatturaPA v1.2.2, in force since October 2020. The XSD schema and full technical specifications are maintained at fatturapa.gov.it.
Document Structure
A FatturaPA XML document contains two main sections:
1. FatturaElettronicaHeader (Invoice Header)
Contains the transmission data and details about sender and recipient.
<FatturaElettronicaHeader>
<DatiTrasmissione>
<IdTrasmittente>
<IdPaese>IT</IdPaese>
<IdCodice>12345678901</IdCodice>
</IdTrasmittente>
<ProgressivoInvio>00001</ProgressivoInvio>
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
<CodiceDestinatario>ABCDEF1</CodiceDestinatario>
</DatiTrasmissione>
<CedentePrestatore>
<!-- Supplier details -->
</CedentePrestatore>
<CessionarioCommittente>
<!-- Buyer details -->
</CessionarioCommittente>
</FatturaElettronicaHeader>
Key header fields:
| Field | Description | Required |
|---|---|---|
IdTrasmittente |
Sender identifier (country + VAT/CF) | โ Yes |
ProgressivoInvio |
Sequential transmission number | โ Yes |
FormatoTrasmissione |
FPR12 (B2B) or FPA12 (PA) |
โ Yes |
CodiceDestinatario |
7-char SDI routing code (or 0000000 for generic) |
โ Yes |
PECDestinatario |
Recipient's PEC address (if no Codice Destinatario) | Conditional |
2. FatturaElettronicaBody (Invoice Body)
Contains one or more invoice bodies (multiple invoices can be bundled in one transmission for the same sender/recipient pair).
<FatturaElettronicaBody>
<DatiGenerali>
<DatiGeneraliDocumento>
<TipoDocumento>TD01</TipoDocumento>
<Divisa>EUR</Divisa>
<Data>2026-04-18</Data>
<Numero>2026/0024</Numero>
<RegimeFiscale>RF17</RegimeFiscale>
</DatiGeneraliDocumento>
</DatiGenerali>
<DatiBeniServizi>
<!-- Line items -->
</DatiBeniServizi>
<DatiPagamento>
<!-- Payment terms -->
</DatiPagamento>
</FatturaElettronicaBody>
TipoDocumento (Document Type Codes)
The TipoDocumento field defines what kind of document is being transmitted:
| Code | Description |
|---|---|
| TD01 | Standard invoice (fattura) |
| TD02 | Advance/down payment on invoice |
| TD03 | Advance/down payment on fee (parcella) |
| TD04 | Credit note (nota di credito) |
| TD05 | Debit note (nota di debito) |
| TD06 | Fee (parcella) โ for professionals |
| TD16 | Reverse charge โ domestic |
| TD17 | Reverse charge โ services from abroad |
| TD18 | Reverse charge โ intra-EU goods |
| TD19 | Reverse charge โ goods purchased in Italy from abroad |
| TD20 | Self-billing for regularisation |
| TD21 | Self-billing โ VAT extraction from VAT group |
| TD22 | Self-billing โ goods extraction from VAT warehouse |
| TD23 | Self-billing โ goods extraction from VAT warehouse with payment |
| TD24 | Deferred invoice (accompanying goods) |
| TD25 | Deferred invoice for purchased goods |
| TD26 | Amortisation / sale of assets |
| TD27 | Self-invoicing for personal use |
| TD28 | Purchases from San Marino with VAT (paper invoice) |
Most businesses will use TD01, TD04, TD16, TD17, TD18, TD19.
RegimeFiscale (Tax Regime Codes)
The supplier's fiscal regime must be declared in RegimeFiscale:
| Code | Regime |
|---|---|
| RF01 | Regime Ordinario (standard) |
| RF02 | Contribuenti Minimi (discontinued) |
| RF04 | Agricoltura |
| RF05 | Vendita sali e tabacchi |
| RF06 | Commercio fiammiferi |
| RF07 | Editoria |
| RF08 | Gestione servizi telefonici |
| RF09 | Rivendita documenti di trasporto |
| RF10 | Intrattenimento |
| RF11 | Agenzie viaggi |
| RF12 | Agriturismo |
| RF13 | Vendite a domicilio |
| RF14 | Rivendita beni usati |
| RF15 | Agenzie vendite all'asta |
| RF16 | IVA per cassa (P.A.) |
| RF17 | Regime Forfettario (most freelancers) |
| RF18 | Esonero art. 34 DPR 633/72 |
| RF19 | Regime Forfettario (startup, first 5 years) |
Nature Codes (Natura) for Zero-Rate IVA
When AliquotaIVA is 0, a Natura code must explain why:
| Code | Description |
|---|---|
| N1 | Excluded from scope |
| N2.1 | Not subject โ reverse charge |
| N2.2 | Not subject โ regime forfettario (most common for forfettari) |
| N3.1 | Non-taxable โ exports |
| N3.2 | Non-taxable โ intra-EU supplies |
| N3.3 | Non-taxable โ sales to San Marino / Vatican |
| N3.4 | Non-taxable โ international transports |
| N3.5 | Non-taxable โ similar to exports |
| N3.6 | Non-taxable โ free ports etc. |
| N4 | Exempt |
| N5 | Margin regime |
| N6.1โN6.9 | Reverse charge (various domestic scenarios) |
| N7 | VAT paid in another EU state |
File Naming Convention
FatturaPA files must follow this naming convention:
IT<PartitaIVA>_<ProgressivoInvio>.xml
Example: IT01234567890_00001.xml
Files can also be digitally signed (.xml.p7m for CAdES-BES signature or .xml with XAdES signature). The SDI accepts both signed and unsigned files, but signed files are recommended for legal certainty.
Validation
Before transmitting to the SDI, your file is validated against:
- XSD schema โ structural XML validation
- Semantic rules โ business logic checks (e.g., amounts must sum correctly, mandatory fields for specific document types)
The SDI's own validation produces these notification types:
- Ricevuta di consegna โ successfully delivered
- Notifica di mancata consegna โ recipient not reachable (you have 15 days before it's considered delivered anyway)
- Notifica di scarto โ rejected; contains error codes you must resolve within 5 days and resubmit
Testing Your FatturaPA Files
Before going live, validate your XML against the official schema:
- Agenzia delle Entrate validation service โ upload via the Fatture e Corrispettivi portal
- FatturaPA online validator โ fatturapa.gov.it
- AssoSoftware validator โ used by many Italian software providers
Last updated: April 2026. Schema references based on FatturaPA v1.2.2 specification.