What is a Leitweg-ID?
The Leitweg-ID (literally "routing ID") is a machine-readable identifier that routes electronic invoices to the correct recipient within Germany's public administration. Every supplier sending an e-invoice to a German federal, state, or municipal authority must include the recipient's Leitweg-ID in the BT-10 (Buyer Reference) field of their XRechnung invoice.
Without a valid Leitweg-ID, the invoice cannot be delivered. Germany's e-invoicing infrastructure — including the ZRE (Zentrale Rechnungseingangsplattform) at the federal level and OZG-RE portals at state level — uses the Leitweg-ID as the primary routing key to forward invoices to the correct organizational unit and approval workflow.
Structure of the Leitweg-ID
A Leitweg-ID consists of three parts, separated by hyphens:
[Coarse Address] - [Fine Address] - [Check Digit]
Coarse Address (Grobadressierung)
Identifies the public authority at a high level. This is a numeric code between 2 and 12 digits that typically encodes the administrative level and entity.
Common prefixes indicate the administrative tier:
Fine Address (Feinadressierung)
An optional sub-identifier (up to 30 characters) that routes the invoice to a specific department, cost center, or project within the authority. This enables internal routing without requiring each sub-unit to have its own Peppol registration.
Check Digit (Prüfziffer)
A two-digit number appended to validate the structural integrity of the Leitweg-ID. This helps catch typos and transposition errors before the invoice enters the routing system.
The total length ranges from 5 to 46 characters.
Examples
Where Does the Leitweg-ID Come From?
Suppliers do not create or register their own Leitweg-ID. The routing ID is issued exclusively by the public authority receiving the invoice. Suppliers typically receive the Leitweg-ID through:
Each contracting authority manages its own Leitweg-IDs. There is no single public directory of all German Leitweg-IDs, though some states publish lookup tools for their administrative entities.
Leitweg-ID and Peppol
The Leitweg-ID also functions as a Peppol participant identifier. Germany's KoSIT (Koordinierungsstelle für IT-Standards) registered the ICD prefix 0204 in the International Code Designator list specifically for Leitweg-IDs. This means a Peppol Participant ID of 0204:991-12345-67 maps directly to the Leitweg-ID 991-12345-67.
When sending an XRechnung via Peppol, the Access Point uses the Leitweg-ID (via the 0204 scheme) to perform SML/SMP lookup and route the invoice to the correct receiving Access Point.
However, the Leitweg-ID in BT-10 and the Peppol routing address serve slightly different purposes:
In practice, these are often the same value, but they can differ when a single Peppol endpoint serves multiple organizational units.
Leitweg-ID in XRechnung XML
In a UBL-based XRechnung invoice, the Leitweg-ID appears in the BuyerReference element:
04011000-12345-27
XRechnung validation rules (maintained by KoSIT) enforce that BT-10 is mandatory and non-empty. An invoice submitted without a Buyer Reference — or with an invalid Leitweg-ID — will fail Schematron validation and be rejected by the receiving platform.
Common Errors
The Leitweg-ID is one of the most frequent sources of XRechnung validation failures:
1. Missing BT-10 — Submitting an invoice without any Buyer Reference. XRechnung makes this field mandatory (unlike the base EN 16931 standard, where it is conditional).
2. Wrong Leitweg-ID — Using an outdated or incorrect routing ID. Authorities sometimes change their Leitweg-ID structure during reorganizations.
3. Format errors — Extra spaces, wrong separators, or missing check digits.
4. Confusing Leitweg-ID with VAT number — The Leitweg-ID is a routing identifier, not a tax number. They serve completely different purposes.
Why ERP Developers Need to Handle This
1. Mandatory field enforcement. Your XRechnung output must always include BT-10 with the Leitweg-ID. Make it a required field in your invoice creation workflow for German B2G transactions.
2. Validation before submission. Implement basic format validation (check digit, length constraints) to catch errors before the invoice hits the receiving platform.
3. Customer-facing guidance. Many suppliers struggle to find the right Leitweg-ID. Surface helpful prompts or links to state-level lookup tools in your UI.
4. Peppol routing integration. If you integrate with Peppol, map the Leitweg-ID to the 0204 ICD scheme for participant lookup.
5. Multi-level support. Large public-sector contracts may involve multiple Leitweg-IDs for different cost centers or project phases. Your system should support storing multiple routing IDs per customer.
Relation to Invoice Navigator
Invoice Navigator validates that BT-10 is present and correctly formatted in XRechnung invoices. The validation engine catches missing Buyer References, structural format issues, and check digit mismatches — preventing rejections at the ZRE or OZG-RE portals before submission.