Zum Inhalt springen
Rechnungskit
Ghost + Rechnungskit

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(Pro) and self-hosted · tier set automatically per purchase · log for every action
The gap

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.

Ghost alone
  • 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
With Rechnungskit
  • 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.

Buyer
A reader buys
Tier "Supporter", €8.00 per month
Payment confirmed
Schritt 2:Rechnungskit checkout
Payment in your name
  • Card, SEPA Direct Debit or PayPal
  • VAT rate per country, VAT ID (USt-IdNr.) checked live
  • Your terms, cancellation policy and legal notice
Admin API: set tier
Admin API: set tier
Schritt 3:Ghost
Member with tier
  • Member created, label "Rechnungskit"
  • Tier set, with no expiry date
  • Sign-in email from Ghost
Subscription ends or full refund: Rechnungskit removes the tier.
The invoice is created in parallel
  • ZUGFeRD e-invoice
  • GoBD archive with checksum
  • DATEV export
How it works with Ghost

Four steps from purchase to Ghost tier.

  1. 01
    Connect
    In 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.
  2. 02
    Map
    Each product in Rechnungskit gets a Ghost tier. What the tier unlocks (posts, newsletters or sections) you keep setting up in Ghost.
  3. 03
    Sell
    Share 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.
  4. 04
    Grant access
    After 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 arrives

What Ghost receives from Rechnungskit.

Set tier Paid order or subscription start for a mapped product; set as a complimentary membership with no expiry date live
Remove tier Full refund, subscription end, withdrawal or failed payment after all reminders; the member stays live
Set tier again If a subscription pays again after removal, the tier comes back live
E-invoice for the purchase ZUGFeRD 2.5 to the buyer, GoBD archive, DATEV export for your tax advisor (Steuerberater) live

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:

  1. In Ghost, go to Settings, Integrations, create a custom integration and copy the Admin API key. It has the format id:secret.
  2. 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.
  3. Map your products to Ghost tiers. One-time purchases and subscriptions both work; what a tier unlocks stays configured in Ghost.
  4. 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.

FAQ

Ghost and Rechnungskit: frequently asked questions

Yes, both. Rechnungskit talks to your publication's Admin API, whether it runs on Ghost(Pro) or on your own server. The address must be reachable over https; Rechnungskit does not accept local or internal addresses. If your Ghost admin runs on its own domain, enter that admin address.
More integrations
The same validated pipeline for your whole stack.

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
de en