SchemaGuard by Ironbark Digital · EN 16931 / Peppol / XRechnung Reference
← All 294 EN 16931 / Peppol Rules & Live Validator
FATAL Official EN 16931 / Peppol / CIUS Rule BT/BG Fields: BT-34

PEPPOL-COMMON-R043 — E-Invoice Validation Rule & Fix

Fixture ID: peppolBadBelgianNumber · XPath: /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID

1. Why This Rule Triggers (Diagnostic Message)

The Seller electronic address (BT-34) is "0848934497" under scheme "0208", which identifies the Belgian enterprise number (KBO/BCE). A value in that scheme must be exactly ten digits, where the last two are 97 minus the first eight modulo 97, and this one is not. The Belgian ondernemingsnummer uses the same modulus-97 construction as an IBAN, which catches every single-digit error and almost every transposition. It only works if the number is stored with its leading zero — a value of nine digits is one that lost it somewhere. Peppol flags this fatal: the identifier is what an access point resolves to find your counterparty, so a value in the wrong form is undeliverable. This is a Peppol BIS Billing 3.0 profile rule: it applies because profile is "peppol-bis-3". It does not apply to the en16931, xrechnung-ubl or xrechnung-cii profiles, whose validators will accept the same document.

2. How to Fix PEPPOL-COMMON-R043

Correct seller.electronicAddress, or change its scheme identifier if the value belongs to a different register. A failing check digit or length almost always means a digit was transposed, dropped or added in transcription — compare it against the source register rather than re-typing it.

3. Valid Code / Payload Example

"electronicAddress": { "schemeId": "0208", "value": "0848934496" }
Test & Validate XML / JSON in Live SchemaGuard Validator →