Use this skill with your AI agent
Paste this skill into your AI agent's context, or save the file to your project. Works with any AI agent that reads markdown.
| 1 | --- |
| 2 | name: belgium-einvoice |
| 3 | description: > |
| 4 | Use this skill whenever asked about e-invoicing in Belgium, Peppol B2B mandate, Mercurius platform for B2G, Hermes platform, EN 16931 Belgium, Peppol BIS Billing 3.0 Belgium, structured electronic invoices, Belgian VAT e-invoicing, Peppol Access Points, or any question about issuing, transmitting, validating, or archiving electronic invoices under Belgian law. Trigger on phrases like "Peppol Belgium", "e-invoicing Belgium 2026", "Mercurius", "Hermes platform", "B2B e-invoice Belgium", "structured invoice Belgium", "Belgian VAT Code invoicing", "Peppol BIS", "UBL Belgium", or "e-facturatie". ALWAYS read this skill before touching any Belgium invoicing compliance work. |
| 5 | version: 1.0 |
| 6 | jurisdiction: BE |
| 7 | category: invoicing |
| 8 | depends_on: |
| 9 | - einvoice-workflow-base |
| 10 | --- |
| 11 | |
| 12 | # Belgium E-Invoicing Compliance Skill v1.0 |
| 13 | |
| 14 | --- |
| 15 | |
| 16 | ## Section 1 -- Quick Reference |
| 17 | |
| 18 | | Field | Value | |
| 19 | |---|---| |
| 20 | | Country | Belgium (Koninkrijk België / Royaume de Belgique) | |
| 21 | | Currency | EUR | |
| 22 | | E-invoicing system name | Peppol network (B2B); Mercurius platform (B2G); Hermes bridge (transitional) | |
| 23 | | Governing body | FPS Finance (Federale Overheidsdienst Financiën / Service Public Fédéral Finances) | |
| 24 | | Key legislation | Law of 6 February 2024 amending the Belgian VAT Code (Art. 53 §1/1); Royal Decree of 8 July 2025 on structured e-invoicing (technical standards and penalties); EU Directive 2014/55/EU (B2G); Belgian VAT Code Art. 44 (exemptions) | |
| 25 | | Implementation timeline | B2G via Mercurius since 2015+; B2B mandate 1 Jan 2026; Grace period ended 31 Mar 2026; Full enforcement from 1 Apr 2026; Self-billing tolerance until 30 Jun 2026 | |
| 26 | | Current status (2026) | Fully enforced -- all Belgian VAT-registered businesses must send and receive Peppol BIS Billing 3.0 invoices for domestic B2B transactions; progressive penalties in effect | |
| 27 | | Skill version | 1.0 | |
| 28 | |
| 29 | --- |
| 30 | |
| 31 | ## Section 2 -- Mandate Scope |
| 32 | |
| 33 | ### Who Must Comply |
| 34 | |
| 35 | **B2G (Business-to-Government):** |
| 36 | All suppliers to Belgian contracting authorities must issue structured e-invoices via the Mercurius platform (aligned with Peppol). In effect since the transposition of EU Directive 2014/55/EU. All federal, regional, and local public entities receive through Mercurius. |
| 37 | |
| 38 | **B2B (Business-to-Business):** |
| 39 | From 1 January 2026, all Belgian enterprises liable to VAT must use structured e-invoices for domestic B2B transactions. A PDF sent by email or paper invoice no longer satisfies the legal invoicing requirement for in-scope transactions. |
| 40 | |
| 41 | **Suppliers in scope:** All Belgian VAT taxpayers including: |
| 42 | - Taxable entities established in Belgium |
| 43 | - Belgian permanent establishments of foreign entities |
| 44 | - Members of Belgian VAT groups |
| 45 | - Taxable Belgian entities with special VAT schemes in agriculture |
| 46 | |
| 47 | **Suppliers excluded:** |
| 48 | - Foreign entities solely registered for VAT in Belgium (without establishment) |
| 49 | - Belgian entities conducting only VAT-exempt activities (Art. 44 VAT Code) |
| 50 | - Bankrupt entities |
| 51 | - Entities under the special flat-rate scheme (to be abolished in 2028) |
| 52 | |
| 53 | **Customers in scope:** Taxable entities providing their Belgian VAT number for local transactions. |
| 54 | |
| 55 | **Customers excluded:** VAT-exempt entities and foreign taxpayers with a Belgian VAT number. |
| 56 | |
| 57 | **B2C (Business-to-Consumer):** |
| 58 | Remains voluntary. No mandatory e-invoicing obligation for B2C transactions. |
| 59 | |
| 60 | ### Transaction Scope |
| 61 | |
| 62 | E-invoicing applies to all domestic B2B VAT transactions in Belgium, including: |
| 63 | - Supplies of goods and services with Belgian place of supply |
| 64 | - Supplies under local reverse charge |
| 65 | |
| 66 | **Not in scope:** |
| 67 | - Intra-community supplies |
| 68 | - Services taxed in another EU country |
| 69 | - Transactions exempt under Art. 44 of the Belgian VAT Code |
| 70 | |
| 71 | ### Timeline |
| 72 | |
| 73 | | Date | Milestone | |
| 74 | |---|---| |
| 75 | | 2015+ | Mercurius platform deployed for B2G e-invoicing | |
| 76 | | 1 February 2024 | Parliament approves law for mandatory B2B e-invoicing from 2026 | |
| 77 | | 8 July 2025 | Royal Decree published with technical standards and penalty regime | |
| 78 | | 1 January 2026 | B2B e-invoicing mandate takes effect; 3-month tolerance period begins | |
| 79 | | 31 March 2026 | Tolerance period ends; full enforcement begins | |
| 80 | | 30 June 2026 | Self-billing tolerance period ends | |
| 81 | | 1 January 2028 | Peppol five-corner e-reporting model anticipated (near real-time VAT e-reporting) | |
| 82 | |
| 83 | --- |
| 84 | |
| 85 | ## Section 3 -- Technical Format |
| 86 | |
| 87 | ### Standard and Syntax |
| 88 | |
| 89 | | Component | Value | |
| 90 | |---|---| |
| 91 | | Semantic standard | EN 16931 (European standard for electronic invoicing) | |
| 92 | | Default syntax | UBL 2.1 XML (OASIS Universal Business Language) | |
| 93 | | Business specification | Peppol BIS Billing 3.0 | |
| 94 | | Self-billing specification | Peppol BIS Self-Billing 3.0.1 (hotfix March 2026) | |
| 95 | | CIUS | No separate Belgian CIUS beyond Peppol BIS Billing 3.0 | |
| 96 | | CII syntax | Accepted via Mercurius but rarely used in practice; UBL is the default | |
| 97 | |
| 98 | ### Key Peppol Identifiers |
| 99 | |
| 100 | | Field | Value | |
| 101 | |---|---| |
| 102 | | CustomizationID | `urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0` | |
| 103 | | ProfileID | `urn:fdc:peppol.eu:2017:poacc:billing:01:1.0` | |
| 104 | | Document type (Invoice) | `urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1` | |
| 105 | | Document type (Credit Note) | `urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1` | |
| 106 | |
| 107 | ### Namespaces |
| 108 | |
| 109 | | Namespace | URI | |
| 110 | |---|---| |
| 111 | | UBL Invoice | `urn:oasis:names:specification:ubl:schema:xsd:Invoice-2` | |
| 112 | | UBL CreditNote | `urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2` | |
| 113 | | Common Basic Components | `urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2` | |
| 114 | | Common Aggregate Components | `urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2` | |
| 115 | |
| 116 | --- |
| 117 | |
| 118 | ## Section 4 -- Mandatory Fields |
| 119 | |
| 120 | ### Peppol BIS Billing 3.0 Required Fields |
| 121 | |
| 122 | | Field | UBL Path | Notes | |
| 123 | |---|---|---| |
| 124 | | Invoice number | `cbc:ID` | Unique, sequential | |
| 125 | | Issue date | `cbc:IssueDate` | ISO 8601 | |
| 126 | | Invoice type code | `cbc:InvoiceTypeCode` | 380 (invoice), 381 (credit note) | |
| 127 | | Currency code | `cbc:DocumentCurrencyCode` | EUR for domestic | |
| 128 | | Buyer reference | `cbc:BuyerReference` | Mandatory in Peppol BIS; can be PO number or free text | |
| 129 | | Supplier name | `cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName` | | |
| 130 | | Supplier VAT number | `cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID` | Belgian VAT number format: BE0XXX.XXX.XXX | |
| 131 | | Supplier address | `cac:AccountingSupplierParty/cac:Party/cac:PostalAddress` | Including country code | |
| 132 | | Supplier Peppol endpoint | `cac:AccountingSupplierParty/cac:Party/cbc:EndpointID` | With `@schemeID` (e.g., 0208 for Belgian enterprise number) | |
| 133 | | Buyer name | `cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName` | | |
| 134 | | Buyer VAT number | `cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID` | Belgian VAT number | |
| 135 | | Buyer address | `cac:AccountingCustomerParty/cac:Party/cac:PostalAddress` | Including country code | |
| 136 | | Buyer Peppol endpoint | `cac:AccountingCustomerParty/cac:Party/cbc:EndpointID` | Must be registered in Peppol SMP | |
| 137 | | Line item description | `cac:InvoiceLine/cac:Item/cbc:Name` | | |
| 138 | | Line quantity | `cac:InvoiceLine/cbc:InvoicedQuantity` | With `@unitCode` (UN/ECE Rec. 20) | |
| 139 | | Line net amount | `cac:InvoiceLine/cbc:LineExtensionAmount` | | |
| 140 | | Line VAT category | `cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID` | S, Z, E, AE, K, G, O, L, M | |
| 141 | | Line VAT rate | `cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent` | | |
| 142 | | Tax subtotals | `cac:TaxTotal/cac:TaxSubtotal` | Per VAT category | |
| 143 | | Total tax amount | `cac:TaxTotal/cbc:TaxAmount` | | |
| 144 | | Payable amount | `cac:LegalMonetaryTotal/cbc:PayableAmount` | | |
| 145 | | Payment means | `cac:PaymentMeans/cbc:PaymentMeansCode` | 30 (credit transfer), 58 (SEPA), etc. | |
| 146 | | Payment account (IBAN) | `cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID` | | |
| 147 | |
| 148 | ### Peppol VAT Category Codes (Belgian Relevance) |
| 149 | |
| 150 | | Code | Meaning | |
| 151 | |---|---| |
| 152 | | S | Standard rate (21%), reduced (12%, 6%) | |
| 153 | | Z | Zero rated | |
| 154 | | E | Exempt from VAT | |
| 155 | | AE | VAT Reverse Charge | |
| 156 | | K | Intra-community supply | |
| 157 | | G | Export outside the EU | |
| 158 | | O | Not subject to VAT | |
| 159 | |
| 160 | --- |
| 161 | |
| 162 | ## Section 5 -- Transmission Method |
| 163 | |
| 164 | ### B2B: Peppol Network |
| 165 | |
| 166 | | Component | Detail | |
| 167 | |---|---| |
| 168 | | Network | Peppol eDelivery Network (4-corner model) | |
| 169 | | Sender Access Point | Certified Peppol Access Point used by the supplier | |
| 170 | | Receiver Access Point | Certified Peppol Access Point used by the buyer | |
| 171 | | Endpoint lookup | Peppol SMP (Service Metadata Publisher) directory | |
| 172 | | Participant ID | Belgian enterprise number (KBO/BCE) with scheme 0208, or VAT number with scheme 9925 | |
| 173 | | Protocol | Peppol AS4 profile | |
| 174 | | Authentication | Peppol PKI certificates issued by OpenPeppol CA | |
| 175 | |
| 176 | ### B2G: Mercurius Platform |
| 177 | |
| 178 | | Component | Detail | |
| 179 | |---|---| |
| 180 | | Platform | Mercurius -- central mailroom for all Belgian public entities | |
| 181 | | Alignment | Fully integrated into the Peppol ecosystem | |
| 182 | | Web portal | Manual invoice submission available via Mercurius web portal | |
| 183 | | Automated submission | Via Peppol Access Point to the Mercurius endpoint | |
| 184 | | Track and trace | Mercurius portal provides delivery tracking for senders and receivers | |
| 185 | | Alternative | Hermes platform (transitional bridge for entities not yet able to process structured invoices; converts to PDF) | |
| 186 | |
| 187 | ### Hermes Bridge (Transitional) |
| 188 | |
| 189 | Hermes is a temporary platform that converts structured Peppol e-invoices into human-readable formats (PDF) for recipients not yet technically equipped. Hermes is designed to be phased out as digital maturity increases. It also includes a web portal with tracking features. |
| 190 | |
| 191 | --- |
| 192 | |
| 193 | ## Section 6 -- Validation Rules |
| 194 | |
| 195 | ### Peppol Validation Layers |
| 196 | |
| 197 | 1. **XML schema validation** against UBL 2.1 XSD |
| 198 | 2. **EN 16931 business rules** (CEN/TC 434 schematrons) |
| 199 | 3. **Peppol BIS Billing 3.0 rules** (OpenPeppol schematrons) |
| 200 | 4. **Access Point validation** (transport-level checks: endpoint existence in SMP, document type support) |
| 201 | |
| 202 | ### Pre-Submission Checks |
| 203 | |
| 204 | - Validate XML against UBL 2.1 schema and Peppol BIS 3.0 schematron before sending |
| 205 | - Verify buyer Peppol endpoint is registered in the SMP directory |
| 206 | - Confirm VAT category codes match the correct Belgian VAT treatment |
| 207 | - Ensure `BuyerReference` is populated (mandatory in Peppol BIS) |
| 208 | - Verify Belgian VAT number format (BE + 10 digits, check digit valid) |
| 209 | |
| 210 | ### Common Rejection Reasons |
| 211 | |
| 212 | | Reason | Detail | |
| 213 | |---|---| |
| 214 | | Endpoint not found | Buyer is not registered in the Peppol SMP directory | |
| 215 | | Schema violation | XML does not conform to UBL 2.1 XSD | |
| 216 | | Business rule failure | Peppol BIS or EN 16931 schematron rule violated | |
| 217 | | Missing BuyerReference | `cbc:BuyerReference` is empty or absent | |
| 218 | | Invalid VAT category | Tax category code does not match the VAT rate or transaction type | |
| 219 | | Invalid VAT number | Belgian VAT number fails format or check-digit validation | |
| 220 | | Unsupported document type | Document type ID not registered for the receiver in SMP | |
| 221 | | Duplicate invoice | Invoice number already sent to the same buyer | |
| 222 | |
| 223 | --- |
| 224 | |
| 225 | ## Section 7 -- Tax Computation Rules |
| 226 | |
| 227 | ### Belgian VAT Rates (2026) |
| 228 | |
| 229 | | Rate | Percentage | Application | |
| 230 | |---|---|---| |
| 231 | | Standard | 21% | Most goods and services | |
| 232 | | Reduced (parking) | 12% | Certain social housing, restaurant meals (food portion), margarine, tyres | |
| 233 | | Reduced | 6% | Basic necessities, water, pharmaceuticals, books, cultural events, renovations (conditions apply), passenger transport | |
| 234 | | Zero | 0% | Intra-community supplies, exports, newspapers/periodicals (from 2023) | |
| 235 | |
| 236 | ### Rounding Rules |
| 237 | |
| 238 | - VAT calculated per line, rounded to 2 decimal places (EUR cents). |
| 239 | - Totals are the algebraic sum of rounded line-level amounts. |
| 240 | - `cac:TaxTotal/cbc:TaxAmount` must equal the sum of all `cac:TaxSubtotal/cbc:TaxAmount` values. |
| 241 | - Peppol BIS enforces rounding tolerance: ±0.01 per tax subtotal. |
| 242 | |
| 243 | ### Multi-Rate Invoice Handling |
| 244 | |
| 245 | Each VAT rate requires a separate `cac:TaxSubtotal` element. Each invoice line must reference exactly one `cac:ClassifiedTaxCategory`. Mixed-rate invoices must not combine rates within a single line. |
| 246 | |
| 247 | ### Self-Billing |
| 248 | |
| 249 | Under Peppol BIS Self-Billing 3.0.1, the buyer issues the invoice on behalf of the supplier. The `AccountingSupplierParty` is still the supplier (the entity providing goods/services), and the `AccountingCustomerParty` is the buyer who created the document. The `InvoiceTypeCode` must indicate self-billing (389). |
| 250 | |
| 251 | --- |
| 252 | |
| 253 | ## Section 8 -- Archiving Requirements |
| 254 | |
| 255 | | Requirement | Detail | |
| 256 | |---|---| |
| 257 | | Retention period | 7 years from the end of the year in which the VAT return was due (Belgian VAT Code Art. 60) | |
| 258 | | Extended retention | 10 years for immovable property adjustments; 15 years for new buildings | |
| 259 | | Format | Structured XML (original Peppol BIS format) must be retained; a human-readable rendering should also be stored | |
| 260 | | Integrity | Tamper-proof audit trail required; no modification to the original XML permitted | |
| 261 | | Accessibility | Must be available for tax inspection within Belgium or with immediate electronic access if stored elsewhere in the EU | |
| 262 | | Audit trail | Both sender and receiver must maintain records of transmission, receipt, and processing | |
| 263 | | Mercurius/Hermes | B2G invoices routed through Mercurius are archived by the platform; businesses should maintain their own copy | |
| 264 | |
| 265 | --- |
| 266 | |
| 267 | ## Section 9 -- Penalties for Non-Compliance |
| 268 | |
| 269 | ### E-Invoicing Specific Penalties (Royal Decree, July 2025) |
| 270 | |
| 271 | | Infringement | Penalty (EUR) | |
| 272 | |---|---| |
| 273 | | First infringement | 1,500 | |
| 274 | | Second infringement | 3,000 | |
| 275 | | Third infringement (within 3 months of previous) | 5,000 | |
| 276 | |
| 277 | Penalties are per infringement, not per invoice. A "subsequent" infringement is only classified as new if identified at least 3 months after the previous penalty, giving businesses a remediation window. |
| 278 | |
| 279 | ### Existing VAT Penalties (Unchanged) |
| 280 | |
| 281 | | Violation | Penalty | |
| 282 | |---|---| |
| 283 | | Late issuance of invoice | Administrative fine under Belgian VAT Code | |
| 284 | | Incorrect VAT treatment on invoice | Administrative fine + potential VAT reassessment | |
| 285 | | Failure to archive | Administrative fine | |
| 286 | | Fraud | Criminal penalties under Belgian VAT Code | |
| 287 | |
| 288 | ### Practical Consequences |
| 289 | |
| 290 | - Inability to send/receive Peppol invoices blocks the legal invoicing flow for domestic B2B |
| 291 | - Suppliers who cannot issue structured invoices risk losing business relationships |
| 292 | - Buyers who cannot receive structured invoices violate the mandate by accepting non-compliant documents |
| 293 | |
| 294 | --- |
| 295 | |
| 296 | ## Section 10 -- Interaction with Tax Skills |
| 297 | |
| 298 | ### E-Invoice → VAT Return (BTW-aangifte / Déclaration TVA) |
| 299 | |
| 300 | Structured e-invoice data is the primary source for VAT return preparation. From 2028, Belgium anticipates a Peppol five-corner e-reporting model enabling near real-time VAT reporting. This aligns with the EU ViDA (VAT in the Digital Age) initiative. |
| 301 | |
| 302 | ### Automated Bookkeeping |
| 303 | |
| 304 | Peppol BIS invoices in UBL 2.1 XML are machine-readable and can be automatically booked into accounting systems. This enables straight-through processing for accounts payable and accounts receivable. |
| 305 | |
| 306 | ### Purchase Order Matching |
| 307 | |
| 308 | Peppol supports the full procure-to-pay chain. Invoices can reference Peppol order documents (`cac:OrderReference`), enabling automated 3-way matching (order → receipt → invoice). |
| 309 | |
| 310 | ### Cross-Border Interoperability |
| 311 | |
| 312 | Belgium's Peppol-based framework is inherently interoperable with other Peppol-connected countries (Italy, France, Netherlands, Germany, Nordics, etc.). Cross-border invoices between Peppol participants follow the same technical specification. |
| 313 | |
| 314 | ### Corporate Tax (Vennootschapsbelasting / Impôt des sociétés) |
| 315 | |
| 316 | Invoice data from Peppol invoices feeds into corporate tax computations. FPS Finance can cross-reference e-invoice data against reported revenue and deduction claims. |
| 317 | |
| 318 | --- |
| 319 | |
| 320 | ## Disclaimer |
| 321 | |
| 322 | This skill and its outputs are provided for informational and computational purposes only and do not constitute tax, legal, or financial advice. Open Accountants and its contributors accept no liability for any errors, omissions, or outcomes arising from the use of this skill. All outputs must be reviewed and signed off by a qualified professional (such as a CPA, tax attorney, or equivalent licensed practitioner in your jurisdiction) before filing or acting upon. |
| 323 | |
| 324 | The most up-to-date, verified version of this skill is maintained at [openaccountants.com](https://openaccountants.com). |
| 325 |
Run this skill, then get an accountant to check it
After running the full skill pack in your AI agent, sign up and upload your worksheet. We'll connect you with a trusted accountant in our network who can review your numbers before you file.
Verification status
Research-verified
Drafted from authoritative sources (tax authority sites, Big-4 summaries). Awaiting credentialed sign-off.
Needs section-by-section practitioner review to reach accountant-verified.
Section review progress
About
Use this skill whenever asked about e-invoicing in Belgium, Peppol B2B mandate, Mercurius platform for B2G, Hermes platform, EN 16931 Belgium, Peppol BIS Billing 3.0 Belgium, structured electronic invoices, Belgian VAT e-invoicing, Peppol Access Points, or any question about issuing, transmitting, validating, or archiving electronic invoices under Belgian law. Trigger on phrases like "Peppol Belgium", "e-invoicing Belgium 2026", "Mercurius", "Hermes platform", "B2B e-invoice Belgium", "structured invoice Belgium", "Belgian VAT Code invoicing", "Peppol BIS", "UBL Belgium", or "e-facturatie". ALWAYS read this skill before touching any Belgium invoicing compliance work.
Use this skill
This skill is open source and free to use in any AI agent. Copy it, download it, or clone the repo. If you find an error, report an issue — a licensed accountant will review.