FatturaPA — XSD-valid, rejected by the SdI (00421, 00422, 00445)
This invoice is VALID against the official XSD and the SdI would still reject it — which is exactly why a schema-only check is not enough. Three defects: the taxable base declares 1,150 € against lines summing to 1,100 € (control 00422, whose tolerance is one EURO, not one cent); the tax declares 250 € where 22 % of 1,150 € is 253 € (00421); and the Natura code is the bare N3, withdrawn on 1 January 2021 in favour of its sub-codes (00445) — yet still listed in the schema enumeration.
FatturaPA 1.2.3 — Invalid
This invoice is VALID against the official XSD and the SdI would still reject it — which is exactly why a schema-only check is not enough. Three defects: the taxable base declares 1,150 € against lines summing to 1,100 € (control 00422, whose tolerance is one EURO, not one cent); the tax declares 250 € where 22 % of 1,150 € is 253 € (00421); and the Natura code is the bare N3, withdrawn on 1 January 2021 in favour of its sub-codes (00445) — yet still listed in the schema enumeration.
What this file shows
This invoice is VALID against the official XSD and the SdI would still reject it — which is exactly why a schema-only check is not enough. Three defects: the taxable base declares 1,150 € against lines summing to 1,100 € (control 00422, whose tolerance is one EURO, not one cent); the tax declares 250 € where 22 % of 1,150 € is 253 € (00421); and the Natura code is the bare N3, withdrawn on 1 January 2021 in favour of its sub-codes (00445) — yet still listed in the schema enumeration.
| Transactions | 3 |
|---|---|
| Date in the file | 2026-06-30 |
The defects it carries
- 00422écart de 50.00 € (tolérance ±1 €)
- 00421<Imposta> déclare 250.00 alors que 1150.00 × 22.00 % donne 253.00
- 00445Le code générique <Natura>N3</Natura> n'est plus admis depuis le 01/01/2021
Quoted verbatim from the validator, not paraphrased.
Every party, IBAN and amount below is fictitious. The IBANs are structurally valid — they pass the mod-97 check — but they belong to no real account.
File content
<?xml version="1.0" encoding="UTF-8"?>
<!--
Deliberately broken. This file is VALID against the official Agenzia delle Entrate XSD
and would still be REJECTED by the Sistema di Interscambio. That is the whole point of it:
a schema-only validator gives this invoice a clean bill of health, and the SdI then sends
back a notifica di scarto.
Three defects, each a published SdI control:
· 00422 — ImponibileImporto declares 1,150.00 while the lines sum to 1,100.00. A 50 €
gap, far past the 1 € tolerance of that control.
· 00421 — Imposta declares 250.00 where 1,150.00 × 22 % is 253.00.
· 00445 — <Natura>N3</Natura> is the GENERIC code, withdrawn on 01/01/2021. The XSD
still lists it in its enumeration; only the control rejects it. A sub-code
(N3.5, N3.2…) is required.
-->
<p:FatturaElettronica versione="FPR12"
xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<FatturaElettronicaHeader>
<DatiTrasmissione>
<IdTrasmittente>
<IdPaese>IT</IdPaese>
<IdCodice>06363391001</IdCodice>
</IdTrasmittente>
<ProgressivoInvio>00002</ProgressivoInvio>
<FormatoTrasmissione>FPR12</FormatoTrasmissione>
<CodiceDestinatario>ABC1234</CodiceDestinatario>
</DatiTrasmissione>
<CedentePrestatore>
<DatiAnagrafici>
<IdFiscaleIVA>
<IdPaese>IT</IdPaese>
<IdCodice>06363391001</IdCodice>
</IdFiscaleIVA>
<Anagrafica>
<Denominazione>ESEMPIO FORNITORE SRL</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>01114601006</IdCodice>
</IdFiscaleIVA>
<Anagrafica>
<Denominazione>ESEMPIO CLIENTE SPA</Denominazione>
</Anagrafica>
</DatiAnagrafici>
<Sede>
<Indirizzo>VIA MILANO 25</Indirizzo>
<CAP>20121</CAP>
<Comune>MILANO</Comune>
<Provincia>MI</Provincia>
<Nazione>IT</Nazione>
</Sede>
</CessionarioCommittente>
</FatturaElettronicaHeader>
<FatturaElettronicaBody>
<DatiGenerali>
<DatiGeneraliDocumento>
<TipoDocumento>TD01</TipoDocumento>
<Divisa>EUR</Divisa>
<Data>2026-06-30</Data>
<Numero>2026/0043</Numero>
</DatiGeneraliDocumento>
</DatiGenerali>
<DatiBeniServizi>
<DettaglioLinee>
<NumeroLinea>1</NumeroLinea>
<Descrizione>Servizi di consulenza informatica</Descrizione>
<Quantita>10.00</Quantita>
<PrezzoUnitario>100.00</PrezzoUnitario>
<PrezzoTotale>1000.00</PrezzoTotale>
<AliquotaIVA>22.00</AliquotaIVA>
</DettaglioLinee>
<DettaglioLinee>
<NumeroLinea>2</NumeroLinea>
<Descrizione>Licenza software annuale</Descrizione>
<Quantita>1.00</Quantita>
<PrezzoUnitario>100.00</PrezzoUnitario>
<PrezzoTotale>100.00</PrezzoTotale>
<AliquotaIVA>22.00</AliquotaIVA>
</DettaglioLinee>
<DettaglioLinee>
<NumeroLinea>3</NumeroLinea>
<Descrizione>Trasferta esente (codice natura generico, non piu ammesso)</Descrizione>
<Quantita>1.00</Quantita>
<PrezzoUnitario>200.00</PrezzoUnitario>
<PrezzoTotale>200.00</PrezzoTotale>
<AliquotaIVA>0.00</AliquotaIVA>
<Natura>N3</Natura>
</DettaglioLinee>
<DatiRiepilogo>
<AliquotaIVA>22.00</AliquotaIVA>
<ImponibileImporto>1150.00</ImponibileImporto>
<Imposta>250.00</Imposta>
<EsigibilitaIVA>I</EsigibilitaIVA>
</DatiRiepilogo>
<DatiRiepilogo>
<AliquotaIVA>0.00</AliquotaIVA>
<Natura>N3</Natura>
<ImponibileImporto>200.00</ImponibileImporto>
<Imposta>0.00</Imposta>
<EsigibilitaIVA>I</EsigibilitaIVA>
</DatiRiepilogo>
</DatiBeniServizi>
<DatiPagamento>
<CondizioniPagamento>TP02</CondizioniPagamento>
<DettaglioPagamento>
<ModalitaPagamento>MP05</ModalitaPagamento>
<DataScadenzaPagamento>2026-07-30</DataScadenzaPagamento>
<ImportoPagamento>1600.00</ImportoPagamento>
</DettaglioPagamento>
</DatiPagamento>
</FatturaElettronicaBody>
</p:FatturaElettronica>
How we know these results hold
Every file in this library is run through the site's own validator on each build. The expected result stated above is asserted by an automated test — if a file stopped matching what this page claims, the build would fail. Two inherited fixtures were repaired this way before publication: three IBANs failed the mod-97 check and several names used characters outside the basic SEPA character set.