Peppol Test-Corner Validator
Validate outbound Peppol BIS Billing 3.0 / EN 16931 documents against the published test-corner rule sets before go-live - catch conformance issues locally, not at the access point.
Pure validation and format checking. No transmission. No certificate. No access-point credentials.
Before an organisation goes live on the Peppol network it must validate its outbound invoices in the OpenPeppol test corner (the Test / Pilot environment). An access point there runs the published validation artefacts and rejects any document that fails them. Peppol Test-Corner Validator runs those same published rules locally inside Odoo, so a conformance problem is found and fixed before the document ever leaves your system - instead of bouncing back from the access point during a go-live attempt.
Four published rule sets, one go/no-go verdict
EN 16931 model rules
The European standard business rules: content and cardinality (BR-1 … BR-16), line integrity (BR-21 … BR-27), the calculation chain (BR-CO-10/13/14/15/16/17), the VAT category rules (BR-S / BR-Z / BR-E / BR-AE / BR-G / BR-IC / BR-O) and the code list rules (BR-CL-04/14/15/17/23).
Peppol BIS Billing 3.0 rules
The Peppol specialisation: the mandatory CustomizationID and ProfileID URNs (PEPPOL-COMMON-R040/R041), the allowed invoice and credit-note type codes (PEPPOL-EN16931-P0100 / P0200), mandatory electronic addresses with a valid EAS scheme (PEPPOL-EN16931-R010/R020/R053) and the seller identification rule (PEPPOL-EN16931-R055).
SBDH envelope rules
The transport-layer conformance the access point routes on: the
iso6523-actorid-upis participant scheme, valid
sender / receiver EAS scheme codes and a DocumentID / ProcessID
that matches the document being sent.
Test-corner go-live gating
Heuristics that catch leftover test markers - test or sample endpoint identifiers, example.com addresses, placeholder invoice numbers and TEST annotations - that must never appear in a production go-live document.
Validate any outbound document
| Input | What it does |
|---|---|
| Raw UBL Invoice / CreditNote XML | Paste or upload the UBL your access point will transmit and run the full rule set. |
| SBDH-wrapped document | Validate the StandardBusinessDocument envelope exactly as transmitted, including sender / receiver participant identifiers. |
| Odoo customer invoice | One click on the invoice form checks the UBL the invoice would emit - before you ever generate or send it. |
Key features
- Go / no-go verdict per document with per-rule-set error and warning counts.
- Every finding carries the genuine published rule code, the rule set, a clear message and the document location.
- Choose which rule sets to run on each check.
- Full standards-based calculation engine using exact decimal arithmetic - no false rounding findings.
- Auditable conformance run records with a downloadable JSON report and a chatter trail.
- Published EN 16931 / Peppol code lists shipped offline: VAT categories (UNTDID 5305), document types (UNTDID 1001), payment means (UNTDID 4461), units (UN/ECE Rec 20/21), currencies (ISO 4217), countries (ISO 3166-1) and the Peppol EAS scheme code list.
- Works on the Odoo Community base - no Enterprise dependency.
Validation only - by design
This module never connects to the Peppol network, never holds a certificate and never transmits anything. It is a pure conformance and format-checking tool: it reads the document you are about to send and tells you whether it would pass the test corner. Transmission stays with your certified Peppol access point and your own credentials.
Keywords: Peppol, BIS Billing 3.0, EN 16931, test corner, conformance, validation, UBL, SBDH, EAS, CustomizationID, ProfileID, e-invoice, go-live, pre-flight, OpenPeppol.
Screenshots
Findings
Conformance Runs
Validate Document
Update date: 2026-07-02