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
0208number 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.