e-invoicing

Compliance Network Implementation Guide

Belgium-specific codes

Belgium-specific validations

Belgium applies PEPPOL BIS Billing 3.0 validations:

PEPPOL-COMMON-R043: Validates Belgian enterprise number format (0208 scheme identifier). This rule checks that the enterprise number follows the correct structure required by Belgian authorities.

Sovos validates your document before transmission.

PEPPOL participant identifiers

To send and receive invoices through PEPPOL, your company must register on the PEPPOL network using a participant identifier. The Belgian PEPPOL Authority (BOSA) requires all Belgian companies to register using scheme 0208 as the primary identifier. Other schemes are optional and improve discoverability across different trading contexts and partner requirements.

Scheme ID Name Format Status
0208 Belgian Enterprise Number (CBE) 10 digits Required (must register first)
9925 Belgian VAT Number BE + 10 digits Optional
0088 Global Location Number (GLN) 13 digits Optional
0060 DUNS Number 9 digits Optional

A complete PEPPOL participant ID uses this format: iso6523-actorid-upis::0208:0123456789

You can register optional schemes only after the 0208 endpoint exists. For registration steps, see Configure network page.

0208 format requirements
The 0208 scheme uses your enterprise number from the Belgian Crossroads Bank for Enterprises (CBE/KBO). The scheme (0208) is specified in the schemeID attribute, while the identifier value has only the 10-digit enterprise number.

Format requirements:

  • Exactly 10 digits

  • Numbers only (0-9)

  • No "BE" prefix

  • No "0208" prefix in the identifier value

Example: <cbc:EndpointID schemeID="0208">0123456789</cbc:EndpointID>

Common formatting errors:

  • Including "BE" prefix: BE0123456789 (incorrect)

  • Including scheme in value: 0208:0123456789 (incorrect)

  • Using spaces or hyphens: 0123 456 789 or 0123-456-789 (incorrect)

If the format is incorrect, you will receive error PEPPOL-COMMON-R043: "Belgian enterprise number MUST be stated in the correct format".

Error handling

When handling errors, follow the Indirect Tax API's error handling principles as specified in the error handling documentation.

In general, all error codes in the 400 range are client errors, which you need to analyze. After fixing the error, you can resend the request. Error codes 408 and 429 are exceptions: In these cases, you should wait at least 60 seconds before retrying. Error codes in the 500 range are server errors. In that case, resend the request following the instructions in the error handling documentation, which also includes a full list of error codes Indirect Tax API can return.