Stripe invoices in Germany: what Stripe Invoicing and Billing do, what is missing, and what applies from 2027
Stripe Invoicing and Stripe Billing create PDF invoices, but no e-invoice as defined by EN 16931. For sending e-invoices, Stripe itself points to partner apps in its App Marketplace. For German requirements, a GoBD-compliant archive, German VAT logic and a cancellation and correction process that meets § 14 UStG are missing as well.
What Stripe Invoicing and Billing can do
Stripe is a strong payment provider, and with Stripe Invoicing and Stripe Billing you can issue invoices and run subscriptions straight from your Stripe account: create the invoice, send it by email or link, collect the payment, with dunning included. Customers can download the invoice as a PDF. For many SaaS companies this is the first invoicing setup they ever have. The guide Stripe Invoicing in Germany walks through creating an invoice step by step, what it costs and which settings German invoices need.
This is where the confusion starts. An invoice from Stripe is a PDF. It is not an e-invoice in the German legal sense, and it is not built around German invoice requirements.
Why a PDF is not an e-invoice
The German e-invoicing mandate requires a structured, machine-readable format under EN 16931 for invoices between businesses in Germany (§ 14(1) sentences 3 and 6, (2) sentence 2 no. 1 UStG, German). In practice that means ZUGFeRD or XRechnung. A PDF, however well designed, does not meet this requirement. The tax authorities explicitly class PDF files without an embedded data set as "other invoices" (sonstige Rechnungen) (§ 14(1) sentence 4 UStG; section 14.1(2) UStAE as amended by the BMF circular of October 15, 2025, German).
Stripe says so itself: Stripe Invoicing and Stripe Billing cannot create or send e-invoices directly. To send e-invoices from Stripe, you need partner apps from the Stripe App Marketplace. The core of the product is collecting payments, not German invoicing.
What German invoices still need
Besides the format, three gaps remain that Stripe does not close.
GoBD archive. You keep invoices for eight years (§ 14b(1) UStG, § 147(3) AO, German), available at any time and machine-readable (§ 147(2) AO). GoBD, the German rules for proper electronic bookkeeping, also require tamper-proof storage and procedure documentation (Verfahrensdokumentation). We found no commitment in Stripe's documentation on how long Stripe keeps invoices. The invoice PDF in the Stripe Dashboard is therefore no substitute for your own archive.
German VAT logic. Shipping takes the VAT rate of the goods as a dependent ancillary service (section 3.10(5) UStAE, German), and mixed baskets with 7% and 19% have to be split proportionally (section 10.1(11) UStAE). Distance sales to consumers in other EU countries need the destination country's rate above €10,000 a year (§ 3c(1) and (4) UStG). Deliveries of goods to businesses elsewhere in the EU are exempt as intra-community deliveries (§ 6a UStG), and services to them fall under the reverse charge procedure with the note "Steuerschuldnerschaft des Leistungsempfängers" (the recipient is liable for the tax, § 14a(1) UStG). Small businesses under the Kleinunternehmer scheme issue invoices without showing any VAT (§ 34a UStDV). You have to handle all of these correctly outside Stripe.
Number sequence and corrections. § 14(4) sentence 1 no. 4 UStG requires a sequential invoice number that is assigned only once. The sequence does not have to be gapless (section 14.5(10) UStAE). Corrections go through a new document, such as a cancellation invoice (Storno), instead of deleting or overwriting, because a record may not be changed in a way that hides its original content (§ 146(4) AO). Stripe does not cover this German cancellation and correction process.
Stripe Billing: subscriptions as real e-invoices
Subscriptions make the case especially clear. Stripe Billing issues its own invoice for every recurring payment, with lines, VAT rates and billing period, but only as a PDF and in Stripe's data structure. Many converters on the market take this PDF and attach an XML file to it. That fixes the format, but the invoice is as incomplete as before, because your own number sequence, German VAT logic and the archive are still missing.
Rechnungskit works from the data, not the PDF. From the Stripe Billing invoice, it takes the individual lines, the VAT rates and the service period, and generates a complete e-invoice with your own number sequence instead of a format-converted copy. The service period lands correctly on the invoice, which matters for subscriptions when revenue has to be allocated to the right period. You keep a single Stripe connection: the same connection reads payments and subscriptions.
There is one thing you have to do yourself. Stripe keeps sending its own invoice email to your customers. If you leave that on, the customer gets two invoices for the same purchase: Stripe's and the tax-valid one from Rechnungskit. Turn off Stripe's invoice emails once in the Stripe Dashboard. Payment collection and webhooks keep running as before.
The other common stumbling block with Stripe Billing is the address. Many subscription customers only have an email address on file at Stripe, but a German invoice requires the recipient's name and address (§ 14(4) sentence 1 no. 1 UStG, German). Rechnungskit handles this in two steps. Up to €250 gross and with Germany as the place of supply, it automatically creates a small-amount invoice (Kleinbetragsrechnung), which works without the customer's address (§ 33 sentence 1 UStDV). If that is not enough, because the amount is higher or the customer is elsewhere in the EU, Rechnungskit holds the invoice, and you request the address from the buyer with one click via a data request link. They add it without logging in, and the invoice is then created automatically.
For new subscriptions you no longer need Stripe Billing at all. Rechnungskit creates subscription plans with a shareable link and collects through your existing Stripe account, by card or SEPA Direct Debit, with a complete billing address from the start and the cancellation button that § 312k BGB (German Civil Code) requires for consumer subscriptions. Stripe then only charges its payment fee, and the Billing surcharge on subscription volume goes away. Existing subscriptions either keep running in Stripe Billing, handled as described above, or move over at the end of their period with the guided "Übernahme aus Stripe Billing" (Stripe Billing takeover): Rechnungskit reads the active subscriptions from Stripe and takes them over with the existing payment mandate, so no customer has to set anything up again.
Stripe's fee invoice
People searching for "Stripe invoice" sometimes mean the other direction: the invoice Stripe issues to you for the payment fees it withheld. You find it in the Stripe Dashboard under settings, in the documents section. It is an incoming invoice for your bookkeeping and has nothing to do with the invoices you send to your customers. Each direction needs its own solution. How to book the fees and Stripe's invoice, including reverse charge, is covered in Booking Stripe fees.
The automated route from payment to e-invoice
Rechnungskit is e-invoicing software that closes the gap between Stripe and the German invoice. The Stripe integration receives every payment, links it to the order from the shop or the API, and automatically generates a checked e-invoice as ZUGFeRD, validated against EN 16931. It also covers the gaps listed above: the correct VAT decision for each case, sequential invoice numbers without gaps you would have to explain, plus cancellation instead of deletion, a tamper-proof GoBD archive with a SHA-256 checksum, and a ready DATEV export for your tax advisor (Steuerkanzlei). The bookkeeping side behind it, meaning the clearing account (Geldtransitkonto), fees and payouts, is explained in Exporting Stripe to DATEV. If you send invoices in Stripe that your customer pays later by bank transfer, the same applies from the moment you send them: Stripe invoices with payment terms.
Whether Stripe with a partner app or Rechnungskit suits you better is shown cell by cell in the Stripe vs. Rechnungskit comparison.
If you already use Stripe Billing, you don't have to cancel anything. Taking over from Stripe Billing explains step by step how Rechnungskit first takes over only the invoicing, how new subscriptions run directly through your Stripe account, and how existing subscriptions can move at the end of their period if you want, without your customers signing up again.
FAQ
- [1] Stripe Support - What is e-invoicing and how does it work?
- [2] § 14 UStG (German VAT Act, German)
- [3] § 27(38) UStG (e-invoice transition rules, German)
- [4] § 14b UStG (retention of invoices, German)
- [5] § 146 AO (rules on keeping books, German)
- [6] § 147 AO (retention of records, German)
- [7] § 33 UStDV (small-amount invoices, German)
- [8] BMF circular of 15.10.2025 on e-invoicing (German)
- [9] BMF: VAT application decree (UStAE sections 3.10, 10.1, 14.1, 14.5, German)
- [10] Federal Ministry of Finance - FAQ on mandatory e-invoicing (German)
- [11] GoBD - BMF circular on proper bookkeeping (German)
Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.
Every invoice automatically as a valid e-invoice.
Connect your payment provider and we take care of format, validation and archive. Start for free in test mode.
Try it now