Guide · Germany · Last verified: · Next check:
Stripe invoices to XRechnung and ZUGFeRD: what German B2B e-invoicing means for Stripe users
This text is general information, not tax or legal advice, and it has not been reviewed by a tax adviser. Check your own case with your tax adviser. Published by PPFTEC S.R.L., which is developing a product on this topic (see section 4). The German-language version of this guide is Stripe und die E-Rechnungspflicht 2027.
Short answer
If your business is established in Germany and bills other businesses in Germany through Stripe, you must issue structured e-invoices (EN 16931 formats such as XRechnung or ZUGFeRD) for supplies made from 1 January 2027 when your total turnover in the previous calendar year was above EUR 800,000, and for supplies made from 1 January 2028 in all other cases. Before those dates paper or, with the recipient's consent, other electronic formats such as PDF remain allowed. Stripe Invoicing does not create these files on its own. The usual routes are a Marketplace app, your accounting system or a custom integration.
1. Who must issue e-invoices, and from when
| Date | What applies | Source |
|---|---|---|
| Since 1 Jan 2025 | Businesses in Germany must be able to receive e-invoices. An e-invoice may be sent without the recipient's consent. | Section 14(1) UStG; BMF letter of 15 Oct 2025 |
| Supplies until 31 Dec 2026 | Paper, or a non-structured electronic format such as PDF with the recipient's consent, remains allowed for every issuer. | Section 27(38) no. 1 UStG |
| Supplies from 1 Jan 2027 | E-invoice required if the issuer's total turnover in the previous calendar year was above EUR 800,000. At or below that amount, paper or PDF with the recipient's consent is still allowed for supplies in 2027. | Section 27(38) no. 2 UStG |
| Supplies from 1 Jan 2028 | E-invoice required for all issuers. Some EDI procedures (Recommendation 94/820/EC) may continue with the recipient's consent during 2027. | Section 14(2) and section 27(38) UStG |
The obligation in section 14(2) sentence 2 no. 1 UStG applies to services to another entrepreneur for its business when the issuer and the recipient are both established in Germany. The law ties the dates to the date of supply, not to the invoice date. Exemptions exist, for example small-amount invoices up to EUR 250 (section 33 UStDV) and invoices to consumers. How the EUR 800,000 threshold is calculated in your case (new businesses, tax groups) is a question for your tax adviser.
Sources: section 14 UStG and section 27(38) UStG on gesetze-im-internet.de (both opened 9 October 2026); BMF letter of 15 October 2025 (PDF, read in full by us on 4 October 2026; the small-invoice limit is in margin note 22).
2. What counts as an e-invoice
Section 14(1) UStG defines an e-invoice as an invoice issued, sent and received in a structured electronic format that allows electronic processing. The format must comply with the European standard for electronic invoicing under Directive 2014/55/EU (EN 16931) or be agreed between the parties, provided it allows a correct and complete extraction of the data required by the VAT act. A PDF sent by e-mail is not an e-invoice in this sense.
| Format | What it is | Note |
|---|---|---|
| XRechnung | Pure XML file (UBL or CII syntax), originally defined for public-sector buyers | Machine-readable only. Adds German business rules, for example a buyer reference (BT-10). |
| ZUGFeRD 2.x | PDF with an embedded XML file (hybrid) | People read the PDF, software reads the XML. The profiles MINIMUM and BASIC-WL are not treated as e-invoices by the BMF letter of 15 October 2025. |
Sources: section 14(1) UStG (above); Directive 2014/55/EU on EUR-Lex (opened 9 October 2026); BMF letter (above). Our summary of the profile rule comes from the BMF letter and the IHK summaries read on 4 October 2026.
3. What Stripe does natively, and what it does not
- Does: create invoice records, send a PDF and hosted invoice page, and expose the invoice data through the API and webhooks. Stripe stores customer tax IDs, for example EU VAT numbers, in a
tax_idsfield. - Does not: generate or transmit e-invoice files by itself. Stripe's documentation says Stripe Invoicing does not generate or transmit e-invoice files on its own and points to Marketplace apps (it names Billit as its preferred partner) or a custom webhook integration. It also says there is no native field for network identifiers such as Peppol participant IDs; they go into metadata.
Source: Stripe documentation, E-invoicing, opened 9 October 2026 (the page was served to us in German; the statements above are our translation).
The steps, whichever tool you pick
- Check the scope. Seller established in Germany? Buyer a business established in Germany? When are the supplies made and what was your total turnover last year?
- Complete the data in Stripe. Your legal name, address, VAT ID or tax number; for each business customer the legal name, address, VAT ID and, for public bodies, the routing ID (Leitweg-ID, used as the buyer reference).
- Map each Stripe invoice to EN 16931. Lines, tax rates and tax category, totals, payment means.
- Validate the file with a reference validator, for example the KoSIT validator for XRechnung, and keep the report. The BMF letter of 15 October 2025 says it makes sense to keep the validation report as evidence.
- Send it. In Germany e-mail delivery is possible for a domestic B2B e-invoice (the recipient must be able to receive it; no clearance platform is required; per the BMF letter and IHK summaries read on 4 October 2026).
- Archive it unchanged. The structured part must be kept in its original form for eight years (BMF letter of 15 October 2025, margin note 60).
4. How Normbeleg helps, and where it stands today
Normbeleg is planned as a Stripe app that turns finalized Stripe invoices into XRechnung and ZUGFeRD documents, checks them with the KoSIT validator (XRechnung) and Mustang (ZUGFeRD), e-mails them to the recipient you confirm, and archives document and validation report in the EU. You stay the issuer: we generate and send on your instruction, with read-only access to your Stripe data.
Status on 9 October 2026: Germany is built and tested only in Stripe test mode. It is not live and has not been reviewed by a German tax adviser. The first live release is planned for Romania. Join the waitlist to hear when Germany opens. In the meantime you can check an e-invoice file for free in your browser; nothing is uploaded.
We do not calculate VAT, we do not give tax advice, and a validator report does not mean the tax office accepts the invoice.
5. Questions
Does a PDF sent by e-mail still work in 2027?
For domestic B2B invoices from businesses with total turnover above EUR 800,000 in the previous year, no. Smaller businesses may still use paper or, with the recipient's consent, PDF for supplies made in 2027 (section 27(38) UStG). From 1 January 2028 the obligation applies to everyone.
Does Stripe create XRechnung or ZUGFeRD files?
Not on its own. Stripe documents that Stripe Invoicing creates invoice records and exposes the data through its API and webhooks, but does not itself generate or transmit e-invoice files, and points to third-party apps and custom integrations (Stripe documentation, read 9 October 2026).
Do invoices to consumers have to be e-invoices?
No. The obligation in section 14(2) UStG covers services to another entrepreneur for its business, where seller and recipient are both established in Germany.
What is the difference between XRechnung and ZUGFeRD?
XRechnung is a pure XML file (UBL or CII syntax). ZUGFeRD is a PDF with an embedded XML file. Both follow the European standard EN 16931. The BMF letter of 15 October 2025 does not treat the ZUGFeRD profiles MINIMUM and BASIC-WL as e-invoices.
Will the tax office accept my invoices?
That is for the tax authority to decide in each case, and we cannot promise it. What we can do is generate the format and show you the validator report for each document. The BMF letter of 15 October 2025 says it makes sense to keep the validation report as evidence.
Is Normbeleg available?
Not yet for Germany. It is in development and tested only in Stripe test mode. The first live release is planned for Romania; Germany follows after a review by a German tax adviser. Join the waitlist to hear about it.
Sources and what we could not verify
- Section 14 UStG, opened 9 October 2026
- Section 27 UStG (transitional rules, paragraph 38), opened 9 October 2026
- Directive 2014/55/EU, EUR-Lex, opened 9 October 2026
- BMF letter of 15 October 2025, GZ III C 2 - S 7287-a/00019/007/243 (PDF), read 4 October 2026 (not re-read on 9 October)
- Stripe documentation, E-invoicing, opened 9 October 2026
Not verified for this page: section 33 UStDV (EUR 250 limit) was not reopened on 9 October; the figure comes from the BMF letter. The 2024 BMF letter (15 October 2024) was not read in the original. Stripe's page is read in German translation; the English wording above is ours.
Last verified: . Next check: .