FatturaPA : la spécification XML détaillée
Le format FatturaPA est un schéma XML XSD publié par l'AdE, racine
p:FatturaElettronica, organisé en un en-tête (header) et un ou plusieurs
corps (body) par facture. La spécification est conforme à la norme européenne
EN 16931 via le CIUS Italia, et signée électroniquement en CAdES-BES (.p7m) ou
XAdES-BES.
Structure XSD
Le schéma XSD FatturaPA définit un type racine
FatturaElettronicaType avec deux enfants principaux : un
FatturaElettronicaHeader unique et un ou plusieurs
FatturaElettronicaBody. Chaque body est une facture distincte (un même
fichier peut donc contenir jusqu'à 50 factures pour le même couple émetteur /
destinataire).
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.8">
<xs:element name="FatturaElettronica" type="FatturaElettronicaType"/>
<xs:complexType name="FatturaElettronicaType">
<xs:sequence>
<xs:element name="FatturaElettronicaHeader" type="FatturaElettronicaHeaderType"/>
<xs:element name="FatturaElettronicaBody" type="FatturaElettronicaBodyType"
minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="versione" type="FormatoTrasmissioneType" use="required"/>
<xs:attribute name="SistemaEmittente" type="SistemaEmittenteType" use="optional"/>
</xs:complexType>
</xs:schema> Trois blocs principaux structurent le FatturaElettronicaHeader :
- DatiTrasmissione — IdTrasmittente (qui transmet), ProgressivoInvio (compteur séquentiel), FormatoTrasmissione (FPR12 / FPA12), CodiceDestinatario ou PECDestinatario.
- CedentePrestatore — données du fournisseur : DatiAnagrafici (IdFiscaleIVA, CodiceFiscale, Anagrafica, RegimeFiscale), Sede (adresse). Optionnel : StabileOrganizzazione, RappresentanteFiscale.
- CessionarioCommittente — données du client : DatiAnagrafici (IdFiscaleIVA si B2B, CodiceFiscale si B2C), Sede.
Le FatturaElettronicaBody contient quatre blocs majeurs :
- DatiGenerali — DatiGeneraliDocumento (TipoDocumento, Divisa, Data, Numero, totaux, Causale, ImportoTotaleDocumento, Arrotondamento, Art73), DatiOrdineAcquisto, DatiContratto, DatiDDT, DatiTrasporto.
- DatiBeniServizi — DettaglioLinee (NumeroLinea, TipoCessionePrestazione, CodiceArticolo, Descrizione, Quantita, UnitaMisura, PrezzoUnitario, ScontoMaggiorazione, PrezzoTotale, AliquotaIVA, Natura, RiferimentoNormativo), DatiRiepilogo (par taux IVA).
- DatiVeicoli — pour les ventes intra-UE de moyens de transport neufs (Art. 38 DL 331/93).
- DatiPagamento — CondizioniPagamento (TP01/TP02/TP03), DettaglioPagamento (Beneficiario, ModalitaPagamento MP01-MP23, DataRiferimentoTerminiPagamento, ImportoPagamento, IBAN, CodiceBIC).
<?xml version="1.0" encoding="UTF-8"?>
<p:FatturaElettronica versione="FPR12"
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2">
<FatturaElettronicaHeader>
<DatiTrasmissione>
<IdTrasmittente><IdPaese>IT</IdPaese><IdCodice>01234567890</IdCodice></IdTrasmittente>
<ProgressivoInvio>00001</ProgressivoInvio>
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
<CodiceDestinatario>M5UXCR1</CodiceDestinatario>
</DatiTrasmissione>
<CedentePrestatore>
<DatiAnagrafici>
<IdFiscaleIVA><IdPaese>IT</IdPaese><IdCodice>01234567890</IdCodice></IdFiscaleIVA>
<Anagrafica><Denominazione>ACME SpA</Denominazione></Anagrafica>
<RegimeFiscale>RF01</RegimeFiscale>
</DatiAnagrafici>
<Sede><Indirizzo>Via Roma 1</Indirizzo><CAP>00100</CAP>
<Comune>Roma</Comune><Provincia>RM</Provincia><Nazione>IT</Nazione></Sede>
</CedentePrestatore>
<CessionarioCommittente>
<DatiAnagrafici>
<IdFiscaleIVA><IdPaese>IT</IdPaese><IdCodice>09876543210</IdCodice></IdFiscaleIVA>
<Anagrafica><Denominazione>Beta srl</Denominazione></Anagrafica>
</DatiAnagrafici>
<Sede><Indirizzo>Corso Italia 5</Indirizzo><CAP>20100</CAP>
<Comune>Milano</Comune><Provincia>MI</Provincia><Nazione>IT</Nazione></Sede>
</CessionarioCommittente>
</FatturaElettronicaHeader>
<FatturaElettronicaBody>
<DatiGenerali>
<DatiGeneraliDocumento>
<TipoDocumento>TD01</TipoDocumento>
<Divisa>EUR</Divisa>
<Data>2026-05-19</Data>
<Numero>2026-001</Numero>
<ImportoTotaleDocumento>1220.00</ImportoTotaleDocumento>
</DatiGeneraliDocumento>
</DatiGenerali>
<DatiBeniServizi>
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Consulenza tecnica</Descrizione>
<Quantita>10.00</Quantita>
<PrezzoUnitario>100.00</PrezzoUnitario>
<PrezzoTotale>1000.00</PrezzoTotale>
<AliquotaIVA>22.00</AliquotaIVA>
</DettaglioLinee>
<DatiRiepilogo>
<AliquotaIVA>22.00</AliquotaIVA>
<ImponibileImporto>1000.00</ImponibileImporto>
<Imposta>220.00</Imposta>
</DatiRiepilogo>
</DatiBeniServizi>
</FatturaElettronicaBody>
</p:FatturaElettronica> Mapping vers EN 16931 (CIUS Italia)
Le CIUS (Core Invoice Usage Specification) Italia, publié en avril 2024 par l'AgID et l'AdE conjointement, formalise la correspondance bidirectionnelle entre les Business Group / Business Term de la norme européenne EN 16931 et les éléments FatturaPA.
| BG/BT EN 16931 | Élément FatturaPA | Notes |
|---|---|---|
| BT-1 Invoice number | DatiGeneraliDocumento/Numero | 20 caractères max |
| BT-2 Issue date | DatiGeneraliDocumento/Data | Format ISO 8601 (AAAA-MM-JJ) |
| BT-3 Type code | DatiGeneraliDocumento/TipoDocumento | Voir tableau TD ci-dessous |
| BT-5 Invoice currency | DatiGeneraliDocumento/Divisa | ISO 4217, généralement EUR |
| BG-4 Seller | CedentePrestatore | Inclut DatiAnagrafici, Sede, IscrizioneREA, Contatti |
| BG-7 Buyer | CessionarioCommittente | Inclut DatiAnagrafici, Sede, Rappresentante |
| BG-25 Invoice line | DettaglioLinee | Multivalué — une linea par ligne de facture |
| BT-106 Sum of invoice line net amounts | Somme PrezzoTotale | Calculé côté émetteur |
| BT-110 Invoice total VAT amount | DatiRiepilogo/Imposta | Par taux IVA |
| BT-115 Amount due for payment | DatiGeneraliDocumento/ImportoTotaleDocumento | — |
Codes TipoDocumento (TD01-TD28)
Le champ TipoDocumento identifie la nature du document. Sa valeur a un
impact direct sur le traitement fiscal aval (déduction IVA, intégration en achats /
ventes, déclaration LIPE).
| Code | Description | Cas typique |
|---|---|---|
TD01 | Fattura | Facture standard B2B/B2C/B2G |
TD02 | Acconto/Anticipo su fattura | Acompte / paiement anticipé |
TD03 | Acconto/Anticipo su parcella | Acompte honoraires professionnels |
TD04 | Nota di credito | Avoir |
TD05 | Nota di debito | Note de débit |
TD06 | Parcella | Honoraires (avocat, médecin, expert) |
TD16 | Integrazione fattura reverse charge interno | Autofatturazione RC nationale |
TD17 | Integrazione/autofattura per acquisto servizi dall'estero | Achat de service intra-UE ou hors UE |
TD18 | Integrazione per acquisto beni intra UE | Achat de biens intra-UE |
TD19 | Integrazione/autofattura per acquisto da soggetti non residenti senza stabile organizzazione | Achat à non-résident |
TD20 | Autofattura per regolarizzazione | Régularisation Art. 6 c. 8 DL 471/97 |
TD21 | Autofattura per splafonamento | Dépassement du plafond IVA |
TD22 | Estrazione beni da Deposito IVA | Sortie de dépôt IVA |
TD23 | Estrazione beni da Deposito IVA con versamento IVA | — |
TD24 | Fattura differita di cui all'art. 21 c. 4 lett. a) | Facture différée mensuelle |
TD25 | Fattura differita di cui all'art. 21 c. 4 lett. b) | Facture différée pour triangulation |
TD26 | Cessione di beni ammortizzabili e per passaggi interni | Cession actifs amortissables |
TD27 | Fattura per autoconsumo o per cessioni gratuite senza rivalsa | Auto-consommation / cession gratuite |
TD28 | Acquisti da San Marino con IVA (fattura cartacea) | Achats depuis San Marin (papier en plus) |
Signature électronique CAdES / XAdES
Selon le canal d'envoi, la signature est obligatoire ou facultative.
- Canal PEC ou SDIcoop SOAP — signature CAdES-BES détachée
obligatoire. Le fichier produit est
IT01234567890_00001.xml.p7m. - Canal SDIftp ou portail web — signature XAdES-BES enveloppée tolérée, ou CAdES-BES détachée.
- Certificat — délivré par un Prestatore di Servizi Fiduciari Qualificato (QTSP) inscrit au registre AgID, conforme e-IDAS UE 910/2014.
- Algorithme de hash — SHA-256 (RFC 5754), SHA-1 refusé depuis 2018.
- Horodatage — non obligatoire au niveau SdI mais requis pour la conservazione sostitutiva ultérieure (voir page dédiée).
Versions 1.7 et 1.8
La version 1.7 du schéma a été publiée le 8 février 2023 (Provvedimento AdE 30/2023) et est entrée en production le 1ᵉʳ octobre 2023. La version 1.8, publiée le 21 février 2025, est obligatoire depuis le 1ᵉʳ avril 2025. Changements majeurs :
- 1.7 — ajout des codes TD28 (San Marin), N7 (clarification Natura),
enrichissement
RiferimentoNormativomax 100 caractères, support Schematron CIUS Italia. - 1.8 — alignement EN 16931 ViDA-ready, encodage UNICODE étendu,
support GLN dans
IdFiscaleIVA/IdCodice(pour transmissions PEPPOL bridge), nouveaux codes Natura N3.4 / N3.5 / N3.6 pour les opérations transfrontières spécifiques.
Erreurs XSD et SdI les plus courantes
| Code | Cause | Action |
|---|---|---|
00200 | Fichier non conforme XSD | Re-valider localement contre v1.8 |
00201 | Plus de 50 fatture dans le même fichier | Découper en plusieurs envois |
00300 | IdFiscaleIVA/IdCodice émetteur non valide | Vérifier checksum partita IVA |
00400 | 2 elements DatiRiepilogo avec même AliquotaIVA et Natura | Regrouper en une seule ligne riepilogo |
00417 | IdFiscaleIVA et CodiceFiscale absents pour CessionarioCommittente | Renseigner au moins l'un des deux |
00422 | Numero fattura déjà reçu | Incrémenter Numero ou éviter doublon |
00430 | TipoDocumento incompatible avec Natura | Croiser TD avec Natura attendue |
00471 | Cedente/Cessionario identiques (auto-fattura mal déclarée) | Utiliser TD20-TD27 selon le cas |
00474 | Calcul ImponibileImporto + Imposta != PrezzoTotale | Recalculer en arrondi à 2 décimales |