PEPPOL-COMMON-R043: Belgian enterprise number MUST be stated in the correct format
Peppol BIS Billing 3.0.21 · UBL
Original rule text
[PEPPOL-COMMON-R043]-Belgian enterprise number MUST be stated in the correct format.
matches(normalize-space(), '^[0-9]{10}$') and u:mod97-0208(normalize-space())PEPPOL-COMMON-R043 is a fatal rule in the format layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.
What this rule requires
The rule requires that any of the elements cbc:EndpointID, cac:PartyIdentification/cbc:ID, or cbc:CompanyID with @schemeID = '0208' (Belgian enterprise number) must contain a value that is exactly 10 digits and passes the validation function u:mod97-0208. The test uses normalize-space(), so surrounding whitespace is ignored, but the value itself must consist only of digits with no internal spaces. A document fails if any of these elements with that scheme ID is present but its value does not match the pattern ^[0-9]{10}$ or fails the mod97 check.
How to fix
For each of the elements cbc:EndpointID, cac:PartyIdentification/cbc:ID, and cbc:CompanyID that has @schemeID = '0208', ensure the value is a valid Belgian enterprise number: exactly 10 digits, no spaces, hyphens, or other separators, and it must satisfy the u:mod97-0208 check. If the number is incorrect, replace it with the correct 10-digit number from the official source. Check the system that generates the invoice to ensure it outputs the number in the required format.
Guidance on this rule. The original text above is authoritative.
Where to go next
PEPPOL-COMMON-R043 changed in 1 published Peppol BIS Billing UBL release comparison:
- PEPPOL-COMMON-R043 in 3.0.10 → 3.0.15: New rule
Validate an invoice against these rules · All release changes