Check any UBL 2.1 XML invoice against the latest PEPPOL BIS Billing 3.0 and EN 16931 business rules. Free, no signup, instant results with the exact rule ID for every error and warning.
Drag and drop or pick the UBL 2.1 XML file. The validator accepts both invoices and credit notes. Files are processed in your browser session and not retained.
2
Run BIS 3.0 + EN 16931 checks
The validator runs the official PEPPOL BIS Billing 3.0 schematron, EN 16931 rules, calculation checks, code-list validation and date logic in one pass.
3
Read the report
Errors and warnings come back with the exact rule ID (BR-CO-15, BR-S-08, BR-DEC-12 and so on) and a plain-English description, so you know what to fix and where.
What gets validated
Mandatory PEPPOL fields
Supplier identification, customer identification, invoice number, issue date, due date, invoice type code, currency and at least one valid invoice line.
Calculation accuracy
Line extension amounts, tax category subtotals, total tax, total amount with and without tax, payable amount β every calculation is re-run and compared.
VAT category logic
Standard, reduced, zero-rated, exempt, reverse charge and intra-community supply categories each have their own validation rules β all are checked.
Code lists & formats
Currency codes (ISO 4217), unit codes (UN/ECE Rec 20), tax category codes and date formats (YYYY-MM-DD) are validated against official lists.
Why validate before sending?
PEPPOL Access Points enforce BIS Billing 3.0 rules at the network edge. An invoice with a single mandatory-field violation or a calculation mismatch will be rejected before it reaches your buyer. By validating locally first you catch issues immediately β and avoid awkward back-and-forth, payment delays and compliance penalties.
The aiDoks validator uses the same schematron and rule set the official PEPPOL test beds use. If the validator says "valid", the invoice will pass at the Access Point. If it says "errors", you get the exact rule ID and a fix hint, so the next iteration is fast.
Common validation errors and how to fix them
BR-CO-13 β Invoice tax total mismatch. The Total Tax Amount must equal the sum of tax category subtotals. Re-check VAT rates on each line.
BR-CO-15 β Total payable amount mismatch. Total + Allowances - Charges must equal the Payable Amount.
BR-S-08 β Standard-rated VAT but rate is missing or zero. Add the correct standard VAT rate to the tax category breakdown.
BR-DEC-12 β Amount has more than 2 decimals. Round line and tax amounts to 2 decimal places.
BR-15 β Missing customer party. Add the buyer's legal name and registered address.
Validating supplier-issued invoices
The validator works on any UBL 2.1 XML invoice, not just those generated by aiDoks. Use it to sanity-check files received from suppliers, exported from Xero / SAP / Odoo / Standard Books, or generated by your own ERP.
PEPPOL validator: FAQ
What does the PEPPOL BIS 3.0 validator check?
The validator runs the full set of EN 16931 and PEPPOL BIS Billing 3.0 business rules against your UBL XML invoice. It checks mandatory fields, data formats, code lists (currency, unit, tax category), VAT category logic, calculation accuracy (line totals, tax totals, payable amount) and date logic. Errors and warnings are reported with the official rule ID (e.g. BR-CO-15) so you know exactly what to fix.
Is the validator free to use?
Yes. The PEPPOL BIS 3.0 validator is completely free and does not require an account. Upload any UBL XML invoice and the tool returns a detailed validation report instantly.
Which file formats does the validator accept?
Upload UBL 2.1 XML invoice files conforming to PEPPOL BIS Billing 3.0 or the EN 16931 norm. Both invoices and credit notes are supported. PDF and image formats are not validated directly β convert them to UBL XML first using the AI OCR tool, then validate.
How do I fix validation errors?
Each error in the report includes the rule ID (e.g. BR-CO-13 for tax total mismatch) and a plain-English description. Common fixes include adding missing mandatory fields (supplier VAT, customer name, due date), correcting calculation totals, fixing date formats (YYYY-MM-DD), and using the right tax category and unit codes. Re-upload after fixing β the validator runs again instantly.
Can I validate invoices from any accounting software?
Yes β the validator is system-agnostic. As long as the invoice is exported as PEPPOL-compliant UBL 2.1 XML, it can be validated. This makes it useful for testing exports from Xero, SAP, Odoo, NetSuite, Standard Books and any other PEPPOL-capable platform.