This module allows you to manage all operations for managing memberships.
- Membership category
- Membership lines editable
- Do not calculate membership state from invoice status
- Start date of last membership period
- Partner's with member lines can't be deleted.
- When a partner has an associated member there is the option to make member start date independent from the associated member one so joining dates can be tracked for those members.
- Adds a category for Membership management security group so a user with only that permission can access to the membership menu.
It supports different kind of members:
- Free member
- Associated member (e.g.: a group subscribes to a membership for all subsidiaries)
- Paid members
- Special member prices
It is integrated with sales and accounting to allow you to automatically invoice and send propositions for membership renewal.
This module is a backport from Odoo SA and as such, it is not included in the OCA CLA. That means we do not have a copy of the copyright on it like all other OCA modules.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Manage memberships in Odoo: define membership products with start/end dates and categories, track member status on contacts, and generate membership invoices from a wizard. A scheduled job updates expired memberships.
This module turns Odoo into a membership manager. You create membership products (service products flagged as membership) with a start and end date and an optional membership category; the product form shows a Membership Duration and Membership Fee.
On a contact you get a Membership tab where you can mark someone as a free member, link an associate member (for example a parent company paying for subsidiaries), and see the current membership status, start date, last start date, end date and cancel date. A Members menu lists all members with filters for invoiced, paid or free members, and grouping by salesperson, associate member, membership state or category.
Membership lines record each period a partner is a member, with from/to dates, join date, fee and status (waiting, invoiced, paid, cancelled, old, free). When you post a customer invoice containing a membership product, a membership line is created automatically and its status follows the invoice: waiting while draft, invoiced when posted, paid when paid, cancelled when the invoice is cancelled or reversed. You cannot delete a membership line linked to an invoice.
A 'Buy Membership' button on the contact opens a wizard to pick a membership product and price and create the customer invoice. A scheduled job recalculates expired memberships, and a Members Analysis report (list, pivot, graph) shows waiting, invoiced and paid counts and pending/earned amounts.
Depends on
Required by other modules
Menus it adds
Models and fields (9)
- res.partner · extends an existing modelfree_member, member_line_ids (Membership), membership_stop (Membership End Date), membership_start (Membership Start Date), membership_state (Current Membership Status), is_adhered_member, membership_amount, membership_cancel (Cancel Membership Date), associate_member_id, membership_last_start (Membership Last Start Date), membership_category_ids (Membership Categories), membership_start_adhered (Membership Adhered Start Date)
- account.move · extends an existing model
- product.product · extends an existing model
- product.template · extends an existing modelmembership, membership_date_to (Membership End Date), membership_date_from (Membership Start Date), membership_category_id (Membership category)
- account.move.line · extends an existing modelmembership_line_ids (Membership lines)
- report.membership · new modeldate_to (End Date), user_id (Salesperson), num_paid (# Paid), quantity, company_id (Company), partner_id (Member), start_date, tot_earned (Earned Amount), num_waiting (# Waiting), tot_pending (Pending Amount), num_invoiced (# Invoiced), membership_id (Membership Product), membership_state (Current Membership State), associate_member_id (Associate Member)
- membership.invoice · new modelproduct_id (Membership), member_price
- membership.membership_line · new modeldate (Join Date), state (Membership Status), date_to (To), date_from (From), company_id (Company), partner_id (Partner), category_id, date_cancel (Cancel date), member_price (Membership Fee), membership_id (Membership), account_invoice_id (Invoice), account_invoice_line_id (Account Invoice line)
- membership.membership_category · new modelname, company_id
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/vertical-association.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0Users can define membership categories in Association \> Configuration \> Membership Categories Then go to membership products and set a category to each one.
Usage
Source · Odoo 19.0Membership categories allow to classify memberships by types, allowing a partner to be member or not of the different categories. For example, if you have several levels of partnership (Starter, Silver, Gold) and one product for each one, then partners who buy Silver product will have Silver membership category. Afterwords, you can filter Silver members.
Membership lines are created when a membership product is invoiced, like in Odoo standard version. But now users can create a new membership line without creating an invoice.
Also, users can edit membership line dates and state even if an invoice is not related with it.
You will see a general membership status at partner level that specifies if it's a member of any category or not, and also a detail status per membership category.
To make member start date independent from the associated member one, check the option Adhered member in the membership tab of the partner who is associating. A start date will now be available to edit.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.