Peppol BIS Billing 3.0 Validator

Drop an invoice XML. Problems are explained in plain language, with the official rule ID.

Parsed on your device. The file is never uploaded.

What is checked

  • Mandatory information (BR-01…BR-27): specification and profile IDs, invoice number, dates, parties, electronic addresses, lines.
  • Calculations: line amount = quantity × price (PEPPOL-EN16931-R120), totals (BR-CO-10 to BR-CO-16), VAT per category (BR-CO-17, BR-S-08…), 2-decimal amounts.
  • VAT categories: exemption reasons for E/AE/K/G/O, reverse-charge and intra-community requirements.
  • Belgian checks: enterprise-number and VAT checksums on endpoints and parties (a wrong 0208 number makes the invoice undeliverable), Belgian VAT rates, IBAN validity, and OGM/RF check digits in the payment reference.

Limits

These are the rules behind most real rejections, implemented in JavaScript so your invoice never leaves the browser. They are not the complete official Schematron (XSLT 2) set, and the XML is not validated against the XSD. Before going live with a new invoicing system, also run a sample through your access point's validator.

Is my file uploaded?

No. Validation runs in your browser; the file never leaves your device. Bank statements, invoices and tax files often contain personal and financial data — that's exactly why nothing is sent to gratistools.be.