Häufige UBL- und Peppol-BIS-3.0-Fehler und wie man sie behebt
Praktischer Leitfaden zu den häufigsten UBL-Validierungsfehlern und Peppol-BIS-3.0-Schiedsregeln, einschließlich BR-Fehlercodes und Korrekturen.
Warum UBL-Dateien die Peppol-Validierung nicht bestehen
UBL-Rechnungen (Universal Business Language), die über das Peppol-Netzwerk übermittelt werden, müssen drei Validierungsschichten bestehen: UBL-2.1-XSD-Schema, EN-16931-Geschäftsregeln (BR-Codes) und Peppol-BIS-3.0-CIUS-Regeln (PEPPOL-Codes).
Jede Schicht kann eine Rechnung ablehnen. Dieser Leitfaden behandelt die häufigsten Fehler, die Teams begegnen, wenn sie Live-Peppol-Rechnungen generieren oder einreichen.
Die Fehlercodes folgen einem strukturierten Muster: BR-XX für EN-16931-Geschäftsregeln, PEPPOL-XX für Peppol-spezifische Regeln und UBL-SR-XX für UBL-Syntaxregeln.
Häufige Fehler und Korrekturen
Die am häufigsten gemeldeten UBL/Peppol-Validierungsfehler:
BR-01: Rechnung muss eine Spezifikationskennung haben
Das Element <cbc:CustomizationID> fehlt oder ist leer. Für Peppol BIS 3.0 muss es genau enthalten: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
BR-02: Rechnung muss eine Rechnungsnummer haben
Das Element <cbc:ID> fehlt oder ist leer. Die Rechnungsnummer muss eindeutig sein und darf nicht aus nur Leerzeichen bestehen.
BR-04: Rechnungsdatum ist Pflichtfeld
<cbc:IssueDate> fehlt. Das Datum muss im Format YYYY-MM-DD angegeben werden, z.B. 2026-01-15. Das Format DD/MM/YYYY wird nicht akzeptiert.
Struktur- und Formatfehler
Blog.post12.s3.intro
Fehlende Pflichtfelder bei Lieferanten/Käufern
Sowohl AccountingSupplierParty als auch AccountingCustomerParty müssen PartyName, PostalAddress (mit CountryIdentificationCode) und PartyTaxScheme (mit TaxSchemeID=VAT und CompanyID) enthalten.
Ungültige TaxScheme-ID
Das TaxScheme/ID-Element muss genau 'VAT' enthalten, nicht 'MwSt', 'TVA', 'IVA' oder andere lokale Schreibweisen.
Rechnungszeilen-Gesamtberechnung
LineExtensionAmount muss Quantity × Price.PriceAmount entsprechen (minus etwaige Rabatte). Die Gesamtsumme aller Zeilen muss mit TaxExclusiveAmount in LegalMonetaryTotal übereinstimmen.
MwSt. und Steuerfehler
Blog.post12.s4.intro
Ungültiger MwSt.-Kategoriencode
UBL/EN 16931 definiert spezifische Kategoriecodes: S (Standard), Z (Nullsatz), E (Befreit), AE (Verlagerung der Steuerschuld), K (Innergemeinschaftliche Lieferung EG), G (Export außerhalb EU), O (Nicht steuerbar), L (Kanarische Inseln), M (Ceuta/Melilla). Verwenden Sie keinen Code, der nicht dieser Liste entspricht.
Fehlende MwSt.-Aufschlüsselung
Das TaxTotal-Element muss mindestens ein TaxSubtotal für jede unterschiedliche angewendete MwSt.-Kategorie enthalten. Eine Rechnung mit gemischten MwSt.-Sätzen benötigt separate TaxSubtotal-Einträge für jeden.
Blog.post12.s4.e3.label
Blog.post12.s4.e3.desc
Validieren Sie Ihre UBL-Rechnungen kostenlos
ValidateFin führt eine vollständige dreistufige Validierung durch: XSD-Schema, EN-16931-Geschäftsregeln und Peppol-BIS-3.0-CIUS-Regeln. Fehler werden mit ihrem BR/PEPPOL-Code und der fehlerhaften XML-Pfad angezeigt.
UBL-Validator öffnenHäufig gestellte Fragen
Was ist der Unterschied zwischen BR- und PEPPOL-Fehlercodes?
BR-Codes (z.B. BR-01, BR-CO-15) kommen aus der EN-16931-Norm und gelten für alle konforme E-Rechnungen in Europa. PEPPOL-Codes (z.B. PEPPOL-EN16931-R004) sind Peppol-BIS-3.0-spezifische Zusatzregeln, die nur für Peppol-Netzwerkübermittlungen gelten.
Kann ich eine UBL-Rechnung ohne Peppol-Netzwerk übermitteln?
Ja. UBL kann direkt über API, E-Mail, Portal oder andere Kanäle übermittelt werden. Peppol-BIS-3.0-Regeln gelten nur für das Peppol-Netzwerk. Für andere Kanäle müssen Sie möglicherweise nur EN-16931 und länderspezifische CIUS einhalten.
Wie runde ich MwSt.-Beträge korrekt in UBL?
EN 16931 erlaubt eine Rundungstoleranz von ±0,01 € pro Zeile. Für die Gesamtsumme müssen Sie alle Zeilenbeträge summieren und dann auf 2 Dezimalstellen runden. Vermeiden Sie die Verwendung von Gleitkomma-Arithmetik für Finanzberechnungen.
Ist CustomizationID für alle UBL-Rechnungen obligatorisch?
CustomizationID ist Pflichtfeld für Peppol BIS 3.0. Für andere CIUS (wie XRechnung oder nationale Peppol-Implementierungen) ist ein anderer Wert vorgeschrieben. Prüfen Sie immer den spezifischen CIUS Ihres Ziellandes.
Blog.post12.faq.q5
Blog.post12.faq.a5
Blog.post12.faq.q6
Blog.post12.faq.a6
Blog.post12.faq.q7
Blog.post12.faq.a7
Blog.post12.faq.q8
Blog.post12.faq.a8
Blog.post12.faq.q9
Blog.post12.faq.a9
Blog.post12.faq.q10
Blog.post12.faq.a10