Skip to Content

Membership & Subscription

71.40 71.40

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions
Compatible with Odoo 18.0 · 19.0
OPL-1 license · Odoo 18.0 & 19.0
Membership & Subscription for Odoo — preview banner

Membership & Subscription

Full membership engine: tiers, renewals, dues invoicing and member portal

Membership organisations need far more than a contact list: they must track who is paid up, who is in grace, who has lapsed, and invoice recurring dues every period without manual chasing. Doing this in spreadsheets or generic invoicing wastes admin hours and lets renewals slip. This module is built for UK clubs, associations and charities on Odoo Community. It defines membership tiers with recurring dues and joining fees, drives members through a draft-active-grace-lapsed lifecycle, generates and posts dues invoices automatically via cron, and gives members a self-service portal to see their tier, expiry and balance.

Key Features

Configurable Membership Tiers

gb.membership.tier defines a billing period (month, quarter, semester or year), a price and a one-off joining_fee, plus grace_days, early_renewal_days and an early_renewal_discount percentage. Each tier lazily creates its own service dues product via _ensure_product for clean invoice lines.

Member Lifecycle States

gb.membership.member links a partner to a tier and moves through draft, active, grace, lapsed and cancelled with mail tracking. Buttons Activate, Renew, Move to Grace, Lapse and Reset to Draft drive the lifecycle, and date_expiry plus days_to_expiry track standing.

Automatic Dues & Invoicing

Activating or renewing a member calls _generate_dues to create a gb.membership.dues line, applying the joining fee on the first period and the early-renewal discount when within the window. action_create_invoice posts a real account.move out_invoice you can Post and Mark Paid.

Renewal & Lapse Cron

The daily _cron_process_renewals moves expired active members into grace, auto-renews those with auto_renew on tiers flagged auto_invoice, and lapses anyone past date_expiry plus grace_days. A second 6-hourly cron _cron_sync_paid flips dues to Paid when the invoice payment_state settles.

Bulk Renewal Wizard

The Renew Memberships wizard (gb.membership.renew.wizard) takes the selected members, renews all non-cancelled ones in one action, and optionally creates and posts their draft dues invoices, so an admin can roll an entire cohort forward at year-end.

Self-Service Member Portal

The /my/memberships portal route shows each logged-in member their tier, expiry date and outstanding dues, with a counter on the portal home. res.partner gains is_member, current_tier_id and a Memberships smart action for the back office.

Live Dashboard & Dues Analysis

get_membership_dashboard returns active, grace, lapsed and draft counts, a retention_rate and total outstanding dues for the kanban header. A SQL-view report model (gb.membership.dues.report) powers pivot analysis by tier, period and state for finance and trustees.

Guardrails & Constraints

Validation blocks negative dues or joining fees, discounts outside 0-100%, negative day windows and an expiry before the join date. Cancelled members cannot be renewed and posted invoices must be cancelled before their dues line, keeping the ledger consistent.

Use Cases

A sports club enrols a new member on a yearly tier and charges the joining fee automatically on the first invoice.
A professional association runs the bulk renewal wizard at year-end to renew and invoice hundreds of members at once.
A charity lets the daily cron move unpaid members into grace and lapse them after the grace window expires.
A finance officer pivots the dues analysis report by tier to see annual subscription income and outstanding balances.
A member logs into the portal to check their expiry date and pay outstanding dues without contacting the office.
A membership secretary offers an early-renewal discount to members who renew within 30 days before expiry.

Screenshots

Membership & Subscription — Dues in Odoo

Dues

Membership & Subscription — Dues Analysis in Odoo

Dues Analysis

Membership & Subscription — Members in Odoo

Members

Membership & Subscription — Renew Memberships in Odoo

Renew Memberships

Membership & Subscription — Membership Tiers in Odoo

Membership Tiers

Why Choose This Module

Membership organisations need more than a contact list. This module defines membership tiers with recurring dues, enrols members through a clear lifecycle, invoices dues automatically each period, and lets members track their status in the portal — a full membership engine built for UK clubs, associations and charities on Odoo Community.

Specifications

  • Compatible: Odoo 18.0 / 19.0
  • License: OPL-1
  • Languages: English
  • Author: Pokutsoft
  • Dependencies: account, portal, mail
  • Support: support@pokutsoft.com

Update date: 2026-07-02