MenuDeutsch

Kündigungsbutton (§ 312k BGB) / Guide

Cancellation button for Shopware 6: § 312k BGB guide

Do you sell continuing contracts to consumers in Germany through Shopware 6? This guide explains the public cancellation route under § 312k BGB and how to implement it by hand.

Who needs the button?

§ 312k BGB applies to businesses offering consumers paid continuing contracts online, such as memberships, software subscriptions or recurring subscription boxes. The contract matters, not the shop system. Ordinary one-off purchases are outside this rule. Exceptions include financial services and contracts for which the law exclusively requires cancellation in a form stricter than text form.

The law and current BGH position

A legible “Verträge hier kündigen” button, or equally clear wording, leads directly to the confirmation page. Both buttons and the page must always be available and directly and easily accessible. Customers must be able to provide the cancellation type, reason for extraordinary cancellation, identifying details, contract, desired end date and an address for prompt electronic confirmation. The final button says “jetzt kündigen” or an equally clear equivalent.

After submission, the declaration must be savable on a durable medium with its date and time. Immediately confirm electronically in text form, for example by email, including the content, receipt date and time and the end date. Without a specified date, the earliest possible termination applies in case of doubt. A missing statutory cancellation route can allow cancellation without notice.

On 16 July 2026, the BGH held in I ZR 200/25 that retention offers, pause buttons and additional advertising do not belong on the confirmation page. The login cases I ZR 272/25 and I ZR 275/25 were heard on 5 November 2026; judgment is pending. Design a route without a password requirement.

Shopware 6: manual implementation

  • Create an information layout under Content > Shopping Experiences as a starting point. Implement the actual form in a custom storefront plugin with public GET and POST routes; a text block does not process cancellations. Render the confirmation page without sales navigation or recommendations.
  • Under Catalogues > Categories, create a service category and check the sales channel’s footer service navigation. Link directly to the form route. Extend the minimal checkout footer in your own theme too, using Twig inheritance rather than editing the base theme.
  • Store the declaration in a custom DAL entity with a server-generated UTC timestamp. Send customer and merchant messages through Shopware’s MailService with templates under Settings > Email templates. Check the mailer and both language templates with actual test deliveries.

Test before publishing

Protect processing against duplicate submissions without requiring login. Offer a downloadable or printable receipt containing the declaration and receipt time; keep sensitive form data out of public URLs. Test the entire route logged out on a phone and check the confirmation inbox. After theme updates, verify the footer link still exists. Disable retention popups on the confirmation page and check caching, cookie banners and maintenance mode. Then process the declaration in the actual subscription system; the form does not stop billing by itself.

Sources

Statute and BGH press releases; as of 6 November 2026. Not legal advice.