Members

membership
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales/Sales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Odoo Online, Jorge Pinna Puissant, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Habib (ayh), Louis Wicket (wil), Thomas Becquevort (thbe), Gauthier Wala (gawa), Arnaud Sibille, omra-odoo, Youssef Bashandy, kcv-odoo, Louis (wil), Ezzuldin Zaky (ezza), Krzysztof Magusiak (krma), pajo
WEBSITE
WEBSITEhttps://www.odoo.com/app/forum
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner list New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template list New
report_membership_view_tree report.membership.view.list report.membership list New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self)
  • button_draft(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • member_price Float
    min_display_digits='Product Price' required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.move
    readonly=True related='account_invoice_line.move_id' string='Invoice' args: 'account.move'
  • account_invoice_line Many2one → account.move.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.move.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.move_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    help='Amount for the membership' min_display_digits='Product Price' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (0)

No public methods.

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership.It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_state' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_state' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' recursive=True store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_state' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product, amount)
    Create Customer Invoice of Membership for partners.
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales/Sales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Victor Feyens, Andrea Grazioso (agr-odoo), Tiffany Chang (tic), Gorash, Pierre Paridans, Louis Wicket (wil), Ali Alfie (alal), Dylan Kiss (dyki), Brieuc-brd, Leonardo Pavan Rocha, Youssef Bashandy, Julien Carion (juca), Louis (wil), Ezzuldin Zaky (ezza), Morgane (morm), pajo
WEBSITE
WEBSITEhttps://www.odoo.com/app/forum
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template tree New
report_membership_view_tree report.membership.view.tree report.membership tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner field Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self)
  • button_draft(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • member_price Float
    digits='Product Price' required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.move
    readonly=True related='account_invoice_line.move_id' string='Invoice' args: 'account.move'
  • account_invoice_line Many2one → account.move.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.move.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.move_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits='Product Price' help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (0)

No public methods.

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership.It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_state' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_state' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' recursive=True store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_state' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product, amount)
    Create Customer Invoice of Membership for partners.
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales/Sales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Denis Ledoux, Aaron Bohy, David Tran, Romeo Fragomeli, Andrea Grazioso (agr-odoo), william-andre, aliya, Patrick Hoste, Martin Trigaux (mat)
WEBSITE
WEBSITEhttps://www.odoo.com/app/forum
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:52
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template tree New
report_membership_view_tree report.membership.view.tree report.membership tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner field Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self)
  • button_draft(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • member_price Float
    digits='Product Price' required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.move
    readonly=True related='account_invoice_line.move_id' string='Invoice' args: 'account.move'
  • account_invoice_line Many2one → account.move.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.move.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.move_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits='Product Price' help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (1)
  • get_view(self, view_id=None, view_type='form', **options)
    @api.model

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership.It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_state' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_state' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' recursive=True store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_state' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product, amount)
    Create Customer Invoice of Membership for partners.
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales/Sales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Aaron Bohy, Romain Derie, Laurent Smet, Xavier-Do, David Tran, Andrea Grazioso (agr-odoo), Tiffany Chang (tic), Mathieu Duckerts-Antoine, Kevin Baptiste, Nicolas (vin), william-andre, Michael Mattiello (mcm), Thomas Lefebvre (thle)
WEBSITE
WEBSITEhttps://www.odoo.com/app/forum
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template tree New
report_membership_view_tree report.membership.view.tree report.membership tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner field Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self)
  • button_draft(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • member_price Float
    digits='Product Price' required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.move
    readonly=True related='account_invoice_line.move_id' string='Invoice' args: 'account.move'
  • account_invoice_line Many2one → account.move.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.move.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.move_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits='Product Price' help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (1)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    help='End membership date' readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership.It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_state' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_state' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' recursive=True store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_state' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product, amount)
    Create Customer Invoice of Membership for partners.
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales/Sales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, qdp-odoo, Barad Mahendra, Yannick Tivisse, Laurent Smet, Xavier-Do, David Tran, Andrea Grazioso (agr-odoo), oco-odoo, Mathieu Duckerts-Antoine, Kevin Baptiste, Ahmad Khanalizadeh, Jigar Vaghela, Nicolas (vin), william, Thomas Lefebvre (thle), Nisha patel
WEBSITE
WEBSITEhttps://www.odoo.com/page/community-builder
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner field Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self)
  • button_draft(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • member_price Float
    digits='Product Price' required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.move
    readonly=True related='account_invoice_line.move_id' string='Invoice' args: 'account.move'
  • account_invoice_line Many2one → account.move.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.move.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.move_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits='Product Price' help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (1)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    help='End membership date' readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership.It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_state' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_state' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_state' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product, amount)
    Create Customer Invoice of Membership for partners.
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales/Sales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Xavier Morel, Mohammed Shekha, qdp-odoo, Damien Bouvy, Yannick Tivisse, Adrian Torres, Xavier-Do, Andrea Grazioso (agr-odoo), Lucas Lefèvre, Prakash Prajapati, Florian Gilbert
WEBSITE
WEBSITEhttps://www.odoo.com/page/community-builder
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self)
  • button_draft(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • member_price Float
    digits='Product Price' required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.move
    readonly=True related='account_invoice_line.move_id' string='Invoice' args: 'account.move'
  • account_invoice_line Many2one → account.move.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.move.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.move_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits='Product Price' help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (1)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    help='End membership date' readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership.It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_state' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_state' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_state' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product, amount)
    Create Customer Invoice of Membership for partners.
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/12.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Goffin Simon, Nicolas Martinelli, Géry Debongnie, GitHub, Lucas Perais (lpe), Yannick Tivisse, Alexandre Kühn, qsm-odoo, Christophe Monniez, Adrian Torres, Xavier-Do, jvm-odoo, Luis Torres, fw-bot, Ivan Yelizariev, Baptiste Vergote
WEBSITE
WEBSITEhttps://www.odoo.com/page/community-builder
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:57:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - account
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • action_cancel(self)
    @api.multi
    Create a 'date_cancel' on the membership_line object
  • action_cancel_draft(self)
    @api.multi
  • write(self, vals)
    @api.multi
    Change the partner on related membership_line

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi

New fields (2)
  • member_price Float
    digits=dp.get_precision('Product Price') required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
    @api.multi
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.invoice
    readonly=True related='account_invoice_line.invoice_id' string='Invoice' args: 'account.invoice'
  • account_invoice_line Many2one → account.invoice.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.invoice.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.invoice_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits=dp.get_precision('Product Price') help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (1)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    help='End membership date' readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    @api.model_cr
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership.It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_cancel' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_start' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_stop' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product_id=None, datas=None)
    @api.multi
    Create Customer Invoice of Membership for partners. @param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership. datas = {'membership_product_id': None, 'amount': None}
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/11.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Christophe Simonis, Xavier Morel, Nicolas Martinelli, xmo-odoo, GitHub, Yannick Tivisse, qsm-odoo, Martin Geubelle, Odoo Online, Adrien Dieudonne, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttps://www.odoo.com/page/community-builder
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:53:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account
    - analytic
    - web_planner
    - portal
    - http_routing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_kanban product.template.kanban product.template kanban New
membership_products_tree Membership products product.template tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (3)
  • action_cancel(self)
    @api.multi
    Create a 'date_cancel' on the membership_line object
  • action_cancel_draft(self)
    @api.multi
  • write(self, vals)
    @api.multi
    Change the partner on related membership_line

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi

New fields (2)
  • member_price Float
    digits=dp.get_precision('Product Price') required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
    @api.multi
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.invoice
    readonly=True related='account_invoice_line.invoice_id' string='Invoice' args: 'account.invoice'
  • account_invoice_line Many2one → account.invoice.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.invoice.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.invoice_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits=dp.get_precision('Product Price') help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (1)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    help='End membership date' readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    @api.model_cr
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership. It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_cancel' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_start' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_stop' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product_id=None, datas=None)
    @api.multi
    Create Customer Invoice of Membership for partners. @param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership. datas = {'membership_product_id': None, 'amount': None}
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/10.0/membership
VERSION
VERSION 1.0
CATEGORY
CATEGORYSales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Goffin Simon, Nicolas Martinelli, Julien Legros, qdp-odoo, Yannick Tivisse
WEBSITE
WEBSITEhttps://www.odoo.com/page/community-builder
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:50:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - account
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_tree Membership products product.template tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (7)

New fields (0)

No new fields.

Public methods (2)
  • action_cancel(self)
    @api.multi
    Create a 'date_cancel' on the membership_line object
  • action_cancel_draft(self)
    @api.multi

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi

New fields (2)
  • member_price Float
    digits=dp.get_precision('Product Price') required=True string='Member Price'
  • product_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
Public methods (2)
  • membership_invoice(self)
    @api.multi
  • onchange_product(self)
    @api.onchange('product_id')
    This function returns value of product's member price based on product id.

New fields (11)
  • account_invoice_id Many2one → account.invoice
    readonly=True related='account_invoice_line.invoice_id' string='Invoice' args: 'account.invoice'
  • account_invoice_line Many2one → account.invoice.line
    ondelete='cascade' readonly=True string='Account Invoice line' args: 'account.invoice.line'
  • company_id Many2one → res.company
    readonly=True related='account_invoice_line.invoice_id.company_id' store=True string='Company' args: 'res.company'
  • date Date
    help='Date on which member has joined the membership' string='Join Date'
  • date_cancel Date
    string='Cancel date'
  • date_from Date
    readonly=True string='From'
  • date_to Date
    readonly=True string='To'
  • member_price Float
    digits=dp.get_precision('Product Price') help='Amount for the membership' required=True string='Membership Fee'
  • membership_id Many2one → product.product
    required=True string='Membership' args: 'product.product'
  • partner Many2one → res.partner
    index=True ondelete='cascade' string='Partner' args: 'res.partner'
  • state Selection
    compute='_compute_state' help='It indicates the membership status.\n-Non Member: A member who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paid Member: A member who has paid the membership amount.' store=True string='Membership Status' args: STATE
Public methods (0)

No public methods.

New fields (3)
  • membership Boolean
    help='Check if the product is eligible for membership.'
  • membership_date_from Date
    help='Date from which membership becomes active.' string='Membership Start Date'
  • membership_date_to Date
    help='Date until which membership remains active.' string='Membership End Date'
Public methods (1)
  • fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
    @api.model

New fields (14)
  • associate_member_id Many2one → res.partner
    readonly=True string='Associate Member' args: 'res.partner'
  • company_id Many2one → res.company
    readonly=True string='Company' args: 'res.company'
  • date_to Date
    help='End membership date' readonly=True string='End Date'
  • membership_id Many2one → product.product
    readonly=True string='Membership Product' args: 'product.product'
  • membership_state Selection
    readonly=True string='Current Membership State' args: STATE
  • num_invoiced Integer
    readonly=True string='# Invoiced'
  • num_paid Integer
    readonly=True string='# Paid'
  • num_waiting Integer
    readonly=True string='# Waiting'
  • partner_id Many2one → res.partner
    readonly=True string='Member' args: 'res.partner'
  • quantity Integer
    readonly=True
  • start_date Date
    readonly=True string='Start Date'
  • tot_earned Float
    digits=0 readonly=True string='Earned Amount'
  • tot_pending Float
    digits=0 readonly=True string='Pending Amount'
  • user_id Many2one → res.users
    readonly=True string='Salesperson' args: 'res.users'
Public methods (1)
  • init(self)
    @api.model_cr
    Create the view

New fields (8)
  • associate_member Many2one → res.partner
    help='A member with whom you want to associate your membership. It will consider the membership state of the associated member.' string='Associate Member' args: 'res.partner'
  • free_member Boolean
    help='Select if you want to give free membership.' string='Free Member'
  • member_lines One2many → membership.membership_line
    string='Membership' args: 'membership.membership_line', 'partner'
  • membership_amount Float
    digits=(16, 2) help='The price negotiated by the partner' string='Membership Amount'
  • membership_cancel Date
    compute='_compute_membership_cancel' help='Date on which membership has been cancelled' store=True string='Cancel Membership Date'
  • membership_start Date
    compute='_compute_membership_start' help='Date from which membership becomes active.' store=True string='Membership Start Date'
  • membership_state Selection
    compute='_compute_membership_state' help='It indicates the membership state.\n-Non Member: A partner who has not applied for any membership.\n-Cancelled Member: A member who has cancelled his membership.\n-Old Member: A member whose membership date has expired.\n-Waiting Member: A member who has applied for the membership and whose invoice is going to be created.\n-Invoiced Member: A member whose invoice has been created.\n-Paying member: A member who has paid the membership fee.' store=True string='Current Membership Status' args: membership.STATE
  • membership_stop Date
    compute='_compute_membership_stop' help='Date until which membership remains active.' store=True string='Membership End Date'
Public methods (1)
  • create_membership_invoice(self, product_id=None, datas=None)
    @api.multi
    Create Customer Invoice of Membership for partners. @param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership. datas = {'membership_product_id': None, 'amount': None}
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/9.0/membership
VERSION
VERSION 0.1
CATEGORY
CATEGORYSales
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Josse Colpaert, Denis Ledoux, Christophe Simonis, Xavier Morel, Richard Mathot, qdp-odoo, Géry Debongnie, Aaron Bohy, Yannick Tivisse
WEBSITE
WEBSITEhttps://www.odoo.com/page/community-builder
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:48:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - account
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_tree Membership products product.template tree New
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_pivot report.membership.pivot report.membership pivot New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/8.0/membership
VERSION
VERSION 0.1
CATEGORY
CATEGORYAssociation
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Randhir Mayatra (OpenERP), Stephane Wirtel, Odoo Translation Bot, Christophe Matthieu, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Tejas Tank, Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Denis Ledoux, Fabien Meghazi, Christophe Simonis, Xavier Morel, Goffin Simon, Nicolas Martinelli, Nicolas Lempereur, Géry Debongnie, Darshan Kalola (OpenERP Trainee), Aaron Bohy, bth-openerp, Richard Mathot (OpenERP), ged-odoo, Gery Debongnie, Randhir Mayatra rma-openerp, Darshan Kalola (OpenERP), Darshan Kalola
WEBSITE
WEBSITEhttps://www.odoo.com/page/community-builder
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:45:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - account
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.template search New
membership_products_form Membership Products product.template form New
membership_products_tree Membership products product.template tree New
product_template_form_view Membership Products product.template field Inherits product.product_template_form_view
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_search report.membership.search report.membership search New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/7.0/membership
VERSION
VERSION 0.1
CATEGORY
CATEGORYAssociation
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Jagdish Panchal (Open ERP), Twinkle Christian (OpenERP), Cecile Tonglet, Rucha (Open ERP), Atul Patel (OpenERP), Randhir Mayatra (OpenERP), Stephane Wirtel, Odoo Translation Bot, Turkesh Patel (Open ERP), Numerigraphe - Lionel Sausin, Benoit Guillot, DBR (OpenERP), Harry (OpenERP), Antonin Bourguignon, Martin Trigaux, Ajay Chauhan (OpenERP), Bhumika (OpenERP), Purnendu Singh (OpenERP), Saurang Suthar (OpenERP), Fabien Pinckaers, Saurang Suthar, Olivier Dony, Twinkle (OpenERP), Divyesh Makwana (Open ERP), Thibault Delavallée, Vo Minh Thu, Hardik, pso (OpenERP), Sbh (Openerp), Amit Patel (OpenERP), Launchpad Translations on behalf of openerp, vta vta@openerp.com, Quentin (OpenERP), Kuldeep Joshi (OpenERP), Nimesh (Open ERP), Denis Ledoux, Mayur Maheshwari (OpenERP), Jigar Amin - OpenERP, Sanjay Gohel (Open ERP), help, Khushboo Bhatt (Open ERP), Bhumi Thakkar (Open ERP), Cedric Snauwaert, Amit Patel, Vijaykumar Baladaniya, Chandni Machchhar (OpenERP), Niels Huylebroeck, Juan Rial
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:43:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - process
    - web
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - account
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

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.
    

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.product search New
membership_products_form Membership Products product.product form New
membership_products_tree Membership products product.product tree New
product_normal_form_view Membership Products product.product page Inherits product.product_normal_form_view
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_search report.membership.search report.membership search New
view_report_membership_tree1 report.membership.tree report.membership tree New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/6.1/membership
VERSION
VERSION 0.1
CATEGORY
CATEGORYAssociation
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Stephane Wirtel, DBR (OpenERP), Fabien Pinckaers, Antony Lesuisse, Meera Trambadia (OpenERP), Olivier Dony, Divyesh Makwana (Open ERP), Vo Minh Thu, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Kuldeep Joshi (OpenERP), vro, niv-openerp, Xavier Morel, Khushboo Bhatt (Open ERP), Thibault Francois, Carlos Vásquez, ksa (Open ERP), Els Van Vossel, Israel Fermin Montilla, ARA (OpenERP), mtr, Tejas (OpenERP), RME (OpenERP), RavishchanraMurari (Open ERP)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:41:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - process
    - decimal_precision
    - account
    - base_setup
    - analytic
    - board
    - edi
    - email_template
    - mail
    - base_tools
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to manage all operations for managing memberships.
=========================================================================

It supports different kind of members:
* Free member
* Associated member (eg.: 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.
    

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
membership_members_tree Members res.partner tree New
membership_product_search_form_view membership.product.search.form product.product search New
membership_products_form Membership Products product.product form New
membership_products_tree Membership products product.product tree New
product_normal_form_view Membership Products product.product page Inherits product.product_normal_form_view
view_membership_invoice_view membership.invoice.view.form membership.invoice form New
view_partner_form res.partner.form.inherit res.partner notebook Inherits base.view_partner_form
view_partner_tree res.partner.tree.form.inherit res.partner tree Inherits base.view_partner_tree
view_product_form_inherit1 product.normal.form product.product field Inherits product.product_normal_form_view
view_report_membership_graph1 report.membership.graph1 report.membership graph New
view_report_membership_search report.membership.search report.membership search New
view_report_membership_tree1 report.membership.tree report.membership tree New
view_res_partner_member_filter res.partner.select res.partner search New
Models touched (0)

No models found for this module.