Ghost and Rechnungskit: paid tiers without being tied to Stripe
In Ghost, paid tiers only work with Stripe. With Rechnungskit you sell the same tiers through your own checkout: the buyer pays, receives their e-invoice and becomes a member in Ghost with the matching tier automatically. When a subscription ends or a purchase is fully refunded, Rechnungskit removes the tier again. It works with Ghost(Pro) and with self-hosted installations, and it is built for publishers and businesses based in Germany.
Ghost publishes. The payment decides who gets past the paywall.
Ghost is a publishing platform with members, tiers and newsletters. Paid tiers in Ghost run exclusively through Stripe: no invoicing under German law, no SEPA or PayPal, no DATEV. If you want to sell another way, you add members by hand. Rechnungskit takes over exactly this part, with an invoice for every sale.
- Paid tiers only through Stripe, no other payment methods
- No e-invoice under EN 16931 for the membership
- No DATEV export, no OSS return for EU members
- Any other sales channel means adding members by hand
- Tier set right after payment, with every payment method in your checkout
- ZUGFeRD e-invoice for every purchase, archived under GoBD
- Subscription end and full refunds remove the tier automatically
- Log for every access grant, retry with one click
From purchase to membership
The buyer pays you, the tier is set in Ghost, and the invoice is created alongside. Ghost never sees the payment.
- Card, SEPA Direct Debit or PayPal
- VAT rate per country, VAT ID (USt-IdNr.) checked live
- Your terms, cancellation policy and legal notice
- Member created, label "Rechnungskit"
- Tier set, with no expiry date
- Sign-in email from Ghost
- ZUGFeRD e-invoice
- GoBD archive with checksum
- DATEV export
Four steps from purchase to Ghost tier.
- 01ConnectIn Ghost, create a custom integration under Settings, Integrations and copy the Admin API key. In Rechnungskit, enter your publication URL and the key. Rechnungskit checks the connection right away and loads your paid tiers.
- 02MapEach product in Rechnungskit gets a Ghost tier. What the tier unlocks (posts, newsletters or sections) you keep setting up in Ghost.
- 03SellShare a payment link or offer a subscription. The buyer pays in the Rechnungskit checkout by card, SEPA, PayPal or whatever else your checkout offers, and receives their e-invoice.
- 04Grant accessAfter payment, Rechnungskit sets the tier. If the buyer is not a member yet, the member is created and Ghost sends its sign-in email with a login link.
What Ghost receives from Rechnungskit.
How the Ghost integration works
If you want the overview first, from what readers see on a locked post to VAT on memberships, start with selling Ghost memberships with Rechnungskit.
Setup takes a few minutes and needs no code:
- In Ghost, go to Settings, Integrations, create a custom integration and copy the Admin API key. It has the format id:secret.
- In Rechnungskit, open Settings, then Integrations, and enter your publication URL and the Admin API key under Ghost. Rechnungskit checks the connection right away and loads your paid tiers. The address must be reachable over https.
- Map your products to Ghost tiers. One-time purchases and subscriptions both work; what a tier unlocks stays configured in Ghost.
- Share the payment link from the product checkout (German) or offer the tier as a subscription through the subscription checkout (German).
After payment, every buyer gets the mapped tier. If they are not a Ghost member yet, Rechnungskit creates the member with their name, the label "Rechnungskit" and the order number as a note. Ghost then sends its sign-in email with a login link; you can turn this off in the integration settings. In parallel, the e-invoice is created as a ZUGFeRD hybrid (German), archived in line with GoBD and ready for the DATEV export (German).
Why the tier is set as a complimentary membership
Ghost ties paid tiers to a Stripe subscription. Rechnungskit therefore grants the tier as a complimentary membership ("comped" in Ghost) with no expiry date and decides itself when it begins and ends. A one-time purchase becomes permanent access; for a subscription, Rechnungskit controls start and end. The reader notices none of this: they see the posts their tier unlocks and get their invoice from you.
Rechnungskit only removes a tier it granted itself. If the member holds a different tier by then, nothing happens.
Subscriptions, refunds and payment reminders
For a subscription, the tier starts with the subscription. If a charge fails, the tier stays in place during the payment reminders, so nobody loses access straight away because of an expired card. It is only removed when the subscription actually ends: cancellation at the end of the period, withdrawal, or a failed payment after all reminders. If the buyer pays again afterwards, Rechnungskit sets the tier again on its own.
A full refund of a one-time purchase removes the tier, and the person stays on as a free member. A partial refund leaves the tier unchanged. This applies to every payment provider in your checkout: Stripe, Mollie (German), PayPal (German) and Unzer (German). If you never want access removed automatically, turn the option off in the integration settings.
What a paid membership involves in Germany
For VAT purposes, a Ghost membership is an electronically supplied service, and every paid tier creates revenue that you have to document. A payment receipt from Stripe does not replace an invoice with the mandatory details under § 14 UStG (the German VAT Act): sequential number, your tax number or VAT ID (USt-IdNr.), service period, net amount, VAT rate and VAT amount. Rechnungskit issues such an invoice for every purchase and every subscription period, as a ZUGFeRD hybrid (German) with a PDF and structured XML.
The e-invoicing mandate only partly applies to memberships. Since 2025, every business in Germany has to be able to receive e-invoices. Issuing them becomes mandatory in 2027 for businesses with more than 800,000 euros in prior-year revenue and in 2028 for all businesses, for supplies to other businesses in Germany. An 8-euro tier sold to a private reader is not covered, and amounts up to 250 euros gross count as a small-amount invoice (German) with no e-invoice requirement. An annual subscription over 250 euros sold to a GmbH is covered. Because Rechnungskit issues every invoice as an e-invoice, you do not have to tell the cases apart. If you use the small-business VAT exemption as a Kleinunternehmer (German), you may keep issuing other invoice formats permanently, but you still have to be able to receive e-invoices.
German readers are charged the standard VAT rate. For private customers in other EU countries, the rate of their country of residence applies above the 10,000-euro threshold, or below it if you waive the threshold; you report this through the OSS procedure (German), which Rechnungskit prepares. A business in another EU country with a valid VAT ID receives an invoice without German VAT and a reverse charge note; the checkout checks the number live with the Federal Central Tax Office (Bundeszentralamt für Steuern, BZSt). As a Kleinunternehmer under § 19 UStG (German), you show no VAT, and the invoice carries the matching note. The reduced rate is a special question: § 12 (2) No. 14 UStG treats electronic newspapers and magazines like printed ones, provided the content does not consist mainly of video or audio and is not mainly advertising. Whether your publication qualifies is something to clarify with your tax advisor (Steuerberater); if it does, you create a separate VAT category with the reduced rate in Rechnungskit.
Retention follows the GoBD, the German rules for digital bookkeeping: invoices stay readable and unchanged for eight years. Rechnungskit archives every invoice with a checksum. An issued invoice is never overwritten; after a refund it is supplemented by a cancellation invoice. Your tax advisor pulls the revenue through the DATEV export (German), with destination country and VAT rate for EU members.
Newsletters: a purchase is not consent
By default, new members are not added to your newsletters. Legally, a newsletter subscription is consent to advertising under § 7 UWG (the German Unfair Competition Act), and a purchase alone does not replace it. If you collect consent elsewhere, for example with a checkbox on your site, turn on the option "Add new members to the default newsletters". Existing members stay unchanged in every case.
What the integration does not do
It does not replace a shop connection: tiers come only from purchases in the Rechnungskit checkout and from Rechnungskit subscriptions, never from orders in Shopify or WooCommerce. It does not create tiers or posts; content, tiers and newsletters stay in Ghost. And it does not read Stripe subscriptions from Ghost: if a member already has a paid subscription there, Ghost rejects another tier and you get an open task.
The buyer's email address identifies them in Ghost. If a member changes their email in Ghost, Rechnungskit can no longer find them when removing access and leaves the tier unchanged.
Who this is for
For writers, editorial teams and newsletter publishers in Germany who run their publication on Ghost and do not want to or cannot handle memberships through Stripe: because buyers should be able to pay by SEPA or PayPal, because every membership needs an invoice under EN 16931, or because your tax advisor wants to see the revenue in the DATEV export (German), including the OSS return (German) for EU members.
Ghost and Rechnungskit: frequently asked questions
Connect Ghost and sell tiers without being tied to Stripe.
Create an account, connect your payment provider, check everything in free test mode. Billing starts when you go live.
Start for free