OdooWiki OCA HUB
Cooperative management License: AGPL-3

Manage cooperators of a cooperative.

A basic flow can be the following:

  • Create subscription request for a person (moral or physical)
  • Validate subscription request, a capital release request (an invoice: account.move). This invoice is sent to the future cooperator.
  • Payment of the cooperator is registered and the capital Release request is marked as paid.
  • A new cooperator (a special partner) is created, and the right type and amount of share is linked to this new cooperator.
  • The new cooperator appears in the Cooperator Registry.

Features:

  • Manage several share types
  • Manage share subscription request
  • Cooperators can be individuals or companies
  • Get an up to date Cooperator Registry
  • See shares of a cooperator on the partner view
  • Manage departure of cooperators
  • Manage conversion between different share type
  • Send automatic mail to the future cooperator during the procedure
  • Can be used with multi-company configuration
  • Generate Cooperator Certificate and several reports about cooperators

Configurations:

  • on the company, set a default payment term for the capital release requests.
  • on the company, set the cooperator account.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Manage cooperative members and their shares: register subscription requests, issue capital release invoices, record share lines, and keep an up-to-date cooperator registry with certificates and share operations.

This module turns Odoo into a light cooperative membership system. Contacts can be flagged as cooperators, candidates or former members, and each one gets a cooperative membership record with a unique cooperator number, share totals and effective date.

  • Share types are ordinary products marked as shares, with short names, minimum quantities and rules on whether companies or individuals may subscribe.
  • Subscription requests are validated and turned into a capital release invoice (account.move); when that invoice is paid, the person automatically becomes an effective cooperator, share lines are created and a subscription register entry is recorded.
  • A Cooperator Registry report and a certificate report can be printed, and confirmation, certificate, capital release, waiting list and share update emails can be sent automatically using configurable mail templates.
  • Share operations (transfer, sell back, conversion) are handled through operation requests with approval, validation and execution steps, updating share lines and sending notification emails.
  • Settings on the company control the maximum subscription amount, default payment term, default country and language, whether a user account is created for new cooperators, and whether ID card upload and various approval checkboxes are shown.

The module extends contacts, products, invoices, payments, journals and company settings, and adds menus for subscription requests, operations, the register and the cooperator registry.

Menus it adds

