Skip to main content
Members Club — A made-to-order Odoo module that manages your full membership lifecycle and club activities on one record — ti — 1/1Illustrative preview

A made-to-order Odoo module that manages your full membership lifecycle and club activities on one record

— tiers, renewals, dues, events, and member access.

ECOSIRE builds it to your rules, installs it, and supports it after you request a quotation.

What is Members Club?

A made-to-order Odoo module that manages your full membership lifecycle and club activities on one record — tiers, renewals, dues, events, and member access. ECOSIRE builds it to your rules, installs it, and supports it after you request a quotation. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated `members.membership` model with a `fields.Selection` state machine (draft → active → grace → lapsed → expired) rather than partner tags
`members.tier` model driving dues amount, duration, benefits, and eligibility rules per tier
`@api.depends` computed `expiry_date`, `days_to_renew`, and `is_active` so status is always live, never a stale manual flag
`@api.constrains` guards preventing overlapping active memberships and invalid tier transitions
Scheduled `ir.cron` jobs that advance grace-period and lapse states and fire renewal reminders automatically
`base.automation` automated actions for welcome, renewal-due, grace, and lapse notification emails
Dues and tier fees invoiced through native `product.product` / `sale.order` so accounting, tax, and the CoA stay standard Odoo
`members.activity` and `members.activity.registration` models linking members to events, sessions, or classes with capacity limits
Kanban-by-status and form views with smart-buttons to a member's activity history, invoices, and renewals
Group-based security via `ir.model.access.csv` (member / committee / treasurer / admin) plus `ir.rule` record rules for tier- and chapter-level visibility
Multi-company `company_id` record rules to keep chapters or clubs separated in one database
QWeb PDF reports for membership cards, renewal notices, and roster/dues rosters on your branding
Optional website/portal controllers for member self-service sign-up, renewal, and activity registration
Full XML-RPC/JSON-RPC API surface for integration with payment gateways, mailing tools, or access-control systems
Targets Odoo 17.0, 18.0, and 19.0 on Community or Enterprise, with a clean `__manifest__.py` and demo data

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Clubs, associations, and membership-driven organisations quickly outgrow spreadsheets and disconnected tools the moment they try to track who is a current member, which tier they hold, when their dues lapse, and which activities they have registered for. Odoo's core sale, contacts, and event apps each hold a piece of this, but nothing on the base install models a membership as a first-class object with a renewal cycle, a state machine (draft → active → grace → lapsed → expired), and enforced access to member-only benefits. Teams end up reconciling partner tags, sales orders, and manual reminders by hand, and the picture is never trustworthy at renewal time.

Members Club is a build-to-order Odoo module ECOSIRE designs, builds, installs, and supports for your specific club rules. At its core we add a members.membership model (and supporting members.tier, members.activity / members.activity.registration models) with proper fields.Selection state, @api.depends computes for expiry_date, days_to_renew, and is_active, and @api.constrains guards so a member can't hold two overlapping active memberships in the same tier. Tier pricing and dues flow through native product.product/sale.order so invoicing, taxes, and your chart of accounts stay standard Odoo — no shadow accounting. Renewals, grace-period transitions, and lapse notifications run on scheduled ir.cron jobs plus automated actions (base.automation), so status is always current without anyone remembering to run a report.

Every capability is scoped to your governance model. Security is enforced through ir.model.access.csv groups (member, committee, admin) and ir.rule record rules so, for example, an activity coordinator sees only their own club's registrations while a treasurer sees dues across all tiers — and in a multi-company setup the company_id rules keep chapters separated. The member and back-office experience is delivered with standard views and OWL components (list, kanban by status, form with a smart-button to the member's activity history and invoices), and QWeb reports produce membership cards, renewal notices, and roster/dues PDFs on your letterhead. Where you need self-service — member sign-up, renewals, or activity registration — we can extend the Odoo website/portal controllers, and everything is reachable over the standard XML-RPC/JSON-RPC API for integration with a payment gateway, mailing platform, or door-access system.

Because it is built to order, delivery follows a clear path: a short scoping call to capture your tiers, dues cycles, activity types, and access rules; a fixed written quote; a build on a staging database; UAT with your team; then production install with a rollback plan and handover of the git repository. The module targets Odoo 17.0, 18.0, and 19.0 and works on Community or Enterprise (features that assume Enterprise-only apps are flagged during scoping so there are no surprises). Pricing starts from $999 (indicative, single-company base scope); additional tiers with distinct rules, multi-company or multi-chapter separation, portal self-service, payment-gateway integration, and migration of existing member history increase the quoted scope.

