formats5 min read

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.

By EU E-Invoicing HubPublished: 8 April 2026Updated: 18 April 2026

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:

  1. XSD schema โ€” structural XML validation
  2. 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.

italyfatturapaxmlformattechnicalsdischema