Cancellation button and withdrawal button: cancellation and withdrawal in the customer portal
Updated
If you sell subscriptions through Rechnungskit's subscription checkout, every subscriber gets their own page in the customer portal at konto.rechnungskit.de. There they can cancel without logging in and, within the first 14 days after signing up, withdraw.
This page explains what the law requires, how cancellation and withdrawal work in the portal, and what you have to handle yourself on your own website. Where interpretation is involved, have the implementation checked by a lawyer specializing in IT law.
Do I need a cancellation button?
Yes, if consumers can conclude a contract on your website that establishes a continuing obligation for a paid service, a subscription for example (§ 312k Abs. 1 BGB, German Civil Code). This also applies if the customer pays a one-time fee and the contract ends automatically after its term (BGH, judgment of May 22, 2025, I ZR 161/24).
You don't need a cancellation button in these cases:
- Financial services: websites and contracts for financial services are exempt (§ 312k Abs. 1 Satz 2 BGB).
- Stricter form: also exempt are contracts for whose cancellation the law exclusively requires a stricter form than text form.
- B2B only: if you sell only to businesses and exclude private persons, you don't need a cancellation button, because the provision only covers consumer contracts.
What the law requires
| Step | Requirement | Provision |
|---|---|---|
| Button | "Verträge hier kündigen" (cancel contracts here), or an equally unambiguous wording, on the website | § 312k Abs. 2 BGB |
| Confirmation page | The button leads directly there. The customer provides details on the type of cancellation, their identity, the contract, the desired end date and the channel for the confirmation, and then clicks "jetzt kündigen" (cancel now), or something equally unambiguous | § 312k Abs. 2 BGB |
| Saving | The customer must be able to save their declaration with date and time | Abs. 3 |
| Confirmation | You confirm immediately, in text form, the content, the date and time of receipt and the end of the contract | Abs. 4 |
| No extras | The confirmation page must not contain any further details, offers or information, not even a pause option | BGH, judgment of July 16, 2026, I ZR 200/25 |
If the button is missing, the customer may cancel at any time without notice (§ 312k Abs. 6 BGB).
What is the withdrawal button?
Since June 19, 2026, every business that concludes distance contracts with consumers through an online interface must offer an electronic withdrawal function (§ 356a BGB, introduced by BGBl. 2026 I Nr. 28). This covers all such contracts, one-time purchases included. There is no exception for financial services. The provision applies to contracts with consumers; it does not apply to pure B2B business.
| Step | Requirement | Provision |
|---|---|---|
| Function | It is called "Vertrag widerrufen" (withdraw from contract), or something with the same meaning, and must be permanently available during the withdrawal period, prominently placed and easy to access | § 356a Abs. 1 BGB |
| Details | The customer states or confirms their name, the contract and the channel for the confirmation of receipt | Abs. 2 |
| Second click | The withdrawal is only sent with a second button "Widerruf bestätigen" (confirm withdrawal) | Abs. 3 |
| Confirmation | The customer promptly receives a confirmation of receipt with the content of the declaration and the date and time | Abs. 4 |
How does cancellation work for Rechnungskit subscriptions?
- Click 1"Cancel contract"brings up the prompt, no offers
- Click 2"Confirm cancellation"only now is it canceled
- Portal pageCancellation for the recordswith receipt, date and time, printable
- ImmediatelyEmail "Cancellation confirmed"in your name, plus the webhook subscription.canceled
Two clicks
The subscription's portal page shows "Cancel contract". One click brings up the question "Do you want to submit your cancellation now? It will be binding." with "Confirm cancellation" and "Cancel". Only the second click cancels. Depending on the plan, the cancellation takes effect at the end of the period or immediately. The prompt contains no offers.
Confirmation for the customer
After confirming, the page shows the cancellation for the customer's records:
- declaration (ordinary cancellation at the end of the period, or cancellation with immediate effect)
- contract and provider
- "Received" with date and time in German time
- end of contract
- the email address for the copy
With "Print or save confirmation", the customer prints it or saves it as a PDF. At the same time, they receive the email "Cancellation confirmed" in your name, with the same details.
If you cancel a subscription yourself under Subscriptions, the email names the time of the cancellation instead of the receipt. Your system learns about it through the webhook subscription.canceled.
How does withdrawal work for Rechnungskit subscriptions?
Withdrawal is available on the same portal page as its own button, "Withdraw from contract", only within 14 days after signing up.
- Customer"Withdraw from contract"contract, name, email address
- Customer"Confirm withdrawal"only now is it sent
- RechnungskitConfirmationportal page and email "Withdrawal confirmed"
- RechnungskitSubscription ended, cancellation correctionper paid billing, plus your task
- YouTrigger the refundat the payment provider, to the original means of payment
Prompt and confirmation
The prompt shows the contract with the provider, the name from the customer account and the email address for the confirmation of receipt. If the name is missing, the customer can enter it in an optional field. Only "Confirm withdrawal" sends the withdrawal.
The page then shows the withdrawal with date and time of receipt to print or save. The email "Withdrawal confirmed" repeats the declaration, contract, name, email address and time of receipt.
What happens next
- Rechnungskit ends the subscription.
- For every paid billing, Rechnungskit creates a cancellation correction (§ 17 UStG).
- You get the task "Withdrawal: refund due".
- You trigger the refund to the original means of payment (§ 357 Abs. 3 BGB) at your payment provider. Rechnungskit does not move money.
Rechnungskit does not deduct compensation for days already used.
Where do your customers find the cancellation?
| Route | How it works |
|---|---|
| Confirmation email at the start of the subscription | A personal link opens exactly this subscription without logging in |
| Confirmation page after the purchase | "Manage subscription" leads straight into the subscription once in the same browser, later to the login by email |
| General cancellation link | konto.rechnungskit.de/subscription. You copy it under Products per subscription plan ("Copy cancellation link"). The customer enters their email and reference and is sent their personal link |
What you have to do yourself
- Cancellation button on your website: you place it yourself, as a clearly visible button "Verträge hier kündigen" (cancel contracts here) that leads to your cancellation link, for example in the footer and in the customer area. Have it checked whether the route through the general link with email delivery is sufficient for your website.
- Withdrawal button for other sales: for one-time purchases through the checkout link and for orders from Shopify, WooCommerce or Shopware, Rechnungskit does not provide a withdrawal button. There you need your shop system's function.
Explained in detail in the guides Cancellation button under § 312k BGB and Withdrawal button under § 356a BGB.
Where to find it in the app
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.