CooperatorsShare ManagementSubscriptionsRegister PaymentOperation RequestRegistersSubscription RegisterCooperator RegisterContactsCooperatorsCooperator CandidatesCompany RepresentativesReportingConfigurationSettingsShare typeMail Templates
Models and fields (18)
  • share.line · new modelcompany_id (Company), partner_id (Cooperator), share_number (Number of Share), effective_date, share_product_id (Share type), share_short_name (Share type name), share_unit_price (Share price), total_amount_line (Total amount line), company_currency_id (Company Currency)
  • res.company · extends an existing modellogo_url (logo url), create_user (Create user for cooperator), bottom_logo1 (Bottom logo 1), bottom_logo2 (Bottom logo 2), display_logo1 (Display logo 1), display_logo2 (Display logo 2), signature_scan (Board representative signature), default_lang_id (Default lang), unmix_share_type (Unmix share type), coop_email_contact (Contact email address for the cooperator), default_country_id (Default country), allow_id_card_upload (Allow ID Card upload), board_representative (Board representative name), send_certificate_email (Send certificate email), send_confirmation_email (Send confirmation email), send_share_update_email, send_waiting_list_email (Send Waiting List email), subscription_journal_id, data_policy_approval_text, send_share_transfer_email, send_capital_release_email (Send Capital Release email), generic_rules_approval_text, property_cooperator_account (Cooperator Account), subscription_maximum_amount (Maximum authorised subscription amount), display_data_policy_approval, financial_risk_approval_text, internal_rules_approval_text, data_policy_approval_required (Is data policy approval required?), display_generic_rules_approval, display_financial_risk_approval
  • res.partner · extends an existing modeltype, share_ids (Share Lines), legal_form (Legal form), representative (Legal Representative), company_register_number, subscription_request_ids (Subscription request), cooperative_membership_id, cooperative_membership_ids, representative_of_member_company (Legal Representative of Member Company)
  • account.move · extends an existing modelsubscription_request (Subscription request), release_capital_request (Release of capital request)
  • mail.template · extends an existing modelis_cooperator_template (Cooperator mail template)
  • account.journal · extends an existing modelget_general_payment (Get general payments?), get_cooperator_payment (Get cooperator payments?)
  • account.payment · extends an existing model
  • product.template · extends an existing modelis_share (Is share?), by_company (Can be subscribed by companies?), short_name (Short name), by_individual (Can be subscribed by individuals?), force_min_qty (Force minimum quantity?), mail_template (Mail template), minimum_quantity (Minimum quantity), display_on_website (Display on website), default_share_product (Default share product)
  • account.move.line · extends an existing model
  • operation.request · new modelstate, invoice, user_id (Responsible), quantity (Number of share), company_id (Company), partner_id (Cooperator), request_date (Request date), partner_id_to (Transfered to), effective_date (Effective date), operation_type, share_product_id (Share type), share_short_name (Share type name), share_unit_price (Share price), receiver_not_member (Receiver is not a member), share_to_product_id (Convert to this share type), share_to_short_name (Share to type name), share_to_unit_price (Share to price), subscription_amount (Operation amount), subscription_request (Share Receiver Info)
  • res.config.settings · extends an existing modellogo_url, create_user, bottom_logo1, bottom_logo2, display_logo1, display_logo2, signature_scan, lang_id_default, unmix_share_type, coop_email_contact, country_id_default, allow_id_card_upload, board_representative, send_certificate_email, send_confirmation_email, send_share_update_email, send_waiting_list_email, subscription_journal_id, data_policy_approval_text, send_share_transfer_email, send_capital_release_email, generic_rules_approval_text, property_cooperator_account, subscription_maximum_amount, display_data_policy_approval, financial_risk_approval_text, internal_rules_approval_text, data_policy_approval_required, display_generic_rules_approval, display_financial_risk_approval
  • subscription.request · new modelcity, date (Subscription date request), iban (Account Number), lang (Language), name, type, email, phone, state, active, gender, source, address, user_id (Responsible), lastname (Last name), zip_code, birthdate (Date of birth), firstname (First name), company_id (Company), country_id (Country), is_company (Is a company), partner_id (Cooperator), company_name (Company name), company_type (Company type), is_operation (Is an operation), same_address (Same address), company_email (Company email), is_valid_iban (Valid IBAN?), ordered_parts (Number of Share), activities_city (Activities city)
  • subscription.register · new modeldate (Subscription Date), name (Number Operation), type (Operation Type), user_id (Responsible), quantity (Number of share), company_id (Company), partner_id (Cooperator), quantity_to (Number of share to), partner_id_to (Transfered to), share_product_id (Share type), share_short_name (Share type name), share_unit_price (Share price), total_amount_line (Total amount line), company_currency_id (Company Currency), share_to_product_id (Share to type), share_to_short_name (Share to type name), share_to_unit_price (Share to price), register_number_operation
  • account.invoice.report · extends an existing modelrelease_capital_request (Release capital request)
  • cooperative.membership · new modelname, email, member (Effective cooperator), share_ids (Share Lines), company_id (Company), cooperator, is_company, old_member (Old cooperator), partner_id, total_value (Total value of shares), coop_candidate (Cooperator candidate), effective_date, cooperator_type, number_of_share (Number of share), data_policy_approved (Approved Data Policy), generic_rules_approved (Approved generic rules), financial_risk_approved (Approved Financial Risk), internal_rules_approved (Approved Internal Rules), subscription_request_ids (Subscription request), cooperator_register_number (Cooperator Number)
  • share.line.update.info · new modelcooperator (Cooperator), share_line (Share line), effective_date (effective date)
  • partner.create.subscription · new modelemail, share_qty (Share Quantity), company_id (Company), cooperator, is_company (Is company?), bank_account (Bank account), share_product (Share Type), register_number (Register Company Number), share_unit_price (Share price), subscription_amount (Subscription amount), representative_email (Representative email), representative_lastname (Representative last name), representative_firstname (Representative first name)
  • validate.subscription.request · new model

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/cooperative.

terminal Installation and usage

OCA documentation · Odoo 16.0

See the documentation (not available in english ATM).

A localization module is needed with this module.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.