The German cancellation button (§ 312k BGB): who needs it and how it works
If your website lets consumers enter into a paid continuing contract, such as a subscription, you must offer a cancellation button there (§ 312k(1) and (2) BGB, the German Civil Code). It is labeled "Verträge hier kündigen" (cancel contracts here) or with equally clear wording, and leads directly to a confirmation page with a button labeled "jetzt kündigen" (cancel now). Without it, the customer may cancel at any time without notice (§ 312k(6) BGB).
Who needs a cancellation button
The obligation depends on four conditions in § 312k(1) sentence 1 BGB (German). Your customer is a consumer, the contract is concluded through a website in electronic commerce, it creates a continuing contract (Dauerschuldverhältnis), and you owe a paid service under it. The typical example is a subscription: software, a membership, an online course with a fixed term, coffee shipped every month.
Two cases are exempt (§ 312k(1) sentence 2 BGB, German): contracts that by law may only be canceled in a form stricter than text form, and websites and contracts for financial services. How the customer pays makes no difference. A fixed-term contract with a one-time fee that ends automatically also needs the button (BGH, judgment of May 22, 2025, I ZR 161/24, German; the BGH is Germany's Federal Court of Justice).
Pure B2B business is not affected, because § 312k(1) BGB (German) only covers contracts with consumers. That only helps you if private individuals really cannot sign up with you. If your subscription checkout is open to everyone, the obligation applies to every contract with a private individual.
What § 312k BGB requires
§ 312k(2) BGB (German) describes a two-step process with fixed building blocks:
- The cancellation button. It sits on the website where the contract can be concluded, is easy to read, and carries only the words "Verträge hier kündigen" (cancel contracts here) or a corresponding clear wording.
- The confirmation page. The button leads straight to it. The page asks the customer for details: the type of cancellation (ordinary, or extraordinary with a reason), details that identify them, the name of the contract, the desired end date, and how they want to receive the confirmation.
- The confirmation button. It carries the words "jetzt kündigen" (cancel now) or a corresponding clear wording. Only clicking it submits the cancellation.
The button and the confirmation page must be permanently available and directly and easily accessible (§ 312k(2) sentence 4 BGB, German). The customer must be able to save their declaration together with the date and time it was submitted (para. 3). You confirm to them immediately and electronically in text form the content of the cancellation, the date and time it was received, and when the contract ends (para. 4). If the customer does not name a date, the cancellation takes effect at the earliest possible time in case of doubt (para. 5).
- Step 1 · Your website"Verträge hier kündigen"Easy to read, permanently available, reachable without detours
- Confirmation pageDetails on customer, contract and end dateNothing else: no offers, no pause, no discounts
- Step 2"jetzt kündigen"Cancellation submitted
- Right afterConfirmation in text formContent, date and time received, contract end
Logins, ads and retention offers
Login. The word does not appear in § 312k BGB (German). The law requires the button and the confirmation page to be permanently available and directly and easily accessible (para. 2 sentence 4). Whether a login requirement is compatible with that is a question of interpretation. The Verbraucherzentrale (German consumer advice center) considers a login generally inadmissible for the related withdrawal button, with one exception: when the contract itself could only be concluded with a login. The safest option is a path that works without any login at all.
Ads and retention offers. Here the situation has been clear since July 16, 2026. The BGH ruled that the confirmation page may not contain any further details, offers or information beyond the details required by law and the confirmation button (BGH, judgment of July 16, 2026, I ZR 200/25, German). A gym had offered a free pause there instead of canceling, and that was not allowed. Discounts, surveys or an "Are you sure you want to leave?" have no place on this page.
What happens without a cancellation button
The direct consequence is in § 312k(6) BGB (German): if the button or the confirmation page is missing or does not meet the requirements, the customer can cancel at any time without a notice period. The notice periods in your contract then no longer apply.
On top of that come injunction claims. Both BGH judgments above go back to lawsuits by consumer associations entered in the list of qualified consumer associations under § 4 UKlaG, the German Injunctions Act (I ZR 161/24, I ZR 200/25, both German). Competitors can also demand that you stop (§ 8(3) no. 1 UWG, the German Unfair Competition Act, German).
Cancellation button and withdrawal button
Since June 19, 2026 there has also been the withdrawal button under § 356a BGB (BGBl. 2026 I No. 28, German). The two are often confused, but they cover different things:
| Cancellation button | Withdrawal button | |
|---|---|---|
| Legal basis | § 312k BGB | § 356a BGB |
| Purpose | End an ongoing contract for the future | Unwind a contract within the withdrawal period |
| Applies to | Continuing contracts concluded online | All distance contracts with consumers concluded online |
| Financial services | Exempt | Covered |
| When visible | Always | During the withdrawal period |
| Label | "Verträge hier kündigen", then "jetzt kündigen" | "Vertrag widerrufen" (withdraw from contract), then "Widerruf bestätigen" (confirm withdrawal) |
If you sell subscriptions to consumers, you therefore need both functions side by side for the first 14 days.
How customers cancel Rechnungskit subscriptions
If you sell subscriptions through Rechnungskit's subscription checkout, every subscriber gets a customer portal at konto.rechnungskit.de. The page for their subscription opens without a login. Cancellation and withdrawal sit there as two separate functions, one below the other.
- SellerYour business is named at the topYou are the contracting party; Rechnungskit is only the technical service provider.
- Cancellation, § 312k BGB"Cancel contract" is always thereDepending on the plan, it takes effect at the end of the period or immediately. The note above it says which applies.
- Withdrawal, § 356a BGB"Withdraw from contract" only within the periodThe button appears for the first 14 days after sign-up and disappears afterward.
Clicking "Cancel contract" reveals the prompt "Do you want to submit your cancellation now? It will be binding.", together with "Confirm cancellation" and "Cancel". Nothing else appears there, no offer and no detour. After the second click, the page shows the cancellation for the customer's records: which declaration, which contract with which seller, received on which day at what time (German time), and when the contract ends. With "Print or save confirmation" the customer keeps it as a printout or PDF. The same details go to them by email in your name. Your system learns about the cancellation by webhook (subscription.canceled) and can revoke access at the end of the term.
Cancellation confirmed, your subscription with Example Software GmbH
we have received your cancellation and confirm it with this email.
Declaration: cancellation at the end of the current billing period
Contract: Team plan with Example Software GmbH
Received: 3 October 2026 at 14:05 (German time)
Contract ends: 31 October 2026
No further charges will be made after the contract ends.
Please keep this email as proof.
Where your customers find the cancellation
Subscribers reach the portal in three ways:
What you take care of yourself
Rechnungskit provides the portal with cancellation, withdrawal, a confirmation to save and confirmation emails. You add the cancellation button on your own website yourself: a clearly visible "Verträge hier kündigen" button that leads to your cancellation link, for example in the footer and in the customer area of your app. Check with your legal advisor whether this route is enough for your website, because through the general link the customer only reaches the cancellation after receiving an email with their personal link.
With Stripe Billing or your own code
If you bill subscriptions with a different tool, such as Stripe Billing, a subscription plugin or your own code, you check each building block yourself:
- A "Verträge hier kündigen" button on the website, permanently available and directly and easily accessible (§ 312k(2) BGB, German)
- A confirmation page that asks only for the details required by law and shows nothing else (§ 312k(2) sentence 3 BGB, German)
- A "jetzt kündigen" button that actually submits the cancellation (§ 312k(2) sentence 3 no. 2 BGB, German)
- Saving the declaration with date and time for the customer (§ 312k(3) BGB, German)
- Immediate confirmation in text form with content, time of receipt and contract end (§ 312k(4) BGB, German)
- Since June 19, 2026, also the withdrawal button for the withdrawal period (§ 356a BGB, German)
With Rechnungskit, the portal, cancellation and withdrawal are part of the subscription checkout, together with the e-invoice for every period and the cancellation invoice (Storno) when a subscription is withdrawn. E-invoicing for SaaS shows what that looks like for software subscriptions. Seats, add-ons and plan changes are covered in subscription billing.
FAQ
- [1] § 312k BGB: cancellation of consumer contracts in electronic commerce (gesetze-im-internet.de, German)
- [2] BGH, judgment of July 16, 2026, I ZR 200/25: confirmation page without further offers (bundesgerichtshof.de, German)
- [3] BGH, judgment of May 22, 2025, I ZR 161/24: cancellation button also for one-time payments (bundesgerichtshof.de, German)
- [4] § 8 UWG: removal and injunction, who may claim (gesetze-im-internet.de, German)
- [5] Verbraucherzentrale: withdrawal button from June 2026 (German)
- [6] § 356a BGB: withdrawal function (gesetze-im-internet.de, German)
- [7] IHK Coburg: cancellation button for continuing contracts (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