Configure network
Set up company endpoints to register your business in the PEPPOL network and route inbound documents to your system.
Company endpoints register your business in the PEPPOL network and route documents to your system. Each endpoint belongs to a product, either be_invoice_inbound_1.0 or be_invoice_outbound_1.0, and has a participant identifier, supported document types, and an ERP system ID for notification routing. Sovos must grant you the product before you can create endpoints. Sovos publishes inbound endpoints to the Service Metadata Publisher (SMP), making your receiving capabilities visible to other PEPPOL participants.
For outbound invoices, Sovos reads the buyer's participant identifier from the cbc:EndpointID element in the invoice body. Sovos uses PEPPOL dynamic discovery to locate the buyer's access point automatically. You must also create an outbound endpoint in Sovos to receive Lifecycle status messages. Buyers use these messages to send invoice responses back through PEPPOL. Sovos doesn't publish outbound endpoints to the SMP.
Participant identifier formats
The Belgian PEPPOL Authority (BOSA) requires all Belgian companies to register with scheme 0208 as the primary identifier. You can register other schemes after the 0208 endpoint exists.
| 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 |
You must register the 0208 endpoint before you register any optional scheme. For 0208 format requirements and examples, see PEPPOL participant identifiers page.
ERP System Communications
ERP System Communication links an ERP System ID to the network and defines how Sovos delivers documents to your system. You must set up ERP System Communications at the organization level before creating endpoints.
You must create two communications for Belgium: one for Invoice and one for Lifecycle. Both must use the same ERP System ID.
If you create the Lifecycle ERP System Communication without a plugin, the system skips integration format generation and returns success with no error or warning. Always add a plugin when setting up the Lifecycle communication. Use ALL-PEPPOLBISUBL-3.0-INVOICE-1.0 as the formatId for the Invoice communication and ALL-PEPPOL_INVOICERESPONSE_UBL-3.0-LIFECYCLE-1.0 for the Lifecycle communication.
- Invoice communication
-
CODE
POST /api/v1/erp-system-communications/organizationJSON{ "organizationId": "your-org-id", "erpSystemId": "Inbound_ERPSystemID", "documentType": "Invoice", "deliveryMethod": "Pull", "formatId": "ALL-PEPPOLBISUBL-3.0-INVOICE-1.0" } - Lifecycle communication
-
JSON
{ "organizationId": "your-org-id", "erpSystemId": "Inbound_ERPSystemID", "documentType": "LifeCycle", "deliveryMethod": "Pull", "formatId": "ALL-PEPPOL_INVOICERESPONSE_UBL-3.0-LIFECYCLE-1.0" }
Create inbound endpoint
You must create the 0208 endpoint first.
- Request
-
JSON
POST /v2/configurations/organizations/{orgId}/companies/{companyId}/endpoints Content-Type: application/json - Request body
-
JSON
{ "productId": "be_invoice_inbound_1.0", "codeComponents": [ { "field": "META-SCHEME", "value": "iso6523-actorid-upis" }, { "field": "SCHEME", "value": "0208" }, { "field": "IDENTIFIER", "value": "0123456789" } ], "supportedDocuments": [ { "type": "Invoice", "subTypes": ["Invoice", "CreditNote"] }, { "type": "LifeCycle", "subTypes": ["LifeCycle"] } ], "erpSystemId": "Inbound_ERPSystemID" }
The IDENTIFIER value must be your 10-digit CBE number without the "BE" prefix. For format requirements, see PEPPOL participant identifiers page.
-
Register an optional
9925endpoint -
After you register the
0208endpoint, you can optionally add a VAT number identifier to improve discoverability for cross-border trading partners.- Request body
-
JSON
{ "productId": "be_invoice_inbound_1.0", "codeComponents": [ { "field": "META-SCHEME", "value": "iso6523-actorid-upis" }, { "field": "SCHEME", "value": "9925" }, { "field": "IDENTIFIER", "value": "BE0123456789" } ], "supportedDocuments": [ { "type": "Invoice", "subTypes": ["Invoice", "CreditNote"] } ], "erpSystemId": "Inbound_ERPSystemID" }
The
9925IDENTIFIERvalue must include the "BE" prefix followed by 10 digits (for example, BE0123456789).
Retrieve an endpoint
To retrieve a company endpoint by ID, send a GET request:
- Request
-
CODE
GET /api/v1/organizations/{organizationId}/companies/{companyId}/endpoints/{endpointId}
The response includes:
-
Endpoint ID
-
Code components
-
Validity period
-
Supported documents
-
ERP system ID
-
Registered directories
-
Contact information
Modify an endpoint
To update a company endpoint, send a PUT request:
- Request
-
CODE
PUT /api/v1/organizations/{organizationId}/companies/{companyId}/endpoints/{endpointId}
You can modify:
-
validityPeriod -
supportedDocuments -
erpSystemId -
contact
You can't modify these fields after creation:
-
code.value -
code.scheme -
code.components
You must include supportedDocuments in the request body. The field can't be empty.
Remove an endpoint
To remove a company endpoint, send a DELETE request.
- Request
-
CODE
DELETE /api/v1/organizations/{organizationId}/companies/{companyId}/endpoints/{endpointId}
