Germany's e-invoicing mandate for businesses billing with Stripe
By evoicely · Last checked 19 October 2026
If your business is established in Germany and invoices other German businesses, you must be able to receive e-invoices since 1 January 2025. You must issue them from 1 January 2027 if last year's turnover was above €800,000, and from 1 January 2028 otherwise. Stripe's PDF invoices don't count as e-invoices, so Stripe users need an extra step.
Timeline
| Since 1 Jan 2025 | All businesses established in Germany must be able to receive e-invoices. According to the Federal Ministry of Finance (BMF), an email inbox is enough. |
| 2025–2026 | Transition. You may still send paper invoices, or other electronic invoices such as a PDF by email if the buyer agrees. |
| 1 Jan 2027 | Issuing e-invoices becomes mandatory if your previous year's total turnover was above €800,000. |
| 1 Jan 2028 | The transition ends for everyone else. Domestic B2B invoices must be e-invoices. |
Source: BMF FAQ on the e-invoice and the BMF letters of 15 October 2024, 2025 and 2026. The BMF notes that its FAQ isn't legally binding.
Who it applies to
- In scope: invoices between businesses that are both established in Germany (domestic B2B).
- Out of scope:
- invoices to consumers;
- invoices to customers outside Germany;
- invoices from sellers not established in Germany.
- Exemptions:
- small-amount invoices up to €250 gross;
- tickets that count as invoices;
- businesses using the small-business scheme (Kleinunternehmer, § 19 UStG). They must still be able to receive e-invoices.
Which formats count
An e-invoice has to be structured data that follows the European standard EN 16931. In practice, that means one of two formats:
- XRechnung: pure XML, in UBL or CII syntax. It's the standard for invoices to German public authorities, which often require a Leitweg-ID routing number.
- ZUGFeRD 2.x (from version 2.0.1): a PDF/A-3 that people can read, with the XML embedded. The MINIMUM and BASIC WL profiles don't qualify, because they don't carry all required invoice details as structured data. EN 16931 (also called COMFORT) is the safe default. If the PDF and the XML differ, the XML is the invoice.
Other formats are allowed if both sides agree and the data can be extracted correctly in a way that complies with EN 16931. For a small SaaS, the two formats above are the practical choice.
What this means if you bill with Stripe
Stripe Invoicing produces invoice records and PDFs, but it does not generate XRechnung or ZUGFeRD files itself (Stripe docs). So for each invoice and credit note to a German business customer, you need to:
- Make sure the invoice data is complete:
- your VAT ID and address;
- the buyer's address and, where relevant, their VAT ID (Stripe Customer
tax_ids); - the service period;
- line items with VAT rates.
- Generate the XML (or ZUGFeRD PDF) from the Stripe invoice. Stripe's discounts, tax amounts and rounding must add up under the EN 16931 business rules.
- Validate it, ideally with the official KoSIT validator and the XRechnung rule set, before it goes out.
- Deliver it. Email is fine for B2B in Germany; no special network is required. Public-sector buyers use their own portals.
- Archive it. The XML is the original invoice, and German retention rules apply.
You can do this with a Stripe Marketplace app, an e-invoicing API wired to Stripe webhooks, or your own code.
If you build it yourself, Stripe suggests listening for invoice.created rather than only invoice.finalized, so you can still correct an invoice before it's final.
Common questions
Can I keep sending Stripe's PDF in 2026?
Yes, during the transition, if your customer agrees to receive PDFs. From 2027 or 2028, depending on your turnover, a PDF alone no longer counts as an invoice for domestic B2B.
Do I need to e-invoice my German customers if my company is in the Netherlands?
Not under the German mandate, which only covers sellers established in Germany. Check your own country's rules. Cross-border e-invoicing within the EU is planned under the EU's ViDA package from 2030.
Is ZUGFeRD or XRechnung better?
Both count. ZUGFeRD keeps a readable PDF, which many small customers prefer. XRechnung is expected by public authorities and some larger buyers.
Where evoicely fits
evoicely is being built to do steps 2–5 automatically for each Stripe invoice and credit note: ZUGFeRD (EN 16931) by default, XRechnung where needed, with a validation report for every file. It's planned, not available yet. Join the waitlist.
This is general information, not legal or tax advice. Check what applies to your business with your tax advisor.