# Peppol API for Belgium

Send Belgian e-invoices over Peppol through the Complyance API, and check whether Belgium’s structured e-invoicing requirement covers your invoices. Have the seller’s and buyer’s VAT and Peppol details ready.

## Who needs structured invoices?

Since **1 January 2026**, Belgian VAT-taxable businesses generally must send and receive structured e-invoices for transactions with other Belgian VAT-taxable businesses. A PDF sent by email does not meet this B2B requirement. Belgium’s usual exchange route is **Peppol**, the network for exchanging structured documents, using **Peppol BIS Billing 3.0** (based on EN 16931). The parties can agree to another EN 16931-compliant format; do not assume this guide supports that alternative.

The B2B rule does not apply to invoices sent to private consumers. A business that sells only to consumers may still need to receive structured invoices from Belgian suppliers. A Belgian VAT number alone does not bring a business with no Belgian establishment into scope. Businesses doing only activities exempt under Article 44 of the VAT Code are generally exempt; other exceptions and B2G rules differ. Check the [Belgian government’s scope and exceptions](https://efacture.belgium.be/fr/article/pour-qui-la-facturation-electronique-deviendra-t-elle-obligatoire) for your situation. The [government’s mandate overview](https://efacture.belgium.be/fr/article/les-factures-electroniques-structurees-entre-entreprises-sont-obligatoires-depuis-2026) confirms the start date and PDF restriction.

## Send a Belgian invoice

1. [Onboard the Belgian company](https://docs.complyance.io/countries/be/onboarding/) and confirm the Peppol participant details for both trading parties.
2. Prepare a GETS invoice using the [Belgium fields](https://docs.complyance.io/countries/be/fields/) and [validation rules](https://docs.complyance.io/countries/be/validation-rules/). GETS is the invoice format you send to the API; you do not need to compose Peppol XML yourself.
3. Use the [Belgium request example](https://docs.complyance.io/countries/be/examples/) to submit in sandbox. A successful submission validates and stores the document; it does **not** mean the buyer has received it. Follow the document’s delivery status.
4. When your sandbox results are correct, follow the [Belgium go-live checklist](https://docs.complyance.io/countries/be/go-live/).

## If something goes wrong

- If submission returns `422`, correct the named field in the response and retry. See [Belgium validation rules](https://docs.complyance.io/countries/be/validation-rules/).
- If the buyer cannot receive the invoice, verify their Peppol participant ID and scheme with them and check the document’s delivery status. Passing validation does not confirm delivery.

Next, [onboard the company](https://docs.complyance.io/countries/be/onboarding/).

Source: https://docs.complyance.io/countries/be/
