E-invoicing in Luxembourg: A Complete Guide for Businesses
Overview
Luxembourg operates a Peppol-based e-invoicing framework aligned with EU Directive 2014/55/EU on electronic invoicing in public procurement. The Grand Duchy has implemented structured e-invoicing through the Peppol network using the BIS Billing 3.0 specification, with the Administration de la TVA (AED) as the supervising authority for VAT compliance.
Luxembourg does not operate a central clearance hub. Invoices travel directly between trading partners' Peppol access points via AS4 transport, with the tax authority relying on the Peppol delivery audit trail and periodic VAT returns for compliance oversight. This decentralised model makes integration straightforward: connecting once to a Peppol-certified access point covers both B2G delivery and cross-border EU invoicing.
The country identifier scheme for Luxembourg participants on the Peppol network is EAS code 9923, which maps to the Luxembourg VAT number (numéro de TVA). This is the primary routing key for both suppliers and buyers on the network.
Mandate and Timeline
Luxembourg transposed the EU B2G e-invoicing directive into national law via the Law of 30 May 2018 on electronic invoicing in public procurement. Key milestones:
- 2018: Law transposing EU Directive 2014/55/EU enacted
- 2019: B2G e-invoicing mandatory for central administration suppliers
- 2020: Obligation extended to sub-central contracting authorities
- Present: B2B e-invoicing voluntary; no legislated mandate date confirmed
| Segment | Status |
|---|---|
| B2G — central administration suppliers | Mandatory since 2019 |
| B2G — sub-central public authorities | Mandatory since 2020 |
| B2B — Luxembourg VAT entities | Voluntary — no mandate currently |
| Cross-border EU suppliers to LU public sector | Must support Peppol BIS 3.0 |
Luxembourg has not announced a B2B mandate date. EU-level ViDA (VAT in the Digital Age) developments may introduce a requirement in the 2028–2030 timeframe, but no domestic legislation is in force.
Format and Network
Luxembourg e-invoicing uses the standard OpenPeppol stack without a national CIUS extension:
- Format: Peppol BIS Billing 3.0 (EN 16931 compliant)
- Syntax: UBL 2.1 (preferred) or UN/CEFACT CII D16B
- Transport: AS4 via the Peppol network (OpenPeppol POACC-ACC-010)
- Participant identifier scheme: EAS
9923— Luxembourg VAT number (formatLU+ 8 digits, e.g.9923:LU12345678) - Currency: EUR
- Standard VAT rate: 17% (one of the lowest standard rates in the EU)
- Reduced rates: 14% (certain wine and spirits), 8% (select goods and services), 3% (food, books, medicine, accommodation)
- Authority: Administration de la TVA (AED) — part of the Administration de l'Enregistrement, des Domaines et de la TVA
No national invoice portal exists. Delivery via a registered Peppol access point is the only supported electronic channel for B2G.
Required Fields
A valid Peppol BIS Billing 3.0 invoice for Luxembourg must include:
| Field | Notes |
|---|---|
invoiceNumber |
Unique sequential identifier |
issueDate |
ISO 8601 date (YYYY-MM-DD) |
dueDate |
Payment due date |
currency |
EUR |
buyerReference |
Buyer's purchase order or contract reference |
supplier.taxId |
Luxembourg VAT number (LU + 8 digits) |
supplier.endpointId |
Peppol ID using scheme 9923, e.g. 9923:LU12345678 |
supplier.endpointSchemeId |
9923 |
buyer.taxId |
Buyer VAT number |
buyer.endpointId |
Buyer's registered Peppol ID |
lines[].taxCode |
EN 16931 VAT category: S (standard), Z (zero), E (exempt), AE (reverse charge) |
lines[].vatRate |
Numeric rate matching taxCode; standard is 17 |
The buyerReference field maps to cbc:BuyerReference in the UBL output and is required by most Luxembourg public sector buyers to match the invoice to a purchase order.
Integration Example
Send a Luxembourg invoice via the Clearvo API:
curl -X POST https://api.clearvo.io/v1/invoices \
-H "Authorization: Bearer $CLEARVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"country": "LU",
"documentType": "invoice",
"invoiceNumber": "LU-INV-2026-001",
"issueDate": "2026-06-16",
"dueDate": "2026-07-16",
"currency": "EUR",
"buyerReference": "PO-2026-001",
"supplier": {
"name": "Clearvo Technologies Ltd",
"taxId": "LU12345678",
"taxIdCountry": "LU",
"endpointId": "9923:LU12345678",
"endpointSchemeId": "9923"
},
"buyer": {
"name": "Luxembourg Buyer AS",
"taxId": "BUYERLU001",
"taxIdCountry": "LU",
"endpointId": "9923:BUYERLU001",
"endpointSchemeId": "9923"
},
"lines": [
{ "description": "Software consulting services", "quantity": 5, "unitPrice": 1000, "taxCode": "S", "vatRate": 17 },
{ "description": "Platform subscription annual", "quantity": 1, "unitPrice": 3600, "taxCode": "S", "vatRate": 17 }
]
}'
The response includes a Peppol message ID, AS4 delivery receipt timestamp, and the generated UBL 2.1 XML. Clearvo performs a live SMP lookup against the Peppol SML before sending to confirm the buyer's access point is registered and to retrieve the supported document types.
Key Rules
VAT rate accuracy: Luxembourg has four VAT rates (17%, 14%, 8%, 3%). The vatRate field must match the taxCode category precisely — mismatches fail BIS 3.0 schema validation before the message leaves the access point.
Scheme 9923 is the sole LU identifier: Unlike countries that accept multiple EAS schemes, Luxembourg Peppol participants register exclusively under 9923. Always prefix the VAT number with 9923: in endpointId — passing a bare VAT number will fail SMP lookup.
No clearance step: Luxembourg does not require pre-clearance or real-time reporting to the AED. Peppol delivery is the compliance act for B2G; the AS4 MDN receipt from the buyer's access point is the authoritative audit record.
No tax engine bundled: Clearvo is a developer-first access point and does not include a tax determination engine. Your application supplies taxCode and vatRate per line. This keeps the API surface minimal and gives you full control over VAT treatment — important when Luxembourg's multiple reduced rates apply to mixed-supply invoices.
Buyer registration check before first send: Call GET /v1/participants/9923:{taxId} to confirm a buyer has a registered Peppol endpoint before the first invoice. Unregistered buyers cannot receive Peppol invoices; a fallback channel is required for B2B until they register.
Full schema reference, sandbox credentials, and participant lookup documentation are available at clearvo.io/docs.
Related country guides
- Belgium — Peppol BIS 3.0, B2B mandatory from January 2026
- France — Factur-X PDP model, mandate from September 2026
- Germany — XRechnung 3.0, B2B mandate from 2027
Ready to handle e-invoicing in Luxembourg?
One API, all 31 countries. Sign up and get your API key within 24 hours.
Get started free →