Was ist KOSIT-Validierung?
Der Koordinierungsausschuss für IT-Standards (KOSIT) stellt den offiziellen Validator für XRechnung-Dokumente bereit. Dieser Validator prüft jede eingereichte elektronische Rechnung in zwei Schritten: Zuerst gegen das UBL-2.1-XML-Schema (syntaktische Wohlgeformtheit), dann gegen einen umfangreichen Satz Schematron-Regeln, der die Geschäftsregeln der EN 16931 sowie die deutschen Erweiterungen (BR-DE-*) umsetzt.
Schematron-Regeln sind in Schweregrade eingeteilt: Fatale Fehler (FATAL/Critical) verhindern die Annahme der Rechnung, Warnungen (WARNING) weisen auf Abweichungen hin, die viele Systeme ebenfalls als blockierend behandeln. Die häufigsten Fehlerquellen sind fehlerhafte Berechnungen, fehlende Pflichtfelder gemäß der deutschen Erweiterungsspezifikation, ungültige Code-Werte und Formatverletzungen bei Leitweg-ID oder Datumsangaben.
Diese Referenz deckt alle wesentlichen Fehlercodes ab — von strukturellen XML-Fehlern über Kernregeln der EN 16931 (BR-1, BR-6, BR-CO-*) bis hin zu den deutschen Erweiterungsregeln (BR-DE-1 bis BR-DE-29) und umsatzsteuerspezifischen Regeln (BR-S-*, BR-E-*, BR-Z-*, BR-AE-*).
Schweregradstufen
Die Rechnung wird abgelehnt. Der Fehler muss behoben werden, bevor die Einreichung erneut versucht wird.
WarningTechnisch nicht blockierend laut Spezifikation, aber viele Empfangssysteme behandeln Warnungen ebenfalls als Ablehnungsgrund.
Fehlerdatenbank
Wählen Sie einen Fehlercode für detaillierte Behebungsanweisungen.
Umsatzsteuer-ID des Verkäufers fehlt (BT-31)
Die Umsatzsteuer-Identifikationsnummer des Verkäufers muss im Business Term BT-31 angegeben werden. Dies ist für alle deutschen Rechnungen oberhalb der Kleinunternehmergrenze verpflichtend. Ohne sie lehnen ZRE- und OZG-RE-Portale das Dokument ab.
Käuferreferenz fehlt (BT-10)
Eine Käuferreferenz (Leitweg-ID) ist in BT-10 für alle Rechnungen an deutsche öffentliche Auftraggeber erforderlich. Sie ist die Routing-Kennung der ZRE-/OZG-RE-Portale, die die Rechnung zur richtigen Verwaltungseinheit leitet. Ohne sie kann die Rechnung nicht zugestellt werden.
Telefonnummer des Verkäufer-Kontakts fehlt (BT-42)
Die Telefonnummer des Verkäufer-Kontakts (BT-42) sollte angegeben werden. Obwohl dies im XRechnung-Kern nur eine Warnung ist, behandeln viele Bundes- und Landessysteme dies als blockierenden Fehler.
E-Mail des Verkäufer-Kontakts fehlt (BT-43)
Die E-Mail-Adresse des Verkäufer-Kontakts (BT-43) sollte für Korrespondenzzwecke angegeben werden. Automatisierte Workflows beim Empfänger nutzen diese Adresse für Ablehnungs- oder Rückfragemitteilungen.
Name des Verkäufer-Kontakts fehlt (BT-41)
Der Name der Kontaktperson des Verkäufers (BT-41) wird in deutschen Rechnungen erwartet. Die meisten Empfangsportale zeigen diesen Namen in ihrer Verarbeitungswarteschlange an, damit Sachbearbeiter die richtige Person erreichen können.
Leitweg-ID-Format ungültig (BT-10)
Die Leitweg-ID in BT-10 ist vorhanden, entspricht aber nicht dem erforderlichen Format. Eine gültige Leitweg-ID besteht aus drei durch Bindestriche getrennten Segmenten: einem führenden Code (z. B. '04011000'), einer zehnstelligen Kennung und einem zweistelligen Prüfsegment (z. B. '06'). Ungültige Formate führen zu Routing-Fehlern an ZRE/OZG-RE.
Rechnungstyp-Code ungültig (BT-3)
Der Rechnungstyp-Code in BT-3 muss einer der für XRechnung erlaubten Werte sein: 380 (Handelsrechnung), 381 (Gutschrift), 384 (Korrigierte Rechnung), 389 (Gutschrift im Gutschriftsverfahren), 875 (Abschlagsrechnung Bau), 876 (Schlussrechnung Teilabschnitt Bau) oder 877 (Schlussrechnung Bau). Andere UNTDID-1001-Codes werden nicht akzeptiert.
Zahlungsmittel-Code ungültig (BT-81)
Der Zahlungsmittel-Code in BT-81 muss einem der von XRechnung erlaubten UNCL4461-Codes entsprechen: 10 (Bar), 20 (Scheck), 30 (Überweisung/SEPA), 42 (Zahlung auf Bankkonto), 48 (Bankkarte), 49 (Lastschrift), 57 (Dauerauftrag), 58 (SEPA-Überweisung) oder 59 (SEPA-Lastschrift). Codes außerhalb dieses Satzes werden abgelehnt.
Straße der Verkäuferadresse fehlt (BT-35)
Die Straßenadresse des Verkäufers (BT-35, cbc:StreetName) ist für XRechnung-Rechnungen verpflichtend. EN 16931 markiert sie als optional, aber die deutsche Erweiterung schreibt sie für die steuerliche Konformität und GoBD-Archivierung vor.
Stadt der Verkäuferadresse fehlt (BT-37)
Der Stadtname (BT-37, cbc:CityName) in der Postanschrift des Verkäufers ist gemäß der deutschen XRechnung-Spezifikation erforderlich. Er wird zur Überprüfung der Steuerhoheit verwendet.
Straße der Käuferadresse fehlt (BT-50)
Die Straßenadresse des Käufers (BT-50) ist in XRechnung verpflichtend. Die deutsche Erweiterung verlangt eine vollständige Postanschrift für den Käufer (Accounting Customer Party), um eine korrekte Finanzbuchhaltung und Lieferantenverwaltung auf Käuferseite zu ermöglichen.
Summe der Positions-Nettobeträge stimmt nicht überein (BT-106)
Die Summe aller Positions-Nettobeträge (BT-131) muss dem Gesamt-Nettobetrag der Rechnung (BT-106) entsprechen. Diese arithmetische Prüfung sichert die Datenkonsistenz über alle Positionen und den Gesamtbetragsabschnitt. Selbst eine Rundungsdifferenz von 1 Cent führt zur Ablehnung.
Fehler in der Umsatzsteuer-Gesamtberechnung (BT-110)
Der Gesamt-Umsatzsteuerbetrag der Rechnung (BT-110) muss der Summe aller Steuerbeträge je Steuerkategorie (BT-117) entsprechen. Jede Steuergruppe muss einen intern konsistenten steuerpflichtigen Betrag, Steuersatz und resultierenden Steuerbetrag aufweisen. Die Rundung muss je Kategorie erfolgen, nicht auf die Summe.
Fehler bei der Rechnungsgesamtbetrag-Berechnung (BT-112)
Der Rechnungsgesamtbetrag mit USt. (BT-112, cbc:TaxInclusiveAmount) muss dem Rechnungsgesamtbetrag ohne USt. (BT-109) plus dem USt.-Gesamtbetrag (BT-110) entsprechen. Diese Querkontrolle stellt sicher, dass der Brutto-Zahlbetrag arithmetisch konsistent mit seinen Komponenten ist.
Fehler bei der Berechnung des fälligen Betrags (BT-115)
Der fällige Zahlungsbetrag (BT-115, cbc:PayableAmount) muss dem Rechnungsgesamtbetrag mit USt. (BT-112) minus dem bereits gezahlten Betrag (BT-113) plus einer Rundungskorrektur (BT-114) entsprechen. Eine Abweichung deutet häufig darauf hin, dass eine Vorauszahlung oder ein Rundungswert im Gesamtbetrag enthalten, aber nicht korrekt im PayableAmount berücksichtigt ist.
Rechnungsnummer fehlt (BT-1)
Jede EN-16931-Rechnung muss eine eindeutige Rechnungskennung (BT-1) in cbc:ID enthalten. Dies ist die Rechnungsnummer, wie sie auf dem Papieräquivalent erscheint. Sie muss im Kontext des Verkäufers eindeutig sein und darf nicht leer oder nur aus Leerzeichen bestehen.
Rechnungsdatum fehlt (BT-2)
Das Rechnungsdatum (BT-2, cbc:IssueDate) ist verpflichtend. Es muss gemäß ISO 8601 im Format JJJJ-MM-TT angegeben werden. Ein fehlendes oder falsch formatiertes Datum verhindert, dass das empfangende System den Steuerpunkt und das Fälligkeitsdatum ermitteln kann.
Verkäufername fehlt (BT-27)
Der rechtliche Name des Verkäufers (BT-27) muss in cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName vorhanden sein. Dies ist der vollständige eingetragene Unternehmensname, kein Handelsname oder eine Abkürzung.
Käufername fehlt (BT-44)
Der rechtliche Name des Käufers (BT-44, cbc:RegistrationName unter AccountingCustomerParty) ist verpflichtend. Ohne den Käufernamen kann die Rechnung beim empfangenden Auftraggeber nicht dem richtigen Beschaffungsvorgang zugeordnet werden.
Länderkennzeichen in Verkäuferadresse fehlt (BT-40)
Der Verkäufer muss einen Ländercode (BT-40) in seiner Postanschrift angeben. Der Code muss ein gültiger ISO-3166-1-Alpha-2-Wert sein (z. B. 'DE' für Deutschland). Dieses Feld bestimmt die Steuerhoheit und ist für alle grenzüberschreitenden Umsatzsteuerprüfungen erforderlich.
Positionsnettobetrag fehlt (BT-131)
Jede Rechnungsposition (InvoiceLine) muss einen Nettobetrag (BT-131) in cbc:LineExtensionAmount enthalten. Dieser Betrag entspricht Menge × Einzelpreis, bereinigt um eventuelle positionsbezogene Zu-/Abschläge. Ein fehlender oder unbegründeter Nullwert löst diesen Fehler aus.
Normalsatz USt.: Steuerbemessungsgrundlage fehlt (BT-116)
Wenn die Steuerkategorie S (Normalsatz) verwendet wird, muss der steuerpflichtige Betrag (BT-116, cbc:TaxableAmount) in der Steueraufschlüsselungsgruppe (BG-23) vorhanden und größer als Null sein. Dies ist der aggregierte Nettowert aller Rechnungspositionen, die dem Normalsatz unterliegen.
Normalsatz USt.: Steuerbetrag fehlt (BT-117)
Wenn die Steuerkategorie S verwendet wird, muss der entsprechende Steuerbetrag (BT-117, cbc:TaxAmount) vorhanden sein. Der Wert muss dem steuerpflichtigen Betrag multipliziert mit dem USt.-Prozentsatz dividiert durch 100 entsprechen, gerundet auf 2 Dezimalstellen.
Normalsatz USt.: Steuerprozentsatz fehlt (BT-119)
Wenn eine Position oder das Dokument die Steuerkategorie S verwendet, muss der USt.-Prozentsatz (BT-119, cbc:Percent) im TaxCategory-Element angegeben werden. Der deutsche Normalsatz beträgt 19 %, der ermäßigte Satz 7 %. Das Weglassen des Prozentsatzes macht eine automatische Steuerberechnung unmöglich.
Nullsatz USt.: Steuerbemessungsgrundlage fehlt (BT-116/Z)
Wenn die Steuerkategorie Z (Nullsatz) verwendet wird, muss trotzdem ein steuerpflichtiger Betrag im TaxSubtotal angegeben werden. Der Steuerbetrag muss 0,00 und der Prozentsatz 0 sein. Diese Kategorie gilt für Waren, die außerhalb der EU exportiert werden, und bestimmte innergemeinschaftliche Lieferungen.
Steuerbefreit: Befreiungsgrund fehlt (BT-120/BT-121)
Wenn die Steuerkategorie E (Steuerbefreit) verwendet wird, muss die Rechnung entweder einen Befreiungsgrundtext (BT-120) oder einen Befreiungsgrundcode (BT-121) im TaxCategory-Element enthalten. Ohne diesen können Prüfer die Rechtsgrundlage für die Nichtberechnung der USt. nicht nachvollziehen.
Umkehrung der Steuerschuld: USt.-Betrag muss null sein
Wenn die Steuerkategorie AE (Umkehrung der Steuerschuld) verwendet wird, muss der Steuerbetrag (BT-117) im TaxSubtotal 0,00 sein. Bei einer Umkehrung der Steuerschuld rechnet der Käufer, nicht der Verkäufer, die USt. ab. Die Eingabe eines Steuerbetrags ungleich null widerspricht dem Reverse-Charge-Mechanismus.
XML nicht wohlgeformt
Die eingereichte Datei kann nicht als XML geparst werden. Häufige Ursachen: nicht geschlossene Tags, fehlendes Root-Element, ungültige Zeichen (z. B. nicht escapierte & oder <), ungültige Encoding-Deklaration oder ein BOM (Byte Order Mark) in einer Nicht-UTF-8-Kodierung. Der KOSIT-Validator lehnt das Dokument ab, bevor Schematron-Regeln geprüft werden.
Falscher XML-Namespace oder Root-Element
Das Root-Element oder seine Namespace-Deklaration entspricht nicht dem erwarteten UBL-2.1-Invoice- oder CreditNote-Namespace. XRechnung verwendet UBL 2.1: der Namespace für Rechnungen ist 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'. ZUGFeRD/Factur-X verwendet einen anderen Namespace (Cross Industry Invoice).
Pflichtelement-Kardinalität verletzt
Ein oder mehrere Pflichtelemente, die vom UBL-2.1-XSD-Schema verlangt werden, fehlen oder erscheinen häufiger als einmal, obwohl die Kardinalität [1..1] ist. Dieser Fehler tritt vor den Schematron-Regeln auf und weist typischerweise auf einen strukturellen Generierungsfehler in der Rechnungssoftware hin.
IGST: Steuerbemessungsgrundlage fehlt
Wenn die Steuerkategorie IG (IGST – Integrierte Waren- und Dienstleistungssteuer für Transaktionen mit Indien) verwendet wird, muss der steuerpflichtige Betrag angegeben werden. Diese Regel gilt für internationale Rechnungen, auf die indische GST-Vorschriften zutreffen.
Außerhalb des Anwendungsbereichs: Steuerbemessungsgrundlage fehlt
Wenn die Steuerkategorie O (Leistungen außerhalb des USt.-Anwendungsbereichs) verwendet wird, muss im TaxSubtotal trotzdem ein steuerpflichtiger Betrag deklariert werden. Kategorie O wird für Leistungen verwendet, die vollständig außerhalb des USt.-Systems liegen (z. B. bestimmte Finanzdienstleistungen). Der Steuerbetrag muss 0,00 sein.
Positionskennung fehlt (BT-126)
Jede Rechnungsposition muss eine eindeutige Positionskennung (BT-126, cbc:ID) haben. Positions-IDs sind typischerweise aufeinanderfolgende Integer-Werte ab 1. Sie werden von empfangenden ERP-Systemen verwendet, um einzelne Positionen in Zahlungs- und Buchhaltungsworkflows zu referenzieren.
Artikelname in Position fehlt (BT-153)
Jede Rechnungsposition muss einen Artikelnamen (BT-153, cbc:Name unter cac:Item) enthalten. Dies ist die Bezeichnung der fakturierten Waren oder Dienstleistungen. Ohne sie kann das empfangende System keine lesbaren Rechnungsdokumente erzeugen oder Positionen Bestellungen zuordnen.
Zusatzdokument-Referenz fehlt URL oder Beschreibung
Wenn ein Zusatzdokument (BG-24) referenziert wird, muss es entweder einen externen Dokument-URI (BT-124) oder eine Anhang-Beschreibung (BT-123) haben. Ein leerer Referenzblock ohne identifizierbaren Inhalt löst diesen Fehler aus und kann dazu führen, dass das System des Empfängers den Anhang nicht verarbeiten kann.
Steuernummer des Verkäufers fehlt (BT-32)
Wenn BT-31 (USt-IdNr.) nicht angegeben wird (z. B. bei Kleinunternehmern), muss der Verkäufer seine lokale Steuernummer in BT-32 angeben. BT-31 und BT-32 dürfen bei deutschen Rechnungen nicht gleichzeitig leer sein.
Währungscode ungültig oder fehlend (BT-5)
Der Dokumentwährungscode (BT-5, cbc:DocumentCurrencyCode) muss ein gültiger ISO-4217-Buchstabencode sein. Für deutsche Inlandsrechnungen ist dies fast immer 'EUR'. Der Währungscode muss mit allen currencyID-Attributen der Beträge im gesamten Dokument übereinstimmen.
Genug vom XML-Debugging?
Unser Smart-Repair-Engine erkennt diese Fehler automatisch, behebt sie in Sekundenbruchteilen und erstellt einen GoBD-konformen Prüfpfad.
Anwendung starten