Peppol BIS Billing 3.0.21 · UBL

PEPPOL-COMMON-R043: Belgian enterprise number MUST be stated in the correct format

Peppol BIS Billing 3.0.21 · UBL

fatalformat

Original rule text

[PEPPOL-COMMON-R043]-Belgian enterprise number MUST be stated in the correct format.

Stored validation assertion
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:

Validate an invoice against these rules · All release changes