B2G PEPPOL — the act of 13 December 2021
In Luxembourg, any company that invoices the state must issue a structured electronic invoice — a file the administration's accounting machine reads directly, with no re-keying or PDF. The act of 13 December 2021 made this obligation effective in phases between May 2022 and March 2023, through a single channel: the European PEPPOL network and the PEPPOL BIS Billing 3.0 format.
History — from Directive 2014/55/EU to the 2021 act
The starting point is European. Directive 2014/55/EU required contracting authorities in every member state to receive electronic invoices compliant with the EN 16931 standard (the common semantic vocabulary of an invoice in Europe). Luxembourg first transposed this "receiving" side, connecting state accounting to the PEPPOL network via an access point operated by the CTIE.
The act of 13 December 2021 goes further: it shifts from the right to receive to the obligation to issue. Any economic operator that contracts with a public entity must now produce its invoices in PEPPOL BIS Billing 3.0. For a small, multilingual state deeply open to cross-border trade, choosing a 100% European format — rather than a national standard à la France (Factur-X) or Italy (FatturaPA) — is consistent.
2014 | Directive 2014/55/EU — requires electronic invoicing
| for contracting authorities across all member states and
| establishes EN 16931 (common invoice semantics).
|
2019-2020 | Luxembourg transposes the receiving side for the public
| sector and connects state accounting to the PEPPOL network
| via an access point operated by the CTIE.
|
13/12/2021 | Act of 13 December 2021 on electronic invoicing in public
| procurement and concession contracts. It makes ISSUING
| (not just receiving) mandatory, imposes PEPPOL BIS Billing 3.0
| and sets three entry phases.
|
18/05/2022 | Phase 1 — large enterprises: B2G issuing mandatory.
|
18/10/2022 | Phase 2 — medium enterprises: B2G issuing mandatory.
|
18/03/2023 | Phase 3 — small and new enterprises: B2G issuing mandatory.
| From this date, 100% of Luxembourg government suppliers
| invoice in PEPPOL BIS 3.0.
|
2024-2030 | Pure-PEPPOL B2G base stabilised. No B2B mandate. Preparation
| for ViDA / Digital Reporting Requirements alignment. Governance — CTIE and the central access point
The operational lead is the CTIE (Centre des technologies de l'information de l'État — the state IT centre), the IT arm of the Luxembourg administration. The CTIE operates the state's PEPPOL access point: it receives invoices issued by suppliers, validates them against the EN 16931 / PEPPOL schema, then routes them into centralised public accounting.
Legally, the text is sponsored by the Ministry for Digitalisation and published in the Official Journal (Mémorial A) via Légilux. The CTIE provides a free manual-entry portal for very small entities without PEPPOL-connected software, so the obligation does not create a barrier to entry.
The three-phase schedule
Entry into force was staggered by company size to give SMEs time to equip their invoicing chain:
| Phase | Target population | Mandatory date |
|---|---|---|
| 1 | Large enterprises | 18 May 2022 |
| 2 | Medium enterprises | 18 October 2022 |
| 3 | Small + new enterprises | 18 March 2023 |
Size thresholds follow the European SME definition (headcount, turnover, balance-sheet total). Since 18 March 2023, the obligation therefore covers the entire base of government suppliers, with no size exemption.
<!-- PEPPOL BIS Billing 3.0 — UBL 2.1 Invoice (excerpt) -->
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>2026/LU/00412</cbc:ID>
<cbc:IssueDate>2026-06-16</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9938">LU12345678</cbc:EndpointID>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Atelier Mecanique Sarl</cbc:RegistrationName>
<cbc:CompanyID schemeID="0240">B123456</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<!-- 0240 = Luxembourg matricule ; routes to the CTIE -->
<cbc:EndpointID schemeID="0240">00000000000</cbc:EndpointID>
<cac:PartyLegalEntity>
<cbc:RegistrationName>State Administration</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">170.00</cbc:TaxAmount>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:PayableAmount currencyID="EUR">1170.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
</Invoice> Luxembourg vs neighbours (BE / FR / DE)
| Dimension | Luxembourg | Belgium | France |
|---|---|---|---|
| B2G channel | Pure PEPPOL | Mercurius + PEPPOL | Chorus Pro |
| Format | PEPPOL BIS 3.0 (UBL) | PEPPOL BIS 3.0 | Factur-X / UBL / CII |
| Own national format | None | None | Factur-X (hybrid PDF/XML) |
| Routing identifier | matricule (ICD 0240) | CBE no. (ICD 0208) | SIRET (ICD 0009) |
| B2B mandate | No (to date) | 1 Jan 2026 | 2026-2027 (phased) |
Adoption and scope
- 100% of government suppliers are in scope since 18 March 2023 — no size waiver.
- PEPPOL BIS Billing 3.0 only for issuing to the public sector; unstructured PDF is no longer accepted as a compliant invoice.
- CTIE manual-entry portal for micro-enterprises without a connected ERP — lets them meet the obligation without software investment.
- No B2B mandate: invoicing between private companies remains free, pending ViDA alignment.
Common pitfalls
- Confusing receiving and issuing. Directive 2014/55/EU only mandated receiving on the public side; the act of 13 December 2021 mandates issuing on the supplier side.
- Thinking a PDF by email is enough. An electronic invoice in the legal sense is a structured file (UBL), not a PDF. A PDF only complies if it embeds the XML.
- Wrong schemeID in EndpointID. Routing to the
Luxembourg state uses ICD
0240(matricule). A wrong identification code blocks PEPPOL delivery. - Forgetting the CustomizationID. Without
urn:cen.eu:en16931:2017#compliant#…billing:3.0, the invoice is rejected by the CTIE access point as non-compliant. - Assuming a national format exists. There isn't one: trying to send a proprietary format or a FatturaPA to Luxembourg fails — only PEPPOL BIS 3.0 is accepted.