Deutsch Demo shop Store

A revocation form with an order reference

Revocation has to be possible, and it should be traceable. Both get easier when the form sits where the order is already known.

The job

The situation

A customer wants to revoke. They find the form on a legal page, fill it in and type the order number from memory - or not at all.

Where the built-in tools stop

Shopware ships a revocation form as the third type of its form element. It sits on a page, its fields live in the template, and it knows nothing about the order in question.

This is what the form looks like

Revocation
Order number
10042
Ordered on
12 June 2026
I revoke these line items *
  • Premium T-shirt, size M
  • Coffee mug, 2 pieces
Reason
Do not like it
Received on
16 June 2026

I hereby revoke the contract concluded by me for the purchase of the goods named above. *

Order number and order date are already there, because the form hangs on the order.

What matters here

The order is already known

Through an order assignment the form appears in the customer account on every order. The submission then carries the order number as its context - nobody types it, nobody mistypes it.

The line items as a multiple choice

A multiple choice instead of a free-text field. That way the export says which line item was revoked, rather than a sentence somebody has to read.

The declaration as a consent field

The consent type is meant for exactly this and can be made mandatory. The text beside it is a label like any other, and so it is translatable.

This is a form, not legal advice. Which text belongs on a revocation form and what else is required is something to settle with somebody qualified - this page does not.

Where it sits

Order assignment, in the customer account on the order list and the order detail. The form on the legal page stays alongside it - for everyone who is not signed in.

The three routes to the page

What comes back

Context "order" with the number, plus line items, reason and date as columns of their own. That turns the history into a list you can sort by date.

History, context and CSV