Turn a Checkout Checkbox Into Defensible Proof of Consent
Gate your eCommerce checkout with a scroll-to-read Terms and Conditions agreement, block payment until customers accept, and keep a versioned, exportable audit trail of exactly who agreed to what, and when.
The problem
Odoo's eCommerce checkout lets customers complete a purchase without ever seeing or accepting your Terms and Conditions. In a chargeback dispute or consumer complaint, you have no enforceable, versioned proof that a buyer agreed to your shipping, refund, or liability terms at the moment of purchase.
The solution
eCommerce Agreement adds a scroll-to-read acceptance gate right on the payment step, blocks checkout server-side until mandatory terms are accepted, records which policy version each order agreed to, and gives you an exportable audit log plus a timestamped receipt emailed to the buyer.
Everything you need for enforceable consent
Every capability below is implemented in the module.
Scroll-to-Read Acceptance Modal
Terms open in a scrollable modal, and the accept control stays disabled until the customer scrolls to the end, so consent reflects real exposure to the text, not a reflexive click.
Server-Side Checkout Gate
Payment is blocked at the server, not only in the browser, until every mandatory agreement is accepted, with a clear inline message telling the buyer exactly what is missing.
Versioned Agreement Workflow
Draft, publish, and archive Terms and Conditions text from the backend. Once published, the accepted text is locked so the record each customer agreed to can never quietly change.
Mandatory vs. Optional Terms
Run required Terms and Conditions alongside optional agreements, such as marketing preferences, with a clear Required or Optional badge so buyers know exactly what they must agree to.
Exportable Acceptance Log
Every acceptance is logged with customer, agreement, version, order, and timestamp in a read-only audit list ready for native Odoo export during a dispute or compliance review.
Outdated-Version Alert
When you publish a new version, the agreement form flags how many customers accepted an older one, and a configurable setting forces returning buyers to re-accept the current terms.
Timestamped Email Receipt
On order confirmation, the customer receives an automatic email listing exactly which agreements and versions they accepted and when, giving both sides independent proof of consent.
Sale Order Consent Button
A Consent smart button on every sale order opens the exact acceptance records tied to that order, so support and sales teams can verify consent without leaving the order form.
Mobile-Ready Checkout Flow
The agreement cards and terms modal are formatted for small screens with no horizontal scrolling, fitting naturally into the existing checkout without adding friction.
How it works
Publish your terms
Create an agreement, write the version content, and publish it as mandatory or optional for your website.
Customer reads and accepts
At the payment step, the buyer opens the terms modal, scrolls to the end, and ticks the acceptance checkbox.
Checkout unlocks
Payment is enabled only once every mandatory agreement is accepted, both in the browser and on the server.
Review the proof
The order gets a receipt email, and the acceptance log gives you an exportable audit trail whenever you need it.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Yes. You can create as many agreements as you need, for example a mandatory Terms and Conditions policy alongside an optional Marketing Preferences agreement, each with its own required or optional badge in the checkout gate.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
eCommerce Agreement
A scroll-to-read terms gate enforced server-side at checkout, with versioned agreements, timestamped email receipts and an exportable consent log.
Buy on Odoo App Store