Check common Peppol BIS invoice issues
Quick browser-based checks for Peppol BIS Billing 3.0: CustomizationID, ProfileID, endpoint IDs, currency, TaxTotal and attachments.
Paste or load UBL XML
This is not official Peppol network validation. Use official validator or access point validation for final compliance.
Tools
UBL Validator and Error Explainer
Find missing fields, structural problems and Peppol issues, and read plain-English explanations.
UBL Viewer
Render a UBL XML invoice as a readable invoice summary.
Embedded PDF checker
Check whether the invoice has a valid embedded PDF attachment.
UBL totals checker
Verify line, tax and payable totals against LegalMonetaryTotal.
UBL VAT checker
Compare declared and calculated VAT per category.
UBL field explainer
Search UBL fields and read what each XML path means.
Frequently asked questions
βΊIs this official Peppol validation?
No. This is a helper that runs in your browser. Use an official Peppol validator or your access point for final compliance checks.
βΊWhat does Peppol BIS Billing 3.0 require?
At minimum: a Peppol CustomizationID and ProfileID, supplier and customer EndpointIDs, a DocumentCurrencyCode, a structured TaxTotal with per-category TaxSubtotal, and complete LegalMonetaryTotal amounts in the document currency.
What this tool does
The Peppol BIS Billing checker focuses specifically on the Peppol BIS Billing 3.0 profile and flags issues that are valid UBL but invalid Peppol.
Common UBL and Peppol problems it detects
- CustomizationID or ProfileID not set to the Peppol BIS Billing 3.0 values.
- Missing or invalid EndpointID schemes for buyer or seller.
- Allowance and charge totals not declared at the document level.
- Tax categories not mapped to the EN 16931 UNCL5305 codes.
Why this matters
Peppol access points apply strict EN 16931 business rules on top of UBL. An invoice that passes a plain UBL validator can still fail Peppol BIS Billing 3.0.
Example: missing EndpointID scheme
AccountingSupplierParty/Party/EndpointID must carry a schemeID attribute such as 0088 (GLN) or 0192 (Norwegian organisation number). Missing schemeID is a frequent Peppol rejection.
How to fix the issue
- Set CustomizationID to urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0.
- Set ProfileID to urn:fdc:peppol.eu:2017:poacc:billing:01:1.0.
- Always include schemeID on EndpointID using a Peppol-approved code list.
- Re-run the Peppol BIS checker after each fix.
Frequently asked questions
βΊIs this official Peppol certification?
No. Run the Peppol checker as a development aid. Submit to your access point for final certification.
βΊWhich Peppol profiles are covered?
Peppol BIS Billing 3.0 (urn:fdc:peppol.eu:2017:poacc:billing:01:1.0), plus basic recognition of NLCIUS, XRechnung and SI-UBL profiles.