Skip to content
Rechnungskit
Stripe Billing + Rechnungskit

Stripe Billing e‑invoicing for Germany: every subscription charge becomes a valid invoice

Rechnungskit connects to your Stripe account and adds to Stripe Billing in one of two ways. Path A, keep Stripe Billing. Rechnungskit reads every subscription charge with its line items, tax rates and service period and turns it into an e-invoice under EN 16931 with your own number range, archived under GoBD and booked in the DATEV export, with deferred revenue for annual plans. Subscriptions, mandates and payments stay with Stripe. Path B, take over the subscriptions. Rechnungskit runs the subscriptions itself, Stripe keeps collecting through the existing mandate, and each subscription switches at the end of its period without your customer signing up again. Both paths use the same connection, and path B builds on path A.

Set up in under an hour · free test mode before you go live
The gap

Stripe Billing takes the payment. The invoice is your job.

Stripe Billing manages subscriptions and collects the money, but it does not issue e-invoices in the German format or archive under GoBD, and it knows nothing about DATEV or deferred revenue under the German Commercial Code (HGB). Rechnungskit adds that part. Whether Stripe Billing stays or the subscriptions move to Rechnungskit is your call.

Stripe Billing alone
  • Stripe Billing processes the payment
  • PDF receipt without a structured e-invoice format
  • No German VAT logic per country
  • No GoBD archive, no DATEV export
With Rechnungskit
  • Compliant e-invoice under EN 16931 (ZUGFeRD)
  • Payments matched to orders, open cases as tasks
  • GoBD-compliant, tamper-evident archive with checksum
  • DATEV export in one click
How it works with Stripe Billing

Four steps from payment to booking.

  1. 01
    Connect
    Connect your Stripe Billing account in a few minutes. No code needed.
  2. 02
    Import
    Rechnungskit imports every Stripe Billing payment and matches it to its order. Without a reference it lands with you for review.
  3. 03
    Erzeugen
    Every payment becomes a validated e-invoice under EN 16931.
  4. 04
    Archive
    The invoice is archived to GoBD standards and is ready for the DATEV export.
Step-by-step guide Taking over from Stripe Billing: invoices first, subscriptions at the end of the period Setup step by step, common snags and detailed questions.
Formats & standards

Every format Stripe Billing doesn't deliver.

ZUGFeRD 2.5 Germany live
XRechnung 3.0 Germany (public sector buyers) live
EN 16931 XML EU (OSS) live

Two paths, one connection

Rechnungskit can work with Stripe Billing in two ways. Both start with the same Stripe connection, and you can begin with path A and switch to path B later.

Path A: keep Stripe Billing Path B: move subscriptions to Rechnungskit
Who runs the subscriptions Stripe Billing, as before Rechnungskit
Who collects the money Stripe Billing Your Stripe account, triggered by Rechnungskit each period
What Rechnungskit does Reads every subscription charge and turns it into the e-invoice Runs the subscriptions, creates the e-invoice each period and gives your customers the cancellation portal
What you need to do Connect Stripe, turn off Stripe's invoice emails Also pick Stripe as subscription provider and move the subscriptions in the wizard
What changes for customers Nothing Nothing, the payment mandate stays and nobody signs up again
Fits if you want to keep using Stripe Billing, for example for usage-based prices or discounts you want subscription management and invoicing in one system and no longer need Stripe Billing
Guide Steps 1 and 2 of the switch Steps 3 and 4 of the switch

Path B builds on path A. First Rechnungskit takes over invoicing, then the subscriptions switch at the end of their period. You can also mix the two: some subscriptions stay in Stripe Billing while the rest move, all through the same connection.

Path A: keep Stripe Billing, invoices from Rechnungskit

Stripe Billing is good at managing subscriptions and collecting money. What it lacks is the German invoicing side: an e-invoice under EN 16931, a GoBD-compliant archive and a DATEV export for your tax advisor (Steuerkanzlei).

