FatturaPA — XSD-valid, rejected by the SdI (00421, 00422, 00445)
Diese Rechnung ist gegen das offizielle XSD GÜLTIG, und das SdI würde sie trotzdem ablehnen — genau deshalb reicht eine reine Schemaprüfung nicht. Drei Mängel: Die Bemessungsgrundlage weist 1.150 € aus, während die Positionen 1.100 € ergeben (Prüfung 00422, deren Toleranz ein EURO beträgt, nicht ein Cent); die Steuer weist 250 € aus, wo 22 % von 1.150 € = 253 € sind (00421); und der Natura-Code ist das nackte N3, das am 1. Januar 2021 zugunsten seiner Untercodes zurückgezogen wurde (00445) — im Schema steht es weiterhin.
FatturaPA 1.2.3 — Ungültig
Diese Rechnung ist gegen das offizielle XSD GÜLTIG, und das SdI würde sie trotzdem ablehnen — genau deshalb reicht eine reine Schemaprüfung nicht. Drei Mängel: Die Bemessungsgrundlage weist 1.150 € aus, während die Positionen 1.100 € ergeben (Prüfung 00422, deren Toleranz ein EURO beträgt, nicht ein Cent); die Steuer weist 250 € aus, wo 22 % von 1.150 € = 253 € sind (00421); und der Natura-Code ist das nackte N3, das am 1. Januar 2021 zugunsten seiner Untercodes zurückgezogen wurde (00445) — im Schema steht es weiterhin.
Was diese Datei zeigt
Diese Rechnung ist gegen das offizielle XSD GÜLTIG, und das SdI würde sie trotzdem ablehnen — genau deshalb reicht eine reine Schemaprüfung nicht. Drei Mängel: Die Bemessungsgrundlage weist 1.150 € aus, während die Positionen 1.100 € ergeben (Prüfung 00422, deren Toleranz ein EURO beträgt, nicht ein Cent); die Steuer weist 250 € aus, wo 22 % von 1.150 € = 253 € sind (00421); und der Natura-Code ist das nackte N3, das am 1. Januar 2021 zugunsten seiner Untercodes zurückgezogen wurde (00445) — im Schema steht es weiterhin.
| Transaktionen | 3 |
|---|---|
| Datum in der Datei | 2026-06-30 |
Die enthaltenen Fehler
- 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
Wörtlich aus dem Validator zitiert, nicht umformuliert.
Alle Parteien, IBANs und Beträge unten sind fiktiv. Die IBANs sind strukturell gültig — sie bestehen die Mod-97-Prüfung — gehören aber zu keinem realen Konto.
Dateiinhalt
<?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>
Woher wir wissen, dass diese Ergebnisse stimmen
Jede Datei dieser Bibliothek läuft bei jedem Build durch den eigenen Validator der Website. Das oben genannte erwartete Ergebnis wird von einem automatisierten Test geprüft: Passt eine Datei nicht mehr zu dem, was diese Seite behauptet, schlägt der Build fehl. Zwei geerbte Fixtures wurden so vor der Veröffentlichung repariert — drei IBANs scheiterten an der Mod-97-Prüfung, und mehrere Namen nutzten Zeichen außerhalb des SEPA-Basiszeichensatzes.