Skip to Content

Built for our own business, now available for yours.

Recurring contracts on Odoo

We run about 1,300 active support contracts with regular payments in Odoo. Customers top up a wallet in advance, renewals are paid from it automatically, and reminders do most of the chasing: 93.5% of renewal invoices were paid in August–September 2026.

See prices All case studies

The problem

In 2026 we moved about 1,500 customers from WooCommerce to Odoo. Each of them has a contract that renews every month or every year. Checking by hand who has paid, reminding those who have not and closing contracts that stay unpaid does not work at this scale: one missed step means either a free month of service or an unhappy customer.

What we built

Odoo Community with the free OCA module for recurring contracts, plus our own modules on top:

  • Wallet. Customers top up in advance, and renewals are paid from the wallet automatically. A top-up counts only once the payment has actually arrived.
  • Reminders and closing. If the wallet is short, the customer gets a reminder 7, 3 and 1 day before renewal. On the renewal day Odoo issues the invoice and charges the wallet, retrying every hour. Then come 3 days of reminders with a direct payment link; after that the contract closes automatically with a credit note, and the owner gets a summary.
  • Manual activation. A new contract waits until a person switches the service on, and the customer gets an e-mail at every step.
  • Shop guards. A top-up cannot be paid from the wallet, add-ons can only be bought together with a main contract, a trial is available once, and a new contract cannot be bought while an invoice is unpaid.
  • Reviews and support. We ask for a review a week after the first payment, but not while the customer has an open support request. Customers get “request received” and “request closed” e-mails, and a second request within an hour is merged into the first.
  • Clean data. One account per e-mail address, abandoned orders and payments are cancelled, and the wallet is reconciled every week. Every new lead gets an owner straight away.
Recurring contracts in Odoo: next invoice date, price and stage for each customer
Reminders 7, 3 and 1 day before renewal, 3 days to pay before closing
A new contract waits for manual activation: Odoo adds a to-do to switch the service on

Screenshots from our demo database with fictional companies.

The numbers

August–September 2026: 1,181 renewal invoices, 1,104 of them paid (93.5%), and 1,046 of those on the day the invoice was issued. Most of the work is done by the reminders before renewal.

Works with

Odoo 19 Community, also alongside Enterprise · the free OCA recurring contracts module from the Odoo Apps store · Odoo eWallet.

Get it for your business

  • Odoo Community implementation with recurring contracts: £995 fixed — plans, the wallet, reminders, manual activation and customer e-mails set up for your brand.
  • Already on Odoo Community with us? Adding recurring contracts: £350.
  • Changes and extra work: £110 an hour.

No VAT is charged — we are not VAT-registered. If we become VAT-registered, VAT at the applicable rate will be added from that date.

Contact us