Skip to main content

What the withdrawal button does for you

Every feature here has a reason. Most come straight from the statute, the rest save you work day to day.

Your customers get a confirmation straight away

Section 356a(4) of the German Civil Code asks for an immediate confirmation on a durable medium, carrying content, date and time. JoomRevoke delivers both at once.

Your customer sees a confirmation page right away, with a reference and the exact time of receipt, ready to print or save as a PDF. An e-mail with the same details goes out in parallel.

Should the e-mail ever fail to arrive, the withdrawal is still stored and effective, and your backend points it out to you.

The timestamp is settled, for both sides

Under section 356a(5) a withdrawal takes effect on sending. That precise moment is what matters when the fourteen-day period is counted.

JoomRevoke therefore takes the time straight from your server. It is set when the record is stored and never changed afterwards, not even from the backend. The same goes for the reference: issued once, it stays.

So if it ever comes to a dispute, you have solid evidence, and so does your customer.

It keeps running, even when the licence runs out

In JoomRevoke the licence key decides exactly one thing: whether this website may download updates. Form, acknowledgements, records and backend carry on regardless.

That is deliberate. A function the law prescribes should not depend on whether an invoice is outstanding or a renewal notice got lost in a mailbox.

The other way round holds just as firmly: without a valid licence no updates reach you, neither for new Joomla releases nor for changes in the law. The button stays available - for it to still do the right thing in two years, you need the renewal.

Your customers' data stays with you

JoomRevoke handles your customers' names, contact details and contract references. Data like that belongs on your server and nowhere else.

So nothing is pulled in from outside: no library from a CDN, no vendor's captcha, no sending service, no analytics, no remotely loaded font. The protection against form robots runs as two checks on your own server.

The only outbound connection is the licence check. It carries the key and your domain name, nothing more. That keeps your privacy notice pleasantly short.

One click is enough, no account needed

The law asks for a withdrawal function that is easy to reach. That is exactly how it is built: click, fill in, send.

Only what belongs to a withdrawal is asked for: a name, a way to reach the person, and what it is about. Order and customer numbers are there if your customer wants to add them, and optional if not.

That saves you follow-up questions and your customer some patience.

German and English

Form, confirmation page, both e-mails and the whole backend interface are fully translated into German and English. On a multilingual Joomla site the language follows the page your customer is looking at.

The language a withdrawal came in on is stored with it.

It adapts to your template

The Joomla withdrawal button is an ordinary module. You place it in one of your template’s positions, usually the footer, and enter the CSS classes your other buttons already use. Done.

With YOOtheme Pro you place it anywhere in the builder through its Module element, exactly where you want it.

An overview you understand right away

Under Components → JoomRevoke → Withdrawals you find every request. Filtering, searching and sorting work exactly as you know them from Joomla.

Each request has four states: New, In progress, Closed and Rejected. You can add an internal note that only you see. Every change is recorded with time and user account in the history.

What your customer wrote stays untouched. It is their record and yours.

Print records, export data

Every withdrawal comes with a tidy view free of any interface, made for printing or filing: for your records, your bookkeeping, or the day somebody would like to see the paperwork.

The Export button hands you every request as a CSV file, semicolon separated and UTF-8 encoded. Excel and LibreOffice open it without asking questions.

Discreet towards strangers

A form that reacts differently to a real order number than to an invented one quickly becomes a lookup service for strangers. Try enough numbers and you find out which ones are genuine.

JoomRevoke gives none of that away, neither through a message nor through a different response time. Every sender sees the same confirmation page.

Matching a withdrawal to a contract happens in your backend, where it belongs.

It reaches every visitor

The withdrawal button leads to a form your server renders, and to a confirmation page your server renders. No script needs to load in between.

Everyone benefits: people using a screen reader, people behind a strict corporate network, people on an older device. A function required by law should reach every single one of them.


JoomRevoke is not affiliated with or endorsed by The Joomla! Project™ or Open Source Matters, Inc. The Joomla!® name and logo are registered trademarks of Open Source Matters, Inc. in the United States and other countries.

© 2026 JoomRevoke