| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/18.0/donation |
| VERSION | |
| VERSION | 1.3.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Weblate, OCA-git-bot, oca-ci, TB-Ph35, David Brühlmeier |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/donation |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/donation: - donation_base odoo/odoo: - account - base_setup - base - web - onboarding - product - 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 handles donations by cash, check or by credit transfer and generate the corresponding journal entries and tax receipts. To fully support donations by credit transfer, if you are using the OCA bank statement reconcile interface, you also need the module **donation_bank_statement_oca**. This module will assist you in writing a thanks letter. This module also supports in-kind donations (in-kind donations don't generate any accounting entry but can generate a tax receipt). |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_payment_method_line_tree |
donation.account.payment.method.line.list | account.payment.method.line | field | Inherits account.view_account_payment_method_line_tree |
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_search |
donation.campaign.search | donation.campaign | search | New |
donation_campaign_tree |
donation.campaign.list | donation.campaign | list | New |
donation_form |
donation.form | donation.donation | form | New |
donation_from_bank_statement_line_form |
Creation Donation from Bank Statement Line form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.list | donation.line | list | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.list | donation.report | list | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_thanks_template_form |
donation.thanks.template | form | New | |
donation_thanks_template_search |
donation.thanks.template | search | New | |
donation_thanks_template_tree |
donation.thanks.template | list | New | |
donation_tree |
donation.list | donation.donation | list | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
report_donation_thanks |
report_donation_thanks | ir.ui.view | qweb | New |
res_config_settings_donation |
donation.res.config.settings.form | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
view_partner_property_form |
donation.button.res.partner.form | res.partner | button | Inherits donation_base.view_partner_property_form |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | field | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
business_domain
Selection
ondelete={'donation': 'cascade'}
selection_add=[('donation', 'Donation')]
No public methods.
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'bank_statement_line_id'
No public methods.
donation
Boolean
help='If enabled, this payment method will be available on donations'
No public methods.
active
Boolean
default=True
code
Char
company_id
Many2one → res.company
ondelete='cascade'
args: 'res.company'
name
Char
required=True
note
Text
sequence
Integer
default=10
start_date
Date
default=fields.Date.context_today
No public methods.
amount_total
Monetary
compute='_compute_total'
currency_field='currency_id'
store=True
tracking=True
amount_total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
string='Amount Total in Company Currency'
bank_statement_line_id
Many2one → account.bank.statement.line
ondelete='restrict'
readonly=True
string='Source Bank Statement Line'
args: 'account.bank.statement.line'
campaign_id
Many2one → donation.campaign
check_company=True
default=<expr>
ondelete='restrict'
string='Donation Campaign'
tracking=True
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
string='Check Amount'
tracking=True
commercial_partner_id
Many2one
index=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
store=True
args: 'res.country'
currency_id
Many2one → res.currency
default=<expr>
ondelete='restrict'
required=True
tracking=True
args: 'res.currency'
donation_date
Date
index=True
required=True
tracking=True
line_ids
One2many → donation.line
copy=True
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
check_company=True
copy=False
readonly=True
string='Journal Entry'
args: 'account.move'
number
Char
copy=False
default=<expr>
index=True
readonly=True
required=True
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
string='Donor'
tracking=True
args: 'res.partner'
payment_method_line_id
Many2one → account.payment.method.line
check_company=True
default=<expr>
domain="[('company_id', '=', company_id), ('donation', '=', True)]"
string='Payment Method'
tracking=True
args: 'account.payment.method.line'
payment_ref
Char
copy=False
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
tracking=True
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
check_company=True
copy=False
readonly=True
tracking=True
args: 'donation.tax.receipt'
tax_receipt_option
Selection
compute='_compute_tax_receipt_option'
index=True
precompute=True
readonly=False
store=True
tracking=True
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
thanks_printed
Boolean
copy=False
help='This field automatically becomes active when the thanks letter has been printed.'
tracking=True
thanks_template_id
Many2one → donation.thanks.template
copy=False
ondelete='restrict'
args: 'donation.thanks.template'
cancel2draft(self)
create(self, vals_list)
done2cancel(self)
generate_each_tax_receipt(self)
print_thanks(self)
save_as_draft(self)
save_default_values(self)
tax_receipt_option_change(self)
thanks_printed_button(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
currency_field='currency_id'
store=True
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
store=True
string='Amount in Company Currency'
company_currency_id
Many2one
related='donation_id.company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one
related='donation_id.company_id'
store=True
currency_id
Many2one
related='donation_id.currency_id'
store=True
donation_id
Many2one → donation.donation
ondelete='cascade'
args: 'donation.donation'
in_kind
Boolean
compute='_compute_in_kind'
store=True
product_donation_type
Selection
related='product_id.donation_type'
store=True
string='Product Type donation'
product_id
Many2one → product.product
check_company=True
domain=[('donation_type', '!=', False)]
ondelete='restrict'
required=True
args: 'product.product'
quantity
Integer
default=1
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
args: 'donation.campaign', 'Donation Campaign'
company_currency_id
Many2one → res.currency
readonly=True
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
args: 'res.company'
country_id
Many2one → res.country
readonly=True
args: 'res.country', 'Partner Country'
donation_date
Date
readonly=True
in_kind
Boolean
partner_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Donor'
payment_method_line_id
Many2one → account.payment.method.line
readonly=True
args: 'account.payment.method.line'
product_categ_id
Many2one → product.category
readonly=True
args: 'product.category', 'Category of Product'
product_donation_type
Selection
related='product_id.donation_type'
store=True
product_id
Many2one → product.product
readonly=True
args: 'product.product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
thanks_printed
Boolean
readonly=True
thanks_template_id
Many2one → donation.thanks.template
readonly=True
string='Thanks Template'
args: 'donation.thanks.template'
init(self)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, company)
donation_id
Many2one → donation.donation
default=<expr>
required=True
string='Donation'
args: 'donation.donation'
new_tax_receipt_option
Selection
required=True
string='Tax Receipt Option'
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
switch(self)
active
Boolean
default=True
company_id
Many2one → res.company
default=<expr>
ondelete='cascade'
args: 'res.company'
image
Binary
attachment=True
name
Char
required=True
sequence
Integer
default=10
text
Text
translate=True
No public methods.
No new fields.
Public methods (1)run(self)
donation_account_id
Many2one → account.account
check_company=True
copy=False
help='Transfer account for donations received by credit transfer. '
ondelete='restrict'
string='Donation by Credit Transfer Account'
args: 'account.account'
donation_credit_transfer_product_id
Many2one → product.product
check_company=True
domain=[('donation_type', '!=', False)]
ondelete='restrict'
string='Product for Donations via Credit Transfer'
args: 'product.product'
No public methods.
donation_account_id
Many2one
domain="[('reconcile', '=', True), ('deprecated', '=', False), ('company_ids', 'in', company_id), ('account_type', '=', 'asset_current')]"
readonly=False
related='company_id.donation_account_id'
donation_credit_transfer_product_id
Many2one
readonly=False
related='company_id.donation_credit_transfer_product_id'
group_donation_check_total
Boolean
implied_group='donation.group_donation_check_total'
string='Check Total on Donations'
No public methods.
donation_count
Integer
compute='_compute_donation_count'
compute_sudo=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
context_donation_payment_method_line_id
Many2one → account.payment.method.line
company_dependent=True
domain=[('donation', '=', True)]
args: 'account.payment.method.line', 'Current Donation Payment Method'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/16.0/donation |
| VERSION | |
| VERSION | 2.2.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/donation |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:58 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_mode OCA/donation: - donation_base odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_payment_mode_form |
donation.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search | |
account_payment_mode_tree |
donation.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_search |
donation.campaign.search | donation.campaign | search | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_from_bank_statement_line_form |
Creation Donation from Bank Statement Line form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.tree | donation.report | tree | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_thanks_template_form |
donation.thanks.template | form | New | |
donation_thanks_template_search |
donation.thanks.template | search | New | |
donation_thanks_template_tree |
donation.thanks.template | tree | New | |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
report_donation_thanks |
report_donation_thanks | ir.ui.view | qweb | New |
res_config_settings_donation |
donation.res.config.settings.form | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
view_partner_property_form |
donation.button.res.partner.form | res.partner | button | Inherits donation_base.view_partner_property_form |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | field | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
business_domain
Selection
ondelete={'donation': 'cascade'}
selection_add=[('donation', 'Donation')]
No public methods.
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'bank_statement_line_id'
No public methods.
donation
Boolean
help='If enabled, this payment mode will be available on donations'
donation_change(self)
active
Boolean
default=True
code
Char
company_id
Many2one → res.company
ondelete='cascade'
args: 'res.company'
name
Char
required=True
note
Text
sequence
Integer
default=10
start_date
Date
default=fields.Date.context_today
name_get(self)
name_search(self, name='', args=None, operator='ilike', limit=100)
amount_total
Monetary
compute='_compute_total'
currency_field='currency_id'
store=True
tracking=True
amount_total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
string='Amount Total in Company Currency'
bank_statement_line_id
Many2one → account.bank.statement.line
ondelete='restrict'
readonly=True
string='Source Bank Statement Line'
args: 'account.bank.statement.line'
campaign_id
Many2one → donation.campaign
check_company=True
default=<expr>
ondelete='restrict'
string='Donation Campaign'
tracking=True
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
states={'done': [('readonly', True)]}
string='Check Amount'
tracking=True
commercial_partner_id
Many2one
index=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
store=True
args: 'res.country'
currency_id
Many2one → res.currency
default=<expr>
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
tracking=True
args: 'res.currency'
donation_date
Date
index=True
required=True
states={'done': [('readonly', True)]}
tracking=True
line_ids
One2many → donation.line
copy=True
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
check_company=True
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
copy=False
default=<expr>
index=True
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
tracking=True
args: 'res.partner'
payment_mode_id
Many2one → account.payment.mode
check_company=True
default=<expr>
domain="[('company_id', '=', company_id), ('donation', '=', True)]"
states={'done': [('readonly', True)]}
tracking=True
args: 'account.payment.mode'
payment_ref
Char
copy=False
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
tracking=True
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
check_company=True
copy=False
readonly=True
tracking=True
args: 'donation.tax.receipt'
tax_receipt_option
Selection
compute='_compute_tax_receipt_option'
index=True
precompute=True
readonly=False
states={'done': [('readonly', True)]}
store=True
tracking=True
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
thanks_printed
Boolean
copy=False
help='This field automatically becomes active when the thanks letter has been printed.'
tracking=True
thanks_template_id
Many2one → donation.thanks.template
copy=False
ondelete='restrict'
args: 'donation.thanks.template'
cancel2draft(self)
create(self, vals_list)
done2cancel(self)
generate_each_tax_receipt(self)
name_get(self)
print_thanks(self)
save_as_draft(self)
save_default_values(self)
tax_receipt_option_change(self)
thanks_printed_button(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
currency_field='currency_id'
store=True
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
store=True
string='Amount in Company Currency'
company_currency_id
Many2one
related='donation_id.company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one
related='donation_id.company_id'
store=True
currency_id
Many2one
related='donation_id.currency_id'
store=True
donation_id
Many2one → donation.donation
ondelete='cascade'
args: 'donation.donation'
in_kind
Boolean
compute='_compute_in_kind'
store=True
product_detailed_type
Selection
related='product_id.detailed_type'
store=True
string='Product Type'
product_id
Many2one → product.product
check_company=True
domain=[('detailed_type', 'like', 'donation')]
ondelete='restrict'
required=True
args: 'product.product'
quantity
Integer
default=1
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
args: 'donation.campaign', 'Donation Campaign'
company_currency_id
Many2one → res.currency
readonly=True
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
args: 'res.company'
country_id
Many2one → res.country
readonly=True
args: 'res.country', 'Partner Country'
donation_date
Date
readonly=True
in_kind
Boolean
partner_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Donor'
payment_mode_id
Many2one → account.payment.mode
readonly=True
args: 'account.payment.mode'
product_categ_id
Many2one → product.category
readonly=True
args: 'product.category', 'Category of Product'
product_detailed_type
Selection
related='product_id.detailed_type'
store=True
product_id
Many2one → product.product
readonly=True
args: 'product.product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
thanks_printed
Boolean
readonly=True
thanks_template_id
Many2one → donation.thanks.template
readonly=True
string='Thanks Template'
args: 'donation.thanks.template'
init(self)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, company)
donation_id
Many2one → donation.donation
default=<expr>
required=True
string='Donation'
args: 'donation.donation'
new_tax_receipt_option
Selection
required=True
string='Tax Receipt Option'
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
switch(self)
active
Boolean
default=True
company_id
Many2one → res.company
default=<expr>
ondelete='cascade'
string='Company'
args: 'res.company'
image
Binary
attachment=True
name
Char
required=True
sequence
Integer
default=10
text
Text
translate=True
No public methods.
No new fields.
Public methods (1)run(self)
donation_account_id
Many2one → account.account
check_company=True
copy=False
help='Transfer account for donations received by credit transfer. '
ondelete='restrict'
string='Donation by Credit Transfer Account'
args: 'account.account'
donation_credit_transfer_product_id
Many2one → product.product
domain=[('detailed_type', '=', 'donation')]
ondelete='restrict'
string='Product for Donations via Credit Transfer'
args: 'product.product'
company_donation_bank_statement_check(self)
donation_account_id
Many2one
domain="[('reconcile', '=', True), ('deprecated', '=', False), ('company_id', '=', company_id), ('account_type', '=', 'asset_current')]"
readonly=False
related='company_id.donation_account_id'
donation_credit_transfer_product_id
Many2one
readonly=False
related='company_id.donation_credit_transfer_product_id'
group_donation_check_total
Boolean
implied_group='donation.group_donation_check_total'
string='Check Total on Donations'
No public methods.
donation_count
Integer
compute='_compute_donation_count'
compute_sudo=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
context_donation_payment_mode_id
Many2one → account.payment.mode
company_dependent=True
domain=[('donation', '=', True)]
args: 'account.payment.mode', 'Current Donation Payment Mode'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/14.0/donation |
| VERSION | |
| VERSION | 1.8.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, GitHub, Enric Tobella, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/donation |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:11 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_mode OCA/donation: - donation_base odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_payment_mode_form |
donation.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_tree |
donation.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
donation_base.view_partner_property_form |
New | |||
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_search |
donation.campaign.search | donation.campaign | search | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.tree | donation.report | tree | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_thanks_template_form |
donation.thanks.template | form | New | |
donation_thanks_template_search |
donation.thanks.template | search | New | |
donation_thanks_template_tree |
donation.thanks.template | tree | New | |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
report_donation_thanks |
report_donation_thanks | ir.ui.view | qweb | New |
res_config_settings_donation |
donation.res.config.settings.form | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
view_account_journal_form |
donation.account.journal.form | account.journal | field | Inherits account.view_account_journal_form |
view_bank_statement_form |
donation.bank.statement.bank_statement_form | account.bank.statement | div | Inherits account.view_bank_statement_form |
view_bank_statement_line_form |
donation.bank.statement.line.form | account.bank.statement.line | xpath | Inherits account.view_bank_statement_line_form |
view_partner_form |
donation.button.res.partner.form | res.partner | button | Inherits donation_base.view_partner_property_form |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | field | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
donation_count
Integer
compute='_compute_donation_count'
compute_sudo=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'bank_statement_id'
button_validate(self)
create_donations(self)
show_donations(self)
donation_ids
One2many → donation.donation
string='Donations'
args: 'donation.donation', 'bank_statement_line_id'
No public methods.
donation_account_id
Many2one → account.account
check_company=True
copy=False
domain="[('reconcile', '=', True), ('deprecated', '=', False), ('company_id', '=', company_id), ('id', 'not in', (default_account_id, suspense_account_id, payment_credit_account_id, payment_debit_account_id))]"
help="Transfer account for donations received by credit transfer. Leave empty if you don't receive donations on this bank account."
ondelete='restrict'
string='Donation by Credit Transfer Account'
args: 'account.account'
No public methods.
donation
Boolean
help='If enabled, this payment mode will be available on donations'
string='Donation'
donation_change(self)
active
Boolean
default=True
code
Char
company_id
Many2one → res.company
ondelete='cascade'
string='Company'
args: 'res.company'
name
Char
required=True
args: 'Name'
note
Text
sequence
Integer
default=10
start_date
Date
default=fields.Date.context_today
args: 'Start Date'
name_get(self)
name_search(self, name='', args=None, operator='ilike', limit=100)
amount_total
Monetary
compute='_compute_total'
currency_field='currency_id'
readonly=True
store=True
string='Amount Total'
tracking=True
amount_total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
readonly=True
store=True
string='Amount Total in Company Currency'
bank_statement_id
Many2one
related='bank_statement_line_id.statement_id'
store=True
string='Bank Statement'
bank_statement_line_id
Many2one → account.bank.statement.line
ondelete='restrict'
readonly=True
string='Source Bank Statement Line'
args: 'account.bank.statement.line'
campaign_id
Many2one → donation.campaign
check_company=True
default=<expr>
ondelete='restrict'
string='Donation Campaign'
tracking=True
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
states={'done': [('readonly', True)]}
string='Check Amount'
tracking=True
commercial_partner_id
Many2one
index=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
string='Company'
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
readonly=True
store=True
string='Country'
args: 'res.country'
currency_id
Many2one → res.currency
default=<expr>
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Currency'
tracking=True
args: 'res.currency'
donation_date
Date
index=True
required=True
states={'done': [('readonly', True)]}
string='Donation Date'
tracking=True
line_ids
One2many → donation.line
copy=True
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
check_company=True
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
copy=False
default=<expr>
index=True
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
tracking=True
args: 'res.partner'
payment_mode_id
Many2one → account.payment.mode
check_company=True
default=<expr>
domain="[('company_id', '=', company_id), ('donation', '=', True)]"
states={'done': [('readonly', True)]}
string='Payment Mode'
tracking=True
args: 'account.payment.mode'
payment_ref
Char
copy=False
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
string='State'
tracking=True
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
check_company=True
copy=False
readonly=True
string='Tax Receipt'
tracking=True
args: 'donation.tax.receipt'
tax_receipt_option
Selection
index=True
states={'done': [('readonly', True)]}
string='Tax Receipt Option'
tracking=True
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
thanks_printed
Boolean
copy=False
help='This field automatically becomes active when the thanks letter has been printed.'
string='Thanks Printed'
tracking=True
thanks_template_id
Many2one → donation.thanks.template
copy=False
ondelete='restrict'
string='Thanks Template'
args: 'donation.thanks.template'
auto_install_l10n(self)
cancel2draft(self)
create(self, vals)
done2cancel(self)
generate_each_tax_receipt(self)
name_get(self)
partner_id_change(self)
print_thanks(self)
save_default_values(self)
tax_receipt_option_change(self)
thanks_printed_button(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
currency_field='currency_id'
store=True
string='Amount'
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
store=True
string='Amount in Company Currency'
analytic_account_id
Many2one → account.analytic.account
check_company=True
ondelete='restrict'
args: 'account.analytic.account', 'Analytic Account'
company_currency_id
Many2one → res.currency
related='donation_id.company_id.currency_id'
string='Company Currency'
args: 'res.currency'
company_id
Many2one
related='donation_id.company_id'
store=True
currency_id
Many2one → res.currency
related='donation_id.currency_id'
args: 'res.currency'
donation_id
Many2one → donation.donation
ondelete='cascade'
args: 'donation.donation', 'Donation'
in_kind
Boolean
related='product_id.in_kind_donation'
store=True
string='In Kind'
product_id
Many2one → product.product
check_company=True
domain=[('donation', '=', True)]
ondelete='restrict'
required=True
args: 'product.product', 'Product'
quantity
Integer
default=1
args: 'Quantity'
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
string='Unit Price'
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
args: 'donation.campaign', 'Donation Campaign'
company_currency_id
Many2one → res.currency
readonly=True
string='Company Currency'
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
country_id
Many2one → res.country
readonly=True
args: 'res.country', 'Partner Country'
donation_date
Date
readonly=True
args: 'Donation Date'
in_kind
Boolean
partner_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Donor'
payment_mode_id
Many2one → account.payment.mode
readonly=True
string='Payment Mode'
args: 'account.payment.mode'
product_categ_id
Many2one → product.category
readonly=True
args: 'product.category', 'Category of Product'
product_id
Many2one → product.product
readonly=True
args: 'product.product', 'Product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
thanks_printed
Boolean
readonly=True
string='Thanks Printed'
thanks_template_id
Many2one → donation.thanks.template
readonly=True
string='Thanks Template'
args: 'donation.thanks.template'
init(self)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, company)
donation_id
Many2one → donation.donation
default=<expr>
required=True
string='Donation'
args: 'donation.donation'
new_tax_receipt_option
Selection
required=True
string='Tax Receipt Option'
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
switch(self)
active
Boolean
default=True
company_id
Many2one → res.company
default=<expr>
ondelete='cascade'
string='Company'
args: 'res.company'
image
Binary
attachment=True
name
Char
required=True
sequence
Integer
default=10
text
Text
translate=True
No public methods.
No new fields.
Public methods (1)run(self)
donation_credit_transfer_product_id
Many2one → product.product
domain=[('donation', '=', True)]
ondelete='restrict'
string='Product for Donations via Credit Transfer'
args: 'product.product'
company_donation_bank_statement_check(self)
donation_credit_transfer_product_id
Many2one
readonly=False
related='company_id.donation_credit_transfer_product_id'
No public methods.
donation_count
Integer
compute='_compute_donation_count'
compute_sudo=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
context_donation_payment_mode_id
Many2one → account.payment.mode
company_dependent=True
domain=[('donation', '=', True)]
args: 'account.payment.mode', 'Current Donation Payment Mode'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/13.0/donation |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | oca-travis, Weblate, OCA-git-bot, Alba Riera |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/donation |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/donation: - donation_base odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.tree | donation.report | tree | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
view_account_journal_form |
donation.account.journal.form | account.journal | field | Inherits account.view_account_journal_form |
view_partner_form |
donation.button.res.partner.form | res.partner | field | Inherits base.view_partner_form |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | group | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
allow_donation
Boolean
donation_journal_type_change(self)
code
Char
name
Char
required=True
args: 'Name'
note
Text
start_date
Date
default=fields.Date.context_today
args: 'Start Date'
name_get(self)
amount_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount Total'
tracking=True
amount_total_company_currency
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount Total in Company Currency'
campaign_id
Many2one → donation.campaign
default=<expr>
ondelete='restrict'
states={'done': [('readonly', True)]}
string='Donation Campaign'
tracking=True
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
states={'done': [('readonly', True)]}
string='Check Amount'
tracking=True
commercial_partner_id
Many2one
compute_sudo=True
index=True
readonly=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
compute_sudo=True
readonly=True
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
string='Company'
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
compute_sudo=True
readonly=True
store=True
string='Country'
args: 'res.country'
currency_id
Many2one → res.currency
default=_default_currency
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Currency'
tracking=True
args: 'res.currency'
donation_date
Date
index=True
required=True
states={'done': [('readonly', True)]}
string='Donation Date'
tracking=True
journal_id
Many2one → account.journal
default=<expr>
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
required=True
states={'done': [('readonly', True)]}
string='Payment Method'
tracking=True
args: 'account.journal'
line_ids
One2many → donation.line
copy=True
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
readonly=True
related='move_id.name'
store=True
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
tracking=True
args: 'res.partner'
payment_ref
Char
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
string='State'
tracking=True
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
copy=False
readonly=True
string='Tax Receipt'
tracking=True
args: 'donation.tax.receipt'
tax_receipt_option
Selection
index=True
states={'done': [('readonly', True)]}
string='Tax Receipt Option'
tracking=True
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
auto_install_l10n(self)
cancel2draft(self)
done2cancel(self)
generate_each_tax_receipt(self)
name_get(self)
partner_id_change(self)
save_default_values(self)
tax_receipt_option_change(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount'
amount_company_currency
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
analytic_account_id
Many2one → account.analytic.account
ondelete='restrict'
args: 'account.analytic.account', 'Analytic Account'
company_currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.company_id.currency_id'
string='Company Currency'
args: 'res.currency'
currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.currency_id'
args: 'res.currency'
donation_id
Many2one → donation.donation
ondelete='cascade'
args: 'donation.donation', 'Donation'
in_kind
Boolean
compute_sudo=True
readonly=True
related='product_id.in_kind_donation'
store=True
string='In Kind'
product_id
Many2one → product.product
domain=[('donation', '=', True)]
ondelete='restrict'
required=True
args: 'product.product', 'Product'
quantity
Integer
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
compute_sudo=True
readonly=True
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
string='Unit Price'
get_analytic_account_id(self)
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
args: 'donation.campaign', 'Donation Campaign'
company_currency_id
Many2one → res.currency
readonly=True
string='Company Currency'
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
country_id
Many2one → res.country
readonly=True
args: 'res.country', 'Partner Country'
donation_date
Date
readonly=True
args: 'Donation Date'
in_kind
Boolean
partner_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Donor'
product_categ_id
Many2one → product.category
readonly=True
args: 'product.category', 'Category of Product'
product_id
Many2one → product.product
readonly=True
args: 'product.product', 'Product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
init(self)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, precision_rounding)
donation_id
Many2one → donation.donation
default=<expr>
args: 'donation.donation', 'Donation'
new_tax_receipt_option
Selection
required=True
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')], 'Tax Receipt Option'
switch(self)
No new fields.
Public methods (1)run(self)
donation_count
Integer
compute='_compute_donation_count'
readonly=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
context_donation_journal_id
Many2one → account.journal
company_dependent=True
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
args: 'account.journal', 'Current Donation Payment Method'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/12.0/donation |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, Jaime Arroyo, Yu Weng |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/donation |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:25 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/donation: - donation_base odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.tree | donation.report | tree | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
view_account_journal_form |
donation.account.journal.form | account.journal | field | Inherits account.view_account_journal_form |
view_partner_form |
donation.button.res.partner.form | res.partner | xpath | Inherits base.view_partner_form |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | group | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
allow_donation
Boolean
donation_journal_type_change(self)
code
Char
name
Char
required=True
args: 'Name'
note
Text
oldname='nota'
args: 'Notes'
start_date
Date
default=fields.Date.context_today
args: 'Start Date'
name_get(self)
amount_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount Total'
track_visibility='onchange'
amount_total_company_currency
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount Total in Company Currency'
campaign_id
Many2one → donation.campaign
default=<expr>
ondelete='restrict'
string='Donation Campaign'
track_visibility='onchange'
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
states={'done': [('readonly', True)]}
string='Check Amount'
track_visibility='onchange'
commercial_partner_id
Many2one
compute_sudo=True
index=True
readonly=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
compute_sudo=True
readonly=True
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
string='Company'
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
compute_sudo=True
readonly=True
store=True
string='Country'
args: 'res.country'
currency_id
Many2one → res.currency
default=_default_currency
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Currency'
track_visibility='onchange'
args: 'res.currency'
donation_date
Date
index=True
required=True
states={'done': [('readonly', True)]}
string='Donation Date'
track_visibility='onchange'
journal_id
Many2one → account.journal
default=<expr>
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
required=True
states={'done': [('readonly', True)]}
string='Payment Method'
track_visibility='onchange'
args: 'account.journal'
line_ids
One2many → donation.line
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
readonly=True
related='move_id.name'
store=True
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
track_visibility='onchange'
args: 'res.partner'
payment_ref
Char
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
string='State'
track_visibility='onchange'
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
copy=False
readonly=True
string='Tax Receipt'
track_visibility='onchange'
args: 'donation.tax.receipt'
tax_receipt_option
Selection
index=True
states={'done': [('readonly', True)]}
string='Tax Receipt Option'
track_visibility='onchange'
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
auto_install_l10n(self)
cancel2draft(self)
done2cancel(self)
generate_each_tax_receipt(self)
name_get(self)
partner_id_change(self)
save_default_values(self)
tax_receipt_option_change(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount'
amount_company_currency
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
analytic_account_id
Many2one → account.analytic.account
ondelete='restrict'
args: 'account.analytic.account', 'Analytic Account'
company_currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.company_id.currency_id'
string='Company Currency'
args: 'res.currency'
currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.currency_id'
args: 'res.currency'
donation_id
Many2one → donation.donation
ondelete='cascade'
args: 'donation.donation', 'Donation'
in_kind
Boolean
compute_sudo=True
readonly=True
related='product_id.in_kind_donation'
store=True
string='In Kind'
product_id
Many2one → product.product
domain=[('donation', '=', True)]
ondelete='restrict'
required=True
args: 'product.product', 'Product'
quantity
Integer
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
compute_sudo=True
readonly=True
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
string='Unit Price'
get_analytic_account_id(self)
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
args: 'donation.campaign', 'Donation Campaign'
company_currency_id
Many2one → res.currency
readonly=True
string='Company Currency'
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
country_id
Many2one → res.country
readonly=True
args: 'res.country', 'Partner Country'
donation_date
Date
readonly=True
args: 'Donation Date'
in_kind
Boolean
partner_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Donor'
product_categ_id
Many2one → product.category
readonly=True
args: 'product.category', 'Category of Product'
product_id
Many2one → product.product
readonly=True
args: 'product.product', 'Product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
init(self)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, precision_rounding)
donation_id
Many2one → donation.donation
default=<expr>
args: 'donation.donation', 'Donation'
new_tax_receipt_option
Selection
required=True
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')], 'Tax Receipt Option'
switch(self)
No new fields.
Public methods (1)run(self)
donation_count
Integer
compute='_compute_donation_count'
readonly=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
context_donation_journal_id
Many2one → account.journal
company_dependent=True
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
args: 'account.journal', 'Current Donation Payment Method'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/11.0/donation |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | GitHub, OCA Transbot, oca-travis, Nikul Chaudhary, tbaden |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/donation |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:24:02 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/donation: - donation_base odoo/odoo: - account_invoicing - account - base_setup - base - web - product - decimal_precision - bus - web_tour - analytic - web_planner - portal - http_routing |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.tree | donation.report | tree | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
view_account_journal_form |
donation.account.journal.form | account.journal | Inherits account.view_account_journal_form | |
view_partner_form |
donation.button.res.partner.form | res.partner | Inherits base.view_partner_form | |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | group | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
allow_donation
Boolean
donation_journal_type_change(self)
code
Char
name
Char
required=True
args: 'Name'
nota
Text
start_date
Date
default=fields.Date.context_today
args: 'Start Date'
name_get(self)
amount_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount Total'
track_visibility='onchange'
amount_total_company_currency
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount Total in Company Currency'
campaign_id
Many2one → donation.campaign
default=<expr>
ondelete='restrict'
string='Donation Campaign'
track_visibility='onchange'
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
states={'done': [('readonly', True)]}
string='Check Amount'
track_visibility='onchange'
commercial_partner_id
Many2one
compute_sudo=True
index=True
readonly=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
compute_sudo=True
readonly=True
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
string='Company'
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
compute_sudo=True
readonly=True
store=True
string='Country'
args: 'res.country'
currency_id
Many2one → res.currency
default=_default_currency
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Currency'
track_visibility='onchange'
args: 'res.currency'
donation_date
Date
index=True
required=True
states={'done': [('readonly', True)]}
string='Donation Date'
track_visibility='onchange'
journal_id
Many2one → account.journal
default=<expr>
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
required=True
states={'done': [('readonly', True)]}
string='Payment Method'
track_visibility='onchange'
args: 'account.journal'
line_ids
One2many → donation.line
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
readonly=True
related='move_id.name'
store=True
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
track_visibility='onchange'
args: 'res.partner'
payment_ref
Char
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
string='State'
track_visibility='onchange'
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
copy=False
readonly=True
string='Tax Receipt'
track_visibility='onchange'
args: 'donation.tax.receipt'
tax_receipt_option
Selection
index=True
states={'done': [('readonly', True)]}
string='Tax Receipt Option'
track_visibility='onchange'
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
auto_install_l10n(self)
cancel2draft(self)
done2cancel(self)
generate_each_tax_receipt(self)
name_get(self)
partner_id_change(self)
save_default_values(self)
tax_receipt_option_change(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount'
amount_company_currency
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
analytic_account_id
Many2one → account.analytic.account
ondelete='restrict'
args: 'account.analytic.account', 'Analytic Account'
company_currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.company_id.currency_id'
args: 'res.currency'
currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.currency_id'
args: 'res.currency'
donation_id
Many2one → donation.donation
ondelete='cascade'
args: 'donation.donation', 'Donation'
in_kind
Boolean
compute_sudo=True
readonly=True
related='product_id.in_kind_donation'
store=True
string='In Kind'
product_id
Many2one → product.product
domain=[('donation', '=', True)]
ondelete='restrict'
required=True
args: 'product.product', 'Product'
quantity
Integer
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
compute_sudo=True
readonly=True
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
string='Unit Price'
get_analytic_account_id(self)
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
args: 'donation.campaign', 'Donation Campaign'
company_currency_id
Many2one → res.currency
readonly=True
string='Company Currency'
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
args: 'res.company', 'Company'
country_id
Many2one → res.country
readonly=True
args: 'res.country', 'Partner Country'
donation_date
Date
readonly=True
args: 'Donation Date'
in_kind
Boolean
partner_id
Many2one → res.partner
readonly=True
args: 'res.partner', 'Donor'
product_categ_id
Many2one → product.category
readonly=True
args: 'product.category', 'Category of Product'
product_id
Many2one → product.product
readonly=True
args: 'product.product', 'Product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
init(self)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, precision_rounding)
donation_id
Many2one → donation.donation
default=<expr>
args: 'donation.donation', 'Donation'
new_tax_receipt_option
Selection
required=True
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')], 'Tax Receipt Option'
switch(self)
No new fields.
Public methods (1)run(self)
donation_count
Integer
compute='_compute_donation_count'
readonly=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
context_donation_journal_id
Many2one → account.journal
company_dependent=True
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
args: 'account.journal', 'Current Donation Payment Method'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/10.0/donation |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis |
| WEBSITE | |
| WEBSITE | http://www.barroux.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:20:02 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/donation: - donation_base odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - web_tour - report - analytic - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
donation_base.view_partner_form |
New | |||
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.tree | donation.report | tree | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
view_account_journal_form |
donation.account.journal.form | account.journal | Inherits account.view_account_journal_form | |
view_partner_form |
donation.button.res.partner.form | res.partner | Inherits base.view_partner_form | |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | group | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
allow_donation
Boolean
string='Donation Payment Method'
donation_journal_type_change(self)
code
Char
size=10
string='Code'
name
Char
required=True
string='Name'
nota
Text
string='Notes'
start_date
Date
default=fields.Date.context_today
string='Start Date'
name_get(self)
amount_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount Total'
track_visibility='onchange'
amount_total_company_currency
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount Total in Company Currency'
campaign_id
Many2one → donation.campaign
default=<expr>
ondelete='restrict'
string='Donation Campaign'
track_visibility='onchange'
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
states={'done': [('readonly', True)]}
string='Check Amount'
track_visibility='onchange'
commercial_partner_id
Many2one
compute_sudo=True
index=True
readonly=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
compute_sudo=True
readonly=True
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
string='Company'
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
compute_sudo=True
readonly=True
store=True
string='Country'
args: 'res.country'
currency_id
Many2one → res.currency
default=_default_currency
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Currency'
track_visibility='onchange'
args: 'res.currency'
donation_date
Date
index=True
required=True
states={'done': [('readonly', True)]}
string='Donation Date'
track_visibility='onchange'
journal_id
Many2one → account.journal
default=<expr>
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
required=True
states={'done': [('readonly', True)]}
string='Payment Method'
track_visibility='onchange'
args: 'account.journal'
line_ids
One2many → donation.line
copy=True
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
readonly=True
related='move_id.name'
size=64
store=True
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
track_visibility='onchange'
args: 'res.partner'
payment_ref
Char
size=32
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
string='State'
track_visibility='onchange'
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
copy=False
readonly=True
string='Tax Receipt'
track_visibility='onchange'
args: 'donation.tax.receipt'
tax_receipt_option
Selection
index=True
states={'done': [('readonly', True)]}
string='Tax Receipt Option'
track_visibility='onchange'
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
compute_sudo=True
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
auto_install_l10n(self)
cancel2draft(self)
done2cancel(self)
generate_each_tax_receipt(self)
name_get(self)
partner_id_change(self)
save_default_values(self)
tax_receipt_option_change(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='currency_id'
readonly=True
store=True
string='Amount'
amount_company_currency
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
analytic_account_id
Many2one → account.analytic.account
ondelete='restrict'
string='Analytic Account'
args: 'account.analytic.account'
company_currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.company_id.currency_id'
args: 'res.currency'
currency_id
Many2one → res.currency
compute_sudo=True
readonly=True
related='donation_id.currency_id'
args: 'res.currency'
donation_id
Many2one → donation.donation
ondelete='cascade'
string='Donation'
args: 'donation.donation'
in_kind
Boolean
compute_sudo=True
readonly=True
related='product_id.in_kind_donation'
store=True
string='In Kind'
product_id
Many2one → product.product
domain=[('donation', '=', True)]
ondelete='restrict'
required=True
string='Product'
args: 'product.product'
quantity
Integer
default=1
string='Quantity'
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
compute_sudo=True
currency_field='company_currency_id'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
compute_sudo=True
readonly=True
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
string='Unit Price'
get_analytic_account_id(self)
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
string='Donation Campaign'
args: 'donation.campaign'
company_currency_id
Many2one → res.currency
readonly=True
string='Company Currency'
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
string='Company'
args: 'res.company'
country_id
Many2one → res.country
readonly=True
string='Partner Country'
args: 'res.country'
donation_date
Date
readonly=True
string='Donation Date'
in_kind
Boolean
string='In Kind'
partner_id
Many2one → res.partner
readonly=True
string='Donor'
args: 'res.partner'
product_categ_id
Many2one → product.category
readonly=True
string='Category of Product'
args: 'product.category'
product_id
Many2one → product.product
readonly=True
string='Product'
args: 'product.product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
string='Eligible for a Tax Receipt'
init(self)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, precision_rounding)
donation_id
Many2one → donation.donation
default=<expr>
string='Donation'
args: 'donation.donation'
new_tax_receipt_option
Selection
required=True
string='Tax Receipt Option'
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
switch(self)
No new fields.
Public methods (1)run(self)
donation_count
Integer
compute='_compute_donation_count'
readonly=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
string='Current Donation Campaign'
args: 'donation.campaign'
context_donation_journal_id
Many2one → account.journal
company_dependent=True
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
string='Current Donation Payment Method'
args: 'account.journal'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/9.0/donation |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Pedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, Stefan Becker |
| WEBSITE | |
| WEBSITE | http://www.barroux.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:24 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/donation: - donation_base odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - report - analytic - web_tip - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_pivot |
donation.pivot | donation.donation | pivot | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_pivot |
donation.report.pivot | donation.report | pivot | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_report_tree |
donation.report.tree | donation.report | tree | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tax_receipt_form |
donation.donation.tax.receipt.form | donation.tax.receipt | group | Inherits donation_base.donation_tax_receipt_form |
donation_tax_receipt_option_switch_form |
donation_tax_receipt_option_switch.form | donation.tax.receipt.option.switch | form | New |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
view_account_journal_form |
donation.account.journal.form | account.journal | Inherits account.view_account_journal_form | |
view_partner_form |
donation.button.res.partner.form | res.partner | Inherits base.view_partner_form | |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | group | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
allow_donation
Boolean
string='Donation Payment Method'
donation_journal_type_change(self)
code
Char
size=10
string='Code'
display_name
Char
compute='_compute_display_name_field'
readonly=True
store=True
string='Display Name'
name
Char
required=True
string='Name'
nota
Text
string='Notes'
start_date
Date
default=fields.Date.context_today
string='Start Date'
No public methods.
amount_total
Monetary
compute='_compute_total'
currency_field='currency_id'
readonly=True
store=True
string='Amount Total'
track_visibility='onchange'
amount_total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
readonly=True
store=True
string='Amount Total in Company Currency'
campaign_id
Many2one → donation.campaign
default=<expr>
ondelete='restrict'
string='Donation Campaign'
track_visibility='onchange'
args: 'donation.campaign'
check_total
Monetary
currency_field='currency_id'
states={'done': [('readonly', True)]}
string='Check Amount'
track_visibility='onchange'
commercial_partner_id
Many2one
index=True
readonly=True
related='partner_id.commercial_partner_id'
store=True
string='Parent Donor'
company_currency_id
Many2one
readonly=True
related='company_id.currency_id'
store=True
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
string='Company'
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
copy=False
readonly=True
store=True
string='Country'
args: 'res.country'
currency_id
Many2one → res.currency
default=_default_currency
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Currency'
track_visibility='onchange'
args: 'res.currency'
display_name
Char
compute='_compute_display_name_field'
readonly=True
string='Display Name'
donation_date
Date
index=True
required=True
states={'done': [('readonly', True)]}
string='Donation Date'
track_visibility='onchange'
journal_id
Many2one → account.journal
default=<expr>
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
required=True
states={'done': [('readonly', True)]}
string='Payment Method'
track_visibility='onchange'
args: 'account.journal'
line_ids
One2many → donation.line
copy=True
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
readonly=True
related='move_id.name'
size=64
store=True
string='Donation Number'
partner_id
Many2one → res.partner
index=True
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
track_visibility='onchange'
args: 'res.partner'
payment_ref
Char
size=32
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
index=True
readonly=True
string='State'
track_visibility='onchange'
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
tax_receipt_id
Many2one → donation.tax.receipt
copy=False
readonly=True
string='Tax Receipt'
track_visibility='onchange'
args: 'donation.tax.receipt'
tax_receipt_option
Selection
index=True
states={'done': [('readonly', True)]}
string='Tax Receipt Option'
track_visibility='onchange'
args: [('none', 'None'), ('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
tax_receipt_total
Monetary
compute='_compute_total'
currency_field='company_currency_id'
help='Eligible Tax Receipt Sub-total in Company Currency'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
auto_install_l10n(self)
cancel2draft(self)
done2cancel(self)
generate_each_tax_receipt(self)
partner_id_change(self)
save_default_values(self)
tax_receipt_option_change(self)
unlink(self)
validate(self)
amount
Monetary
compute='_compute_amount'
currency_field='currency_id'
readonly=True
store=True
string='Amount'
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
analytic_account_id
Many2one → account.analytic.account
domain=[('account_type', '!=', 'closed')]
ondelete='restrict'
string='Analytic Account'
args: 'account.analytic.account'
company_currency_id
Many2one → res.currency
readonly=True
related='donation_id.company_id.currency_id'
args: 'res.currency'
currency_id
Many2one → res.currency
readonly=True
related='donation_id.currency_id'
args: 'res.currency'
donation_id
Many2one → donation.donation
ondelete='cascade'
string='Donation'
args: 'donation.donation'
in_kind
Boolean
readonly=True
related='product_id.in_kind_donation'
store=True
string='In Kind'
product_id
Many2one → product.product
domain=[('donation', '=', True)]
ondelete='restrict'
required=True
string='Product'
args: 'product.product'
quantity
Integer
default=1
string='Quantity'
sequence
Integer
tax_receipt_amount
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
readonly=True
store=True
string='Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
readonly=True
related='product_id.tax_receipt_ok'
store=True
unit_price
Monetary
currency_field='currency_id'
string='Unit Price'
get_analytic_account_id(self)
product_id_change(self)
amount_company_currency
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Amount'
campaign_id
Many2one → donation.campaign
readonly=True
string='Donation Campaign'
args: 'donation.campaign'
company_currency_id
Many2one → res.currency
readonly=True
string='Company Currency'
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
string='Company'
args: 'res.company'
country_id
Many2one → res.country
readonly=True
string='Partner Country'
args: 'res.country'
donation_date
Date
readonly=True
string='Donation Date'
in_kind
Boolean
string='In Kind'
partner_id
Many2one → res.partner
readonly=True
string='Donor'
args: 'res.partner'
product_categ_id
Many2one → product.category
readonly=True
string='Category of Product'
args: 'product.category'
product_id
Many2one → product.product
readonly=True
string='Product'
args: 'product.product'
tax_receipt_amount
Monetary
currency_field='company_currency_id'
readonly=True
args: 'Tax Receipt Eligible Amount'
tax_receipt_ok
Boolean
string='Eligible for a Tax Receipt'
init(self, cr)
donation_ids
One2many → donation.donation
string='Related Donations'
args: 'donation.donation', 'tax_receipt_id'
update_tax_receipt_annual_dict(self, tax_receipt_annual_dict, start_date, end_date, precision_rounding)
donation_id
Many2one → donation.donation
default=<expr>
string='Donation'
args: 'donation.donation'
new_tax_receipt_option
Selection
required=True
string='Tax Receipt Option'
args: [('each', 'For Each Donation'), ('annual', 'Annual Tax Receipt')]
switch(self)
No new fields.
Public methods (1)run(self)
donation_count
Integer
compute='_compute_donation_count'
readonly=True
string='# of Donations'
donation_ids
One2many → donation.donation
readonly=True
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
string='Current Donation Campaign'
args: 'donation.campaign'
context_donation_journal_id
Many2one → account.journal
company_dependent=True
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
string='Current Donation Payment Method'
args: 'account.journal'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/donation |
| GIT | |
| GIT | https://github.com/OCA/donation.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/donation/tree/8.0/donation |
| VERSION | |
| VERSION | 0.1.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Barroux Abbey |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Alexis de Lattre, Stéphane Bidoul (ACSONE), Frère Bernard |
| WEBSITE | |
| WEBSITE | http://www.barroux.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account_accountant - account_voucher - account - base_setup - base - web_kanban - web - product - decimal_precision - report - analytic - board - edi - email_template |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
donation_campaign_form |
donation.campaign.form | donation.campaign | form | New |
donation_campaign_tree |
donation.campaign.tree | donation.campaign | tree | New |
donation_form |
donation.form | donation.donation | form | New |
donation_graph |
donation.graph | donation.donation | graph | New |
donation_line_form |
donation.line.form | donation.line | form | New |
donation_line_tree |
donation.line.tree | donation.line | tree | New |
donation_report_graph |
donation.report.graph | donation.report | graph | New |
donation_report_search |
donation.report.search | donation.report | search | New |
donation_search |
donation.search | donation.donation | search | New |
donation_tree |
donation.tree | donation.donation | tree | New |
donation_validate_form |
donation_validate.form | donation.validate | form | New |
product_template_form_view |
donation.product.template.form | product.template | div | Inherits product.product_template_form_view |
product_template_search_view |
donation.product.template.search | product.template | filter | Inherits product.product_template_search_view |
view_account_journal_form |
donation.account.journal.form | account.journal | Inherits account.view_account_journal_form | |
view_partner_form |
donation.button.res.partner.form | res.partner | Inherits base.view_partner_form | |
view_users_form |
donation.res.users.form | res.users | group | Inherits base.view_users_form |
view_users_form_simple_modif |
donation.preferences.res.users.form | res.users | group | Inherits base.view_users_form_simple_modif |
No HTTP endpoints found for this module.
allow_donation
Boolean
string='Donation Payment Method'
No public methods.
code
Char
size=10
string='Code'
display_name
Char
compute='_compute_display_name'
readonly=True
store=True
string='Display Name'
name
Char
required=True
string='Name'
nota
Text
string='Notes'
start_date
Date
default=fields.Date.context_today
string='Start Date'
No public methods.
amount_total
Float
compute='_compute_total'
digits=dp.get_precision('Account')
readonly=True
store=True
string='Amount Total'
amount_total_company_currency
Float
compute='_compute_total'
digits=dp.get_precision('Account')
readonly=True
store=True
string='Amount Total in Company Currency'
campaign_id
Many2one → donation.campaign
default=<expr>
ondelete='restrict'
string='Donation Campaign'
track_visibility='onchange'
args: 'donation.campaign'
check_total
Float
digits=dp.get_precision('Account')
states={'done': [('readonly', True)]}
string='Check Amount'
track_visibility='onchange'
company_currency_id
Many2one
readonly=True
related='company_id.currency_id'
string='Company Currency'
company_id
Many2one → res.company
default=<expr>
required=True
states={'done': [('readonly', True)]}
string='Company'
args: 'res.company'
country_id
Many2one → res.country
compute='_compute_country_id'
copy=False
readonly=True
store=True
string='Country'
args: 'res.country'
currency_id
Many2one → res.currency
default=_default_currency
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Currency'
track_visibility='onchange'
args: 'res.currency'
display_name
Char
compute='_compute_display_name'
readonly=True
string='Display Name'
donation_date
Date
required=True
states={'done': [('readonly', True)]}
string='Donation Date'
track_visibility='onchange'
journal_id
Many2one → account.journal
default=<expr>
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
required=True
states={'done': [('readonly', True)]}
string='Payment Method'
track_visibility='onchange'
args: 'account.journal'
line_ids
One2many → donation.line
copy=True
states={'done': [('readonly', True)]}
string='Donation Lines'
args: 'donation.line', 'donation_id'
move_id
Many2one → account.move
copy=False
readonly=True
string='Account Move'
args: 'account.move'
number
Char
readonly=True
related='move_id.name'
size=64
store=True
string='Donation Number'
partner_id
Many2one → res.partner
ondelete='restrict'
required=True
states={'done': [('readonly', True)]}
string='Donor'
track_visibility='onchange'
args: 'res.partner'
payment_ref
Char
size=32
states={'done': [('readonly', True)]}
string='Payment Reference'
state
Selection
copy=False
default='draft'
readonly=True
string='State'
track_visibility='onchange'
args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
cancel2draft(self)
done2cancel(self)
partner_id_change(self)
save_default_values(self)
unlink(self)
validate(self)
amount
Float
compute='_compute_amount'
digits=dp.get_precision('Account')
store=True
string='Amount'
amount_company_currency
Float
compute='_compute_amount_company_currency'
digits=dp.get_precision('Account')
store=True
string='Amount in Company Currency'
analytic_account_id
Many2one → account.analytic.account
domain=[('type', 'not in', ('view', 'template'))]
ondelete='restrict'
string='Analytic Account'
args: 'account.analytic.account'
donation_id
Many2one → donation.donation
ondelete='cascade'
string='Donation'
args: 'donation.donation'
in_kind
Boolean
string='In Kind'
product_id
Many2one → product.product
domain=[('donation', '=', True)]
ondelete='restrict'
required=True
string='Product'
args: 'product.product'
quantity
Integer
default=1
string='Quantity'
sequence
Integer
unit_price
Float
digits=dp.get_precision('Account')
string='Unit Price'
get_analytic_account_id(self)
product_id_change(self)
amount_company_currency
Float
readonly=True
args: 'Amount Company Currency'
campaign_id
Many2one → donation.campaign
readonly=True
string='Donation Campaign'
args: 'donation.campaign'
company_id
Many2one → res.company
readonly=True
string='Company'
args: 'res.company'
country_id
Many2one → res.country
readonly=True
string='Partner Country'
args: 'res.country'
donation_date
Date
readonly=True
string='Donation Date'
in_kind
Boolean
string='In Kind'
partner_id
Many2one → res.partner
readonly=True
string='Donor'
args: 'res.partner'
product_categ_id
Many2one → product.category
readonly=True
string='Category of Product'
args: 'product.category'
product_id
Many2one → product.product
readonly=True
string='Product'
args: 'product.product'
init(self, cr)
No new fields.
Public methods (1)run(self)
No new fields.
Public methods (0)No public methods.
donation
Boolean
help='Specify if the product can be selected in a donation line.'
string='Is a Donation'
in_kind_donation
Boolean
string='In-Kind Donation'
No public methods.
donation_count
Integer
compute='_donation_count'
readonly=True
string='# of Donations'
donation_ids
One2many → donation.donation
string='Donations'
args: 'donation.donation', 'partner_id'
No public methods.
context_donation_campaign_id
Many2one → donation.campaign
string='Current Donation Campaign'
args: 'donation.campaign'
context_donation_journal_id
Many2one → account.journal
company_dependent=True
domain=[('type', 'in', ('bank', 'cash')), ('allow_donation', '=', True)]
string='Current Donation Payment Method'
args: 'account.journal'
No public methods.