Validate and explain UBL invoice errors
Paste a UBL Invoice or CreditNote XML, or upload a .xml file. Every issue is shown with a plain-English explanation, likely cause and suggested fix.
Paste or load UBL XML
Tools
UBL-Anzeige
Stellt eine UBL-XML-Rechnung als lesbare RechnungsĂŒbersicht dar.
Eingebettete-PDF-PrĂŒfer
PrĂŒft, ob die Rechnung einen gĂŒltigen eingebetteten PDF-Anhang hat.
UBL-SummenprĂŒfer
Vergleicht Zeilen-, Steuer- und Zahlungssummen mit LegalMonetaryTotal.
UBL-USt.-PrĂŒfer
Vergleicht angegebene und berechnete USt. pro Kategorie.
UBL-Feld-ErklÀrer
Durchsuchen Sie UBL-Felder und lesen Sie, was jeder XML-Pfad bedeutet.
Peppol-BIS-Billing-PrĂŒfer
PrĂŒft hĂ€ufige Probleme von Peppol-BIS-Billing-3.0-Rechnungen.
Frequently asked questions
âșWhich UBL versions and profiles do you support?
All of them. The validator auto-detects the profile from cbc:CustomizationID, cbc:ProfileID and cbc:UBLVersionID. We recognise Peppol BIS Billing 3.0, NLCIUS 1.0, XRechnung, EN 16931 (bare), SI-UBL 1.x/2.0 (legacy), OIOUBL and plain OASIS UBL 2.0â2.4. Generic UBL structural checks always run; profile-specific rules (Peppol EndpointID, NLCIUS EUR-only / KvK 0106) are layered on top when applicable.
âșDoes this validator certify my invoice for Peppol?
No. This tool performs browser-based structural and semantic checks and explains issues in plain English. It is not a replacement for official Peppol validation or access-point certification.
âșWhich checks are included?
Well-formed XML, root element (Invoice or CreditNote), required fields (ID, IssueDate, supplier, customer, currency), invoice lines, tax totals, monetary totals, currency consistency, plus profile-specific rules when the document declares a known CustomizationID.
âșAre my invoices uploaded?
No. Parsing and validation happen entirely in your browser. The XML never leaves the page.
What this tool does
The UBL validator parses your UBL XML invoice in the browser and surfaces missing fields, schema problems and common Peppol BIS Billing 3.0 issues with plain-English explanations.
Common UBL and Peppol problems it detects
- Missing required elements such as ID, IssueDate, AccountingSupplierParty or LegalMonetaryTotal.
- Invalid or missing CustomizationID / ProfileID for Peppol BIS Billing 3.0.
- Currency mismatches between LineExtensionAmount, TaxTotal and DocumentCurrencyCode.
- Totals that don't reconcile against LegalMonetaryTotal.
- Embedded PDF attachments with broken Base64 or wrong mimeCode.
Why this matters
Peppol access points and ERP systems reject invoices that do not conform to UBL 2.x and EN 16931. A single missing attribute can block payment and force manual rework. Catching issues before sending saves days of email back-and-forth.
Example: totals mismatch
If LegalMonetaryTotal/PayableAmount is 121.00 but the sum of LineExtensionAmount is 100.00 and TaxTotal/TaxAmount is 20.00, the difference is 1.00. Common causes are a forgotten ChargeTotalAmount, a rounding rule, or a prepaid PrepaidAmount that wasn't subtracted.
How to fix the issue
- Add any missing mandatory UBL elements flagged in the report.
- Set CustomizationID to urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 and ProfileID to urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 for Peppol BIS Billing 3.0.
- Ensure every monetary amount uses the same currencyID as DocumentCurrencyCode.
- Reconcile totals with: LineExtensionAmount + ChargeTotalAmount â AllowanceTotalAmount = TaxExclusiveAmount; TaxExclusiveAmount + TaxAmount = TaxInclusiveAmount; TaxInclusiveAmount â PrepaidAmount + PayableRoundingAmount = PayableAmount.
- Re-run the validator and verify with your Peppol access point before resending.
Frequently asked questions
âșIs this an official Peppol validator?
No. UBL Explainer runs browser-based checks and offers plain-English explanations. For certification or production sign-off, also validate with your Peppol access point or the official Peppol validator.
âșWhich UBL versions are supported?
UBL 2.1 and 2.2 Invoice and CreditNote documents, including Peppol BIS Billing 3.0.
âșIs my invoice uploaded?
No. The entire validation runs locally in your browser. The XML never leaves your device.