On path A, Stripe stays in charge of subscriptions and payments, and Rechnungskit handles the invoicing behind them. There is no cut-over date and nothing to export. Stripe Billing issues an invoice for every subscription period with line items, tax rates and billing period; Rechnungskit reads that data and creates the invoice that counts for tax purposes:

  • Your own number range. Every charge gets an invoice number from your sequential range, independent of Stripe's own numbering.
  • Line items and tax rates. The Stripe line items come over with their tax rate, and the VAT is checked against your tax matrix per country and product category.
  • Service period. The billing period appears on the invoice and as structured data in the e-invoice (ZUGFeRD BG-14); prorated line items after an upgrade or downgrade come over as separate line items.
  • Cancellation invoice from the refund. A refund in Stripe automatically creates the matching cancellation invoice (Storno), to the cent for partial refunds too.
  • Fees and payouts. Every payout is split into payments, refunds and Stripe fees; the DATEV export books them through the transit account (Geldtransitkonto), with fees as a separate expense.
  • Missing address. Many Stripe customers only have an email address on file. Up to 250 euros gross, Rechnungskit then automatically creates a small-amount invoice (Kleinbetragsrechnung) without an address (§ 33 UStDV), as long as the buyer's country is known. If the country is missing, the amount is higher, or a business elsewhere in the EU buys under reverse charge, Rechnungskit holds the invoice. You then request the address from the buyer with a data request link, and they add it without logging in.

You connect with the same restricted Stripe key as for regular Stripe payments. Which permissions it needs for subscriptions and how to check the sales source "Stripe subscriptions (Billing)" is in the guide Switching from Stripe Billing.

There is one thing you do in Stripe yourself: turn off the sending of Stripe's own invoice emails. Otherwise your customers get two documents for the same purchase, and the one that counts for tax purposes is the Rechnungskit invoice. Rechnungskit reminds you right on the connection, with a direct link to the right place in the Stripe Dashboard, and again at go-live. The same setting covers one-off invoices you create by hand in Stripe; how that works is under Stripe Invoicing.

Deferred revenue for annual plans in the DATEV export

If the service period runs past the invoice month, as with an annual plan, the DATEV export books the deferred revenue (pRAP under § 250 Abs. 2 HGB) automatically: the deferral in the invoice month and the release in each following month, monthly or to the day, across year end too. This requires that you prepare a balance sheet and that the pRAP account is set in the DATEV settings (SKR03 0990 or SKR04 3900, preset as the default). Under cash-basis accounting (EÜR), revenue counts when the money arrives (§ 11 Abs. 1 EStG), so there is no deferral and the period appears on the invoice for information only. Background: deferred revenue for subscriptions. This applies on both paths.

Path B: move the subscriptions to Rechnungskit

If you want subscription management and invoicing in one system, move the subscriptions to Rechnungskit. This works because cards and SEPA mandates belong to the Stripe account, not to the Stripe Billing product. They stay valid for charges through the same account, whichever system runs the billing. After that you no longer need Stripe Billing.

Good to know: no customer has to sign up for their subscription again. At Stripe, the card and the SEPA Direct Debit mandate belong to the customer, not to the subscription in Stripe Billing. Rechnungskit creates the new subscription for the same Stripe customer and charges the payment method already stored there. Your customers do not re-enter a card, do not give a new mandate and do not have to confirm anything.

A wizard reads your Stripe subscriptions, you map each Stripe price to a plan, and Rechnungskit ends each Stripe subscription at the end of its period. Stripe still bills the current period, and Rechnungskit collects from the first period after that, with no gap and no double charge. From then on, new customers sign up directly through a Rechnungskit subscription link.

Subscriptions with several line items, usage-based prices, intervals other than monthly or yearly, or no saved payment method cannot be moved. They stay in Stripe Billing and keep getting their invoices through path A. You can also exclude individual subscriptions on purpose.

After the takeover, every period produces an e-invoice with service period, archive entry and DATEV export, and your customers get the cancellation and withdrawal portal that needs no login. Requirements, the walkthrough with a screenshot and the checklist are in the guide Switching from Stripe Billing.

FAQ

Stripe Billing and e-invoicing: FAQ

No. On path A, Rechnungskit only takes over invoicing. Your subscriptions, prices, customers and payment mandates stay in Stripe as they are, and Stripe keeps collecting as before. Rechnungskit reads the finished billing data and creates the invoice that counts for tax purposes. There is no cut-over date. If you want to move the subscriptions to Rechnungskit later, that is path B, guided and at the end of each period.
More integrations
The same validated pipeline for your whole stack.

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.

Connect Stripe Billing, e-invoicing done.

Create an account, connect your payment provider, check everything in free test mode. Billing starts when you go live.

Try it now
de en