This module manages mass requests and the planning of masses. Mass requests can be created manually or from a donation.
This module has an impact on accounting: * a mass request in waiting or started state is considered as a stock from an accounting point of view.
- when a mass is celebrated, i.e. when the mass is validated in Odoo,
an account move is automatically generated to move the amount of the donation associed to the mass line from the stock account to the revenue account.
When a donation is validated with a mass in one of the donation lines, a new mass request is automatically created and the account move associated to the donation will send the amount of that donation line to a stock account. When the mass is celebrated, i.e. when the mass is validated in Odoo, an accounting entry is generated from the stock account to a revenue account.
This module also allows to transfer masses to an external celebrant. When validating the mass transfer, a journal entry is created that moves the corresponding donation amount from the mass stock account to the payable account of the external celebrant.
This module has been developped by the Barroux Abbey which is a French Catholic Abbey. It is specific to the management of christian masses.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Manage mass requests and plan the celebration of masses. When a donation includes a mass product, a mass request is created automatically and the amount is held in a stock account until the mass is celebrated, when it is moved to revenue.
This module adds a complete workflow for handling mass intentions on top of the Donation module.
- On a donation line, you can pick a celebrant, a requested celebration date and an intention when the product is a mass product. Validating the donation automatically creates a mass request for each mass line.
- Mass requests are tracked in their own menu with states Waiting, Started, Transfered and Done. Each request shows the donor, the mass product, the offering, the remaining quantity and the remaining offering.
- A mass request can be transferred to an external celebrant through a transfer document, which generates a journal entry moving the offering from the stock account to the celebrant's payable account.
- Masses are planned with the Generate Masses Journal wizard, which assigns mass lines to available celebrants for a given date, and validated with the Validate Masses Journal wizard, which creates the accounting entry moving amounts from the stock account to the income account.
- A Swap Celebrants wizard lets you exchange the celebrant between two mass lines of the same date.
- Configuration is done in Settings: mass stock account, mass validation journal and whether moves are posted automatically. Products can be flagged as mass products with a mass request type, and partners can be marked as internal or external celebrants.
- Reports include the Mass Request Transfer and the Masses Journal.
Depends on
Menus it adds
Models and fields (14)
- mass.line · new modeldate (Celebration Date), state, move_id (Journal Entry), type_id, intention (Intention), company_id, partner_id (Donor), product_id, request_id (Mass Request), celebrant_id, request_date (Mass Request Date), conventual_id (Conventual), unit_offering (Offering), company_currency_id (Company Currency)
- res.company · extends an existing modelmass_post_move (Post Move), mass_stock_account_id, mass_validation_journal_id
- res.partner · extends an existing modelcelebrant
- mass.request · new modelstate, type_id (Mass Request Type), line_ids (Mass Lines), offering, quantity, intention, company_id, partner_id (Donor), product_id (Mass Product), donation_id (Related Donation), transfer_id (Transfer Operation), celebrant_id, request_date (Celebration Requested Date), donation_date, mass_quantity (Total Mass Quantity), uninterrupted, unit_offering (Offering per Mass), donation_line_id (Related Donation Line), stock_account_id, remaining_offering, company_currency_id (Company Currency), mass_remaining_quantity
- donation.line · extends an existing modelintention, celebrant_id, mass_request_ids (Masses), mass_request_date (Celebration Requested Date)
- swap.celebrant · new modelline_ids (Mass Lines to Swap)
- product.template · extends an existing modeldonation_type, mass_request_type_id
- donation.donation · extends an existing modelmass_request_ids (Masses), mass_request_count (# of Mass Requests)
- mass.request.type · new modelcode (Mass Request Code), name (Mass Request Type), quantity, uninterrupted
- religious.community · new modelname (Community Code), active, long_name (Community Name)
- res.config.settings · extends an existing modelmass_post_move, mass_stock_account_id, mass_validation_journal_id
- mass.journal.generate · new modeljournal_date, celebrant_ids (List of celebrants)
- mass.journal.validate · new modelend_date, company_id, start_date
- mass.request.transfer · new modelstate, number (Transfer Number), move_id (Journal Entry), company_id, mass_total (Total Mass Quantity), amount_total, celebrant_id, transfer_date, mass_request_ids (Mass Requests), company_currency_id (Company Currency)
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/vertical-abbey.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0- create a partner for each celebrant with the option Celebrant set to Internal.
- if you transfer masses to an external celebrant, create a corresponding partner with Celebrant set to External.
- check the configuration of the Mass Request Types that have been automatically created by the module.
- check the configuration of the Mass Products that have been automatically created by the module. The revenue account of the mass product is used when the mass journal is validated.
- on the Donation configuration page, configure the stock account for the celebrated mass and the account journal that will be used for the accounting entries generated when a mass is validated.
Usage
Source · Odoo 18.0When you create a new donation line, if you select a mass product, you can specify the mass intention. If the donor wants the mass to be celebrated by a particular celebrant, you can also specify a celebrant on the donation line (otherwise, leave empty). If the donor wants the mass to be celebrated at a particular date, you can also specify a Celebration Requested Date on the donation line (otherwise, leave empty).
When the donation is validated, the mass request is automatically created. You can jump on it via an icon/button at the top right of the donation form view.
You can also create mass requests manually from the menu Donation > Mass > Mass Requests.
Then, start the wizard Generate Masses Journal to generate the masses for a particular date. You can print a report that display the list of masses with the associated celebrant, donor and intention. When it is confirmed that the masses for that day have been celebrated, start the wizard Validate Masses Journal to validate the masses ; you won't be able to modify the masses any more.
If you want to transfer mass requests to an external celebrant with the associated donations, create a new mass requests transfer. When you validate the mass request transfer, it will generate the corresponding accounting entries ; with these accounting entries, you will be able to generate the payment of the corresponding donations to the external celebrant.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.