FatturaPA Validator Italy
Erfahren Sie, ob das SdI Ihre Rechnung ablehnen würde — und mit welchem Code — bevor Sie sie senden. Im Browser, ohne Upload. Auch signierte .xml.p7m.
Was ist FatturaPA, und wann lehnt das SdI eine Rechnung ab?
FatturaPA ist das XML-Format, das seit 2019 für jede italienische elektronische Rechnung verbindlich ist — B2B, B2C und an öffentliche Verwaltungen. Jede Rechnung läuft über das Sistema di Interscambio (SdI), die Clearingstelle der Agenzia delle Entrate, die sie entweder weiterleitet oder mit einer „notifica di scarto“ und einem nummerierten Ablehnungscode zurückschickt. Eine abgelehnte Rechnung gilt rechtlich als nicht ausgestellt und muss binnen 5 Tagen korrigiert und erneut übermittelt werden. Dieser kostenlose Validator prüft die Datei gegen das offizielle XSD (Schema v1.2.3, Namensraum http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2) und bildet die im „Elenco dei controlli“ v2.0 veröffentlichten Prüfungen nach — mit genau dem Code (00421, 00422, 00427, 00445, 00471…), den das SdI zurückmelden würde. Alles läuft im Browser: Die Rechnung verlässt Ihr Gerät nie.
FatturaPA-Validator: vor dem Versand wissen, ob das SdI die Rechnung ablehnt
Seit 2019 läuft jede italienische E-Rechnung — B2B, B2C und an die öffentliche Verwaltung — über das Sistema di Interscambio der Agenzia delle Entrate. Das SdI ist kein Briefträger: Es führt 63 nummerierte Prüfungen durch und schickt bei einem Fehlschlag eine „notifica di scarto“ zurück. Eine abgelehnte Rechnung gilt rechtlich als nicht ausgestellt und muss binnen 5 Tagen korrigiert und erneut übermittelt werden.
Die meisten kostenlosen Validatoren hören bei der XSD-Prüfung auf (Code 00200). Das ist die uninteressanteste: Das Schema akzeptiert anstandslos eine Rechnung mit falsch berechneter USt., mit einem 2021 zurückgezogenen Natura-Code oder mit einem CodiceDestinatario falscher Länge. Dieses Werkzeug führt auch die inhaltlichen Prüfungen aus — jene aus dem „Elenco dei controlli“ v2.0 des SdI — und nennt Ihnen genau den Code, den Sie zurückbekämen.
Echte Rechnungen sind meist signiert: Die Datei heißt nicht fattura.xml, sondern fattura.xml.p7m — ein binärer CAdES-Umschlag. Dieses Werkzeug öffnet ihn und validiert das darin enthaltene XML. Die Signatur selbst wird nicht verifiziert — dafür bräuchte es die Liste vertrauenswürdiger Zertifizierungsstellen und eine Online-Sperrprüfung (SdI-Prüfungen 00100-00107) — und das Werkzeug sagt es, statt das Gegenteil glauben zu lassen.
Zum Mitnehmen
- Eine gegen das XSD gültige Datei kann vom SdI dennoch abgelehnt werden: Das Schema prüft weder die USt.-Arithmetik noch die an TipoDocumento gebundenen Regeln.
- Die Toleranzen sind nicht einheitlich: ein CENT bei <Imposta> (00421) und <PrezzoTotale> (00423), aber ein EURO bei <ImponibileImporto> (00422).
- <ImportoTotaleDocumento> wird von keiner SdI-Prüfung kontrolliert: Eine Abweichung ist ein Hinweis, kein Ablehnungsgrund.
- Die generischen Codes N2, N3 und N6 stehen weiterhin im XSD, sind aber seit dem 01.01.2021 verboten (Prüfung 00445): Nur ein Untercode ist zulässig.
- Rund die Hälfte der SdI-Prüfungen fragt eine Behördendatenbank ab (Anagrafe Tributaria, IndicePA): Sie sind offline nicht möglich — das Werkzeug listet sie auf, statt sie zu verschweigen.
Häufige Fragen
Übermittelt dieser Validator meine Rechnung an das SdI?
Nein. Es wird nichts gesendet: Die Datei wird vollständig in Ihrem Browser gelesen und analysiert. Hier zu validieren ist kein Übermitteln und ersetzt den Versand über Ihren Kanal (PEC, Web, SdICoop) nicht.
Warum kann eine hier „gültige“ Rechnung trotzdem abgelehnt werden?
Weil ein Teil der SdI-Prüfungen eine Datenbank braucht, die wir ohne Upload Ihrer Datei nicht erreichen können: ob die Partita IVA in der Anagrafe Tributaria existiert, ob der CodiceDestinatario in IndicePA steht, Duplikate über die gesamte SdI-Historie, die Gültigkeit des Signaturzertifikats. Das Werkzeug listet sie einzeln auf, statt den Eindruck zu erwecken, sie seien geprüft.
Werden signierte .p7m-Dateien akzeptiert?
Ja. Der CAdES-Umschlag wird geöffnet und das enthaltene XML normal validiert. Die Signatur selbst wird nicht verifiziert: Dafür wären die Liste vertrauenswürdiger Zertifizierungsstellen und eine Online-Sperrprüfung nötig.
Was unterscheidet FPA12, FPR12 und FSM10?
FPA12 ist die Rechnung an die öffentliche Verwaltung (6-stelliger CodiceDestinatario, der IPA-Amtscode), FPR12 die an Private (7 Zeichen). Es ist dasselbe XML-Schema: Die beiden von der AdE veröffentlichten XSD-Dateien sind Byte für Byte identisch. FSM10 ist die vereinfachte Rechnung (Art. 21-bis) mit einem eigenen Schema.
Warum sind die offiziellen Beispielrechnungen der Agenzia delle Entrate nicht konform?
Weil sie es tatsächlich nicht sind. Sie tragen eine Platzhalter-Partita-IVA (01234567890, deren Prüfziffer 7 lauten müsste), und zwei von ihnen weisen einen ImponibileImporto von 27,00 € aus, während ihre Positionen 25,00 € ergeben — eine Lücke von 2 €, doppelt so groß wie die Toleranz der Prüfung 00422. Eine davon, FPR02, besteht nicht einmal das XSD der AdE selbst: Sie setzt <ContattiTrasmittente> hinter <PECDestinatario>, während das Schema die umgekehrte Reihenfolge vorschreibt. Diese Dateien stammen von 2014 und sind älter als die Prüfungen, die sie heute ablehnen: Sie sind Formatbeispiele, keine übermittelbaren Rechnungen.
Woher stammen die angewandten Regeln?
Aus nur zwei offiziellen Dokumenten: dem XSD-Schema v1.2.3 und dem „Elenco dei controlli effettuati sul file fattura del SdI“ v2.0 (31.01.2025), beide auf fatturapa.gov.it veröffentlicht. Die Prüfziffern von Partita IVA und Codice Fiscale stammen aus dem Ministerialdekret vom 23. Dezember 1976. Keine Regel wurde aus einer Drittquelle abgeleitet.
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.