FatturaPA Validator Italy
Ontdek of het SdI je factuur zou weigeren — en met welke code — vóór je ze verstuurt. In je browser, zonder upload. Ook ondertekende .xml.p7m.
Wat is FatturaPA, en wanneer weigert het SdI een factuur?
FatturaPA is het XML-formaat dat sinds 2019 verplicht is voor elke Italiaanse elektronische factuur — B2B, B2C en naar overheden. Elke factuur passeert het Sistema di Interscambio (SdI), het clearinghouse van de Agenzia delle Entrate, dat ze doorstuurt of terugstuurt met een «notifica di scarto» met een genummerde weigeringscode. Een geweigerde factuur is juridisch niet uitgereikt en moet binnen 5 dagen worden gecorrigeerd en opnieuw verzonden. Deze gratis validator controleert het bestand tegen het officiële XSD (schema v1.2.3, namespace http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2) en reproduceert de controles uit de «Elenco dei controlli» v2.0 van het SdI, met exact de code (00421, 00422, 00427, 00445, 00471…) die het SdI zou terugsturen. Alles draait in je browser: de factuur verlaat je toestel nooit.
FatturaPA-validator: weten of het SdI je factuur weigert, vóór je ze verstuurt
Sinds 2019 passeert elke Italiaanse e-factuur — B2B, B2C en naar overheden — het Sistema di Interscambio van de Agenzia delle Entrate. Het SdI is geen postbode: het voert een lijst van 63 genummerde controles uit en stuurt bij een fout een «notifica di scarto» terug. Een geweigerde factuur is juridisch niet uitgereikt en moet binnen 5 dagen worden gecorrigeerd en opnieuw verzonden.
De meeste gratis validators stoppen bij de XSD-controle (code 00200). Dat is de minst interessante: het schema aanvaardt moeiteloos een factuur met verkeerd berekende btw, met een in 2021 ingetrokken Natura-code, of met een CodiceDestinatario van de verkeerde lengte. Deze tool voert ook de inhoudelijke controles uit — die het SdI publiceert in zijn «Elenco dei controlli» v2.0 — en geeft je exact de code die je terug zou krijgen.
Echte facturen reizen meestal ondertekend: het bestand heet niet fattura.xml maar fattura.xml.p7m, een binaire CAdES-envelop. Deze tool opent ze en valideert de XML erin. De handtekening zelf wordt niet geverifieerd — daarvoor zijn de lijst van vertrouwde certificatieautoriteiten en een online intrekkingscontrole nodig (SdI-controles 00100-00107) — en de tool zegt dat, in plaats van het tegendeel te laten geloven.
Onthoud dit
- Een bestand dat geldig is volgens het XSD kan alsnog door het SdI worden geweigerd: het schema controleert noch de btw-rekenkunde, noch de regels die aan TipoDocumento hangen.
- De toleranties zijn niet uniform: één CENT op <Imposta> (00421) en op <PrezzoTotale> (00423), maar één EURO op <ImponibileImporto> (00422).
- <ImportoTotaleDocumento> wordt door geen enkele SdI-controle gecontroleerd: een afwijking is een melding, geen weigeringsgrond.
- De generieke codes N2, N3 en N6 staan nog in het XSD maar zijn sinds 01/01/2021 verboden (controle 00445): alleen een subcode is toegestaan.
- Ongeveer de helft van de SdI-controles raadpleegt een overheidsdatabank (Anagrafe Tributaria, IndicePA): die kunnen offline niet draaien, en de tool somt ze op in plaats van ze te verzwijgen.
Veelgestelde vragen
Stuurt deze validator mijn factuur naar het SdI?
Nee. Er wordt niets verzonden: het bestand wordt volledig in je browser gelezen en geanalyseerd. Hier valideren is niet verzenden en vervangt het versturen via je kanaal (PEC, web, SdICoop) niet.
Waarom kan een hier «geldige» factuur toch geweigerd worden?
Omdat een deel van de SdI-controles een databank nodig heeft die we niet kunnen bereiken zonder je bestand te uploaden: bestaat de partita IVA in de Anagrafe Tributaria, staat de CodiceDestinatario in IndicePA, duplicaten over de hele SdI-historiek, de geldigheid van het handtekeningcertificaat. De tool somt ze stuk voor stuk op in plaats van te laten geloven dat ze gecontroleerd zijn.
Aanvaardt hij ondertekende .p7m-bestanden?
Ja. De CAdES-envelop wordt geopend en de XML erin wordt normaal gevalideerd. De handtekening zelf wordt niet geverifieerd: dat zou de lijst van vertrouwde certificatieautoriteiten en een online intrekkingscontrole vereisen.
Wat is het verschil tussen FPA12, FPR12 en FSM10?
FPA12 is de factuur aan een overheid (CodiceDestinatario van 6 tekens, de IPA-kantoorcode), FPR12 die aan een private partij (7 tekens). Het is hetzelfde XML-schema: de twee XSD-bestanden die de AdE publiceert zijn byte voor byte identiek. FSM10 is de vereenvoudigde factuur (art. 21-bis), met een eigen schema.
Waarom komen de officiële voorbeeldfacturen van de Agenzia delle Entrate er niet-conform uit?
Omdat ze dat echt zijn. Ze dragen een fictieve partita IVA (01234567890, waarvan het controlecijfer 7 zou moeten zijn), en twee ervan geven een ImponibileImporto van € 27,00 op terwijl hun regels € 25,00 opleveren — een kloof van € 2, tweemaal de tolerantie van controle 00422. Eén ervan, FPR02, haalt zelfs het XSD van de AdE zelf niet: ze plaatst <ContattiTrasmittente> ná <PECDestinatario>, terwijl het schema ze in omgekeerde volgorde declareert. Deze bestanden dateren van 2014 en gaan vooraf aan de controles die ze vandaag weigeren: het zijn formaatillustraties, geen verzendbare facturen.
Waar komen de toegepaste regels vandaan?
Uit slechts twee officiële documenten: het XSD-schema v1.2.3 en de «Elenco dei controlli effettuati sul file fattura del SdI» v2.0 (31/01/2025), beide gepubliceerd op fatturapa.gov.it. De controlecijfers van partita IVA en codice fiscale komen uit het ministerieel besluit van 23 december 1976. Geen enkele regel is afgeleid uit een externe bron.
ValidateFin is an independent tool, neither certified nor endorsed by the Agenzia delle Entrate or the Sistema di Interscambio. “Official” refers to the schema and the control list used — the XSD and the “Elenco dei controlli” published on fatturapa.gov.it — not to any accreditation of this tool. Roughly half of the SdI’s controls query a government registry (Anagrafe Tributaria, IndicePA) and cannot run in a browser; the tool lists them explicitly rather than passing them over in silence. Validating a file here does not transmit it to the SdI.