Sell subscriptions, subscribe-and-save and recurring boxes on your Odoo website with dunning and customer self-service. Built, installed and supported by ECOSIRE. One-time license from $499.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Sell subscriptions, subscribe-and-save and recurring boxes on your Odoo website with dunning and customer self-service. Built, installed and supported by ECOSIRE.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Turn your Odoo eCommerce storefront into a recurring-revenue engine. This is a build-to-order module engineered, installed and supported by ECOSIRE for Odoo 17, 18 and 19 — not an off-the-shelf apps.odoo.com download. We design it around your catalog, your billing rules and your payment providers, then hand you clean, maintainable code you own.
Subscribe & Save purchase mode injected onto eCommerce product pages alongside the one-time buy option, with a percentage or fixed recurring discount
Flexible billing intervals (weekly, bi-weekly, monthly, quarterly, annual) modeled as configurable recurring-plan records selectable in the cart
Free and paid trial periods with first-charge deferral and automatic transition to the paid plan at trial end
Customer self-service portal to pause, skip the next delivery, swap product/variant, change interval, or cancel — scoped by record rules so users only see their own subscriptions
Saved payment tokens and card-on-file updates through your existing Odoo payment acquirer, with PCI handling left to the provider
Automated recurring invoicing: a scheduled action generates the next account.move and posts it on each renewal date
Odoo's core sale_subscription app manages recurring orders and MRR in the back office, but it does not natively expose subscribe-and-save pricing, trial periods, box configurators, skip/swap flows or dunning to your public website shoppers. We bridge that gap. On every product page we add a "Subscribe & Save" purchase mode alongside the one-time buy option — modeled with new models.Model records that extend product.template and sale.order.line and computed via @api.depends so discounts, next-billing-date and renewal totals stay accurate as customers change quantities or intervals in the cart.
Under the hood we extend Odoo's subscription and website-sale controllers so the checkout writes a recurring plan (sale.subscription / recurring-plan records) at order confirmation. A scheduled automated action drives renewals: it generates the next account.move invoice, charges the saved payment token through your acquirer, and — on a failed charge — enters a configurable dunning sequence (retry cadence, reminder emails via QWeb templates, and grace-period logic) so involuntary churn drops without manual chasing. Every recurring plan, invoice and payment attempt is a first-class Odoo record, fully reportable and exposed over XML-RPC / JSON-RPC for your other systems.
Customers manage everything themselves in the Odoo website portal: pause, skip the next shipment, swap the product or variant, change the billing interval, update the saved card, or cancel — each action guarded by ir.model.access.csv rules and record rules so a shopper only ever touches their own subscription. Curated boxes and subscribe-and-save bundles are supported via a box/bundle configurator that lets customers (or your merchandisers) assemble a recurring box from eligible products, with per-box pricing and inventory reservation flowing into standard Odoo delivery orders.
Because it is your build, it fits your reality: Community or Enterprise, your themes and OWL widgets, your tax and fiscal-position setup, your payment providers, your 11-language storefront. We deliver documented, upgrade-aware code (isolated in its own module so -u upgrades stay clean across 17/18/19), a staging validation pass, admin training and a post-launch support window.
A direct-to-consumer brand selling coffee, supplements, skincare or pet food that wants shoppers to subscribe-and-save on replenishable products, cutting reorder friction and lifting repeat-purchase revenue.
A business shipping monthly curated or build-your-own boxes that needs a website configurator, recurring billing and skip/swap self-service without stitching together third-party SaaS.
A company offering memberships, care plans or recurring service packages that wants sign-up, billing, dunning and cancellation handled natively inside Odoo eCommerce and portal.
A finance or operations lead who wants every renewal, invoice and payment attempt as a native Odoo record — reportable in pivot/graph views and reconcilable in accounting — instead of living in an external billing tool.
Buy the license on ecosire.com and download the Subscription & Recurring Commerce for Website Sale module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Subscription & Recurring Commerce for Website Sale, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Subscribe-and-save on eCommerce product pages | Possible but you build the storefront UI, cart logic and pricing from scratch | Varies; many list-only apps don't add a true website subscribe mode | ||
| Customer self-service (pause/skip/swap/cancel) in portal | Must be designed and secured with record rules yourself | Partial — often limited to cancel only | ||
| Automated dunning & payment retries | Requires custom scheduled actions and retry logic | Rarely included or basic | ||
| Subscription box / curated-bundle configurator | Full bespoke build with inventory reservation | Uncommon in generic subscription apps | ||
| Fit to your catalog, taxes, acquirers & themes | Full control but full cost and timeline | Generic; you adapt to its assumptions | ||
| Clean upgrades across Odoo 17/18/19 | Depends entirely on your team's discipline | Tied to vendor's release cadence and support | ||
| Native Odoo records + XML-RPC/JSON-RPC access | Yes if you model it as native records | Partial — some store data in bespoke tables | ||
| Delivery, installation & support by the builder | You are the builder and the support team |
This is a build-to-order module, not an instant apps.odoo.com download. After a short scoping call we build, integrate and test it against your Odoo instance, then deploy to production. Typical delivery is 2-4 weeks depending on the complexity of your catalog, payment providers, box logic and dunning rules. You are never charged for a download you then have to make work yourself — you receive a working, installed module.
Every engagement includes a post-launch support and bug-fix window. Because the module ships as isolated custom code with a clean __manifest__.py (no core patches), it upgrades cleanly with your Odoo version. We can quote an ongoing maintenance retainer covering Odoo 17-to-18-to-19 version upgrades, new features and priority support, or you can maintain it yourself using the documentation and code we hand over.
It works with both, targeting Odoo 17, 18 and 19. We build against your edition and reuse what you already have — Community's website-sale plus our recurring layer, or Enterprise's sale_subscription where present. During scoping we confirm which core apps are installed so the module extends rather than duplicates existing functionality.
A scheduled automated action attempts each renewal charge against the customer's saved payment token via your acquirer. On failure it enters a configurable dunning sequence: retry attempts on a cadence you choose, escalating QWeb reminder emails, and a grace period before the subscription is suspended. Every attempt is logged as an Odoo record so you can audit and report on involuntary churn.
Yes. The Odoo website portal gets self-service actions to pause, skip the next delivery, swap the product or variant, change the billing interval, update the saved card and cancel. Access is enforced with ir.model.access.csv permissions and record rules so each customer can only view and modify their own subscriptions, reducing support tickets.
Yes. Subscriptions, renewal invoices (account.move) and payment attempts are all first-class Odoo records, so MRR, active-subscriber and churn figures appear in native pivot and graph views. The same records are accessible over Odoo's XML-RPC / JSON-RPC API, so external analytics, CRM or fulfillment systems can read subscription and billing data programmatically.
Sell subscriptions, subscribe-and-save and recurring boxes on your Odoo website with dunning and customer self-service. Built, installed and supported by ECOSIRE.