A customer fills in the form on your website on a Sunday evening, picks a slot, confirms the summary and receives an email. On Monday the job is in the inbox, on Tuesday the material is ordered, and on Thursday the same customer writes that they have changed their mind. Anyone asking for the first time whether that is allowed is asking too late. A contract concluded this way is a distance contract under German law, and the consumer holds a right of withdrawal: the withdrawal period is 14 days (Section 355(2) German Civil Code). If the instructions are missing, the right only expires twelve months and 14 days later (Section 356(4) sentence 1). Since 19 June 2026 a second duty applies: whoever concludes contracts through an online interface must provide an electronic withdrawal function there (Section 356a). This article explains when a job booked through your own site falls under the rule and when it does not, what the instructions must contain, how the two buttons have to be labelled, and how a trade business secures payment for work already done.
When a website job is a distance contract
The term sounds like mail order, but it covers something far more ordinary.
Distance contracts are contracts where the trader and the consumer use exclusively means of distance communication for the negotiations and for the conclusion of the contract (Section 312c(1) German Civil Code). The law lists those means itself: letters, catalogues, telephone calls, emails, text messages, broadcasting and digital services (Section 312c(2)). A form on your own website qualifies, so does a booking flow with a confirmation email, and an offer accepted by email even more so. What matters is not whether money moves through the site, but whether both parties were physically present at the moment of agreement. If the customer came to your premises and signed there, it is not a distance contract. If everything ran through a form, the phone and email, it is — no online shop required.
The second condition is the person on the other side. The right of withdrawal protects consumers, and under Section 13 of the German Civil Code a consumer is any natural person who enters into a legal transaction for purposes that are predominantly outside their trade, business or profession. A joinery ordering from another workshop is not a consumer. A medical practice having its rooms refurbished is not one either. A family having the bathroom redone is. Because a website reaches both groups, a single field in the form does a lot of work: a choice between a private and a commercial job. It decides nothing in law, but it tells you before the first callback which version of the paperwork this customer should receive. What such a field looks like without hurting the conversion rate is covered in setting up contact forms properly.
Between those two worlds sits the most common case in practice: the mixed route. The enquiry arrives through the form, then somebody drives out, takes measurements, and the contract is signed at the kitchen table. That contract is not concluded at a distance but in the simultaneous physical presence of both parties — off-premises, in the words of the statute. The outcome is the same, because both cases share one sentence: the consumer has a right of withdrawal under Section 355 for off-premises contracts and for distance contracts (Section 312g(1)). Only a contract signed on your own business premises stays outside the period. For a website that means the route through the site is the normal case with a withdrawal right, not the exception. If you are only now building a booking flow, plan the instructions in from the start — online appointment booking describes the process around it.
The three-question test
The period: 14 days and what its start depends on
The period itself is stated in one line: the withdrawal period is 14 days and begins on conclusion of the contract unless otherwise provided (Section 355(2) German Civil Code).
For services and works contracts that is the normal case — the day the job was accepted is day zero, and the clock runs from there. For goods, Section 356(2) moves the start to the moment the goods are received; where several items are delivered separately, the last one counts. That is why a job combining a material delivery with installation can carry two periods ending on different days. The withdrawal needs no reason, and sending it in time is enough to meet the deadline (Section 355(1)). A message sent at 23:58 on the fourteenth day is in time, even if it is only read the next morning.
More important than the length of the period is when it starts, and that depends on the instructions. The withdrawal period does not begin before the trader has informed the consumer in accordance with the requirements of Article 246a Section 1(2) sentence 1 number 1 of the Introductory Act to the German Civil Code (Section 356(3)). Without instructions the clock never starts. It then runs to the long stop: the right of withdrawal expires at the latest twelve months and 14 days after the relevant point in time (Section 356(4) sentence 1). Two weeks turn into a good year — and not for one job, but for every job that ran through the same incomplete site during that period. That is what makes this mistake expensive: it does not concern one customer, it concerns a span of time.
- The conditions, time limits and procedure for exercising the right, in plain language rather than a bare reference to the statute
- Name, address, telephone number and email address of the business the declaration has to be sent to
- The model withdrawal form from Annex 2 to the Introductory Act, attached ready to fill in
- Since June 2026, the existence and the placement of the withdrawal function under Section 356a
- A note that a reasonable amount is owed if the customer expressly asked for work to start before the period ends
- For goods: who carries the cost of return and what applies to bulky items that cannot go back by post
- All of it in text form, that is durably readable — attached to the order confirmation, not merely published on a page
The route through the official model
The withdrawal function: two buttons, one confirmation
Since 19 June 2026 the instructions alone are no longer enough.
For distance contracts concluded through an online interface, the trader has to ensure that the consumer can declare withdrawal on that interface by using a withdrawal function (Section 356a(1) sentence 1 German Civil Code). The provision arrived with the Act amending consumer contract law, insurance contract law and treatment contract law, promulgated on 3 February 2026 and in force from 19 June 2026. An online interface here is any surface through which the contract comes about: a booking flow, an order form, a customer area. Anyone who concludes jobs exclusively by phone or in an individually written email does not need the function. Anyone who concludes them through the site does.
Labels and sequence are set by the statute, not by taste. The first button must be legibly labelled with the words for withdrawing the contract, or another equally clear formulation with the same meaning, and while the period runs it must be permanently available, prominently placed and easily accessible for the consumer (Section 356a(1)). The function collects three items: the name of the consumer, details identifying the contract, and details of the electronic means of communication to which the confirmation of receipt is to be sent (Section 356a(2)). Then comes the second step, a confirmation function labelled legibly with wording that confirms the withdrawal (Section 356a(3)). Finally the business sends, without undue delay, a confirmation of receipt on a durable medium containing the content of the declaration as well as the date and time it arrived (Section 356a(4)).
Step 1 Withdraw contract
Name [ first and last name ]
Order [ A-2026-0481 of 12 Sep 2026 ]
Confirmation to [ address for the reply ]
Step 2 [ Confirm withdrawal ]
After Confirmation of receipt, durably readable:
content of the declaration, date, time of arrival
received 28 Sep 2026, 19:14
Internally The case sits in the request inbox,
deadline and evidence stay with the job- The button sits where the contract lives: in the customer area, in the order confirmation and on the page carrying the instructions
- It stays visible while the period runs and does not hide behind a login nobody has any more
- The customer supplies name, order and the address the confirmation of receipt should go to
- A second step labelled as confirming the withdrawal sends the declaration off
- The business confirms receipt without undue delay, durably readable, with date and time
- The case lands in the same inbox as the enquiries, so deadline, declaration and evidence stay together
The label is not a design decision
Exceptions: made to measure and urgent repairs
Not every job booked through the site can be handed back fourteen days later. The statute exempts a series of case groups, and two of them hit trades and services regularly.
The first covers contracts for the supply of goods that are not prefabricated and for whose production an individual choice or decision by the consumer is decisive (Section 312g(2) number 1 German Civil Code). That is work made to measure: the kitchen built to survey, the handrail from a drawing, the worktop with a cut-out for a specific basin. What counts is that the production really is individual — picking one of three offered colours does not turn a catalogue item into a bespoke piece. If you want the boundary to be visible, show it on the product itself; what that looks like on a workshop site is covered in showing custom furniture and clarifying enquiries.
Scroll table sideways
| Job booked through the website | Right of withdrawal | What the site should say |
|---|---|---|
| Bathroom refit quoted and accepted by email | Yes, 14 days from conclusion | Instructions attached, model form, withdrawal function in the customer area |
| Fitted kitchen built to survey and drawing | No, production to individual specification | One sentence in the quote explaining why no withdrawal right applies |
| Maintenance contract through the booking flow | Yes, 14 days from conclusion | Instructions in the contract, note on the amount owed if work starts early |
| Burst pipe, expressly requested by the customer | No, urgent repair work | The form records the express request with date and time |
| Catalogue furniture in one of three colours | Yes, a choice is not a bespoke production | Instructions as for a sale of goods, plus the rule on returns |
The second exception is the emergency: contracts where the consumer has expressly asked the trader to visit in order to carry out urgent repairs or maintenance (Section 312g(2) number 11). It is narrower than it sounds. The statute exempts only the urgent work the customer expressly asked for — not the further services provided during the same visit that the consumer did not expressly request, and not the goods supplied on that visit which are not strictly needed as spare parts for the repair. Fixing a leaking radiator and servicing the boiler while you are there produces two matters with two different answers. In practice that means recording the express request, ideally in the emergency form, with date and time. For the case where the call goes unanswered, a callback instead of the hold queue delivers the same benefit.
Securing payment for work already done
The question that actually worries a business is not whether withdrawal is allowed, but who pays for the work done up to that point.
The answer sits in Section 357a(2) German Civil Code, and it carries a condition that has to be met before the first tool comes out: compensation is owed only if the consumer expressly asked the trader that performance should begin before the end of the withdrawal period (Section 357a(2) number 1). Without that request, twelve days of work bring in nothing. The same paragraph adds a second condition: the trader must have properly informed the consumer about the right of withdrawal and about the compensation that follows. Forgetting the instructions therefore costs not only the deadline but also the claim to be paid.
How large the amount is follows the contract, not the internal calculation: when calculating the compensation, the agreed total price is to be taken as the basis (Section 357a(2) sentence 2). If a job is a quarter done, the claim is a quarter of the agreed price — regardless of whether the first hours were more demanding than the last. A second route leaves the withdrawal behind entirely: for services the right expires on complete performance, provided the consumer expressly agreed beforehand that performance would start before the end of the period and confirmed knowing that the right expires once the contract has been fully performed (Section 356(5) number 2). A short job finished the same day is then outside the period — but only with both declarations, not with one.
The express request
One sentence in the order form that the customer actively confirms: that performance should begin before the withdrawal period ends. No pre-ticked box, no footnote in the terms. If the box stays empty, the job carries no claim to compensation, and the start should then be postponed.
Confirming the expiry
For services a second sentence joins it: acknowledging that the right of withdrawal expires on complete performance. Both declarations belong at the same point in the flow, go out attached to the order confirmation and are stored with the case.
The evidence in the inbox
In a dispute what counts is not what the website said but what this customer received. That is why the instructions, the model form and both declarations belong with the case, not in a folder on the bookkeeper's computer.
When calculating the compensation, the agreed total price is to be taken as the basis.
The order button when a booking costs money
Anyone who does not merely enquire through the website but books bindingly and with an obligation to pay meets a second labelling rule.
If the order is placed through a button, the trader's duty is fulfilled only if that button is legibly labelled with nothing other than the words for ordering with an obligation to pay, or with a correspondingly clear formulation (Section 312j(3) German Civil Code). Nothing other is meant literally: no addition, no icon, no second sentence in the same area. Correspondingly clear are formulations such as “book with payment obligation” or “conclude a contract with payment obligation”. Not clear are “Send enquiry”, “Continue” or “Book now” where a payment obligation sits behind them. The difference is not polish, it is the reason a contract comes about or does not.
The legal consequence is unusually harsh and therefore easy to remember: a contract under subsection 2 comes about only if the trader fulfils the duty under subsection 3 (Section 312j(4) German Civil Code). A wrongly labelled button therefore does not produce a contestable contract, it produces none at all — and the business then works without any claim to payment from that contract. Excluded are contracts concluded exclusively through individual communication (Section 312j(5)): an exchange of emails about an individual quote falls under it, a booking flow on the site does not. Anyone naming prices on the site should therefore check the label together with the price information; which details have to sit next to it is set out in price information and advertising claims without the warning-letter risk.
- Works: “order with payment obligation” — the wording from the statute, with no addition in the same area
- Works: “book with payment obligation” for a booking flow where the click creates a duty to pay
- Does not work: “Book now”, because the price does not appear in the wording and the click still binds
- Does not work: “Continue” as the final step, even if the price sits one line above it
- Unproblematic: “Send enquiry” for a form that does not yet trigger any payment obligation
- Unproblematic: a quote agreed individually by email and accepted there
What belongs on the site and where
The duties spread across three places, and they are not interchangeable.
The legal page carries the permanently reachable withdrawal instructions with the model form ready to fill in; it sits alongside the imprint and the privacy policy and is linked from the footer, as described in imprint and privacy policy under control. The order flow carries the two declarations about the early start and, for paid bookings, the correctly labelled button; which blocks are provided for that is shown in the overview of blocks for conversion and CTA. The confirmation email carries the instructions as an attachment in text form. Without the third place the first two are of little use: a page on the web is not a transmission in text form.
- A legal page for withdrawal with the instructions, the model form and the address the declaration goes to
- A withdrawal function labelled to withdraw the contract, visible for as long as the period runs
- A confirmation step labelled to confirm the withdrawal, with an automatic confirmation of receipt
- Two tick boxes in the order flow: the early start and, for services, knowledge of the expiry
- An order button with the statutory wording as soon as a payment obligation arises
- An order confirmation carrying the instructions and the model form as an attachment, not as a link
- An inbox where enquiry, job, instructions and any withdrawal form one and the same case
What happens after a withdrawal is again set out in the statute. The performance received is to be returned at the latest after 14 days (Section 357(1) German Civil Code). For the repayment the trader must use the same means of payment that the consumer used when paying (Section 357(3)) — a deposit made by bank transfer therefore goes back to the same account, not onto a credit note for the next job. A business that keeps jobs and payments in the same case sees this second deadline next to the first one automatically; how the request inbox and the responsibilities in the team are set up for that is described in the guide to requests and the team.
The evidence nobody has in a dispute
Six mistakes that get expensive in a dispute
- The instructions live only on the website and never go out in text form — the period never starts to run
- The model is copied but not completed: placeholders for the start of the period and the address are still in the text
- The withdrawal function is missing although contracts are concluded through a booking flow on your own site
- The button says “Cancel” or “Abort” instead of withdrawing the contract, and the second step is missing entirely
- Work starts before the period ends without the customer having expressly asked for the early start
- The paid booking ends on “Continue” — and therefore on a contract that never comes about
The first two points cost the deadline, the middle two cost credibility in court, the last two cost money. All six have the same cause: the legal pages are set up once and never touched again while the order flow keeps developing. One fixed date a year is enough to prevent that — plus a second look before every longer absence, because periods keep running even when nobody checks the inbox; how to plan for that is covered in staying reachable over the holidays. For service businesses just setting up their booking flow, it is worth looking first at appointments instead of phone chaos.
The ten-minute check
Sources for this article