What you get

  • Installable source code for your version of the Members Club module (clean `__manifest__.py`, models, views, security, reports)
  • Installation and configuration on your Odoo 17.0/18.0/19.0 instance, including tiers, dues cycles, and access groups
  • Technical documentation: data model, security matrix, cron/automation logic, and API endpoints
  • End-user guide plus a live training session for committee and back-office staff
  • UAT on a staging database with a documented test plan and a rollback plan before production cutover
  • Post-go-live support window for defect fixes and configuration questions
  • Handover of the git repository with full commit history and README
  • Migration of existing member and dues history where in scope, with a reconciliation report

Who this is for

Membership / operations manager

Runs day-to-day membership on Odoo and needs one trustworthy record per member — tier, status, dues, and activity history — instead of reconciling tags, sales orders, and spreadsheets by hand at renewal time.

Association or club treasurer

Wants dues invoiced through standard Odoo accounting with clear roster and arrears reports, and record-rule access that shows finance across all tiers without exposing unrelated committee data.

Activity or events coordinator

Manages classes, sessions, or events and needs member-only registration with capacity limits, scoped by record rules so they only see and manage their own club's activities.

Odoo-running IT or systems lead

Owns the instance and needs a clean, upgrade-safe module with proper security, cron logic, and an XML-RPC/JSON-RPC surface to integrate payments and mailing, plus the git repo handed over for future maintenance.

How Members Club Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Fit to your club rulesBuilt to your exact tiers, dues cycles, and governanceFully bespoke but you specify and manage everythingFixed feature set; you adapt your rules to itNo membership object; tags and manual workarounds
Membership state & renewalsProper state machine + `ir.cron` grace/lapse automationWhatever you build and maintain yourselfBasic renewal handling, limited state logicNone — tracked by hand or via sales orders
Security & multi-companyScoped `ir.model.access.csv` + `ir.rule` per role and chapterDepends on your team's security modellingGeneric groups; often no chapter-level rulesBase access only; no membership-specific rules
Dues & accountingNative `sale.order`/invoicing, no shadow ledgerCorrect only if built carefullyVaries; some keep separate dues recordsStandard invoicing but no dues lifecycle
Activities & eventsMember-scoped registration with capacity limitsBuild from scratchSometimes bundled, often genericSeparate event app, not linked to membership
Support & ownershipSupport window + git repo handover; you own the codeYou own and maintain everythingVendor-controlled; support tiers varyCommunity/Enterprise support, no custom code
Upfront costFrom $999 indicative; fixed quote after scopingHighest — full dev time billedLow licence fee, but rework to fitIncluded, but capability gap remains
Odoo 17/18/19 & editionTargeted per your version, Community or EnterpriseWhatever you target and testDepends on vendor's maintained versionsShips with core; no membership layer

Frequently Asked Questions about Members Club

Is this an existing app I can download and install today?

No. Members Club is build-to-order. ECOSIRE builds the module to your specific tiers, dues cycles, and access rules, then installs and supports it — it is a productized service, not an off-the-shelf apps.odoo.com download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. After the scoping call and written quote, we build on a staging database, run UAT with your team, then schedule the production install. Larger scope — multi-company, portal self-service, data migration — can extend that timeline, which we confirm before you commit.

How does pricing and scoping work?

Pricing starts from $999 as an indicative, single-company base-scope figure. We hold a short scoping call to capture your requirements, then send a fixed written quote. The final price is set at quote — not before — so there are no surprises. Drivers like extra tiers, multi-chapter separation, payment integration, and migration volume affect the number.

What about support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and configuration questions. Because you receive the git repository and full source, you own the code. We also offer ongoing support and version-upgrade retainers if you want us to maintain it across future Odoo releases.

Which Odoo versions and editions does it support?

We target Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. During scoping we flag any capability that would rely on an Enterprise-only app so you can decide up front, and we confirm the exact target version for your build.

Will dues and invoicing mess with our accounting setup?

No. Tier fees and dues flow through native `product.product` and `sale.order`, so invoicing, taxes, and your chart of accounts stay standard Odoo. There is no shadow ledger — the membership record simply links to the standard financial documents.

Can members sign up or renew themselves online?

Yes, as a scoped option. We can extend the Odoo website/portal controllers for self-service sign-up, renewal, and activity registration, and connect a payment gateway over the standard API. This is one of the scope drivers we cost in the quote.

Request a quote

Members Club

A made-to-order Odoo module that manages your full membership lifecycle and club activities on one record — tiers, renewals, dues, events, and member access. ECOSIRE builds it to your rules, installs it, and supports it after you request a quotation.

  • Dedicated `members.membership` model with a `fields.Selection` state machine (draft → active → grace → lapsed → expired) rather than partner tags
  • `members.tier` model driving dues amount, duration, benefits, and eligibility rules per tier
  • `@api.depends` computed `expiry_date`, `days_to_renew`, and `is_active` so status is always live, never a stale manual flag
  • `@api.constrains` guards preventing overlapping active memberships and invalid tier transitions

Request a Quotation

Tell us about your Members Club requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.