A build-to-order Odoo application that runs the full member lifecycle: tiered dues, auto-renewals with grace and lapse handling, digital QR membership cards, and a self-service portal for benefits and event access. Scoped, built, and supported by ECOSIRE for Odoo 17, 18, and 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo application that runs the full member lifecycle: tiered dues, auto-renewals with grace and lapse handling, digital QR membership cards, and a self-service portal for benefits and event access. Scoped, built, and supported by ECOSIRE for Odoo 17, 18, and 19.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Clubs, professional associations, and NGOs live and die by their renewal rate, but Odoo's stock membership module was never built to run a serious association. It treats a membership as a product line tied to an invoice, with no concept of tiers that carry different entitlements, no automated grace-period logic, no lapse workflow, and no member-facing portal beyond the generic customer view. Teams end up bolting renewals onto spreadsheets, chasing dues by hand, and printing cards no one can verify at the door. The moment you need tiered pricing, family or corporate memberships, or "this benefit is only for Gold members," you have run out of road on native Odoo.
`membership.plan` model with tiered pricing, term length, and per-tier entitlement rules as first-class `Many2one`/`Selection` fields
Computed membership state machine (`draft` → `active` → `grace` → `lapsed` → `expired`) via `@api.depends` on renewal and payment dates
Auto-renewal driven by a scheduled `ir.cron` that generates the next dues invoice through native `account.move` accounting
Configurable grace period and lapse handling with automatic state transition and staff notification
Digital membership cards rendered as QWeb reports carrying a signed QR payload for door/kiosk verification
Self-service member portal (website/portal framework + OWL) for profile edits, dues payment, and benefit visibility
ECOSIRE builds a dedicated membership and association management application on top of Odoo's real primitives so the logic lives in the database, not in someone's inbox. We model a membership.plan and a membership.membership record linked to res.partner, with tier, term, price, and entitlement rules expressed as proper fields.Selection / Many2one relations and @api.depends computed fields for state (draft, active, grace, lapsed, expired). Recurring dues are driven by a scheduled ir.cron job that evaluates renewal dates, generates the next invoice through the native accounting flow, and moves the record into a configurable grace window before flagging it lapsed. Every state transition can fire an automated action (base.automation) to send a reminder email or notify staff, so dunning is a rule, not a chore.
On the member-facing side we build a QWeb-rendered digital membership card carrying a signed QR payload, exposed through a portal controller so members download or add it to a wallet from their own login. The self-service portal — built with Odoo's website/portal framework and OWL components where interactivity matters — lets members view their tier, pay outstanding dues, update their profile against res.partner, and see exactly which benefits and events they are entitled to. Event and resource access is enforced by record rules and access-control checks that read the member's active tier, so a lapsed or wrong-tier member is blocked at check-in rather than discovering the problem awkwardly at the desk. For gate scanners, kiosks, or your website, we expose validation over Odoo's XML-RPC / JSON-RPC API so a scan resolves to a live entitlement answer.
Security is done properly: every model ships with ir.model.access.csv entries plus record rules that scope members, staff, and portal users to exactly what they should see, and portal users never gain read access to other members' financials. The build respects Community vs Enterprise boundaries — we implement against Community-available primitives and only lean on Enterprise features (such as advanced accounting or studio-adjacent tooling) when your edition already has them, and we tell you up front which is which.
Because this is build-to-order, you are not downloading a frozen app off apps.odoo.com. We start with a short scoping call to confirm your tiers, renewal rules, benefit matrix, and edition, then build against your target Odoo version (17.0, 18.0, or 19.0). Typical delivery is 2 to 4 weeks from confirmed scope. You receive the full installable source, we install and configure it on your staging environment for UAT, and we hand over the git repository along with documentation and a post-go-live support window so your team owns what we built.
Runs day-to-day membership for a professional body or trade association. Needs tiered dues, reliable auto-renewals, and a lapse workflow that stops manual chasing, plus a portal so members self-serve instead of emailing the office.
Manages a sports, social, or member club where verification at the door matters. Needs digital QR cards, event and facility access tied to the right tier, and family/household memberships under one billing contact.
Handles supporter tiers and recurring contributions for a nonprofit. Needs recurring dues through Odoo accounting, benefit differentiation by tier, and clean reporting on active vs lapsed supporters and renewal rate.
Owns the Odoo instance and cares about maintainability. Needs a module built on real ORM models with proper `ir.model.access.csv` and record rules, source code and git handover, and clean compatibility with their Community or Enterprise edition.
Achetez la licence sur ecosire.com et téléchargez le module ZIP Membership & Association Management for Odoo depuis le tableau de bord de votre compte.
Extrayez le ZIP dans votre dossier de modules complémentaires personnalisés Odoo sur le serveur (ou téléchargez-le via Applications > Installer à partir du fichier sur Odoo.sh / runbot).
Activez le mode développeur, ouvrez les applications, cliquez sur Mettre à jour la liste des applications, recherchez Membership & Association Management for Odoo et appuyez sur Installer.
Ouvrez le nouveau menu, collez votre clé de licence ECOSIRE, connectez toutes les informations d'identification externes (Shopify, Amazon, Stripe, etc.) et enregistrez.
Exécutez le test de connexion intégré, synchronisez vos 10 premiers enregistrements et planifiez le cron récurrent. Contactez le support si quelque chose échoue.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Tiered plans & entitlements | Per-tier plans with a configurable benefit matrix as first-class ORM fields | Possible but you design and build the model from scratch | Often a single membership product with limited tier logic | |
| Auto-renewal & lapse handling | `ir.cron`-driven renewals with configurable grace and automatic lapse | Depends entirely on what you commission and test | Basic recurring invoicing, rarely a full grace/lapse workflow | |
| Digital / QR cards | QWeb card with signed QR, verifiable at the door via API | Buildable, but QR signing and validation are extra effort | Sometimes a static card, rarely live verification | |
| Member self-service portal | Portal for profile, dues payment, and benefit/event visibility | You build and maintain the portal controllers yourself | Generic customer portal at best, not membership-aware | |
| Event & resource access control | Enforced by record rules reading the member's active tier | Requires custom rules you specify and verify | Usually decoupled from membership tier | |
| Fit to your rules | Scoped to your tiers, terms, and benefits before we build | Fully bespoke, at full bespoke cost and timeline | You bend your process to fit the module | |
| Source code & ownership | Full source plus git repository handover — you own it | You own it, but you also own all the maintenance | Licensed module; source varies, often obfuscated | |
| Support & version upgrades | Post-go-live window + optional 17/18/19 upgrade engagements | Whatever your developer agrees to separately | Vendor support quality and update cadence vary widely |
Odoo's native `membership` module treats a membership as a product on an invoice — it has no tier-specific entitlements, no automated grace/lapse workflow, no digital cards, and no dedicated member portal. We build a proper membership state machine, tiered plans with a benefit matrix, `ir.cron`-driven auto-renewals, QR membership cards, and a self-service portal on top of Odoo's real ORM, security, and accounting layers.
Because this is build-to-order, we start with a short scoping call to confirm your tiers, renewal rules, benefit matrix, and Odoo edition. Typical delivery is 2 to 4 weeks from confirmed scope. We build against your target version, then install on staging for UAT before go-live — there is no instant download.
We build for Odoo 17.0, 18.0, and 19.0. The implementation is edition-aware: it runs on Community using Community-available primitives, and leans on Enterprise features (such as advanced accounting) only when your edition already includes them. We confirm your exact version and edition during scoping so there are no surprises at install time.
A scheduled `ir.cron` job evaluates each membership's renewal date, generates the next dues invoice through Odoo's native `account.move` accounting flow, and moves the record into a configurable grace window if payment is outstanding. When grace expires the membership is flagged lapsed and access entitlements are revoked automatically. Each transition can fire an automated action to email the member or notify staff.
Yes. We render a digital membership card as a QWeb report with a signed QR payload that members access from the portal. Scanners, kiosks, or your website can validate a scan in real time over Odoo's XML-RPC/JSON-RPC API, which resolves to the member's live tier and active/lapsed status. Record rules enforce that a lapsed or wrong-tier member is blocked at access time.
Yes — you receive the full installable source and a git repository handover with complete history; you own the code. Every build includes a post-go-live support window for bug fixes and configuration adjustments. Beyond that window, we offer ongoing support and version-upgrade engagements (for example when you move from Odoo 18 to 19) as a separate arrangement.
Yes. During scoping we review your current data — spreadsheets, another CRM, or an existing Odoo instance — and include a migration checklist and mapping into the delivery. We load and validate records against the new models on staging during UAT so you confirm accuracy before go-live.
A build-to-order Odoo application that runs the full member lifecycle: tiered dues, auto-renewals with grace and lapse handling, digital QR membership cards, and a self-service portal for benefits and event access. Scoped, built, and supported by ECOSIRE for Odoo 17, 18, and 19.