All countries

E-Invoicing in Germany

MandatoryPeppol
Recently verified: 23 February 2026

Germany has one of the most active e-invoicing mandates in the EU. B2B receiving went live January 2025 — your pipeline must accept EN 16931 invoices. Sending mandates roll out in two phases: >€800K revenue from January 2027, all businesses from January 2028. B2G has required XRechnung via the ZRE portal since 2020.

Mandate Status

PhaseStatusScope
B2GLive (Nov 2020)All federal suppliers
B2B receivingLive (Jan 2025)All German businesses
B2B sendingJan 2027>€800K annual revenue
B2B sendingJan 2028All businesses

Technical Specifications

Validation engineKoSIT (koordinierungsstelle-it-standards.de)
Required CIUSXRechnung 3.0.2
Routing identifierLeitweg-ID (mandatory for B2G)
PeppolYes — SMP/SML lookup required for Peppol delivery
Accepted formatsXRechnung (UBL), XRechnung (CII), ZUGFeRD 2.x
Invoice Navigator covers 147 XRechnung 3.0.2 rules. Auto-remediates 89% of top rejection errors.

Implementation Notes

The B2B mandate has three sharp edges that affect pipeline design.

Receiving (live now). Your system must ingest both XRechnung (UBL and CII) and ZUGFeRD 2.x. ZUGFeRD embeds XML in PDF/A-3, so your parser needs to handle both standalone XML and PDF extraction. Many ERPs only support one path — this causes silent failures in production.

Sending phase 1 (Jan 2027, >€800K). The revenue threshold applies per entity, not per group. Multi-entity customers need per-entity compliance tracking. The Wachstumschancengesetz allows EDI continuity during the transition, but only if both parties agree — don't assume EDI exemption in your pipeline logic.

Format specifics that break pipelines. XRechnung CIUS adds rules beyond base EN 16931. The most common failure: BT-10 (Buyer Reference) is mandatory for B2G but handled differently in B2B. If your template uses the same field for both, you'll get rejections on one side. BT-49 (Payment Means Code) validation is strict — the top 5 German rejection errors are all payment-related.

Common Rejection Patterns

#CodeDescription
1DE-R-023-2Conflicting payment information. When payment code 30 or 58 (credit transfer) is used, card payment (BG-18) and direct dFix guide
2DE-R-024-2Conflicting payment information. When payment code 48, 54, or 55 (payment card) is used, credit transfer (BG-17) and dirFix guide
3DE-R-025-1If "Payment means type code" (BT-81) contains a code for direct debit (59), "DIRECT DEBIT" (BG-19) shall be provided.Fix guide
4DE-R-025-2If "Payment means type code" (BT-81) contains a code for direct debit (59), BG-17 and BG-18 shall not be provided.Fix guide
5DE-R-022Duplicate attachment filename. All attached documents in German invoices must have unique filenames (case-insensitive) iFix guide

Invoice Navigator auto-remediates these at pipeline speed. See how →

View all Germany error codes

Recent Updates

Major update

Germany B2B receiving mandate now in effect

As of January 1, 2025, all German businesses must be able to receive structured e-invoices in EN 16931 format for domestic B2B transactions.

Source: German Federal Ministry of Finance (BMF)

Related Resources

Ship compliant Germany invoices

Validate, fix, and route Germany e-invoices through a single API. No XML editing required.

Get API Access