diff --git a/donation/README.rst b/donation/README.rst new file mode 100644 index 00000000..af2d2412 --- /dev/null +++ b/donation/README.rst @@ -0,0 +1,150 @@ +======== +Donation +======== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:78b9e7ee3023d661a6d8e3cdf6437ed367d544769741db1292b88038e851686a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdonation-lightgray.png?logo=github + :target: https://github.com/OCA/donation/tree/18.0/donation + :alt: OCA/donation +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/donation-18-0/donation-18-0-donation + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/donation&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +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). + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + + - create donation products + - make sure you have an inbound payment method for each payment + method used to receive donations. This payment method must be + configured with *Link to Bank Account* set to *Fixed* and with the + donation option active. + - if you wish to have a control amount on the donation, add the + users to the group *Donation Check Total* + +If you receive donations via credit transfer, you must also: + +- in the configuration page *Invoicing > Configuration > Settings*, in + the *Donations* section, select the product that will be used for + donations by credit transfer. +- on the bank journals corresponding to the bank accounts on which you + receive donations by credit transfer, in the *Payments Configuration* + tab, select the *Donation by credit transfer account*. This account + must allow reconciliation. +- Make sure that the accountant that processes bank statements has + *User* access level or higher on the *Donation* application. + +Usage +===== + +This module handles donations by cash, check or by credit transfer: + +- for donation by cash or check, you should first create a new donation + and validate it. Then, if you have the module *account_check_deposit* + from the project + `OCA/account-financial-tools `__, + you can create a check deposit. +- for a donation by credit transfer, the process is different: import + your bank statement file and, while processing it, you will see a + donation button that allow you to create a new donation directly from + the bank statement reconcile interface. + +When you validate a donation: + +- it will create a journal entry that goes directly from the revenue + account to the payment account without going through a receivable + account. +- if the tax receipt option of the donor is configured as *For Each + Donation* and the product of the donation line is eligible to a tax + receipt, it will generate the tax receipt. + +To have some statistics about the donations, go to the menu Donation > +Reporting > Donations Analysis. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Barroux Abbey +* Akretion + +Contributors +------------ + +- Brother Bernard +- Brother Irénée (Barroux Abbey) +- Alexis de Lattre +- Serpent Consulting Services Pvt. Ltd. +- Nikul Chaudhary + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px + :target: https://github.com/alexis-via + :alt: alexis-via + +Current `maintainer `__: + +|maintainer-alexis-via| + +This module is part of the `OCA/donation `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/donation/__init__.py b/donation/__init__.py new file mode 100644 index 00000000..c761b8bc --- /dev/null +++ b/donation/__init__.py @@ -0,0 +1,4 @@ +from . import models +from . import report +from . import wizard +from .post_install import update_account_payment_method_line diff --git a/donation/__manifest__.py b/donation/__manifest__.py new file mode 100644 index 00000000..1131d3c6 --- /dev/null +++ b/donation/__manifest__.py @@ -0,0 +1,38 @@ +# Copyright 2014-2021 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2021 Akretion France +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Donation", + "version": "18.0.1.0.0", + "category": "Accounting", + "license": "AGPL-3", + "summary": "Manage donations", + "author": "Barroux Abbey, Akretion, Odoo Community Association (OCA)", + "maintainers": ["alexis-via"], + "website": "https://github.com/OCA/donation", + "depends": [ + "donation_base", + ], + "data": [ + "security/donation_security.xml", + "security/ir.model.access.csv", + "wizard/tax_receipt_option_switch_view.xml", + "wizard/donation_validate_view.xml", + "views/donation_tax_receipt.xml", + "views/donation.xml", + "wizard/res_config_settings.xml", + "data/donation_sequence.xml", + "views/account_payment_method_line.xml", + "views/donation_campaign.xml", + "views/donation_thanks_template.xml", + "views/res_users.xml", + "views/res_partner.xml", + "report/donation_report_view.xml", + "report/donation_thanks_view.xml", + "report/donation_thanks_report.xml", + ], + "post_init_hook": "update_account_payment_method_line", + "demo": ["demo/donation_demo.xml"], + "installable": True, +} diff --git a/donation/data/donation_sequence.xml b/donation/data/donation_sequence.xml new file mode 100644 index 00000000..e157953e --- /dev/null +++ b/donation/data/donation_sequence.xml @@ -0,0 +1,16 @@ + + + + + Donation + donation.donation + DON-%(year)s- + 4 + + + + diff --git a/donation/demo/donation_demo.xml b/donation/demo/donation_demo.xml new file mode 100644 index 00000000..aace5157 --- /dev/null +++ b/donation/demo/donation_demo.xml @@ -0,0 +1,24 @@ + + + + Q1 + Quest Christmas 2015 + + + P1 + Prospecting 2016 + + + C1 + Catalog Q1 2016 + + + + + + + + diff --git a/donation/i18n/de.po b/donation/i18n/de.po new file mode 100644 index 00000000..cb12bb5a --- /dev/null +++ b/donation/i18n/de.po @@ -0,0 +1,1293 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * donation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-01-26 15:41+0000\n" +"Last-Translator: kempleton \n" +"Language-Team: none\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.3\n" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_count +#: model:ir.model.fields,field_description:donation.field_res_users__donation_count +msgid "# of Donations" +msgstr "# an Spenden" + +#. module: donation +#: model:ir.actions.report,print_report_name:donation.report_thanks +msgid "" +"'donation_thanks-%s%s' % (object.number, object.state == 'draft' and '-" +"draft' or '')" +msgstr "" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_campaign_code_company_uniq +msgid "A campaign with the same code already exists!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to a tax receipt" +msgstr "" +"Eine abgebrochene Spende sollte nicht mit einer Spendenbescheinigung " +"verknüpft sein" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to an account move" +msgstr "" +"Abgebrochene Spenden sollten nicht mit einer Kontobewegung verknüpft sein" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_donation_bank_statement_line_uniq +msgid "A donation already exists for this bank statement line." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,help:donation.field_donation_report__product_detailed_type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__move_id +msgid "Account Move" +msgstr "Kontobewegung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__active +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__active +msgid "Active" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_ids +msgid "Activities" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_state +msgid "Activity State" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount +#: model:ir.model.fields,field_description:donation.field_donation_report__amount_company_currency +msgid "Amount" +msgstr "Betrag" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total +msgid "Amount Total" +msgstr "Gesamtbetrag" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total_company_currency +msgid "Amount Total in Company Currency" +msgstr "Gesamtbetrag in Unternehmenswährung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount_company_currency +msgid "Amount in Company Currency" +msgstr "Betrag in Unternehmenswährung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution +msgid "Analytic" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution_search +msgid "Analytic Distribution Search" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_account_analytic_applicability +msgid "Analytic Plan's Applicabilities" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_precision +msgid "Analytic Precision" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__annual +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__annual +msgid "Annual Tax Receipt" +msgstr "Sammelspendenbescheinigung" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_form +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_form +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_search +msgid "Archived" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Back to Draft" +msgstr "Zurücksetzen auf Entwurf" + +#. module: donation +#: model:ir.model,name:donation.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Campaign" +msgstr "Kampagne" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Cancel" +msgstr "Abbrechen" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__cancel +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Cancelled" +msgstr "Abgebrochen" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it doesn't have any lines!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it is not in draft state." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because the total amount is 0!" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__product_categ_id +msgid "Category of Product" +msgstr "Produktkategorie" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Change" +msgstr "Ändern" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_tax_receipt_option_switch_action +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Change Tax Receipt Option" +msgstr "Ändere Spendenbescheinigung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__check_total +msgid "Check Amount" +msgstr "Überprüfe Betrag" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_config_settings__group_donation_check_total +msgid "Check Total on Donations" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__code +msgid "Code" +msgstr "Code" + +#. module: donation +#: model:ir.model,name:donation.model_donation_campaign +msgid "Code attributed for a Donation Campaign" +msgstr "Code für eine Spendenkampagne" + +#. module: donation +#: model:ir.model,name:donation.model_res_company +msgid "Companies" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__company_id +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__company_id +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Company" +msgstr "Unternehmen" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_currency_id +msgid "Company Currency" +msgstr "Unternehmenswährung" + +#. module: donation +#: model:ir.model,name:donation.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_config_menu +msgid "Configuration" +msgstr "Konfiguration" + +#. module: donation +#: model:ir.model,name:donation.model_res_partner +msgid "Contact" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__country_id +msgid "Country" +msgstr "Land" + +#. module: donation +#: model:ir.ui.menu,name:donation.tax_receipt_annual_create_menu +msgid "Create Annual Receipts" +msgstr "Erstelle Sammelspendenbescheinigungen" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Create Donation from Bank Statement Line" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_date +#: model:ir.model.fields,field_description:donation.field_donation_line__create_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__currency_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Currency" +msgstr "Währung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_campaign_id +msgid "Current Donation Campaign" +msgstr "Aktuelle Spendenkampagne" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_payment_method_line_id +msgid "Current Donation Payment Mode" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Date" +msgstr "Datum" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__display_name +#: model:ir.model.fields,field_description:donation.field_donation_donation__display_name +#: model:ir.model.fields,field_description:donation.field_donation_line__display_name +#: model:ir.model.fields,field_description:donation.field_donation_report__display_name +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__display_name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__display_name +#: model:ir.model.fields,field_description:donation.field_donation_validate__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_account_analytic_applicability__business_domain +msgid "Domain" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_donation +#: model:ir.model.fields,field_description:donation.field_account_payment_method_line__donation +#: model:ir.model.fields,field_description:donation.field_donation_line__donation_id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__donation_id +#: model:ir.model.fields.selection,name:donation.selection__account_analytic_applicability__business_domain__donation +#: model:ir.module.category,name:donation.module_category_donation +#: model:ir.ui.menu,name:donation.donation_top_menu +#: model_terms:ir.ui.view,arch_db:donation.account_payment_method_line_search +#: model_terms:ir.ui.view,arch_db:donation.res_config_settings_donation +msgid "Donation" +msgstr "Spende" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Donation %(donation)s is linked to a bank statement line, but the Donation " +"by Credit Transfer Account is not set for company '%(company)s'. This should " +"never happen." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__campaign_id +#: model:ir.model.fields,field_description:donation.field_donation_report__campaign_id +msgid "Donation Campaign" +msgstr "Spendenkampagne" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_campaign_action +#: model:ir.ui.menu,name:donation.donation_campaign_menu +msgid "Donation Campaigns" +msgstr "Spendenkampagnen" + +#. module: donation +#: model:res.groups,name:donation.group_donation_check_total +msgid "Donation Check Total" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__donation_date +#: model:ir.model.fields,field_description:donation.field_donation_report__donation_date +msgid "Donation Date" +msgstr "Spendendatum" + +#. module: donation +#: model:ir.model,name:donation.model_donation_line +#: model:ir.model.fields,field_description:donation.field_donation_donation__line_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Donation Lines" +msgstr "Spendenzeile" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__number +msgid "Donation Number" +msgstr "Spendennummer" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_menu +msgid "Donation Tax Receipts" +msgstr "Spendenbescheinigung" + +#. module: donation +#: model:ir.model,name:donation.model_donation_thanks_template +msgid "Donation Thanks Letter Template" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_account_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_account_id +msgid "Donation by Credit Transfer Account" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "Donation payment mode '%s' is not an inbound payment mode." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "" +"Donation payment mode '%s' must be configured with 'Link to Bank Account' " +"set to 'Fixed'." +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_action +#: model:ir.actions.act_window,name:donation.partner_donation_action +#: model:ir.model.fields,field_description:donation.field_account_bank_statement_line__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_users__donation_ids +#: model:ir.ui.menu,name:donation.donation_menu +#: model:ir.ui.menu,name:donation.donation_title_menu +#: model_terms:ir.ui.view,arch_db:donation.view_partner_property_form +msgid "Donations" +msgstr "Spenden" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_report_action +#: model:ir.model,name:donation.model_donation_report +#: model:ir.ui.menu,name:donation.donation_report_menu +msgid "Donations Analysis" +msgstr "Spendenanalyse" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_line_action +msgid "Donations Lines" +msgstr "Spendenzeilen" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__done +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Done" +msgstr "Erledigt" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__partner_id +#: model:ir.model.fields,field_description:donation.field_donation_report__partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Donor" +msgstr "Spender" + +#. module: donation +#: model:ir.ui.menu,name:donation.donor +msgid "Donors" +msgstr "Spender" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__draft +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Draft" +msgstr "Entwurf" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__tax_receipt_total +msgid "Eligible Tax Receipt Sub-total in Company Currency" +msgstr "berechtigte Zwischensumme Spendenbescheinigung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_ok +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Eligible for a Tax Receipt" +msgstr "Geeignet für Spendenbescheinigung" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Error:" +msgstr "Fehler:" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Failed to get account for donation line with product '%s'." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__each +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__each +msgid "For Each Donation" +msgstr "Für jede Spende" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Full in-kind donation: no account move generated" +msgstr "komplette Sachspende: keine Kontobewegung generiert" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Group By" +msgstr "Gruppieren nach" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__has_message +msgid "Has Message" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__id +#: model:ir.model.fields,field_description:donation.field_donation_donation__id +#: model:ir.model.fields,field_description:donation.field_donation_line__id +#: model:ir.model.fields,field_description:donation.field_donation_report__id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__id +#: model:ir.model.fields,field_description:donation.field_donation_validate__id +msgid "ID" +msgstr "ID" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_account_payment_method_line__donation +msgid "If enabled, this payment mode will be available on donations" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__image +msgid "Image" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__in_kind +#: model:ir.model.fields,field_description:donation.field_donation_report__in_kind +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "In Kind" +msgstr "Sachspende" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_ok +msgid "Is Eligible for a Tax Receipt" +msgstr "Ist geeignet für Spendenbescheinigung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign____last_update +#: model:ir.model.fields,field_description:donation.field_donation_donation____last_update +#: model:ir.model.fields,field_description:donation.field_donation_line____last_update +#: model:ir.model.fields,field_description:donation.field_donation_report____last_update +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch____last_update +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template____last_update +#: model:ir.model.fields,field_description:donation.field_donation_validate____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert von" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_date +#: model:ir.model.fields,field_description:donation.field_donation_line__write_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Lines" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: donation +#: model:ir.module.category,description:donation.module_category_donation +msgid "Manage donations" +msgstr "Verwalte Spenden" + +#. module: donation +#: model:res.groups,name:donation.group_donation_manager +msgid "Manager" +msgstr "Manager" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark all selected donation as Thanks Printed?" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark as Thanks Printed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_ids +msgid "Messages" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Missing Outstanding Receipts Account on company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Missing Product for Donations via Credit Transfer for company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"Missing inbound payment mode linked to the bank journal '%s' configured with " +"'Link to Bank Account' set to 'Fixed'." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__name +msgid "Name" +msgstr "Name" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +msgid "Name or Code" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "New" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__none +msgid "None" +msgstr "Keine" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__note +msgid "Notes" +msgstr "Notizen" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%(line)s', the amount (%(amount)s) is negative so it " +"cannot be processed as a donation." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%s', the partner is required to process a donation." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/res_company.py:0 +#, python-format +msgid "" +"On the company %(company)s, the Product for Donations via Credit Transfer " +"(%(product)s) is not a donation product !" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Other Information" +msgstr "Weitere Informationen" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__commercial_partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Parent Donor" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Partner" +msgstr "Parnter" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__country_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Partner Country" +msgstr "Partner Land" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_method_line_id +#: model:ir.model.fields,field_description:donation.field_donation_report__payment_method_line_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Payment Mode" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Payment Mode is not set on donation %s (only fully in-kind donations don't " +"require a payment mode)." +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.account_payment_method_line_donation_action +#: model:ir.model,name:donation.model_account_payment_method_line +#: model:ir.ui.menu,name:donation.account_payment_method_line_donation_menu +msgid "Payment Modes" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_ref +msgid "Payment Reference" +msgstr "Zahlungsreferenz" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_print_menu +msgid "Print Receipts" +msgstr "Drucke Bescheinigung" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Print Thanks Letter" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_id +#: model:ir.model.fields,field_description:donation.field_donation_report__product_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product" +msgstr "Produkt" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Category" +msgstr "Produktkategorie" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,field_description:donation.field_donation_report__product_detailed_type +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Type" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_credit_transfer_product_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_credit_transfer_product_id +msgid "Product for Donations via Credit Transfer" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_product_action +#: model:ir.ui.menu,name:donation.donation_products +msgid "Products" +msgstr "Produkte" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__quantity +msgid "Quantity" +msgstr "Menge" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt__donation_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_form +msgid "Related Donations" +msgstr "Verbundene Spenden" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_report_title_menu +msgid "Reporting" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Save Default Values" +msgstr "Speicher Default Werte" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Save as Draft" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__sequence +#: model:ir.model.fields,field_description:donation.field_donation_line__sequence +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__sequence +msgid "Sequence" +msgstr "Reihenfolge" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_settings_action +#: model:ir.ui.menu,name:donation.donation_settings_menu +msgid "Settings" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__bank_statement_line_id +msgid "Source Bank Statement Line" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__tax_receipt_ok +msgid "Specify if the product is eligible for a tax receipt" +msgstr "" +"Spezifizieren Sie hier, ob dieses Produkt für die Erstellung einer " +"Spendenbescheinigung geeignet ist" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__start_date +msgid "Start Date" +msgstr "Anfangsdatum" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__state +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "State" +msgstr "Status" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt_option_switch +msgid "Switch Donation Tax Receipt Option" +msgstr "Ändere Spendenbescheinigung" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_id +#: model_terms:ir.ui.view,arch_db:donation.donation_line_tree +msgid "Tax Receipt" +msgstr "Steuerbeleg" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_total +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_amount +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_amount +msgid "Tax Receipt Eligible Amount" +msgstr "Berechtigter Spendenbescheinigungsbetrag" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_option +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__new_tax_receipt_option +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Tax Receipt Option" +msgstr "Spendenbescheinigung" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt +msgid "Tax Receipt for Donations" +msgstr "Steuerbeleg für Spenden" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_title_menu +msgid "Tax Receipts" +msgstr "Spendenbescheinigungen" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__text +msgid "Text" +msgstr "" + +#. module: donation +#: model:ir.actions.report,name:donation.report_thanks +msgid "Thanks Letter" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_thanks_template_action +#: model:ir.ui.menu,name:donation.donation_thanks_template_menu +msgid "Thanks Letter Templates" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_printed +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_printed +msgid "Thanks Printed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_template_id +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_template_id +msgid "Thanks Template" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Thanks to Print" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The Donation by Credit Transfer Account '%(account)s' for company " +"'%(company)s' is not reconciliable. This should never happen." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "The Donation by Credit Transfer Account is not set for company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The amount of donation %(donation)s (%(check_total)s) is different from the " +"sum of the donation lines (%(amount_total)s)." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The date of donation %s should be today or in the past, not in the future!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%(donation)s' is linked to the tax receipt %(tax_receipt)s, so " +"you cannot delete it." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "The donation '%s' is in Done state, so you cannot delete it." +msgstr "" +"Die Spende '%s1 ist im Status 'Erledigt' und kann daher nicht gelöscht " +"werden." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%s' is linked to an account move, so you cannot delete it." +msgstr "" +"Die Spende '%s1 ist mit einer Kontobewegung verknüpft und kann daher nicht " +"gelöscht werden." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The payment mode '%(pay_mode)s' selected on donation %(donation)s is not a " +"donation payment mode." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__thanks_printed +msgid "" +"This field automatically becomes active when the thanks letter has been " +"printed." +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "This wizard will validate all the draft donations selected." +msgstr "Dieser Assistent bestätigt alle ausgewählten Spendenentwürfe." + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Total" +msgstr "Gesamt" + +#. module: donation +#: model:ir.model.fields,help:donation.field_res_company__donation_account_id +#: model:ir.model.fields,help:donation.field_res_config_settings__donation_account_id +msgid "Transfer account for donations received by credit transfer. " +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__unit_price +msgid "Unit Price" +msgstr "Preis je Mengeneinheit" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Update" +msgstr "Aktualisieren" + +#. module: donation +#: model:ir.model,name:donation.model_res_users +#: model:res.groups,name:donation.group_donation_user +msgid "User" +msgstr "Nutzer" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate" +msgstr "Bestätigen" + +#. module: donation +#: model:ir.model,name:donation.model_donation_validate +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate Donations" +msgstr "Bestätige Spenden" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_validate_action +msgid "Validate Draft Donations" +msgstr "Bestätige Spenden Entwürfe" + +#. module: donation +#: model:res.groups,name:donation.group_donation_viewer +msgid "Viewer" +msgstr "Betrachter" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"You cannot cancel this donation because it is linked to the tax receipt %s. " +"You should first delete this tax receipt (but it may not be legally allowed)." +msgstr "" +"Sie können die Spende nicht abbrechen, weil sie mit dem Steuerbeleg %s1 " +"verbunden ist. Sie müssen zuerst diesen Steuerbeleg löschen (aber dies mag " +"rechtlich nicht erlaubt sein)." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "You cannot change the Tax Receipt Option when it is Annual." +msgstr "" +"Sie können nicht die Steuerbeleg Option ändern, wenn diese jährlich ist." + +#~ msgid "Analytic Account" +#~ msgstr "Kostenstelle" + +#~ msgid "Donation Line" +#~ msgstr "Spendenzeile" + +#~ msgid "Journal" +#~ msgstr "Jurnal" + +#~ msgid "Search Donations" +#~ msgstr "Suche Spenden" + +#, python-format +#~ msgid "" +#~ "The donation '%s' is linked to the tax receipt %s, so you cannot delete " +#~ "it." +#~ msgstr "" +#~ "Die Spende '%s1' ist mit dem Steuerbeleg %s2 und kann daher nicht " +#~ "gelöscht werden." + +#~ msgid "True" +#~ msgstr "Wahr" + +#~ msgid "Users" +#~ msgstr "Nutzer" + +#~ msgid "Cancelled Donation of %s" +#~ msgstr "Abgebrochene Spende von %s1" + +#~ msgid "" +#~ "Cannot validate the donation of %s because it doesn't have any lines!" +#~ msgstr "" +#~ "Spende %s1 kann nicht bestätigt werden, da keine Zeilen vorhanden sind!" + +#~ msgid "Cannot validate the donation of %s because it is not in draft state." +#~ msgstr "" +#~ "Die Spende %s1 kann nicht bestätigt werden, da sie sich im Entwurf-Status " +#~ "befindet." + +#~ msgid "Cannot validate the donation of %s because the total amount is 0 !" +#~ msgstr "" +#~ "Die Spende %s1 kann nicht bestätigt werden, da der Gesamtbetrag 0 ist!" + +#~ msgid "Current Donation Payment Method" +#~ msgstr "Aktuelle Zahlungsmethode" + +#~ msgid "Donation Payment Method" +#~ msgstr "Zahlungsmethode" + +#~ msgid "Donation of %s" +#~ msgstr "Spende von %s" + +#~ msgid "Draft Donation of %s" +#~ msgstr "Spendenentwurf von %s1" + +#~ msgid "Missing Default Debit Account on journal '%s'." +#~ msgstr "Fehlender Default Passivsaldo im '%s1'-Jurnal." + +#~ msgid "Payment Method" +#~ msgstr "Zahlungsmethode" + +#~ msgid "Reports" +#~ msgstr "Berichte" + +#~ msgid "" +#~ "The amount of the donation of %s (%s) is different from the sum of the " +#~ "donation lines (%s)." +#~ msgstr "" +#~ "Der Betrag der Spende von %s1 (%s2) weicht von der Summe der " +#~ "Spendenzeilen (%s3) ab." + +#~ msgid "" +#~ "The date of the donation of %s should be today or in the past, not in the " +#~ "future!" +#~ msgstr "Das Datum der Spende von %s darf nicht in der Zukunft liegen!" diff --git a/donation/i18n/donation.pot b/donation/i18n/donation.pot new file mode 100644 index 00000000..eca41a7b --- /dev/null +++ b/donation/i18n/donation.pot @@ -0,0 +1,1204 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * donation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_count +#: model:ir.model.fields,field_description:donation.field_res_users__donation_count +msgid "# of Donations" +msgstr "" + +#. module: donation +#: model:ir.actions.report,print_report_name:donation.report_thanks +msgid "" +"'donation_thanks-%s%s' % (object.number, object.state == 'draft' and " +"'-draft' or '')" +msgstr "" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_campaign_code_company_uniq +msgid "A campaign with the same code already exists!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to a tax receipt" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to an account move" +msgstr "" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_donation_bank_statement_line_uniq +msgid "A donation already exists for this bank statement line." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,help:donation.field_donation_report__product_detailed_type +msgid "" +"A storable product is a product for which you manage stock. The Inventory app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__move_id +msgid "Account Move" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__active +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__active +msgid "Active" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_ids +msgid "Activities" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_state +msgid "Activity State" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount +#: model:ir.model.fields,field_description:donation.field_donation_report__amount_company_currency +msgid "Amount" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total +msgid "Amount Total" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total_company_currency +msgid "Amount Total in Company Currency" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount_company_currency +msgid "Amount in Company Currency" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution +msgid "Analytic" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution_search +msgid "Analytic Distribution Search" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_account_analytic_applicability +msgid "Analytic Plan's Applicabilities" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_precision +msgid "Analytic Precision" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__annual +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__annual +msgid "Annual Tax Receipt" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_form +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_form +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_search +msgid "Archived" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Back to Draft" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Campaign" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Cancel" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__cancel +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Cancelled" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it doesn't have any lines!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it is not in draft state." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because the total amount is 0!" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__product_categ_id +msgid "Category of Product" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Change" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_tax_receipt_option_switch_action +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Change Tax Receipt Option" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__check_total +msgid "Check Amount" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_config_settings__group_donation_check_total +msgid "Check Total on Donations" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__code +msgid "Code" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_campaign +msgid "Code attributed for a Donation Campaign" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_res_company +msgid "Companies" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__company_id +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__company_id +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Company" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_config_menu +msgid "Configuration" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_res_partner +msgid "Contact" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__country_id +msgid "Country" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.tax_receipt_annual_create_menu +msgid "Create Annual Receipts" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Create Donation from Bank Statement Line" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_uid +msgid "Created by" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_date +#: model:ir.model.fields,field_description:donation.field_donation_line__create_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_date +msgid "Created on" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__currency_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Currency" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_campaign_id +msgid "Current Donation Campaign" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_payment_method_line_id +msgid "Current Donation Payment Mode" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Date" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__display_name +#: model:ir.model.fields,field_description:donation.field_donation_donation__display_name +#: model:ir.model.fields,field_description:donation.field_donation_line__display_name +#: model:ir.model.fields,field_description:donation.field_donation_report__display_name +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__display_name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__display_name +#: model:ir.model.fields,field_description:donation.field_donation_validate__display_name +msgid "Display Name" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_account_analytic_applicability__business_domain +msgid "Domain" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_donation +#: model:ir.model.fields,field_description:donation.field_account_payment_method_line__donation +#: model:ir.model.fields,field_description:donation.field_donation_line__donation_id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__donation_id +#: model:ir.model.fields.selection,name:donation.selection__account_analytic_applicability__business_domain__donation +#: model:ir.module.category,name:donation.module_category_donation +#: model:ir.ui.menu,name:donation.donation_top_menu +#: model_terms:ir.ui.view,arch_db:donation.account_payment_method_line_search +#: model_terms:ir.ui.view,arch_db:donation.res_config_settings_donation +msgid "Donation" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Donation %(donation)s is linked to a bank statement line, but the Donation " +"by Credit Transfer Account is not set for company '%(company)s'. This should" +" never happen." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__campaign_id +#: model:ir.model.fields,field_description:donation.field_donation_report__campaign_id +msgid "Donation Campaign" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_campaign_action +#: model:ir.ui.menu,name:donation.donation_campaign_menu +msgid "Donation Campaigns" +msgstr "" + +#. module: donation +#: model:res.groups,name:donation.group_donation_check_total +msgid "Donation Check Total" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__donation_date +#: model:ir.model.fields,field_description:donation.field_donation_report__donation_date +msgid "Donation Date" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_line +#: model:ir.model.fields,field_description:donation.field_donation_donation__line_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Donation Lines" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__number +msgid "Donation Number" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_menu +msgid "Donation Tax Receipts" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_thanks_template +msgid "Donation Thanks Letter Template" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_account_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_account_id +msgid "Donation by Credit Transfer Account" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "Donation payment mode '%s' is not an inbound payment mode." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "" +"Donation payment mode '%s' must be configured with 'Link to Bank Account' " +"set to 'Fixed'." +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_action +#: model:ir.actions.act_window,name:donation.partner_donation_action +#: model:ir.model.fields,field_description:donation.field_account_bank_statement_line__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_users__donation_ids +#: model:ir.ui.menu,name:donation.donation_menu +#: model:ir.ui.menu,name:donation.donation_title_menu +#: model_terms:ir.ui.view,arch_db:donation.view_partner_property_form +msgid "Donations" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_report_action +#: model:ir.model,name:donation.model_donation_report +#: model:ir.ui.menu,name:donation.donation_report_menu +msgid "Donations Analysis" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_line_action +msgid "Donations Lines" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__done +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Done" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__partner_id +#: model:ir.model.fields,field_description:donation.field_donation_report__partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Donor" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donor +msgid "Donors" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__draft +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Draft" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__tax_receipt_total +msgid "Eligible Tax Receipt Sub-total in Company Currency" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_ok +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Eligible for a Tax Receipt" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Error:" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Failed to get account for donation line with product '%s'." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__each +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__each +msgid "For Each Donation" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Full in-kind donation: no account move generated" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Group By" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__has_message +msgid "Has Message" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__id +#: model:ir.model.fields,field_description:donation.field_donation_donation__id +#: model:ir.model.fields,field_description:donation.field_donation_line__id +#: model:ir.model.fields,field_description:donation.field_donation_report__id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__id +#: model:ir.model.fields,field_description:donation.field_donation_validate__id +msgid "ID" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_account_payment_method_line__donation +msgid "If enabled, this payment mode will be available on donations" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__image +msgid "Image" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__in_kind +#: model:ir.model.fields,field_description:donation.field_donation_report__in_kind +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "In Kind" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_ok +msgid "Is Eligible for a Tax Receipt" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign____last_update +#: model:ir.model.fields,field_description:donation.field_donation_donation____last_update +#: model:ir.model.fields,field_description:donation.field_donation_line____last_update +#: model:ir.model.fields,field_description:donation.field_donation_report____last_update +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch____last_update +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template____last_update +#: model:ir.model.fields,field_description:donation.field_donation_validate____last_update +msgid "Last Modified on" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_date +#: model:ir.model.fields,field_description:donation.field_donation_line__write_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_date +msgid "Last Updated on" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Lines" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: donation +#: model:ir.module.category,description:donation.module_category_donation +msgid "Manage donations" +msgstr "" + +#. module: donation +#: model:res.groups,name:donation.group_donation_manager +msgid "Manager" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark all selected donation as Thanks Printed?" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark as Thanks Printed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_ids +msgid "Messages" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Missing Outstanding Receipts Account on company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Missing Product for Donations via Credit Transfer for company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"Missing inbound payment mode linked to the bank journal '%s' configured with" +" 'Link to Bank Account' set to 'Fixed'." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__name +msgid "Name" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +msgid "Name or Code" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#: code:addons/donation/models/donation.py:0 +#: code:addons/donation/models/donation.py:0 +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "New" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__none +msgid "None" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__note +msgid "Notes" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%(line)s', the amount (%(amount)s) is negative so it" +" cannot be processed as a donation." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%s', the partner is required to process a donation." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/res_company.py:0 +#, python-format +msgid "" +"On the company %(company)s, the Product for Donations via Credit Transfer " +"(%(product)s) is not a donation product !" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Other Information" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__commercial_partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Parent Donor" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Partner" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__country_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Partner Country" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_method_line_id +#: model:ir.model.fields,field_description:donation.field_donation_report__payment_method_line_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Payment Mode" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Payment Mode is not set on donation %s (only fully in-kind donations don't " +"require a payment mode)." +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.account_payment_method_line_donation_action +#: model:ir.model,name:donation.model_account_payment_method_line +#: model:ir.ui.menu,name:donation.account_payment_method_line_donation_menu +msgid "Payment Modes" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_ref +msgid "Payment Reference" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_print_menu +msgid "Print Receipts" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Print Thanks Letter" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_id +#: model:ir.model.fields,field_description:donation.field_donation_report__product_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Category" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,field_description:donation.field_donation_report__product_detailed_type +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Type" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_credit_transfer_product_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_credit_transfer_product_id +msgid "Product for Donations via Credit Transfer" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_product_action +#: model:ir.ui.menu,name:donation.donation_products +msgid "Products" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__quantity +msgid "Quantity" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt__donation_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_form +msgid "Related Donations" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_report_title_menu +msgid "Reporting" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Save Default Values" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Save as Draft" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__sequence +#: model:ir.model.fields,field_description:donation.field_donation_line__sequence +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__sequence +msgid "Sequence" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_settings_action +#: model:ir.ui.menu,name:donation.donation_settings_menu +msgid "Settings" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__bank_statement_line_id +msgid "Source Bank Statement Line" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__tax_receipt_ok +msgid "Specify if the product is eligible for a tax receipt" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__start_date +msgid "Start Date" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__state +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "State" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt_option_switch +msgid "Switch Donation Tax Receipt Option" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_id +#: model_terms:ir.ui.view,arch_db:donation.donation_line_tree +msgid "Tax Receipt" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_total +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_amount +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_amount +msgid "Tax Receipt Eligible Amount" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_option +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__new_tax_receipt_option +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Tax Receipt Option" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt +msgid "Tax Receipt for Donations" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_title_menu +msgid "Tax Receipts" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__text +msgid "Text" +msgstr "" + +#. module: donation +#: model:ir.actions.report,name:donation.report_thanks +msgid "Thanks Letter" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_thanks_template_action +#: model:ir.ui.menu,name:donation.donation_thanks_template_menu +msgid "Thanks Letter Templates" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_printed +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_printed +msgid "Thanks Printed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_template_id +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_template_id +msgid "Thanks Template" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Thanks to Print" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The Donation by Credit Transfer Account '%(account)s' for company " +"'%(company)s' is not reconciliable. This should never happen." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "The Donation by Credit Transfer Account is not set for company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The amount of donation %(donation)s (%(check_total)s) is different from the " +"sum of the donation lines (%(amount_total)s)." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The date of donation %s should be today or in the past, not in the future!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%(donation)s' is linked to the tax receipt %(tax_receipt)s, so" +" you cannot delete it." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "The donation '%s' is in Done state, so you cannot delete it." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%s' is linked to an account move, so you cannot delete it." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The payment mode '%(pay_mode)s' selected on donation %(donation)s is not a " +"donation payment mode." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__thanks_printed +msgid "" +"This field automatically becomes active when the thanks letter has been " +"printed." +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "This wizard will validate all the draft donations selected." +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Total" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_res_company__donation_account_id +#: model:ir.model.fields,help:donation.field_res_config_settings__donation_account_id +msgid "Transfer account for donations received by credit transfer. " +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__unit_price +msgid "Unit Price" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Update" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_res_users +#: model:res.groups,name:donation.group_donation_user +msgid "User" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_validate +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate Donations" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_validate_action +msgid "Validate Draft Donations" +msgstr "" + +#. module: donation +#: model:res.groups,name:donation.group_donation_viewer +msgid "Viewer" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"You cannot cancel this donation because it is linked to the tax receipt %s. " +"You should first delete this tax receipt (but it may not be legally " +"allowed)." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "You cannot change the Tax Receipt Option when it is Annual." +msgstr "" diff --git a/donation/i18n/es.po b/donation/i18n/es.po new file mode 100644 index 00000000..9affa2b9 --- /dev/null +++ b/donation/i18n/es.po @@ -0,0 +1,1341 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * donation +# +# Translators: +# enjolras , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-11 21:44+0000\n" +"PO-Revision-Date: 2023-10-09 09:14+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_count +#: model:ir.model.fields,field_description:donation.field_res_users__donation_count +msgid "# of Donations" +msgstr "# de Donativos" + +#. module: donation +#: model:ir.actions.report,print_report_name:donation.report_thanks +msgid "" +"'donation_thanks-%s%s' % (object.number, object.state == 'draft' and '-" +"draft' or '')" +msgstr "" +"'donation_thanks-%s%s' % (object.number, object.state == 'draft' and '-" +"draft' or '')" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_campaign_code_company_uniq +msgid "A campaign with the same code already exists!" +msgstr "¡Ya existe una campaña con el mismo código!" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to a tax receipt" +msgstr "Una donación cancelada no se puede unir a un recibo de impuestos" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to an account move" +msgstr "Una donación cancelada no se debe unir a un asiento contable" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_donation_bank_statement_line_uniq +msgid "A donation already exists for this bank statement line." +msgstr "Ya existe una donación para esta línea del extracto bancario." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,help:donation.field_donation_report__product_detailed_type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" +"Un producto almacenable es un producto para el que se gestionan existencias. " +"La aplicación Inventario debe estar instalada.\n" +"Un producto consumible es un producto para el que no se gestionan " +"existencias.\n" +"Un servicio es un producto no material que usted proporciona." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__move_id +msgid "Account Move" +msgstr "Asiento contable" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction +msgid "Action Needed" +msgstr "Acción necesaria" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__active +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__active +msgid "Active" +msgstr "Activo" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoración de actividad de excepción" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_state +msgid "Activity State" +msgstr "Estado de la actividad" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono de tipo de actvidad" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount +#: model:ir.model.fields,field_description:donation.field_donation_report__amount_company_currency +msgid "Amount" +msgstr "Importe" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total +msgid "Amount Total" +msgstr "Importe total" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total_company_currency +msgid "Amount Total in Company Currency" +msgstr "Importe total en moneda de la compañía" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount_company_currency +msgid "Amount in Company Currency" +msgstr "Importe en moneda de la Compañía" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution +msgid "Analytic" +msgstr "Analítica" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution_search +msgid "Analytic Distribution Search" +msgstr "Búsqueda de Distribución Analítica" + +#. module: donation +#: model:ir.model,name:donation.model_account_analytic_applicability +msgid "Analytic Plan's Applicabilities" +msgstr "Aplicabilidad del Plan Analítico" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_precision +msgid "Analytic Precision" +msgstr "Precisión Analítica" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__annual +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__annual +msgid "Annual Tax Receipt" +msgstr "Recibo de impuestos anual" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_form +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_form +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_search +msgid "Archived" +msgstr "Archivado" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_attachment_count +msgid "Attachment Count" +msgstr "Recuento de archivos adjuntos" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Back to Draft" +msgstr "Devolver a Borrador" + +#. module: donation +#: model:ir.model,name:donation.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Línea de extracto bancario" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Campaign" +msgstr "Campaña" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__cancel +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Cancelled" +msgstr "Cancelado" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it doesn't have any lines!" +msgstr "¡No se puede validar la donación %s porque no tiene líneas!" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it is not in draft state." +msgstr "" +"No se puede validar la donación %s porque no está en estado de borrador." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because the total amount is 0!" +msgstr "¡No se puede validar la donación %s porque el importe total es 0!" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__product_categ_id +msgid "Category of Product" +msgstr "Categoría de producto" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Change" +msgstr "Cambiar" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_tax_receipt_option_switch_action +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Change Tax Receipt Option" +msgstr "Cambiar la opción del recibo de impuestos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__check_total +msgid "Check Amount" +msgstr "Comprobar importe" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_config_settings__group_donation_check_total +msgid "Check Total on Donations" +msgstr "Comprobar el total de las donaciones" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__code +msgid "Code" +msgstr "Código" + +#. module: donation +#: model:ir.model,name:donation.model_donation_campaign +msgid "Code attributed for a Donation Campaign" +msgstr "Código asignado a una campaña de donativos" + +#. module: donation +#: model:ir.model,name:donation.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__company_id +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__company_id +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Company" +msgstr "Compañía" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_currency_id +msgid "Company Currency" +msgstr "Moneda de la Compañía" + +#. module: donation +#: model:ir.model,name:donation.model_res_config_settings +msgid "Config Settings" +msgstr "Configuración de Ajustes" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_config_menu +msgid "Configuration" +msgstr "Configuración" + +#. module: donation +#: model:ir.model,name:donation.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__country_id +msgid "Country" +msgstr "País" + +#. module: donation +#: model:ir.ui.menu,name:donation.tax_receipt_annual_create_menu +msgid "Create Annual Receipts" +msgstr "Crear recibos anuales" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Create Donation from Bank Statement Line" +msgstr "Crear una donación a partir de un extracto bancario" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_date +#: model:ir.model.fields,field_description:donation.field_donation_line__create_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__currency_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Currency" +msgstr "Moneda" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_campaign_id +msgid "Current Donation Campaign" +msgstr "Campaña actual de donativos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_payment_method_line_id +msgid "Current Donation Payment Mode" +msgstr "Modalidad actual de pago de donativos" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Date" +msgstr "Fecha" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__display_name +#: model:ir.model.fields,field_description:donation.field_donation_donation__display_name +#: model:ir.model.fields,field_description:donation.field_donation_line__display_name +#: model:ir.model.fields,field_description:donation.field_donation_report__display_name +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__display_name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__display_name +#: model:ir.model.fields,field_description:donation.field_donation_validate__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_account_analytic_applicability__business_domain +msgid "Domain" +msgstr "Dominio" + +#. module: donation +#: model:ir.model,name:donation.model_donation_donation +#: model:ir.model.fields,field_description:donation.field_account_payment_method_line__donation +#: model:ir.model.fields,field_description:donation.field_donation_line__donation_id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__donation_id +#: model:ir.model.fields.selection,name:donation.selection__account_analytic_applicability__business_domain__donation +#: model:ir.module.category,name:donation.module_category_donation +#: model:ir.ui.menu,name:donation.donation_top_menu +#: model_terms:ir.ui.view,arch_db:donation.account_payment_method_line_search +#: model_terms:ir.ui.view,arch_db:donation.res_config_settings_donation +msgid "Donation" +msgstr "Donativo" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Donation %(donation)s is linked to a bank statement line, but the Donation " +"by Credit Transfer Account is not set for company '%(company)s'. This should " +"never happen." +msgstr "" +"Donación %(donation)s está vinculada a una línea de extracto bancario, pero " +"la cuenta de donación por transferencia no está configurada para la compañía " +"'%(company)s'. Esto no debería ocurrir nunca." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__campaign_id +#: model:ir.model.fields,field_description:donation.field_donation_report__campaign_id +msgid "Donation Campaign" +msgstr "Campaña de donativo" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_campaign_action +#: model:ir.ui.menu,name:donation.donation_campaign_menu +msgid "Donation Campaigns" +msgstr "Campañas de donativos" + +#. module: donation +#: model:res.groups,name:donation.group_donation_check_total +msgid "Donation Check Total" +msgstr "Total del cheque de donación" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__donation_date +#: model:ir.model.fields,field_description:donation.field_donation_report__donation_date +msgid "Donation Date" +msgstr "Fecha de la donación" + +#. module: donation +#: model:ir.model,name:donation.model_donation_line +#: model:ir.model.fields,field_description:donation.field_donation_donation__line_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Donation Lines" +msgstr "Líneas de donativos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__number +msgid "Donation Number" +msgstr "Número de donativo" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_menu +msgid "Donation Tax Receipts" +msgstr "Recibo de impuestos de donativo" + +#. module: donation +#: model:ir.model,name:donation.model_donation_thanks_template +msgid "Donation Thanks Letter Template" +msgstr "Plantilla de carta de agradecimiento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_account_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_account_id +msgid "Donation by Credit Transfer Account" +msgstr "Donación por transferencia bancaria" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "Donation payment mode '%s' is not an inbound payment mode." +msgstr "El modo de pago de donaciones '%s' no es un modo de pago entrante." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "" +"Donation payment mode '%s' must be configured with 'Link to Bank Account' " +"set to 'Fixed'." +msgstr "" +"El modo de pago de donaciones \"%s\" debe estar configurado con \"Vincular a " +"cuenta bancaria\" en \"Fijo\"." + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_action +#: model:ir.actions.act_window,name:donation.partner_donation_action +#: model:ir.model.fields,field_description:donation.field_account_bank_statement_line__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_users__donation_ids +#: model:ir.ui.menu,name:donation.donation_menu +#: model:ir.ui.menu,name:donation.donation_title_menu +#: model_terms:ir.ui.view,arch_db:donation.view_partner_property_form +msgid "Donations" +msgstr "Donativos" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_report_action +#: model:ir.model,name:donation.model_donation_report +#: model:ir.ui.menu,name:donation.donation_report_menu +msgid "Donations Analysis" +msgstr "Análisis de donativos" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_line_action +msgid "Donations Lines" +msgstr "Líneas de donativos" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__done +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Done" +msgstr "Realizado" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__partner_id +#: model:ir.model.fields,field_description:donation.field_donation_report__partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Donor" +msgstr "Donante" + +#. module: donation +#: model:ir.ui.menu,name:donation.donor +msgid "Donors" +msgstr "Donantes" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__draft +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Draft" +msgstr "Borrador" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__tax_receipt_total +msgid "Eligible Tax Receipt Sub-total in Company Currency" +msgstr "Subtotal de ingresos fiscales admisibles en la divisa de la compañía" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_ok +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Eligible for a Tax Receipt" +msgstr "Elegible para un recibo de impuestos" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Error:" +msgstr "Error:" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Failed to get account for donation line with product '%s'." +msgstr "" +"Error al obtener la cuenta para la línea de donación con el producto '%s'." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (socios)" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icono de fuente impresionante, por ejemplo fa-tasks" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__each +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__each +msgid "For Each Donation" +msgstr "Por cada donación" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Full in-kind donation: no account move generated" +msgstr "Donación completamente en especie: no se genera asiento contable" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__has_message +msgid "Has Message" +msgstr "Tiene Mensaje" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__id +#: model:ir.model.fields,field_description:donation.field_donation_donation__id +#: model:ir.model.fields,field_description:donation.field_donation_line__id +#: model:ir.model.fields,field_description:donation.field_donation_report__id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__id +#: model:ir.model.fields,field_description:donation.field_donation_validate__id +msgid "ID" +msgstr "ID" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_icon +msgid "Icon" +msgstr "Icono" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "icono para indicar una actividad por excepción." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si está marcada, nuevos mensajes requieren su atención." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "si está marcada, algunos mensajes tienen un error de entrega." + +#. module: donation +#: model:ir.model.fields,help:donation.field_account_payment_method_line__donation +msgid "If enabled, this payment mode will be available on donations" +msgstr "Si se activa, este modo de pago estará disponible en las donaciones" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__image +msgid "Image" +msgstr "Imagen" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__in_kind +#: model:ir.model.fields,field_description:donation.field_donation_report__in_kind +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "In Kind" +msgstr "En especie" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_ok +msgid "Is Eligible for a Tax Receipt" +msgstr "Es elegible para un recibo de impuestos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_is_follower +msgid "Is Follower" +msgstr "Es Seguidor/a" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign____last_update +#: model:ir.model.fields,field_description:donation.field_donation_donation____last_update +#: model:ir.model.fields,field_description:donation.field_donation_line____last_update +#: model:ir.model.fields,field_description:donation.field_donation_report____last_update +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch____last_update +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template____last_update +#: model:ir.model.fields,field_description:donation.field_donation_validate____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_date +#: model:ir.model.fields,field_description:donation.field_donation_line__write_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Lines" +msgstr "Líneas" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_main_attachment_id +msgid "Main Attachment" +msgstr "Archivo adjunto principal" + +#. module: donation +#: model:ir.module.category,description:donation.module_category_donation +msgid "Manage donations" +msgstr "Gestionar donativos" + +#. module: donation +#: model:res.groups,name:donation.group_donation_manager +msgid "Manager" +msgstr "Gestor" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark all selected donation as Thanks Printed?" +msgstr "" +"¿Marcar todas las donaciones seleccionadas como Impreso de agradecimiento?" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark as Thanks Printed" +msgstr "Marcar como Impreso de Agradecimiento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error +msgid "Message Delivery error" +msgstr "Error en entrega de mensaje" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Missing Outstanding Receipts Account on company '%s'." +msgstr "Falta la cuenta de cobros pendientes en la compañía '%s'." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Missing Product for Donations via Credit Transfer for company '%s'." +msgstr "Falta producto para donaciones por transferencia de la compañía '%s'." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"Missing inbound payment mode linked to the bank journal '%s' configured with " +"'Link to Bank Account' set to 'Fixed'." +msgstr "" +"Falta el modo de pago entrante vinculado al diario bancario '%s' configurado " +"con 'Vincular a cuenta bancaria' en 'Fijo'." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "fecha límite de mi actividad" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__name +msgid "Name" +msgstr "Nombre" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +msgid "Name or Code" +msgstr "Nombre o codigo" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "New" +msgstr "Nuevo/a" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Fecha límite para la siguiente actividad" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_summary +msgid "Next Activity Summary" +msgstr "Resumen de la Siguiente Actividad" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo de la Siguiente Actividad" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__none +msgid "None" +msgstr "Ninguno" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__note +msgid "Notes" +msgstr "Notas" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de acciones" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error_counter +msgid "Number of errors" +msgstr "Número de errores" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensajes que requieren una acción" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensajes con error de entrega" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%(line)s', the amount (%(amount)s) is negative so it " +"cannot be processed as a donation." +msgstr "" +"En la línea del extracto bancario '%(line)s', el monto (%(amount)s) es " +"negativo, por lo que no se puede procesar como una donación." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%s', the partner is required to process a donation." +msgstr "" +"En la línea del extracto bancario '%s', el socio debe procesar una donación." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/res_company.py:0 +#, python-format +msgid "" +"On the company %(company)s, the Product for Donations via Credit Transfer " +"(%(product)s) is not a donation product !" +msgstr "" +"¡En la compañía %(company)s, el Producto para donaciones mediante " +"transferencia de crédito (%(product)s) no es un producto de donación!" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Other Information" +msgstr "Otra información" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__commercial_partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Parent Donor" +msgstr "Donante Parental" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Partner" +msgstr "Empresa" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__country_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Partner Country" +msgstr "País de la empresa" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_method_line_id +#: model:ir.model.fields,field_description:donation.field_donation_report__payment_method_line_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Payment Mode" +msgstr "Modo de pago" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Payment Mode is not set on donation %s (only fully in-kind donations don't " +"require a payment mode)." +msgstr "" +"El modo de pago no está establecido en la donación %s (sólo las donaciones " +"totalmente en especie no requieren un modo de pago)." + +#. module: donation +#: model:ir.actions.act_window,name:donation.account_payment_method_line_donation_action +#: model:ir.model,name:donation.model_account_payment_method_line +#: model:ir.ui.menu,name:donation.account_payment_method_line_donation_menu +msgid "Payment Modes" +msgstr "Métodos de pago" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_ref +msgid "Payment Reference" +msgstr "Referencia de pago" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_print_menu +msgid "Print Receipts" +msgstr "Imprimir recibos" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Print Thanks Letter" +msgstr "Imprimir carta de agradecimiento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_id +#: model:ir.model.fields,field_description:donation.field_donation_report__product_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product" +msgstr "Producto" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Category" +msgstr "Categoría de producto" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,field_description:donation.field_donation_report__product_detailed_type +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Type" +msgstr "Tipo de Producto" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_credit_transfer_product_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_credit_transfer_product_id +msgid "Product for Donations via Credit Transfer" +msgstr "Producto para donaciones vía transferencia de crédito" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_product_action +#: model:ir.ui.menu,name:donation.donation_products +msgid "Products" +msgstr "Productos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__quantity +msgid "Quantity" +msgstr "Cantidad" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt__donation_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_form +msgid "Related Donations" +msgstr "Donaciones relacionadas" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_report_title_menu +msgid "Reporting" +msgstr "Informe" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_user_id +msgid "Responsible User" +msgstr "Usuario Responsable" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Save Default Values" +msgstr "Guardar valores por defecto" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Save as Draft" +msgstr "Guardar como borrador" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__sequence +#: model:ir.model.fields,field_description:donation.field_donation_line__sequence +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_settings_action +#: model:ir.ui.menu,name:donation.donation_settings_menu +msgid "Settings" +msgstr "Ajustes" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__bank_statement_line_id +msgid "Source Bank Statement Line" +msgstr "Fuente de la línea del extracto bancario" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__tax_receipt_ok +msgid "Specify if the product is eligible for a tax receipt" +msgstr "Especifica si el producto es elegible para un recibo de impuestos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__start_date +msgid "Start Date" +msgstr "Fecha de inicio" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__state +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "State" +msgstr "Estado" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado en base a las actividades\n" +"Atrasada: La fecha de vencimiento ya ha pasado\n" +"Hoy: La fecha de la actividad es hoy\n" +"Planificada: Actividades futuras." + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt_option_switch +msgid "Switch Donation Tax Receipt Option" +msgstr "Cambiar la opción del recibo de impuestos de donaciones" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_id +#: model_terms:ir.ui.view,arch_db:donation.donation_line_tree +msgid "Tax Receipt" +msgstr "Recibo de impuestos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_total +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_amount +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_amount +msgid "Tax Receipt Eligible Amount" +msgstr "Importe elegible para recibo de impuestos" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_option +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__new_tax_receipt_option +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Tax Receipt Option" +msgstr "Opción de recibo de impuestos" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt +msgid "Tax Receipt for Donations" +msgstr "Recibo de impuestos para donaciones" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_title_menu +msgid "Tax Receipts" +msgstr "Recibo de donaciones" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__text +msgid "Text" +msgstr "Texto" + +#. module: donation +#: model:ir.actions.report,name:donation.report_thanks +msgid "Thanks Letter" +msgstr "Carta de agradecimiento" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_thanks_template_action +#: model:ir.ui.menu,name:donation.donation_thanks_template_menu +msgid "Thanks Letter Templates" +msgstr "Plantillas de cartas de agradecimiento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_printed +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_printed +msgid "Thanks Printed" +msgstr "Impreso de agradecimiento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_template_id +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_template_id +msgid "Thanks Template" +msgstr "Plantilla de agradecimiento" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Thanks to Print" +msgstr "Agradecimientos a Imprimir" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The Donation by Credit Transfer Account '%(account)s' for company " +"'%(company)s' is not reconciliable. This should never happen." +msgstr "" +"La cuenta de donativos por transferencia '%(account)s' para la compañía " +"'%(company)s' no es conciliable. Esto no debería ocurrir nunca." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "The Donation by Credit Transfer Account is not set for company '%s'." +msgstr "" +"La cuenta de donación por transferencia no está configurada para la compañía " +"\"%s\"." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The amount of donation %(donation)s (%(check_total)s) is different from the " +"sum of the donation lines (%(amount_total)s)." +msgstr "" +"La cantidad de donación %(donation)s (%(check_total)s) es diferente de la " +"suma de las líneas de donación (%(amount_total)s)." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The date of donation %s should be today or in the past, not in the future!" +msgstr "" +"La fecha de la donación %s debe ser hoy o en el pasado, ¡no en el futuro!" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%(donation)s' is linked to the tax receipt %(tax_receipt)s, so " +"you cannot delete it." +msgstr "" +"La donación '%(donation)s' está vinculada al recibo de impuestos " +"%(tax_receipt)s, por lo que no puedes eliminarlo." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "The donation '%s' is in Done state, so you cannot delete it." +msgstr "La donación '%s' está en el estado Realizado, no puede eliminarla." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%s' is linked to an account move, so you cannot delete it." +msgstr "" +"La donación '%s' está unida a un asiento contable, así que no puede ser " +"eliminada." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The payment mode '%(pay_mode)s' selected on donation %(donation)s is not a " +"donation payment mode." +msgstr "" +"El modo de pago '%(pay_mode)s' seleccionado en la donación %(donation)s no " +"es un modo de pago de donación." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__thanks_printed +msgid "" +"This field automatically becomes active when the thanks letter has been " +"printed." +msgstr "" +"Este campo se activa automáticamente cuando se imprime la carta de " +"agradecimiento." + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "This wizard will validate all the draft donations selected." +msgstr "El asistente validará todas las donaciones en borrador seleccionadas." + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Total" +msgstr "Total" + +#. module: donation +#: model:ir.model.fields,help:donation.field_res_company__donation_account_id +#: model:ir.model.fields,help:donation.field_res_config_settings__donation_account_id +msgid "Transfer account for donations received by credit transfer. " +msgstr "" +"Cuenta de transferencia para las donaciones recibidas por transferencia. " + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo (o clase) de actividad excepcional registrada." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__unit_price +msgid "Unit Price" +msgstr "Precio unitario" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Update" +msgstr "Actualizar" + +#. module: donation +#: model:ir.model,name:donation.model_res_users +#: model:res.groups,name:donation.group_donation_user +msgid "User" +msgstr "Usuario" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate" +msgstr "Validar" + +#. module: donation +#: model:ir.model,name:donation.model_donation_validate +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate Donations" +msgstr "Validar donativos" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_validate_action +msgid "Validate Draft Donations" +msgstr "Validar donativos en borrador" + +#. module: donation +#: model:res.groups,name:donation.group_donation_viewer +msgid "Viewer" +msgstr "Visualizador" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__website_message_ids +msgid "Website Messages" +msgstr "Mensajes de la página web" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__website_message_ids +msgid "Website communication history" +msgstr "historial de la comunicación en la página web" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"You cannot cancel this donation because it is linked to the tax receipt %s. " +"You should first delete this tax receipt (but it may not be legally allowed)." +msgstr "" +"No puede cancelar la donación por que está unida al recibo de impuestos %s. " +"Primero debe eliminar el recibo de impuestos (aunque puede que no sea legal)." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "You cannot change the Tax Receipt Option when it is Annual." +msgstr "No puede cambiar la opción del recibo de impuestos cuando es Anual." + +#~ msgid "SMS Delivery error" +#~ msgstr "Error en la entrega de SMS" + +#~ msgid "Number of messages which requires an action" +#~ msgstr "Números de mensajes que requieren una acción" + +#~ msgid "Analytic Account" +#~ msgstr "Cuenta analítica" + +#~ msgid "Donation Line" +#~ msgstr "Línea de donativos" + +#~ msgid "Journal" +#~ msgstr "Diario" + +#~ msgid "Search Donations" +#~ msgstr "Buscar Donativos" + +#, python-format +#~ msgid "" +#~ "The donation '%s' is linked to the tax receipt %s, so you cannot delete " +#~ "it." +#~ msgstr "" +#~ "La donación '%s' está unida al recibo de impuestos %s, así que no puede " +#~ "ser eliminada." + +#~ msgid "True" +#~ msgstr "Verdadero" + +#~ msgid "Users" +#~ msgstr "Usuarios" + +#~ msgid "Cancelled Donation of %s" +#~ msgstr "Donación cancelada de %s" + +#~ msgid "" +#~ "Cannot validate the donation of %s because it doesn't have any lines!" +#~ msgstr "No se puede validar la donación de %s porque no tiene líneas!" + +#~ msgid "Cannot validate the donation of %s because it is not in draft state." +#~ msgstr "" +#~ "No se puede validar la donación de %s porque no está en estado borrador." + +#~ msgid "Cannot validate the donation of %s because the total amount is 0 !" +#~ msgstr "No se puede validar la donación %s por que el importe total es 0 !" + +#~ msgid "Current Donation Payment Method" +#~ msgstr "Método de pago de la donación actual" + +#~ msgid "Donation Payment Method" +#~ msgstr "Método de pago del donativo" + +#~ msgid "Donation of %s" +#~ msgstr "Donativo de %s" + +#~ msgid "Draft Donation of %s" +#~ msgstr "Donación borrador de %s" + +#~ msgid "Missing Default Debit Account on journal '%s'." +#~ msgstr "Falta la cuenta de débito por defecto del diario '%s'." + +#~ msgid "Payment Method" +#~ msgstr "Método de pago" + +#~ msgid "Reports" +#~ msgstr "Informes" + +#~ msgid "" +#~ "The amount of the donation of %s (%s) is different from the sum of the " +#~ "donation lines (%s)." +#~ msgstr "" +#~ "El importe de la donación de %s (%s) es diferente a la suma de las lineas " +#~ "de donaciones (%s)." + +#~ msgid "" +#~ "The date of the donation of %s should be today or in the past, not in the " +#~ "future!" +#~ msgstr "" +#~ "La fecha de la donación de %s debe ser hoy o en el pasado, no en el " +#~ "futuro!" + +#~ msgid "" +#~ "The journal '%s' has the option 'Donation Payment Method', so it's type " +#~ "should be 'Cash' or 'Bank and Checks'." +#~ msgstr "" +#~ "El diario '%s' tiene la opción 'Método de Pago de Donativos', así que el " +#~ "tipo debe ser 'Efectivo' o 'Banco'." diff --git a/donation/i18n/fr.po b/donation/i18n/fr.po new file mode 100644 index 00000000..649e0dfc --- /dev/null +++ b/donation/i18n/fr.po @@ -0,0 +1,1332 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * donation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-05-29 23:07+0000\n" +"PO-Revision-Date: 2015-05-29 23:07+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_count +#: model:ir.model.fields,field_description:donation.field_res_users__donation_count +msgid "# of Donations" +msgstr "Nombre de dons" + +#. module: donation +#: model:ir.actions.report,print_report_name:donation.report_thanks +msgid "" +"'donation_thanks-%s%s' % (object.number, object.state == 'draft' and '-" +"draft' or '')" +msgstr "" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_campaign_code_company_uniq +msgid "A campaign with the same code already exists!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to a tax receipt" +msgstr "Un don annulé ne devrait pas être lié à un reçu fiscal" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to an account move" +msgstr "Un don annulé ne devrait pas être lié à une écriture comptable" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_donation_bank_statement_line_uniq +msgid "A donation already exists for this bank statement line." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,help:donation.field_donation_report__product_detailed_type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__move_id +msgid "Account Move" +msgstr "Ecriture comptable" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__active +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__active +msgid "Active" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_ids +msgid "Activities" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_state +msgid "Activity State" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount +#: model:ir.model.fields,field_description:donation.field_donation_report__amount_company_currency +msgid "Amount" +msgstr "Montant" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total +msgid "Amount Total" +msgstr "Montant total" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total_company_currency +msgid "Amount Total in Company Currency" +msgstr "Montant total dans la devise de la société" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount_company_currency +msgid "Amount in Company Currency" +msgstr "Montant dans la devise de la société" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution +msgid "Analytic" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution_search +msgid "Analytic Distribution Search" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_account_analytic_applicability +msgid "Analytic Plan's Applicabilities" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_precision +msgid "Analytic Precision" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__annual +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__annual +msgid "Annual Tax Receipt" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_form +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_form +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_search +msgid "Archived" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Back to Draft" +msgstr "Retour à l'état brouillon" + +#. module: donation +#: model:ir.model,name:donation.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Campaign" +msgstr "Campagne de don" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Cancel" +msgstr "Annuler" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__cancel +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Cancelled" +msgstr "Annulé" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it doesn't have any lines!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it is not in draft state." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because the total amount is 0!" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__product_categ_id +msgid "Category of Product" +msgstr "Catégorie de produit" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Change" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_tax_receipt_option_switch_action +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Change Tax Receipt Option" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__check_total +msgid "Check Amount" +msgstr "Montant" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_config_settings__group_donation_check_total +msgid "Check Total on Donations" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__code +msgid "Code" +msgstr "Code" + +#. module: donation +#: model:ir.model,name:donation.model_donation_campaign +msgid "Code attributed for a Donation Campaign" +msgstr "Code attribué pour une campagne de don" + +#. module: donation +#: model:ir.model,name:donation.model_res_company +msgid "Companies" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__company_id +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__company_id +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Company" +msgstr "Société" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_currency_id +msgid "Company Currency" +msgstr "Devise de la société" + +#. module: donation +#: model:ir.model,name:donation.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_config_menu +msgid "Configuration" +msgstr "Configuration" + +#. module: donation +#: model:ir.model,name:donation.model_res_partner +msgid "Contact" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__country_id +msgid "Country" +msgstr "Pays" + +#. module: donation +#: model:ir.ui.menu,name:donation.tax_receipt_annual_create_menu +msgid "Create Annual Receipts" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Create Donation from Bank Statement Line" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_date +#: model:ir.model.fields,field_description:donation.field_donation_line__create_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__currency_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Currency" +msgstr "Devise" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_campaign_id +msgid "Current Donation Campaign" +msgstr "Campagne de don courante" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_payment_method_line_id +msgid "Current Donation Payment Mode" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Date" +msgstr "Date" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__display_name +#: model:ir.model.fields,field_description:donation.field_donation_donation__display_name +#: model:ir.model.fields,field_description:donation.field_donation_line__display_name +#: model:ir.model.fields,field_description:donation.field_donation_report__display_name +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__display_name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__display_name +#: model:ir.model.fields,field_description:donation.field_donation_validate__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_account_analytic_applicability__business_domain +msgid "Domain" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_donation +#: model:ir.model.fields,field_description:donation.field_account_payment_method_line__donation +#: model:ir.model.fields,field_description:donation.field_donation_line__donation_id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__donation_id +#: model:ir.model.fields.selection,name:donation.selection__account_analytic_applicability__business_domain__donation +#: model:ir.module.category,name:donation.module_category_donation +#: model:ir.ui.menu,name:donation.donation_top_menu +#: model_terms:ir.ui.view,arch_db:donation.account_payment_method_line_search +#: model_terms:ir.ui.view,arch_db:donation.res_config_settings_donation +msgid "Donation" +msgstr "Don" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Donation %(donation)s is linked to a bank statement line, but the Donation " +"by Credit Transfer Account is not set for company '%(company)s'. This should " +"never happen." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__campaign_id +#: model:ir.model.fields,field_description:donation.field_donation_report__campaign_id +msgid "Donation Campaign" +msgstr "Campagne de don" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_campaign_action +#: model:ir.ui.menu,name:donation.donation_campaign_menu +msgid "Donation Campaigns" +msgstr "Campagnes de don" + +#. module: donation +#: model:res.groups,name:donation.group_donation_check_total +msgid "Donation Check Total" +msgstr "Don : saisie du total" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__donation_date +#: model:ir.model.fields,field_description:donation.field_donation_report__donation_date +msgid "Donation Date" +msgstr "Date du don" + +#. module: donation +#: model:ir.model,name:donation.model_donation_line +#: model:ir.model.fields,field_description:donation.field_donation_donation__line_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Donation Lines" +msgstr "Lignes de don" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__number +msgid "Donation Number" +msgstr "Numéro de don" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_menu +msgid "Donation Tax Receipts" +msgstr "Reçus fiscaux" + +#. module: donation +#: model:ir.model,name:donation.model_donation_thanks_template +msgid "Donation Thanks Letter Template" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_account_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_account_id +msgid "Donation by Credit Transfer Account" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "Donation payment mode '%s' is not an inbound payment mode." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "" +"Donation payment mode '%s' must be configured with 'Link to Bank Account' " +"set to 'Fixed'." +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_action +#: model:ir.actions.act_window,name:donation.partner_donation_action +#: model:ir.model.fields,field_description:donation.field_account_bank_statement_line__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_users__donation_ids +#: model:ir.ui.menu,name:donation.donation_menu +#: model:ir.ui.menu,name:donation.donation_title_menu +#: model_terms:ir.ui.view,arch_db:donation.view_partner_property_form +msgid "Donations" +msgstr "Dons" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_report_action +#: model:ir.model,name:donation.model_donation_report +#: model:ir.ui.menu,name:donation.donation_report_menu +msgid "Donations Analysis" +msgstr "Analyse des dons" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_line_action +msgid "Donations Lines" +msgstr "Lignes de dons" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__done +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Done" +msgstr "Validé" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__partner_id +#: model:ir.model.fields,field_description:donation.field_donation_report__partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Donor" +msgstr "Donateur" + +#. module: donation +#: model:ir.ui.menu,name:donation.donor +msgid "Donors" +msgstr "Donateurs" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__draft +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Draft" +msgstr "Brouillon" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__tax_receipt_total +msgid "Eligible Tax Receipt Sub-total in Company Currency" +msgstr "Montant éligible au reçu fiscal dans la monnaie de la société" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_ok +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Eligible for a Tax Receipt" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Error:" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Failed to get account for donation line with product '%s'." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_follower_ids +msgid "Followers" +msgstr "Followers" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__each +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__each +msgid "For Each Donation" +msgstr "Pour chaque don" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Full in-kind donation: no account move generated" +msgstr "Don en nature: aucune écriture comptable générée" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Group By" +msgstr "Grouper par" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__has_message +msgid "Has Message" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__id +#: model:ir.model.fields,field_description:donation.field_donation_donation__id +#: model:ir.model.fields,field_description:donation.field_donation_line__id +#: model:ir.model.fields,field_description:donation.field_donation_report__id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__id +#: model:ir.model.fields,field_description:donation.field_donation_validate__id +msgid "ID" +msgstr "ID" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_account_payment_method_line__donation +msgid "If enabled, this payment mode will be available on donations" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__image +msgid "Image" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__in_kind +#: model:ir.model.fields,field_description:donation.field_donation_report__in_kind +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "In Kind" +msgstr "En nature" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_ok +msgid "Is Eligible for a Tax Receipt" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign____last_update +#: model:ir.model.fields,field_description:donation.field_donation_donation____last_update +#: model:ir.model.fields,field_description:donation.field_donation_line____last_update +#: model:ir.model.fields,field_description:donation.field_donation_report____last_update +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch____last_update +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template____last_update +#: model:ir.model.fields,field_description:donation.field_donation_validate____last_update +msgid "Last Modified on" +msgstr "Dernière mise à jour le" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_date +#: model:ir.model.fields,field_description:donation.field_donation_line__write_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Lines" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: donation +#: model:ir.module.category,description:donation.module_category_donation +msgid "Manage donations" +msgstr "Gérer les dons" + +#. module: donation +#: model:res.groups,name:donation.group_donation_manager +msgid "Manager" +msgstr "Responsable" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark all selected donation as Thanks Printed?" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark as Thanks Printed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_ids +msgid "Messages" +msgstr "Messages" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Missing Outstanding Receipts Account on company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Missing Product for Donations via Credit Transfer for company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"Missing inbound payment mode linked to the bank journal '%s' configured with " +"'Link to Bank Account' set to 'Fixed'." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__name +msgid "Name" +msgstr "Nom" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +msgid "Name or Code" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "New" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__none +msgid "None" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__note +msgid "Notes" +msgstr "Notes" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%(line)s', the amount (%(amount)s) is negative so it " +"cannot be processed as a donation." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%s', the partner is required to process a donation." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/res_company.py:0 +#, python-format +msgid "" +"On the company %(company)s, the Product for Donations via Credit Transfer " +"(%(product)s) is not a donation product !" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Other Information" +msgstr "Autres informations" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__commercial_partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Parent Donor" +msgstr "Donateur parent" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Partner" +msgstr "Partenaire" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__country_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Partner Country" +msgstr "Pays du partenaire" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_method_line_id +#: model:ir.model.fields,field_description:donation.field_donation_report__payment_method_line_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Payment Mode" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Payment Mode is not set on donation %s (only fully in-kind donations don't " +"require a payment mode)." +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.account_payment_method_line_donation_action +#: model:ir.model,name:donation.model_account_payment_method_line +#: model:ir.ui.menu,name:donation.account_payment_method_line_donation_menu +msgid "Payment Modes" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_ref +msgid "Payment Reference" +msgstr "Référence du paiement" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_print_menu +msgid "Print Receipts" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Print Thanks Letter" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_id +#: model:ir.model.fields,field_description:donation.field_donation_report__product_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product" +msgstr "Article" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Category" +msgstr "Catégorie d'article" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,field_description:donation.field_donation_report__product_detailed_type +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Type" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_credit_transfer_product_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_credit_transfer_product_id +msgid "Product for Donations via Credit Transfer" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_product_action +#: model:ir.ui.menu,name:donation.donation_products +msgid "Products" +msgstr "Articles" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__quantity +msgid "Quantity" +msgstr "Quantité" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt__donation_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_form +msgid "Related Donations" +msgstr "Dons associés" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_report_title_menu +msgid "Reporting" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Save Default Values" +msgstr "Enregistrer les valeurs par défaut" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Save as Draft" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__sequence +#: model:ir.model.fields,field_description:donation.field_donation_line__sequence +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__sequence +msgid "Sequence" +msgstr "Séquence" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_settings_action +#: model:ir.ui.menu,name:donation.donation_settings_menu +msgid "Settings" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__bank_statement_line_id +msgid "Source Bank Statement Line" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__tax_receipt_ok +msgid "Specify if the product is eligible for a tax receipt" +msgstr "Spécifie si le produit est éligible au reçu fiscal." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__start_date +msgid "Start Date" +msgstr "Date de départ" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__state +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "State" +msgstr "État" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt_option_switch +msgid "Switch Donation Tax Receipt Option" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_id +#: model_terms:ir.ui.view,arch_db:donation.donation_line_tree +msgid "Tax Receipt" +msgstr "Reçu fiscal" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_total +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_amount +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_amount +msgid "Tax Receipt Eligible Amount" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_option +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__new_tax_receipt_option +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Tax Receipt Option" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt +msgid "Tax Receipt for Donations" +msgstr "" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_title_menu +msgid "Tax Receipts" +msgstr "Reçus fiscaux" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__text +msgid "Text" +msgstr "" + +#. module: donation +#: model:ir.actions.report,name:donation.report_thanks +msgid "Thanks Letter" +msgstr "" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_thanks_template_action +#: model:ir.ui.menu,name:donation.donation_thanks_template_menu +msgid "Thanks Letter Templates" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_printed +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_printed +msgid "Thanks Printed" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_template_id +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_template_id +msgid "Thanks Template" +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Thanks to Print" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The Donation by Credit Transfer Account '%(account)s' for company " +"'%(company)s' is not reconciliable. This should never happen." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "The Donation by Credit Transfer Account is not set for company '%s'." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The amount of donation %(donation)s (%(check_total)s) is different from the " +"sum of the donation lines (%(amount_total)s)." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The date of donation %s should be today or in the past, not in the future!" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%(donation)s' is linked to the tax receipt %(tax_receipt)s, so " +"you cannot delete it." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "The donation '%s' is in Done state, so you cannot delete it." +msgstr "Le don '%s' est à l'état validé, donc vous ne pouvez pas le supprimer." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%s' is linked to an account move, so you cannot delete it." +msgstr "" +"Le don '%s' est lié à une écriture comptable, donc vous ne pouvez pas le " +"supprimer." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The payment mode '%(pay_mode)s' selected on donation %(donation)s is not a " +"donation payment mode." +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__thanks_printed +msgid "" +"This field automatically becomes active when the thanks letter has been " +"printed." +msgstr "" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "This wizard will validate all the draft donations selected." +msgstr "Cet assistant validera tous les dons brouillons sélectionnés." + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Total" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_res_company__donation_account_id +#: model:ir.model.fields,help:donation.field_res_config_settings__donation_account_id +msgid "Transfer account for donations received by credit transfer. " +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__unit_price +msgid "Unit Price" +msgstr "Prix unitaire" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Update" +msgstr "" + +#. module: donation +#: model:ir.model,name:donation.model_res_users +#: model:res.groups,name:donation.group_donation_user +msgid "User" +msgstr "Utilisateur" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate" +msgstr "Valider" + +#. module: donation +#: model:ir.model,name:donation.model_donation_validate +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate Donations" +msgstr "Valider les dons" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_validate_action +msgid "Validate Draft Donations" +msgstr "Valider les dons brouillons" + +#. module: donation +#: model:res.groups,name:donation.group_donation_viewer +msgid "Viewer" +msgstr "" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"You cannot cancel this donation because it is linked to the tax receipt %s. " +"You should first delete this tax receipt (but it may not be legally allowed)." +msgstr "" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "You cannot change the Tax Receipt Option when it is Annual." +msgstr "" + +#~ msgid "Analytic Account" +#~ msgstr "Compte analytique" + +#~ msgid "Donation Line" +#~ msgstr "Ligne de don" + +#~ msgid "Journal" +#~ msgstr "Journal" + +#~ msgid "Search Donations" +#~ msgstr "Recherche des dons" + +#, python-format +#~ msgid "" +#~ "The donation '%s' is linked to the tax receipt %s, so you cannot delete " +#~ "it." +#~ msgstr "" +#~ "Le don '%s' est lié au reçu fiscal %s, donc vous ne pouvez pas le " +#~ "supprimer." + +#~ msgid "Unread Messages" +#~ msgstr "Unread Messages" + +#~ msgid "Users" +#~ msgstr "Utilisateurs" + +#~ msgid "Cancelled Donation of %s" +#~ msgstr "Don annulé de %s" + +#~ msgid "" +#~ "Cannot validate the donation of %s because it doesn't have any lines!" +#~ msgstr "" +#~ "Impossible de valider le don de %s parce qu'il ne contient aucune ligne !" + +#~ msgid "Cannot validate the donation of %s because it is not in draft state." +#~ msgstr "" +#~ "Impossible de valider le don de %s parce qu'il n'est pas à l'état " +#~ "brouillon." + +#, fuzzy +#~ msgid "Cannot validate the donation of %s because the total amount is 0 !" +#~ msgstr "" +#~ "Impossible de valider le don de %s parce qu'il ne contient aucune ligne !" + +#~ msgid "Current Donation Payment Method" +#~ msgstr "Méthode de paiement actuelle" + +#~ msgid "Donation Payment Method" +#~ msgstr "Méthode de paiement de don" + +#~ msgid "Donation of %s" +#~ msgstr "Don de %s" + +#~ msgid "Draft Donation of %s" +#~ msgstr "Don brouillon de %s" + +#~ msgid "Missing Default Debit Account on journal '%s'." +#~ msgstr "Compte de débit par défaut manquant sur le journal '%s'." + +#~ msgid "Payment Method" +#~ msgstr "Méthode de paiement" + +#~ msgid "" +#~ "The amount of the donation of %s (%s) is different from the sum of the " +#~ "donation lines (%s)." +#~ msgstr "" +#~ "Le montant du don de %s (%s) est différent de la somme des lignes de don " +#~ "(%s)." + +#~ msgid "" +#~ "The date of the donation of %s should be today or in the past, not in the " +#~ "future!" +#~ msgstr "" +#~ "La date du don de %s devrait être aujourd'hui ou dans le passé, pas dans " +#~ "le futur !" + +#~ msgid "" +#~ "The journal '%s' has the option 'Donation Payment Method', so it's type " +#~ "should be 'Cash' or 'Bank and Checks'." +#~ msgstr "" +#~ "Le journal '%s' a l'option 'Méthode de paiement de don', donc il doit " +#~ "être de type 'Espèce' ou 'Banque et chèque'." + +#~ msgid "Date of the last message posted on the record." +#~ msgstr "Date of the last message posted on the record." + +#~ msgid "Donation Validated" +#~ msgstr "Don validé" + +#~ msgid "" +#~ "Holds the Chatter summary (number of messages, ...). This summary is " +#~ "directly in html format in order to be inserted in kanban views." +#~ msgstr "" +#~ "Holds the Chatter summary (number of messages, ...). This summary is " +#~ "directly in html format in order to be inserted in kanban views." + +#~ msgid "If checked new messages require your attention." +#~ msgstr "If checked new messages require your attention." + +#~ msgid "In-Kind Donation" +#~ msgstr "Don en nature" + +#~ msgid "Is a Follower" +#~ msgstr "Is a Follower" + +#~ msgid "Last Message Date" +#~ msgstr "Last Message Date" + +#~ msgid "Messages and communication history" +#~ msgstr "Messages and communication history" + +#~ msgid "" +#~ "Missing income account on product '%s' or on it's related product category" +#~ msgstr "" +#~ "Compte de produit manquant sur l'article '%s' ou sur sa catégorie interne " +#~ "associée" + +#~ msgid "Product Template" +#~ msgstr "Modèle d'article" + +#~ msgid "Summary" +#~ msgstr "Résumé" + +#~ msgid "This is a donation product." +#~ msgstr "Ceci est un article de don." diff --git a/donation/i18n/it.po b/donation/i18n/it.po new file mode 100644 index 00000000..c11acd16 --- /dev/null +++ b/donation/i18n/it.po @@ -0,0 +1,1260 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * donation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-01-20 14:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_count +#: model:ir.model.fields,field_description:donation.field_res_users__donation_count +msgid "# of Donations" +msgstr "N° di donazioni" + +#. module: donation +#: model:ir.actions.report,print_report_name:donation.report_thanks +msgid "" +"'donation_thanks-%s%s' % (object.number, object.state == 'draft' and " +"'-draft' or '')" +msgstr "" +"'donation_thanks-%s%s' % (object.number, object.state == 'draft' and '-" +"draft' or '')" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_campaign_code_company_uniq +msgid "A campaign with the same code already exists!" +msgstr "Esiste già una campagna con lo stesso codice!" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to a tax receipt" +msgstr "" +"Una donazione annullata non dovrebbe essere legata ad una ricevuta fiscale" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "A cancelled donation should not be linked to an account move" +msgstr "" +"Una donazione annullata non dovrebbe essere legata ad un movimento contabile" + +#. module: donation +#: model:ir.model.constraint,message:donation.constraint_donation_donation_bank_statement_line_uniq +msgid "A donation already exists for this bank statement line." +msgstr "Esiste già una donazione per questa riga estratto conto bancario." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,help:donation.field_donation_report__product_detailed_type +msgid "" +"A storable product is a product for which you manage stock. The Inventory app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" +"Un prodotto stoccabile è un prodotto per il quale si gestiscono le giacenze. " +"Deve essere installata l'app Magazzino.\n" +"Un prodotto consumabile è un prodotto per il quale non sono gestite le " +"giacenze.\n" +"Un servizio è un prodotto non materiale che viene fornito." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__move_id +msgid "Account Move" +msgstr "Movimento contabile" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction +msgid "Action Needed" +msgstr "Azione richiesta" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__active +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__active +msgid "Active" +msgstr "Attiva" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_ids +msgid "Activities" +msgstr "Attività" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decorazione eccezione attività" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_state +msgid "Activity State" +msgstr "Stato attività" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icona tipo attività" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount +#: model:ir.model.fields,field_description:donation.field_donation_report__amount_company_currency +msgid "Amount" +msgstr "Valore" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total +msgid "Amount Total" +msgstr "Importo totale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__amount_total_company_currency +msgid "Amount Total in Company Currency" +msgstr "Importo totale nella valuta aziendale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__amount_company_currency +msgid "Amount in Company Currency" +msgstr "Importo in valuta aziendale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution +msgid "Analytic" +msgstr "Analitica" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_distribution_search +msgid "Analytic Distribution Search" +msgstr "Ricerca distribuzione analitica" + +#. module: donation +#: model:ir.model,name:donation.model_account_analytic_applicability +msgid "Analytic Plan's Applicabilities" +msgstr "Applicabilità piano analitico" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__analytic_precision +msgid "Analytic Precision" +msgstr "Precisione analitica" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__annual +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__annual +msgid "Annual Tax Receipt" +msgstr "Ricevuta fiscale annuale" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_form +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_form +#: model_terms:ir.ui.view,arch_db:donation.donation_thanks_template_search +msgid "Archived" +msgstr "In archivio" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_attachment_count +msgid "Attachment Count" +msgstr "Conteggio allegati" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Back to Draft" +msgstr "Reimposta a bozza" + +#. module: donation +#: model:ir.model,name:donation.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Riga estratto conto" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Campaign" +msgstr "Campagna" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Cancel" +msgstr "Annulla" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__cancel +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Cancelled" +msgstr "Annullata" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it doesn't have any lines!" +msgstr "Non si può validare la donazione %s perché non ha righe!" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because it is not in draft state." +msgstr "Non si può validare la donazione %s perché è in stato bozza." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Cannot validate donation %s because the total amount is 0!" +msgstr "Non si può validare la donazione %s perché il valore totale è zero!" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__product_categ_id +msgid "Category of Product" +msgstr "Categoria prodotto" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Change" +msgstr "Cambio" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_tax_receipt_option_switch_action +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Change Tax Receipt Option" +msgstr "Modifica opzione ricevuta fiscale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__check_total +msgid "Check Amount" +msgstr "Controlla importo" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_config_settings__group_donation_check_total +msgid "Check Total on Donations" +msgstr "Controlla totale nelle donazioni" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__code +msgid "Code" +msgstr "Codice" + +#. module: donation +#: model:ir.model,name:donation.model_donation_campaign +msgid "Code attributed for a Donation Campaign" +msgstr "Codice attribuito per una campagna donazione" + +#. module: donation +#: model:ir.model,name:donation.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__company_id +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__company_id +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Company" +msgstr "Azienda" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__company_currency_id +#: model:ir.model.fields,field_description:donation.field_donation_report__company_currency_id +msgid "Company Currency" +msgstr "Valuta aziendale" + +#. module: donation +#: model:ir.model,name:donation.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni configurazione" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_config_menu +msgid "Configuration" +msgstr "Configurazione" + +#. module: donation +#: model:ir.model,name:donation.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__country_id +msgid "Country" +msgstr "Nazione" + +#. module: donation +#: model:ir.ui.menu,name:donation.tax_receipt_annual_create_menu +msgid "Create Annual Receipts" +msgstr "Crea ricevute annuali" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Create Donation from Bank Statement Line" +msgstr "Crea donazioni da righe estratto conto bancario" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__create_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__create_date +#: model:ir.model.fields,field_description:donation.field_donation_line__create_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__create_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__create_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__currency_id +#: model:ir.model.fields,field_description:donation.field_donation_line__currency_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Currency" +msgstr "Valuta" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_campaign_id +msgid "Current Donation Campaign" +msgstr "Campagna donazioni attuale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_users__context_donation_payment_method_line_id +msgid "Current Donation Payment Mode" +msgstr "Metodo pagamento donazione attuale" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Date" +msgstr "Data" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__display_name +#: model:ir.model.fields,field_description:donation.field_donation_donation__display_name +#: model:ir.model.fields,field_description:donation.field_donation_line__display_name +#: model:ir.model.fields,field_description:donation.field_donation_report__display_name +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__display_name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__display_name +#: model:ir.model.fields,field_description:donation.field_donation_validate__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_account_analytic_applicability__business_domain +msgid "Domain" +msgstr "Dominio" + +#. module: donation +#: model:ir.model,name:donation.model_donation_donation +#: model:ir.model.fields,field_description:donation.field_account_payment_method_line__donation +#: model:ir.model.fields,field_description:donation.field_donation_line__donation_id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__donation_id +#: model:ir.model.fields.selection,name:donation.selection__account_analytic_applicability__business_domain__donation +#: model:ir.module.category,name:donation.module_category_donation +#: model:ir.ui.menu,name:donation.donation_top_menu +#: model_terms:ir.ui.view,arch_db:donation.account_payment_method_line_search +#: model_terms:ir.ui.view,arch_db:donation.res_config_settings_donation +msgid "Donation" +msgstr "Donazione" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Donation %(donation)s is linked to a bank statement line, but the Donation " +"by Credit Transfer Account is not set for company '%(company)s'. This should" +" never happen." +msgstr "" +"La donazione %(donation)s è collegata a una riga dell'estratto conto " +"bancario, ma il conto donazione tramite bonifico bancario non è impostato " +"per la società '%(company)s'. Ciò non dovrebbe mai accadere." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__campaign_id +#: model:ir.model.fields,field_description:donation.field_donation_report__campaign_id +msgid "Donation Campaign" +msgstr "Campagna donazione" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_campaign_action +#: model:ir.ui.menu,name:donation.donation_campaign_menu +msgid "Donation Campaigns" +msgstr "Campagne donazione" + +#. module: donation +#: model:res.groups,name:donation.group_donation_check_total +msgid "Donation Check Total" +msgstr "Totale controllo donazione" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__donation_date +#: model:ir.model.fields,field_description:donation.field_donation_report__donation_date +msgid "Donation Date" +msgstr "Data donazione" + +#. module: donation +#: model:ir.model,name:donation.model_donation_line +#: model:ir.model.fields,field_description:donation.field_donation_donation__line_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Donation Lines" +msgstr "Righe donazione" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__number +msgid "Donation Number" +msgstr "Numero donazione" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_menu +msgid "Donation Tax Receipts" +msgstr "Ricevute fiscali donazione" + +#. module: donation +#: model:ir.model,name:donation.model_donation_thanks_template +msgid "Donation Thanks Letter Template" +msgstr "Modello lettera ringraziamento donazione" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_account_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_account_id +msgid "Donation by Credit Transfer Account" +msgstr "Conto donazione con bonifico bancario" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "Donation payment mode '%s' is not an inbound payment mode." +msgstr "" +"Il metodo di pagamento donazione '%s' non è un metodo di pagamento in " +"entrata." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_payment_method_line.py:0 +#, python-format +msgid "" +"Donation payment mode '%s' must be configured with 'Link to Bank Account' " +"set to 'Fixed'." +msgstr "" +"Il metodo di pagamento '%s' deve essere configurato con 'Collega a conto " +"bancario' impostato a 'Fisso'." + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_action +#: model:ir.actions.act_window,name:donation.partner_donation_action +#: model:ir.model.fields,field_description:donation.field_account_bank_statement_line__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_partner__donation_ids +#: model:ir.model.fields,field_description:donation.field_res_users__donation_ids +#: model:ir.ui.menu,name:donation.donation_menu +#: model:ir.ui.menu,name:donation.donation_title_menu +#: model_terms:ir.ui.view,arch_db:donation.view_partner_property_form +msgid "Donations" +msgstr "Donazioni" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_report_action +#: model:ir.model,name:donation.model_donation_report +#: model:ir.ui.menu,name:donation.donation_report_menu +msgid "Donations Analysis" +msgstr "Analisi donazioni" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_line_action +msgid "Donations Lines" +msgstr "Righe donazioni" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__done +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Done" +msgstr "Evasa" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__partner_id +#: model:ir.model.fields,field_description:donation.field_donation_report__partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Donor" +msgstr "Donatore" + +#. module: donation +#: model:ir.ui.menu,name:donation.donor +msgid "Donors" +msgstr "Donatori" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__state__draft +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Draft" +msgstr "Bozza" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__tax_receipt_total +msgid "Eligible Tax Receipt Sub-total in Company Currency" +msgstr "Sub-totale idoneo a ricevuta fiscale in valuta azienda" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_ok +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Eligible for a Tax Receipt" +msgstr "Idoneo per ricevuta fiscale" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Error:" +msgstr "Errore:" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Failed to get account for donation line with product '%s'." +msgstr "Fallito il recupero del conto per la riga donazione con prodotto '%s'." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_follower_ids +msgid "Followers" +msgstr "Seguito da" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguito da (partner)" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icona Font Awesome es. fa-tasks" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__each +#: model:ir.model.fields.selection,name:donation.selection__donation_tax_receipt_option_switch__new_tax_receipt_option__each +msgid "For Each Donation" +msgstr "Per ogni donazione" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Full in-kind donation: no account move generated" +msgstr "Donazione completamente in natura: nessun movimento contabile generato" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Group By" +msgstr "Raggruppa per" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__has_message +msgid "Has Message" +msgstr "Ha un messaggio" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__id +#: model:ir.model.fields,field_description:donation.field_donation_donation__id +#: model:ir.model.fields,field_description:donation.field_donation_line__id +#: model:ir.model.fields,field_description:donation.field_donation_report__id +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__id +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__id +#: model:ir.model.fields,field_description:donation.field_donation_validate__id +msgid "ID" +msgstr "ID" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_exception_icon +msgid "Icon" +msgstr "Icona" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icona per indicare un'attività eccezione." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se selezionata, nuovi messaggi richiedono attenzione." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna." + +#. module: donation +#: model:ir.model.fields,help:donation.field_account_payment_method_line__donation +msgid "If enabled, this payment mode will be available on donations" +msgstr "" +"Se abilitata, questo metodo di pagamento sarà disponibile nelle donazioni" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__image +msgid "Image" +msgstr "Immagine" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__in_kind +#: model:ir.model.fields,field_description:donation.field_donation_report__in_kind +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "In Kind" +msgstr "In natura" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_ok +msgid "Is Eligible for a Tax Receipt" +msgstr "È idoneo per una ricevuta fiscale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_is_follower +msgid "Is Follower" +msgstr "Segue" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign____last_update +#: model:ir.model.fields,field_description:donation.field_donation_donation____last_update +#: model:ir.model.fields,field_description:donation.field_donation_line____last_update +#: model:ir.model.fields,field_description:donation.field_donation_report____last_update +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch____last_update +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template____last_update +#: model:ir.model.fields,field_description:donation.field_donation_validate____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_line__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_uid +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__write_date +#: model:ir.model.fields,field_description:donation.field_donation_donation__write_date +#: model:ir.model.fields,field_description:donation.field_donation_line__write_date +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__write_date +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__write_date +#: model:ir.model.fields,field_description:donation.field_donation_validate__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Lines" +msgstr "Righe" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_main_attachment_id +msgid "Main Attachment" +msgstr "Allegato principale" + +#. module: donation +#: model:ir.module.category,description:donation.module_category_donation +msgid "Manage donations" +msgstr "Gestione donazioni" + +#. module: donation +#: model:res.groups,name:donation.group_donation_manager +msgid "Manager" +msgstr "Responsabile" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark all selected donation as Thanks Printed?" +msgstr "Impostare tutte le donazioni a Ringraziamenti stampati?" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +msgid "Mark as Thanks Printed" +msgstr "Imposta a Ringraziamenti stampati" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error +msgid "Message Delivery error" +msgstr "Errore di consegna messaggio" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_ids +msgid "Messages" +msgstr "Messaggi" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "Missing Outstanding Receipts Account on company '%s'." +msgstr "Manca il conto ricevute rilevanti per l'azienda '%s'." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "Missing Product for Donations via Credit Transfer for company '%s'." +msgstr "" +"Manca prodotto per donazioni con trasferimento del credito per l'azienda " +"'%s'." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"Missing inbound payment mode linked to the bank journal '%s' configured with" +" 'Link to Bank Account' set to 'Fixed'." +msgstr "" +"Manca metodo pagamento in ingresso collegato al registro banca '%s' " +"configurato con 'Collegato a conto bancario' impostato a 'Fisso'." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Scadenza mia attività" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__name +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__name +msgid "Name" +msgstr "Nome" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_campaign_search +msgid "Name or Code" +msgstr "Nome o codice" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#: code:addons/donation/models/donation.py:0 +#: code:addons/donation/models/donation.py:0 +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "New" +msgstr "Nuova" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Scadenza prossima attività" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_summary +msgid "Next Activity Summary" +msgstr "Riepilogo prossima attività" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo prossima attività" + +#. module: donation +#: model:ir.model.fields.selection,name:donation.selection__donation_donation__tax_receipt_option__none +msgid "None" +msgstr "Nessuna" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__note +msgid "Notes" +msgstr "Note" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero di azioni" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__message_has_error_counter +msgid "Number of errors" +msgstr "Numero di errori" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Numero di messaggi che richiedono un'azione" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Numero di messaggi con errore di consegna" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%(line)s', the amount (%(amount)s) is negative so it" +" cannot be processed as a donation." +msgstr "" +"Nella riga estratto conto '%(line)s', il valore (%(amount)s) è negativo " +"quindi non può essere elaborato come una donazione." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "" +"On bank statement line '%s', the partner is required to process a donation." +msgstr "" +"Nella riga estratto conto bancario '%s', è richiesto il partner per " +"elaborare la donazione." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/res_company.py:0 +#, python-format +msgid "" +"On the company %(company)s, the Product for Donations via Credit Transfer " +"(%(product)s) is not a donation product !" +msgstr "" +"Nell'azienda %(company)s, il prodotto per le donazioni con trasferimento del " +"credito (%(product)s) non è un prodotto donazione!" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Other Information" +msgstr "Altre informazioni" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__commercial_partner_id +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Parent Donor" +msgstr "Donatore padre" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Partner" +msgstr "Partner" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_report__country_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Partner Country" +msgstr "Nazione partner" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_method_line_id +#: model:ir.model.fields,field_description:donation.field_donation_report__payment_method_line_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Payment Mode" +msgstr "Modo di pagamento" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"Payment Mode is not set on donation %s (only fully in-kind donations don't " +"require a payment mode)." +msgstr "" +"Il metodo di pagamento non è impostato nella donazione %s (solo le donazioni " +"completamente in natura non richiedono un metodo di pagamento)." + +#. module: donation +#: model:ir.actions.act_window,name:donation.account_payment_method_line_donation_action +#: model:ir.model,name:donation.model_account_payment_method_line +#: model:ir.ui.menu,name:donation.account_payment_method_line_donation_menu +msgid "Payment Modes" +msgstr "Modi di pagamento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__payment_ref +msgid "Payment Reference" +msgstr "Riferimento pagamento" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_receipt_print_menu +msgid "Print Receipts" +msgstr "Stampa ricevute" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Print Thanks Letter" +msgstr "Stampa lettere ringraziamento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_id +#: model:ir.model.fields,field_description:donation.field_donation_report__product_id +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product" +msgstr "Prodotto" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Category" +msgstr "Categoria prodotto" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__product_detailed_type +#: model:ir.model.fields,field_description:donation.field_donation_report__product_detailed_type +#: model_terms:ir.ui.view,arch_db:donation.donation_report_search +msgid "Product Type" +msgstr "Tipologia prodotto" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_res_company__donation_credit_transfer_product_id +#: model:ir.model.fields,field_description:donation.field_res_config_settings__donation_credit_transfer_product_id +msgid "Product for Donations via Credit Transfer" +msgstr "Prodotto per donazioni tramite trasferimento del credito" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_product_action +#: model:ir.ui.menu,name:donation.donation_products +msgid "Products" +msgstr "Prodotti" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__quantity +msgid "Quantity" +msgstr "Quantità" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt__donation_ids +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_form +msgid "Related Donations" +msgstr "Donazioni relative" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_report_title_menu +msgid "Reporting" +msgstr "Rendicontazione" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__activity_user_id +msgid "Responsible User" +msgstr "Utente responsabile" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +msgid "Save Default Values" +msgstr "Salva valori predefiniti" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Save as Draft" +msgstr "Salva come bozza" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__sequence +#: model:ir.model.fields,field_description:donation.field_donation_line__sequence +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__sequence +msgid "Sequence" +msgstr "Sequenza" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_settings_action +#: model:ir.ui.menu,name:donation.donation_settings_menu +msgid "Settings" +msgstr "Impostazioni" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__bank_statement_line_id +msgid "Source Bank Statement Line" +msgstr "Riga estratto conto bancario origine" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_line__tax_receipt_ok +msgid "Specify if the product is eligible for a tax receipt" +msgstr "Indica se il prodotto è idoneo per una ricevuta fiscale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_campaign__start_date +msgid "Start Date" +msgstr "Data inizio" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__state +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "State" +msgstr "Stato" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Stato in base alle attività\n" +"Scaduto: la data richiesta è trascorsa\n" +"Oggi: la data attività è oggi\n" +"Pianificato: attività future." + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt_option_switch +msgid "Switch Donation Tax Receipt Option" +msgstr "Scambia opzione ricevuta fiscale donazione" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_id +#: model_terms:ir.ui.view,arch_db:donation.donation_line_tree +msgid "Tax Receipt" +msgstr "Ricevuta fiscale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_total +#: model:ir.model.fields,field_description:donation.field_donation_line__tax_receipt_amount +#: model:ir.model.fields,field_description:donation.field_donation_report__tax_receipt_amount +msgid "Tax Receipt Eligible Amount" +msgstr "Valore idoneo ricevuta fiscale" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__tax_receipt_option +#: model:ir.model.fields,field_description:donation.field_donation_tax_receipt_option_switch__new_tax_receipt_option +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Tax Receipt Option" +msgstr "Opzione ricevuta fiscale" + +#. module: donation +#: model:ir.model,name:donation.model_donation_tax_receipt +msgid "Tax Receipt for Donations" +msgstr "Ricevuta fiscale per donazioni" + +#. module: donation +#: model:ir.ui.menu,name:donation.donation_tax_title_menu +msgid "Tax Receipts" +msgstr "Ricevute fiscali" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_thanks_template__text +msgid "Text" +msgstr "Testo" + +#. module: donation +#: model:ir.actions.report,name:donation.report_thanks +msgid "Thanks Letter" +msgstr "Lettera ringraziamento" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_thanks_template_action +#: model:ir.ui.menu,name:donation.donation_thanks_template_menu +msgid "Thanks Letter Templates" +msgstr "Modelli lettera ringraziamento" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_printed +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_printed +msgid "Thanks Printed" +msgstr "Ringraziamenti stampati" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__thanks_template_id +#: model:ir.model.fields,field_description:donation.field_donation_report__thanks_template_id +msgid "Thanks Template" +msgstr "Modello ringraziamenti" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_search +msgid "Thanks to Print" +msgstr "Ringraziamenti da stampare" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The Donation by Credit Transfer Account '%(account)s' for company " +"'%(company)s' is not reconciliable. This should never happen." +msgstr "" +"La donazione da conto trasferimento credito '%(account)s' per l'azienda " +"'%(company)s' non è riconciliabile. Questo non dovrebbe avvenire." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/account_bank_statement_line.py:0 +#, python-format +msgid "The Donation by Credit Transfer Account is not set for company '%s'." +msgstr "" +"La donazione da conto trasferimento credito non è impostata per l'azienda " +"'%s'." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The amount of donation %(donation)s (%(check_total)s) is different from the " +"sum of the donation lines (%(amount_total)s)." +msgstr "" +"L'importo della donazione %(donation)s (%(check_total)s) è diverso dalla " +"somma delle righe di donazione (%(amount_total)s)." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The date of donation %s should be today or in the past, not in the future!" +msgstr "" +"La data della donazione %s dovrebbe essere oggi o nel passato, non nel " +"futuro!" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%(donation)s' is linked to the tax receipt %(tax_receipt)s, so" +" you cannot delete it." +msgstr "" +"La donazione '%(donation)s' è collegata con la ricevuta fiscale " +"%(tax_receipt)s, quindi non si può cancellare." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "The donation '%s' is in Done state, so you cannot delete it." +msgstr "La donazione '%s' è in stato eseguita, quindi non si può cancellare." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The donation '%s' is linked to an account move, so you cannot delete it." +msgstr "" +"La donazione '%s' è collegata ad un movimento di magazzino, quindi non può " +"essere cancellata." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"The payment mode '%(pay_mode)s' selected on donation %(donation)s is not a " +"donation payment mode." +msgstr "" +"Il metodo di pagamento '%(pay_mode)s' selezionato nel dominio %(donation)s " +"non è un metodo di pagamento donazione." + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__thanks_printed +msgid "" +"This field automatically becomes active when the thanks letter has been " +"printed." +msgstr "" +"Questo campo diventa attivo automaticamente quando la lettera di " +"ringraziamento è stata stampata." + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "This wizard will validate all the draft donations selected." +msgstr "Questa procedura guidata validerà tutte le donazioni selezionate." + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +msgid "Total" +msgstr "Totale" + +#. module: donation +#: model:ir.model.fields,help:donation.field_res_company__donation_account_id +#: model:ir.model.fields,help:donation.field_res_config_settings__donation_account_id +msgid "Transfer account for donations received by credit transfer. " +msgstr "" +"Conto trasferimento per donazioni ricevute da trasferimento del credito. " + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo di attività eccezione sul record." + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_line__unit_price +msgid "Unit Price" +msgstr "Prezzo unitario" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_tax_receipt_option_switch_form +msgid "Update" +msgstr "Aggiorna" + +#. module: donation +#: model:ir.model,name:donation.model_res_users +#: model:res.groups,name:donation.group_donation_user +msgid "User" +msgstr "Utente" + +#. module: donation +#: model_terms:ir.ui.view,arch_db:donation.donation_form +#: model_terms:ir.ui.view,arch_db:donation.donation_from_bank_statement_line_form +#: model_terms:ir.ui.view,arch_db:donation.donation_tree +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate" +msgstr "Valida" + +#. module: donation +#: model:ir.model,name:donation.model_donation_validate +#: model_terms:ir.ui.view,arch_db:donation.donation_validate_form +msgid "Validate Donations" +msgstr "Donazioni validate" + +#. module: donation +#: model:ir.actions.act_window,name:donation.donation_validate_action +msgid "Validate Draft Donations" +msgstr "Valida donazioni in bozza" + +#. module: donation +#: model:res.groups,name:donation.group_donation_viewer +msgid "Viewer" +msgstr "Visualizzatore" + +#. module: donation +#: model:ir.model.fields,field_description:donation.field_donation_donation__website_message_ids +msgid "Website Messages" +msgstr "Messaggi sito web" + +#. module: donation +#: model:ir.model.fields,help:donation.field_donation_donation__website_message_ids +msgid "Website communication history" +msgstr "Cronologia comunicazioni sito web" + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "" +"You cannot cancel this donation because it is linked to the tax receipt %s. " +"You should first delete this tax receipt (but it may not be legally " +"allowed)." +msgstr "" +"Non si può annullare questa donazione perché è collegata alla ricevuta " +"fiscale %s. Si dovrebbe prima eliminare questa ricevuta fiscale (ma potrebbe " +"non essere legalmente consentito)." + +#. module: donation +#. odoo-python +#: code:addons/donation/models/donation.py:0 +#, python-format +msgid "You cannot change the Tax Receipt Option when it is Annual." +msgstr "Non si può modificare l'opzione ricevuta fiscale quando è annuale." diff --git a/donation/models/__init__.py b/donation/models/__init__.py new file mode 100644 index 00000000..f9b05f0b --- /dev/null +++ b/donation/models/__init__.py @@ -0,0 +1,10 @@ +from . import donation +from . import donation_tax_receipt +from . import donation_campaign +from . import account_payment_method_line +from . import donation_thanks_template +from . import account_bank_statement_line +from . import account_analytic_applicability +from . import res_partner +from . import res_users +from . import res_company diff --git a/donation/models/account_analytic_applicability.py b/donation/models/account_analytic_applicability.py new file mode 100644 index 00000000..9ec9b8df --- /dev/null +++ b/donation/models/account_analytic_applicability.py @@ -0,0 +1,16 @@ +# Copyright 2023 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class AccountAnalyticApplicability(models.Model): + _inherit = "account.analytic.applicability" + + business_domain = fields.Selection( + selection_add=[ + ("donation", "Donation"), + ], + ondelete={"donation": "cascade"}, + ) diff --git a/donation/models/account_bank_statement_line.py b/donation/models/account_bank_statement_line.py new file mode 100644 index 00000000..dc612364 --- /dev/null +++ b/donation/models/account_bank_statement_line.py @@ -0,0 +1,129 @@ +# Copyright 2023 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import Command, fields, models +from odoo.exceptions import UserError +from odoo.tools.misc import format_amount + +# This code is mostly used in the OCA module donation_bank_statement_oca +# But it's located in the "donation" module because it can be useful for +# other modules (alternative reconcile interfaces, module compatible with the Enterprise +# reconcile interface, etc.) + + +class AccountBankStatementLine(models.Model): + _inherit = "account.bank.statement.line" + + donation_ids = fields.One2many( + "donation.donation", "bank_statement_line_id", string="Donations", readonly=True + ) + + def _check_statement_line_donation(self): + self.ensure_one() + if not self.partner_id: + raise UserError( + self.env._( + "On bank statement line '%s', the partner is required to " + "process a donation.", + self.display_name, + ) + ) + if self.currency_id.compare_amounts(self.amount, 0) <= 0: + raise UserError( + self.env._( + "On bank statement line '%(line)s', the amount (%(amount)s) " + "is negative so it cannot be processed as a donation.", + line=self.display_name, + amount=format_amount(self.env, self.amount, self.currency_id), + ) + ) + if not self.company_id.donation_account_id: + raise UserError( + self.env._( + "The Donation by Credit Transfer Account" + "is not set for company '%s'.", + self.company_id.display_name, + ) + ) + + def _get_payment_method_line_donation(self): + self.ensure_one() + payment_method_line = self.env["account.payment.method.line"].search( + [ + ("company_id", "=", self.company_id.id), + ("payment_type", "=", "inbound"), + ("journal_id", "=", self.journal_id.id), + ], + limit=1, + ) + if not payment_method_line: + raise UserError( + self.env._( + "Missing inbound payment method linked to the bank journal '%s'.", + self.journal_id.display_name, + ) + ) + return payment_method_line + + def _get_donation_product(self): + self.ensure_one() + product = self.company_id.donation_credit_transfer_product_id + if not product: + raise UserError( + self.env._( + "Missing Product for Donations via Credit Transfert " + "for company '%s'.", + self.company_id.display_name, + ) + ) + return product + + def _prepare_donation_context(self): + self.ensure_one() + product = self._get_donation_product() + payment_method_line_id = self._get_payment_method_line_donation().id + context = { + "default_company_id": self.company_id.id, + "default_partner_id": self.partner_id.id, + "default_currency_id": self.currency_id.id, + "default_payment_method_line_id": payment_method_line_id, + "default_payment_ref": self.payment_ref, + "default_donation_date": self.date, + "default_bank_statement_line_id": self.id, + "default_check_total": self.amount, + "default_line_ids": [ + Command.create( + { + "product_id": product.id, + "quantity": 1, + "unit_price": self.amount, + } + ) + ], + } + return context + + def _prepare_donation_action(self): + action = { + "type": "ir.actions.act_window", + "name": self.env._("Create Donation from Bank Statement Line"), + "res_model": "donation.donation", + "view_mode": "form", + "view_id": self.env.ref( + "donation.donation_from_bank_statement_line_form" + ).id, + "target": "new", + "context": self._prepare_donation_context(), + } + return action + + def _prepare_donation_counterpart_move_line_vals(self, credit): + vals = { + "move_id": self.move_id.id, + "account_id": self.company_id.donation_account_id.id, + "partner_id": self.partner_id.id, + "credit": credit, + "debit": False, + } + return vals diff --git a/donation/models/account_payment_method_line.py b/donation/models/account_payment_method_line.py new file mode 100644 index 00000000..b3e92e38 --- /dev/null +++ b/donation/models/account_payment_method_line.py @@ -0,0 +1,26 @@ +# Copyright 2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models +from odoo.exceptions import ValidationError + + +class AccountPaymentMethodLine(models.Model): + _inherit = "account.payment.method.line" + + donation = fields.Boolean( + help="If enabled, this payment method will be available on donations", + ) + + @api.constrains("donation") + def _check_donation(self): + for mode in self: + if mode.donation and mode.payment_type != "inbound": + raise ValidationError( + self.env._( + "Donation payment method '%s'" + "is not an inbound payment method.", + mode.display_name, + ) + ) diff --git a/donation/models/donation.py b/donation/models/donation.py new file mode 100644 index 00000000..66029000 --- /dev/null +++ b/donation/models/donation.py @@ -0,0 +1,788 @@ +# Copyright 2014-2021 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +from odoo import Command, api, fields, models +from odoo.exceptions import UserError +from odoo.tools.misc import format_amount + +logger = logging.getLogger(__name__) + + +class DonationDonation(models.Model): + _name = "donation.donation" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Donation" + _order = "id desc" + _check_company_auto = True + + currency_id = fields.Many2one( + "res.currency", + required=True, + tracking=True, + ondelete="restrict", + default=lambda self: self.env.company.currency_id, + ) + partner_id = fields.Many2one( + "res.partner", + string="Donor", + required=True, + index=True, + tracking=True, + ondelete="restrict", + ) + commercial_partner_id = fields.Many2one( + related="partner_id.commercial_partner_id", + string="Parent Donor", + store=True, + index=True, + ) + # country_id is here to have stats per country + country_id = fields.Many2one( + "res.country", + compute="_compute_country_id", + store=True, + ) + check_total = fields.Monetary( + string="Check Amount", + currency_field="currency_id", + tracking=True, + ) + amount_total = fields.Monetary( + compute="_compute_total", + currency_field="currency_id", + store=True, + tracking=True, + ) + amount_total_company_currency = fields.Monetary( + compute="_compute_total", + string="Amount Total in Company Currency", + currency_field="company_currency_id", + store=True, + ) + donation_date = fields.Date( + required=True, + index=True, + tracking=True, + ) + company_id = fields.Many2one( + "res.company", + required=True, + default=lambda self: self.env.company, + ) + line_ids = fields.One2many( + "donation.line", + "donation_id", + string="Donation Lines", + copy=True, + ) + move_id = fields.Many2one( + "account.move", + string="Journal Entry", + readonly=True, + copy=False, + check_company=True, + ) + number = fields.Char( + required=True, + copy=False, + string="Donation Number", + index=True, + default=lambda self: self.env._("New"), + readonly=True, + ) + payment_method_line_id = fields.Many2one( + "account.payment.method.line", + string="Payment Method", + domain="[('company_id', '=', company_id), ('donation', '=', True)]", + tracking=True, + check_company=True, + default=lambda self: self.env.user.context_donation_payment_method_line_id, + ) + payment_ref = fields.Char( + string="Payment Reference", + copy=False, + ) + state = fields.Selection( + [("draft", "Draft"), ("done", "Done"), ("cancel", "Cancelled")], + readonly=True, + copy=False, + default="draft", + index=True, + tracking=True, + ) + company_currency_id = fields.Many2one( + related="company_id.currency_id", + string="Company Currency", + store=True, + ) + campaign_id = fields.Many2one( + "donation.campaign", + string="Donation Campaign", + tracking=True, + check_company=True, + ondelete="restrict", + default=lambda self: self.env.user.context_donation_campaign_id, + ) + tax_receipt_id = fields.Many2one( + "donation.tax.receipt", + readonly=True, + copy=False, + tracking=True, + check_company=True, + ) + tax_receipt_option = fields.Selection( + [ + ("none", "None"), + ("each", "For Each Donation"), + ("annual", "Annual Tax Receipt"), + ], + compute="_compute_tax_receipt_option", + index=True, + tracking=True, + precompute=True, + store=True, + readonly=False, + ) + tax_receipt_total = fields.Monetary( + compute="_compute_total", + string="Tax Receipt Eligible Amount", + store=True, + readonly=True, + currency_field="company_currency_id", + help="Eligible Tax Receipt Sub-total in Company Currency", + ) + bank_statement_line_id = fields.Many2one( + "account.bank.statement.line", + string="Source Bank Statement Line", + ondelete="restrict", + readonly=True, + ) + thanks_printed = fields.Boolean( + copy=False, + tracking=True, + help="This field automatically becomes active when " + "the thanks letter has been printed.", + ) + thanks_template_id = fields.Many2one( + "donation.thanks.template", + ondelete="restrict", + copy=False, + ) + + _sql_constraints = [ + ( + "bank_statement_line_uniq", + "unique(bank_statement_line_id)", + "A donation already exists for this bank statement line.", + ) + ] + + @api.depends( + "line_ids.unit_price", + "line_ids.quantity", + "line_ids.product_id", + "donation_date", + "currency_id", + "company_id", + ) + def _compute_total(self): + for donation in self: + total = tax_receipt_total = 0.0 + for line in donation.line_ids: + line_total = line.quantity * line.unit_price + total += line_total + if line.tax_receipt_ok: + tax_receipt_total += line_total + + date = donation.donation_date or fields.Date.context_today(self) + donation.amount_total = total + donation_currency = donation.currency_id + company_currency = donation.company_id.currency_id + total_company_currency = donation_currency._convert( + total, company_currency, donation.company_id, date + ) + tax_receipt_total_cc = donation_currency._convert( + tax_receipt_total, + company_currency, + donation.company_id, + date, + ) + donation.amount_total_company_currency = total_company_currency + donation.tax_receipt_total = tax_receipt_total_cc + + # We don't want a depends on partner_id.country_id, because if the partner + # moves to another country, we want to keep the old country for + # past donations to have good statistics + @api.depends("partner_id") + def _compute_country_id(self): + for donation in self: + donation.country_id = donation.partner_id.country_id + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if "company_id" in vals: + self = self.with_company(vals["company_id"]) + if vals.get("number", self.env._("New")) == self.env._("New"): + vals["number"] = self.env["ir.sequence"].next_by_code( + "donation.donation", sequence_date=vals.get("donation_date") + ) or self.env._("New") + return super().create(vals_list) + + def _prepare_each_tax_receipt(self): + self.ensure_one() + vals = { + "company_id": self.company_id.id, + "currency_id": self.company_currency_id.id, + "donation_date": self.donation_date, + "amount": self.tax_receipt_total, + "type": "each", + "partner_id": self.commercial_partner_id.id, + } + return vals + + def _prepare_counterpart_move_line(self, total_company_cur, total_currency): + self.ensure_one() + if self.company_currency_id.compare_amounts(total_company_cur, 0) > 0: + debit = total_company_cur + credit = 0 + else: + credit = -total_company_cur + debit = 0 + if self.bank_statement_line_id: + account_id = self.company_id.donation_account_id.id + else: + account_id = self.payment_method_line_id.payment_account_id.id + if not account_id: + raise UserError( + self.env._( + "Payment account is not set on payment method '%s'.", + self.payment_method_line_id.display_name, + ) + ) + vals = { + "debit": debit, + "credit": credit, + "account_id": account_id, + "partner_id": self.commercial_partner_id.id, + "currency_id": self.currency_id.id, + "amount_currency": total_currency, + "name": self.number, + "display_type": "payment_term", + } + return vals + + def _prepare_donation_move(self): + self.ensure_one() + if not self.bank_statement_line_id and not self.payment_method_line_id.donation: + raise UserError( + self.env._( + "The payment method '%(pay_mode)s' selected on donation " + "%(donation)s is not a donation payment method.", + pay_mode=self.payment_method_line_id.display_name, + donation=self.display_name, + ) + ) + journal = self.payment_method_line_id.journal_id + assert journal + + # Note : we can have negative donations for donors that use direct + # debit when their direct debit rejected by the bank + total_company_cur = 0.0 + total_currency = 0.0 + + vals = { + "company_id": self.company_id.id, + "journal_id": journal.id, + "date": self.donation_date, + "ref": self.payment_ref, + "line_ids": [], + } + + for line in self.line_ids: + if line.in_kind: + continue + if self.currency_id.is_zero(line.amount): + continue + account = line._get_account() + if not account: + raise UserError( + self.env._( + "Failed to get account for donation line with product '%s'.", + line.product_id.display_name, + ) + ) + + total_currency += line.amount + + amount_cc = self.currency_id._convert( + line.amount, + self.company_currency_id, + self.company_id, + self.donation_date, + ) + total_company_cur += amount_cc + if self.company_currency_id.compare_amounts(amount_cc, 0) > 0: + credit = amount_cc + debit = 0 + else: + debit = -amount_cc + credit = 0 + vals["line_ids"].append( + Command.create( + { + "display_type": "product", + "product_id": line.product_id.id, + "credit": credit, + "debit": debit, + "account_id": account.id, + "analytic_distribution": line.analytic_distribution, + "partner_id": self.commercial_partner_id.id, + "currency_id": self.currency_id.id, + "amount_currency": -line.amount, + } + ) + ) + + if not vals["line_ids"]: + return False + + # counter-part + ml_vals = self._prepare_counterpart_move_line(total_company_cur, total_currency) + vals["line_ids"].append(Command.create(ml_vals)) + return vals + + def save_as_draft(self): + # Used in simple form view used as wizard + # Do nothing, just close + self.ensure_one() + return + + def validate(self): + check_total_grp = self.env.user.has_group("donation.group_donation_check_total") + for donation in self: + if donation.donation_date > fields.Date.context_today(self): + raise UserError( + self.env._( + "The date of donation %s should be today " + "or in the past, not in the future!", + donation.display_name, + ) + ) + if not donation.line_ids: + raise UserError( + self.env._( + "Cannot validate donation %s because it doesn't " + "have any lines!", + donation.display_name, + ) + ) + + if donation.currency_id.is_zero(donation.amount_total): + raise UserError( + self.env._( + "Cannot validate donation %s because the total amount is 0!", + donation.display_name, + ) + ) + + if donation.state != "draft": + raise UserError( + self.env._( + "Cannot validate donation %s because it is not in draft state.", + donation.display_name, + ) + ) + + if ( + check_total_grp or donation.bank_statement_line_id + ) and donation.currency_id.compare_amounts( + donation.check_total, donation.amount_total + ): + raise UserError( + self.env._( + "The amount of donation " + "%(donation)s (%(check_total)s) is different " + "from the sum of the donation lines (%(amount_total)s).", + donation=donation.display_name, + check_total=format_amount( + self.env, donation.check_total, donation.currency_id + ), + amount_total=format_amount( + self.env, donation.amount_total, donation.currency_id + ), + ) + ) + full_in_kind = all([line.in_kind for line in donation.line_ids]) + if not donation.payment_method_line_id and not full_in_kind: + raise UserError( + self.env._( + "Payment method is not set on donation %s (only fully " + "in-kind donations don't require a payment method).", + donation.display_name, + ) + ) + + vals = {"state": "done"} + if full_in_kind and donation.payment_method_line_id: + vals["payment_method_line_id"] = False + + if not full_in_kind: + move_vals = donation._prepare_donation_move() + # when we have a full in-kind donation: no account move + if move_vals: + move = self.env["account.move"].create(move_vals) + move.with_context(validate_analytic=True)._post(soft=False) + vals["move_id"] = move.id + else: + donation.message_post( + body=self.env._( + "Full in-kind donation: no journal entry generated." + ) + ) + + receipt = donation.generate_each_tax_receipt() + if receipt: + vals["tax_receipt_id"] = receipt.id + + donation.write(vals) + if donation.bank_statement_line_id: + donation._reconcile_donation_from_bank_statement() + donation.partner_id._update_donor_rank() + return + + def _reconcile_donation_from_bank_statement(self): + self.ensure_one() + mlines_to_reconcile = self.env["account.move.line"] + transit_account = self.company_id.donation_account_id + if not transit_account: + raise UserError( + self.env._( + "Donation %(donation)s is linked to a bank statement line, but " + "the Donation by Credit Transfer Account is not set for company " + "'%(company)s'. This should never happen.", + donation=self.display_name, + company=self.company_id.display_name, + ) + ) + if not transit_account.reconcile: + raise UserError( + self.env._( + "The Donation by Credit Transfer Account '%(account)s' " + "for company '%(company)s' is not reconciliable. " + "This should never happen.", + account=transit_account.display_name, + company=self.company_id.display_name, + ) + ) + + for donation_mline in self.move_id.line_ids: + if ( + donation_mline.account_id == transit_account + and not donation_mline.reconciled + ): + mlines_to_reconcile |= donation_mline + logger.info( + "Found donation move line to reconcile ID=%s", donation_mline.id + ) + break + for statement_mline in self.bank_statement_line_id.move_id.line_ids: + if ( + statement_mline.account_id == transit_account + and not statement_mline.reconciled + ): + mlines_to_reconcile |= statement_mline + logger.info( + "Found bank statement move line to reconcile ID=%d", + statement_mline.id, + ) + break + if len(mlines_to_reconcile) == 2: + mlines_to_reconcile.reconcile() + logger.info( + "Successfull reconcilation between donation and bank statement." + ) + + def generate_each_tax_receipt(self): + self.ensure_one() + receipt = False + if ( + self.tax_receipt_option == "each" + and not self.tax_receipt_id + and not self.company_currency_id.is_zero(self.tax_receipt_total) + ): + receipt_vals = self._prepare_each_tax_receipt() + receipt = self.env["donation.tax.receipt"].create(receipt_vals) + return receipt + + def save_default_values(self): + self.ensure_one() + method_line_id = self.payment_method_line_id + compaign_id = self.campaign_id + self.env.user.write( + { + "context_donation_payment_method_line_id": method_line_id.id, + "context_donation_campaign_id": compaign_id.id, + } + ) + + def done2cancel(self): + """from Done state to Cancel state""" + for donation in self: + if donation.tax_receipt_id: + raise UserError( + self.env._( + "You cannot cancel this donation because " + "it is linked to the tax receipt %s. You should first " + "delete this tax receipt (but it may not be legally " + "allowed).", + donation.tax_receipt_id.display_name, + ) + ) + if donation.move_id: + donation.move_id.button_cancel() + donation.with_context(force_delete=True).move_id.unlink() + donation.write({"state": "cancel"}) + donation.partner_id._update_donor_rank() + + def cancel2draft(self): + """from Cancel state to Draft state""" + for donation in self: + if donation.move_id: + raise UserError( + self.env._( + "Cancelled donation '%s' is linked to a journal entry. " + "This should never happen.", + donation.display_name, + ) + ) + if donation.tax_receipt_id: + raise UserError( + self.env._( + "Cancelled donation '%s' is linked to a tax receipt. " + "This should never happen.", + donation.display_name, + ) + ) + self.write({"state": "draft"}) + + def unlink(self): + for donation in self: + if donation.state == "done": + raise UserError( + self.env._( + "Donation '%s' is in Done state, so you cannot delete it.", + donation.display_name, + ) + ) + if donation.move_id: + raise UserError( + self.env._( + "Donation '%s' is linked to a journal entry, " + "so you cannot delete it.", + donation.display_name, + ) + ) + if donation.tax_receipt_id: + raise UserError( + self.env._( + "Donation '%(donation)s' is linked to the tax receipt " + "%(tax_receipt)s, so you cannot delete it.", + donation=donation.display_name, + tax_receipt=donation.tax_receipt_id.display_name, + ) + ) + return super().unlink() + + @api.depends("state", "number") + def _compute_display_name(self): + state2label = dict(self.fields_get("state", "selection")["state"]["selection"]) + for donation in self: + name = donation.number + if donation.state != "done": + display_state = state2label.get(donation.state) + name = f"{name} ({display_state})" + donation.display_name = name + + @api.depends("partner_id") + def _compute_tax_receipt_option(self): + for donation in self: + donation.tax_receipt_option = ( + donation.partner_id + and donation.partner_id.commercial_partner_id.tax_receipt_option + or False + ) + + @api.onchange("tax_receipt_option") + def tax_receipt_option_change(self): + res = {} + if ( + self.partner_id + and self.partner_id.commercial_partner_id.tax_receipt_option == "annual" + and self.tax_receipt_option != "annual" + ): + res = { + "warning": { + "title": self.env._("Error:"), + "message": self.env._( + "You cannot change the Tax Receipt Option when it is Annual." + ), + }, + } + self.tax_receipt_option = "annual" + return res + + def print_thanks(self): + self.ensure_one() + self.write({"thanks_printed": True}) + action = ( + self.env.ref("donation.report_thanks") + .with_context(discard_logo_check=True) + .report_action(self) + ) + return action + + def thanks_printed_button(self): + self.write({"thanks_printed": True}) + + +class DonationLine(models.Model): + _name = "donation.line" + _description = "Donation Lines" + _rec_name = "product_id" + _inherit = "analytic.mixin" + _check_company_auto = True + + donation_id = fields.Many2one("donation.donation", ondelete="cascade") + currency_id = fields.Many2one( + related="donation_id.currency_id", + store=True, + ) + company_id = fields.Many2one(related="donation_id.company_id", store=True) + company_currency_id = fields.Many2one( + related="donation_id.company_id.currency_id", + string="Company Currency", + store=True, + ) + product_id = fields.Many2one( + "product.product", + required=True, + domain=[("donation_type", "!=", False)], + ondelete="restrict", + check_company=True, + ) + product_donation_type = fields.Selection( + related="product_id.donation_type", store=True, string="Product Type donation" + ) + quantity = fields.Integer(default=1) + unit_price = fields.Monetary(currency_field="currency_id") + amount = fields.Monetary( + compute="_compute_amount", + currency_field="currency_id", + store=True, + ) + amount_company_currency = fields.Monetary( + compute="_compute_amount", + string="Amount in Company Currency", + currency_field="company_currency_id", + store=True, + ) + tax_receipt_amount = fields.Monetary( + compute="_compute_amount", + string="Tax Receipt Eligible Amount", + currency_field="company_currency_id", + store=True, + ) + sequence = fields.Integer() + # for the fields tax_receipt_ok and in_kind, we made an important change + # between v8 and v9: in v8, it was a reglar field set by an onchange + # in v9, it is a related stored field + tax_receipt_ok = fields.Boolean( + related="product_id.tax_receipt_ok", + store=True, + ) + in_kind = fields.Boolean( + compute="_compute_in_kind", + store=True, + ) + + @api.depends("product_id") + def _compute_in_kind(self): + for line in self: + in_kind = False + if ( + line.product_id.donation_type + and line.product_id.donation_type.startswith("donation_in_kind") + ): + in_kind = True + line.in_kind = in_kind + + @api.depends( + "unit_price", + "quantity", + "product_id", + "donation_id.currency_id", + "donation_id.donation_date", + "donation_id.company_id", + ) + def _compute_amount(self): + for line in self: + amount = line.quantity * line.unit_price + line.amount = amount + donation_currency = line.donation_id.currency_id + date = line.donation_id.donation_date or fields.Date.context_today(self) + amount_company_currency = donation_currency._convert( + amount, + line.donation_id.company_id.currency_id, + line.donation_id.company_id, + date, + ) + tax_receipt_amount_cc = 0.0 + if line.product_id.tax_receipt_ok: + tax_receipt_amount_cc = amount_company_currency + line.amount_company_currency = amount_company_currency + line.tax_receipt_amount = tax_receipt_amount_cc + + @api.depends("product_id") + def _compute_analytic_distribution(self): + for line in self: + product = line.product_id + if product: + account = False + try: + account = line._get_account() + except Exception: + logger.warning( + "No income account configured for product %s", + product.display_name, + ) + distribution = self.env[ + "account.analytic.distribution.model" + ]._get_distribution( + { + "product_id": product.id, + "product_categ_id": product.categ_id.id, + "account_prefix": account and account.code or False, + "company_id": line.donation_id.company_id.id, + } + ) + line.analytic_distribution = distribution or line.analytic_distribution + + @api.onchange("product_id") + def product_id_change(self): + for line in self: + if line.product_id and line.product_id.list_price: + # We should change that one day... + line.unit_price = line.product_id.list_price + + def _get_account(self): + # Method designed to be inherited (in donation_mass for example) + self.ensure_one() + account = self.with_company( + self.company_id.id + ).product_id._get_product_accounts()["income"] + return account diff --git a/donation/models/donation_campaign.py b/donation/models/donation_campaign.py new file mode 100644 index 00000000..4f92e31f --- /dev/null +++ b/donation/models/donation_campaign.py @@ -0,0 +1,38 @@ +# Copyright 2014-2021 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class DonationCampaign(models.Model): + _name = "donation.campaign" + _description = "Code attributed for a Donation Campaign" + _order = "sequence, id" + _rec_names_search = ["name", "code"] + + active = fields.Boolean(default=True) + sequence = fields.Integer(default=10) + code = fields.Char() + name = fields.Char(required=True) + start_date = fields.Date(default=fields.Date.context_today) + # company_id is NOT required, it is empty by default + company_id = fields.Many2one("res.company", ondelete="cascade") + note = fields.Text("Notes") + + _sql_constraints = [ + ( + "code_company_uniq", + "unique(code, company_id)", + "A campaign with the same code already exists!", + ) + ] + + @api.depends("code", "name") + def _compute_display_name(self): + for camp in self: + name = camp.name + if camp.code: + name = f"[{camp.code}] {name}" + camp.display_name = name diff --git a/donation/models/donation_tax_receipt.py b/donation/models/donation_tax_receipt.py new file mode 100644 index 00000000..22d9cf24 --- /dev/null +++ b/donation/models/donation_tax_receipt.py @@ -0,0 +1,50 @@ +# Copyright 2014-2021 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class DonationTaxReceipt(models.Model): + _inherit = "donation.tax.receipt" + + donation_ids = fields.One2many( + "donation.donation", "tax_receipt_id", string="Related Donations" + ) + + @api.model + def update_tax_receipt_annual_dict( + self, tax_receipt_annual_dict, start_date, end_date, company + ): + res = super().update_tax_receipt_annual_dict( + tax_receipt_annual_dict, start_date, end_date, company + ) + donations = self.env["donation.donation"].search( + [ + ("donation_date", ">=", start_date), + ("donation_date", "<=", end_date), + ("tax_receipt_option", "=", "annual"), + ("tax_receipt_id", "=", False), + ("tax_receipt_total", "!=", 0), + ("company_id", "=", company.id), + ("state", "=", "done"), + ] + ) + for donation in donations: + # tax_receipt_total is in company currency + tax_receipt_amount = donation.tax_receipt_total + if company.currency_id.is_zero(tax_receipt_amount): + continue + partner = donation.commercial_partner_id + if partner not in tax_receipt_annual_dict: + tax_receipt_annual_dict[partner] = { + "amount": tax_receipt_amount, + "extra_vals": {"donation_ids": [(6, 0, [donation.id])]}, + } + else: + tax_receipt_annual_dict[partner]["amount"] += tax_receipt_amount + tax_receipt_annual_dict[partner]["extra_vals"]["donation_ids"][0][ + 2 + ].append(donation.id) + return res diff --git a/donation/models/donation_thanks_template.py b/donation/models/donation_thanks_template.py new file mode 100644 index 00000000..44e00501 --- /dev/null +++ b/donation/models/donation_thanks_template.py @@ -0,0 +1,22 @@ +# Copyright 2019 Akretion France +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class DonationThanksTemplate(models.Model): + _name = "donation.thanks.template" + _description = "Donation Thanks Letter Template" + _order = "sequence" + + sequence = fields.Integer(default=10) + name = fields.Char(required=True) + active = fields.Boolean(default=True) + company_id = fields.Many2one( + "res.company", + ondelete="cascade", + default=lambda self: self.env.company, + ) + text = fields.Text(translate=True) + image = fields.Binary(attachment=True) diff --git a/donation/models/res_company.py b/donation/models/res_company.py new file mode 100644 index 00000000..d5e74ba4 --- /dev/null +++ b/donation/models/res_company.py @@ -0,0 +1,41 @@ +# Copyright 2014-2021 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models +from odoo.exceptions import ValidationError + + +class ResCompany(models.Model): + _inherit = "res.company" + + donation_credit_transfer_product_id = fields.Many2one( + "product.product", + string="Product for Donations via Credit Transfer", + domain=[("donation_type", "!=", False)], + ondelete="restrict", + check_company=True, + ) + donation_account_id = fields.Many2one( + "account.account", + check_company=True, + copy=False, + ondelete="restrict", + string="Donation by Credit Transfer Account", + help="Transfer account for donations received by credit transfer. ", + ) + + @api.constrains("donation_credit_transfer_product_id") + def _company_donation_bank_statement_check(self): + for company in self: + product = company.donation_credit_transfer_product_id + if product and not product.donation_type: + raise ValidationError( + self.env._( + "On the company %(company)s, the Product for Donations " + "via Credit Transfer (%(product)s) is not a donation product !", + company=company.display_name, + product=product.display_name, + ) + ) diff --git a/donation/models/res_partner.py b/donation/models/res_partner.py new file mode 100644 index 00000000..512fb19e --- /dev/null +++ b/donation/models/res_partner.py @@ -0,0 +1,33 @@ +# Copyright 2014-2021 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + donation_ids = fields.One2many( + "donation.donation", "partner_id", string="Donations", readonly=True + ) + donation_count = fields.Integer( + compute="_compute_donation_count", string="# of Donations", compute_sudo=True + ) + + @api.depends("donation_ids.partner_id") + def _compute_donation_count(self): + rg_res = self.env["donation.donation"]._read_group( + [("partner_id", "in", self.ids), ("state", "=", "done")], + groupby=["partner_id"], + aggregates=["__count"], + ) + mapped_data = {partner: count for (partner, count) in rg_res} + for partner in self: + partner.donation_count = mapped_data.get(partner.id, 0) + + def _prepare_donor_rank(self): + rank = super()._prepare_donor_rank() + rank += self.donation_count + return rank diff --git a/donation/models/res_users.py b/donation/models/res_users.py new file mode 100644 index 00000000..47762142 --- /dev/null +++ b/donation/models/res_users.py @@ -0,0 +1,21 @@ +# Copyright 2014-2021 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResUsers(models.Model): + _inherit = "res.users" + + # begin with context_ to allow user to change it by himself + context_donation_campaign_id = fields.Many2one( + "donation.campaign", "Current Donation Campaign" + ) + context_donation_payment_method_line_id = fields.Many2one( + "account.payment.method.line", + "Current Donation Payment Method", + domain=[("donation", "=", True)], + company_dependent=True, + ) diff --git a/donation/post_install.py b/donation/post_install.py new file mode 100644 index 00000000..799d7e0a --- /dev/null +++ b/donation/post_install.py @@ -0,0 +1,10 @@ +# Copyright 2016-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +def update_account_payment_method_line(env): + modes = env["account.payment.method.line"].search( + [("payment_type", "=", "inbound")] + ) + modes.write({"donation": True}) diff --git a/donation/pyproject.toml b/donation/pyproject.toml new file mode 100644 index 00000000..4231d0cc --- /dev/null +++ b/donation/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/donation/readme/CONFIGURE.md b/donation/readme/CONFIGURE.md new file mode 100644 index 00000000..7839e6dd --- /dev/null +++ b/donation/readme/CONFIGURE.md @@ -0,0 +1,21 @@ +To configure this module, you need to: + +> - create donation products +> - make sure you have an inbound payment method for each payment method +> used to receive donations. This payment method must be configured with +> *Link to Bank Account* set to *Fixed* and with the donation option +> active. +> - if you wish to have a control amount on the donation, add the users +> to the group *Donation Check Total* + +If you receive donations via credit transfer, you must also: + +- in the configuration page *Invoicing \> Configuration \> Settings*, in + the *Donations* section, select the product that will be used for + donations by credit transfer. +- on the bank journals corresponding to the bank accounts on which you + receive donations by credit transfer, in the *Payments Configuration* + tab, select the *Donation by credit transfer account*. This account + must allow reconciliation. +- Make sure that the accountant that processes bank statements has + *User* access level or higher on the *Donation* application. diff --git a/donation/readme/CONTRIBUTORS.md b/donation/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..6a8eebf5 --- /dev/null +++ b/donation/readme/CONTRIBUTORS.md @@ -0,0 +1,5 @@ +- Brother Bernard \ +- Brother Irénée (Barroux Abbey) +- Alexis de Lattre \ +- Serpent Consulting Services Pvt. Ltd. \ +- Nikul Chaudhary \ diff --git a/donation/readme/DESCRIPTION.md b/donation/readme/DESCRIPTION.md new file mode 100644 index 00000000..32f2c01e --- /dev/null +++ b/donation/readme/DESCRIPTION.md @@ -0,0 +1,10 @@ +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). diff --git a/donation/readme/USAGE.md b/donation/readme/USAGE.md new file mode 100644 index 00000000..be645027 --- /dev/null +++ b/donation/readme/USAGE.md @@ -0,0 +1,23 @@ +This module handles donations by cash, check or by credit transfer: + +- for donation by cash or check, you should first create a new donation + and validate it. Then, if you have the module *account_check_deposit* + from the project + [OCA/account-financial-tools](https://github.com/OCA/account-financial-tools), + you can create a check deposit. +- for a donation by credit transfer, the process is different: import + your bank statement file and, while processing it, you will see a + donation button that allow you to create a new donation directly from + the bank statement reconcile interface. + +When you validate a donation: + +- it will create a journal entry that goes directly from the revenue + account to the payment account without going through a receivable + account. +- if the tax receipt option of the donor is configured as *For Each + Donation* and the product of the donation line is eligible to a tax + receipt, it will generate the tax receipt. + +To have some statistics about the donations, go to the menu Donation \> +Reporting \> Donations Analysis. diff --git a/donation/report/__init__.py b/donation/report/__init__.py new file mode 100644 index 00000000..cc7ec032 --- /dev/null +++ b/donation/report/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import donation_report diff --git a/donation/report/donation_report.py b/donation/report/donation_report.py new file mode 100644 index 00000000..5b1c830c --- /dev/null +++ b/donation/report/donation_report.py @@ -0,0 +1,119 @@ +# © 2014-2016 Barroux Abbey (http://www.barroux.org) +# © 2014-2016 Akretion France (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from psycopg2 import sql + +from odoo import fields, models, tools + + +class DonationReport(models.Model): + _name = "donation.report" + _description = "Donations Analysis" + _auto = False + _rec_name = "donation_date" + _order = "donation_date desc" + + donation_date = fields.Date(readonly=True) + product_id = fields.Many2one("product.product", readonly=True) + product_donation_type = fields.Selection( + related="product_id.donation_type", store=True + ) + partner_id = fields.Many2one("res.partner", "Donor", readonly=True) + country_id = fields.Many2one("res.country", "Partner Country", readonly=True) + company_id = fields.Many2one("res.company", readonly=True) + product_categ_id = fields.Many2one( + "product.category", "Category of Product", readonly=True + ) + campaign_id = fields.Many2one( + "donation.campaign", "Donation Campaign", readonly=True + ) + payment_method_line_id = fields.Many2one( + "account.payment.method.line", readonly=True + ) + thanks_printed = fields.Boolean(readonly=True) + thanks_template_id = fields.Many2one( + "donation.thanks.template", string="Thanks Template", readonly=True + ) + in_kind = fields.Boolean() + tax_receipt_ok = fields.Boolean("Eligible for a Tax Receipt") + company_currency_id = fields.Many2one("res.currency", readonly=True) + amount_company_currency = fields.Monetary( + "Amount", readonly=True, currency_field="company_currency_id" + ) + tax_receipt_amount = fields.Monetary( + "Tax Receipt Eligible Amount", + readonly=True, + currency_field="company_currency_id", + ) + + def _select(self): + return sql.SQL( + """ + SELECT min(l.id) AS id, + d.donation_date, + l.product_id, + l.product_donation_type, + l.in_kind, + l.tax_receipt_ok, + pt.categ_id AS product_categ_id, + d.company_id, + d.payment_method_line_id, + d.partner_id, + d.country_id, + d.campaign_id, + d.company_currency_id, + d.thanks_printed, + d.thanks_template_id, + sum(l.amount_company_currency) AS amount_company_currency, + sum(l.tax_receipt_amount) AS tax_receipt_amount + """ + ) + + def _from(self): + return sql.SQL( + """ + donation_line l + LEFT JOIN donation_donation d ON (d.id=l.donation_id) + LEFT JOIN product_product pp ON (l.product_id=pp.id) + LEFT JOIN product_template pt ON (pp.product_tmpl_id=pt.id) + """ + ) + + def _where(self): + return sql.SQL( + """ + WHERE d.state='done' + """ + ) + + def _group_by(self): + return sql.SQL( + """ + GROUP BY l.product_id, + l.product_donation_type, + l.in_kind, + l.tax_receipt_ok, + pt.categ_id, + d.donation_date, + d.partner_id, + d.country_id, + d.campaign_id, + d.company_id, + d.payment_method_line_id, + d.thanks_printed, + d.thanks_template_id, + d.company_currency_id + """ + ) + + def init(self): + tools.drop_view_if_exists(self._cr, self._table) + query = sql.SQL("CREATE OR REPLACE VIEW {0} AS ({1} FROM {2} {3} {4})").format( + sql.Identifier(self._table), + self._select(), + self._from(), + self._where(), + self._group_by(), + ) # pylint: disable=sql-injection + self._cr.execute(query) diff --git a/donation/report/donation_report_view.xml b/donation/report/donation_report_view.xml new file mode 100644 index 00000000..2f171b42 --- /dev/null +++ b/donation/report/donation_report_view.xml @@ -0,0 +1,144 @@ + + + + + donation.report.search + donation.report + + + + + + + + + + + + + + + + + + + + + + + donation.report.graph + donation.report + + + + + + + + + donation.report.pivot + donation.report + + + + + + + + + + + donation.report.list + donation.report + + + + + + + + + + + + + + + + + + + + + + + Donations Analysis + donation.report + pivot,graph,list + + + + diff --git a/donation/report/donation_thanks_report.xml b/donation/report/donation_thanks_report.xml new file mode 100644 index 00000000..d26927de --- /dev/null +++ b/donation/report/donation_thanks_report.xml @@ -0,0 +1,20 @@ + + + + + Thanks Letter + donation.donation + donation.report_donation_thanks + donation.report_donation_thanks + qweb-pdf + 'donation_thanks-%s%s' % (object.number, object.state == 'draft' and '-draft' or '') + + + diff --git a/donation/report/donation_thanks_view.xml b/donation/report/donation_thanks_view.xml new file mode 100644 index 00000000..5ab9bc15 --- /dev/null +++ b/donation/report/donation_thanks_view.xml @@ -0,0 +1,22 @@ + + + + + diff --git a/donation/security/donation_security.xml b/donation/security/donation_security.xml new file mode 100644 index 00000000..d7bbcc16 --- /dev/null +++ b/donation/security/donation_security.xml @@ -0,0 +1,83 @@ + + + + + + Donation + Manage donations + 45 + + + + Viewer + + + + User + + + + + Manager + + + + + + Donation Check Total + + + + + + + + + + + + + Donation Multi-company + + + [('company_id', 'in', company_ids)] + + + Donation Line Multi-company + + + [('company_id', 'in', company_ids)] + + + + Donation Report Multi-company + + [('company_id', 'in', company_ids)] + + + Donation Thanks Template multi-company + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + Donation Campaign multi-company + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + diff --git a/donation/security/ir.model.access.csv b/donation/security/ir.model.access.csv new file mode 100644 index 00000000..fe78cd31 --- /dev/null +++ b/donation/security/ir.model.access.csv @@ -0,0 +1,21 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_donation_donation_viewer,Read access on donation.donation to Donation Viewer,model_donation_donation,group_donation_viewer,1,0,0,0 +access_donation_donation_user,Full access on donation.donation to Donation User,model_donation_donation,group_donation_user,1,1,1,1 +access_donation_campaign_manager,Full access on donation.campaign to Donation Manager,model_donation_campaign,group_donation_manager,1,1,1,1 +access_donation_campaign_viewer,Read access on donation.campaign to Donation Viewer,model_donation_campaign,group_donation_viewer,1,0,0,0 +access_donation_line_viewer,Read access on donation.line to Donation Viewer,model_donation_line,group_donation_viewer,1,0,0,0 +access_donation_line_user,Full access on donation.line to Donation User,model_donation_line,group_donation_user,1,1,1,1 +access_donation_donation_read,Read access on donation.donation to Employee grp,model_donation_donation,base.group_user,1,0,0,0 +access_donation_line_read,Read access on donation.line to Employee grp,model_donation_line,base.group_user,1,0,0,0 +access_account_journal_donation,Read access on account.journal,account.model_account_journal,group_donation_viewer,1,0,0,0 +access_account_move_donation,Full access on account.move,account.model_account_move,group_donation_user,1,1,1,1 +access_account_move_line_donation,Full access on account.move.line,account.model_account_move_line,group_donation_user,1,1,1,1 +access_account_analytic_line_donation,Full access on account.analytic.line to donation user,analytic.model_account_analytic_line,group_donation_user,1,1,1,1 +access_donation_report,Full access on donation.report to Donation Viewer,model_donation_report,group_donation_viewer,1,1,1,1 +access_donation_tax_receipt_viewer,Read access on donation.tax.receipt to Donation Viewer grp,model_donation_tax_receipt,group_donation_viewer,1,0,0,0 +access_donation_tax_receipt,Create access on donation.tax.receipt to Donation User,model_donation_tax_receipt,group_donation_user,1,0,1,0 +access_donation_tax_receipt_full,Full access on donation.tax.receipt to Donation Manager,model_donation_tax_receipt,group_donation_manager,1,1,1,1 +access_donation_thanks_template_manager,Full access on donation.thanks.template to Donation Manager,model_donation_thanks_template,group_donation_manager,1,1,1,1 +access_donation_thanks_template_viewer,Read access on donation.thanks.template to Donation Viewer,model_donation_thanks_template,group_donation_viewer,1,0,0,0 +access_donation_validate,Full access on donation validate wizard,model_donation_validate,group_donation_user,1,1,1,1 +access_donation_tax_receipt_option_switch,Full access on donation_tax_receipt_option_switch wizard,model_donation_tax_receipt_option_switch,group_donation_user,1,1,1,1 diff --git a/donation/static/description/icon.png b/donation/static/description/icon.png new file mode 100644 index 00000000..a9a29546 Binary files /dev/null and b/donation/static/description/icon.png differ diff --git a/donation/static/description/icon.svg b/donation/static/description/icon.svg new file mode 100644 index 00000000..6b8d9455 --- /dev/null +++ b/donation/static/description/icon.svg @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/donation/static/description/index.html b/donation/static/description/index.html new file mode 100644 index 00000000..2d4c6469 --- /dev/null +++ b/donation/static/description/index.html @@ -0,0 +1,492 @@ + + + + + +Donation + + + +
+

Donation

+ + +

Beta License: AGPL-3 OCA/donation Translate me on Weblate Try me on Runboat

+

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).

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
+
    +
  • create donation products
  • +
  • make sure you have an inbound payment method for each payment +method used to receive donations. This payment method must be +configured with Link to Bank Account set to Fixed and with the +donation option active.
  • +
  • if you wish to have a control amount on the donation, add the +users to the group Donation Check Total
  • +
+
+

If you receive donations via credit transfer, you must also:

+
    +
  • in the configuration page Invoicing > Configuration > Settings, in +the Donations section, select the product that will be used for +donations by credit transfer.
  • +
  • on the bank journals corresponding to the bank accounts on which you +receive donations by credit transfer, in the Payments Configuration +tab, select the Donation by credit transfer account. This account +must allow reconciliation.
  • +
  • Make sure that the accountant that processes bank statements has +User access level or higher on the Donation application.
  • +
+
+
+

Usage

+

This module handles donations by cash, check or by credit transfer:

+
    +
  • for donation by cash or check, you should first create a new donation +and validate it. Then, if you have the module account_check_deposit +from the project +OCA/account-financial-tools, +you can create a check deposit.
  • +
  • for a donation by credit transfer, the process is different: import +your bank statement file and, while processing it, you will see a +donation button that allow you to create a new donation directly from +the bank statement reconcile interface.
  • +
+

When you validate a donation:

+
    +
  • it will create a journal entry that goes directly from the revenue +account to the payment account without going through a receivable +account.
  • +
  • if the tax receipt option of the donor is configured as For Each +Donation and the product of the donation line is eligible to a tax +receipt, it will generate the tax receipt.
  • +
+

To have some statistics about the donations, go to the menu Donation > +Reporting > Donations Analysis.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Barroux Abbey
  • +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

alexis-via

+

This module is part of the OCA/donation project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/donation/tests/__init__.py b/donation/tests/__init__.py new file mode 100644 index 00000000..9bc50a42 --- /dev/null +++ b/donation/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_donation diff --git a/donation/tests/test_donation.py b/donation/tests/test_donation.py new file mode 100644 index 00000000..151fbc4f --- /dev/null +++ b/donation/tests/test_donation.py @@ -0,0 +1,328 @@ +# Copyright 2015-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import time + +from odoo import Command, fields +from odoo.tests.common import TransactionCase + + +class TestDonation(TransactionCase): + at_install = False + post_install = True + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.company = cls.env.ref("base.main_company") + cls.bank_journal = cls.env["account.journal"].create( + { + "type": "bank", + "name": "test bank journal", + "company_id": cls.company.id, + } + ) + cls.payment_account = cls.env["account.account"].create( + { + "name": "Donation Payment account", + "code": "TESTDONATION", + "company_ids": [Command.set([cls.company.id])], + "account_type": "asset_current", + "reconcile": True, + } + ) + cls.payment_method_line = cls.env["account.payment.method.line"].create( + { + "name": "test_payment_method_line", + "company_id": cls.company.id, + "payment_account_id": cls.payment_account.id, + "donation": True, + "journal_id": cls.bank_journal.id, + "payment_method_id": cls.env.ref( + "account.account_payment_method_manual_in" + ).id, + } + ) + today = time.strftime("%Y-%m-%d") + cls.product = cls.env.ref("donation_base.product_product_donation") + cls.inkind_product = cls.env.ref( + "donation_base.product_product_inkind_donation" + ) + cls.ddo = cls.env["donation.donation"] + cls.donor1 = cls.env["res.partner"].create({"name": "Test donor1"}) + cls.donor2 = cls.env["res.partner"].create({"name": "Test donor2"}) + cls.donor3 = cls.env["res.partner"].create({"name": "Test donor3"}) + + cls.don1 = cls.ddo.create( + { + "company_id": cls.company.id, + "check_total": 100, + "partner_id": cls.donor1.id, + "donation_date": today, + "payment_method_line_id": cls.payment_method_line.id, + "tax_receipt_option": "each", + "line_ids": [ + Command.create( + { + "product_id": cls.product.id, + "quantity": 1, + "unit_price": 100, + } + ) + ], + } + ) + cls.don2 = cls.ddo.create( + { + "company_id": cls.company.id, + "check_total": 120, + "partner_id": cls.donor2.id, + "donation_date": today, + "payment_method_line_id": cls.payment_method_line.id, + "tax_receipt_option": "annual", + "line_ids": [ + Command.create( + { + "product_id": cls.product.id, + "quantity": 1, + "unit_price": 120, + } + ) + ], + } + ) + cls.don3 = cls.ddo.create( + { + "company_id": cls.company.id, + "check_total": 150, + "partner_id": cls.donor3.id, + "donation_date": today, + "payment_method_line_id": cls.payment_method_line.id, + "tax_receipt_option": "none", + "line_ids": [ + Command.create( + { + "product_id": cls.product.id, + "quantity": 1, + "unit_price": 150, + } + ) + ], + } + ) + cls.don4 = cls.ddo.create( + { + "company_id": cls.company.id, + "check_total": 1000, + "partner_id": cls.donor1.id, + "donation_date": today, + "payment_method_line_id": cls.payment_method_line.id, + "tax_receipt_option": "each", + "line_ids": [ + Command.create( + { + "product_id": cls.inkind_product.id, + "quantity": 1, + "unit_price": 1000, + } + ) + ], + } + ) + cls.don5 = cls.ddo.create( + { + "company_id": cls.company.id, + "check_total": 1200, + "partner_id": cls.donor1.id, + "donation_date": today, + "payment_method_line_id": cls.payment_method_line.id, + "tax_receipt_option": "each", + "line_ids": [ + Command.create( + { + "product_id": cls.inkind_product.id, + "quantity": 1, + "unit_price": 800, + } + ), + Command.create( + { + "product_id": cls.product.id, + "quantity": 1, + "unit_price": 400, + } + ), + ], + } + ) + + def test_donation_1(self): + donations = [self.don1, self.don2, self.don3, self.don4, self.don5] + for donation in donations: + self.assertEqual(donation.state, "draft") + donation.validate() + self.assertEqual(donation.state, "done") + if donation == self.don4: # full in-kind donation + self.assertFalse(donation.move_id) + else: + self.assertEqual(donation.move_id.state, "posted") + self.assertEqual(donation.payment_ref, donation.move_id.ref) + self.assertEqual( + donation.payment_method_line_id.journal_id, + donation.move_id.journal_id, + ) + self.assertEqual(donation.donation_date, donation.move_id.date) + if donation.tax_receipt_option == "each" and donation.tax_receipt_total: + self.assertTrue(donation.tax_receipt_id) + tax_receipt = donation.tax_receipt_id + self.assertEqual(tax_receipt.type, "each") + self.assertEqual(donation.commercial_partner_id, tax_receipt.partner_id) + self.assertEqual(donation.donation_date, tax_receipt.donation_date) + self.assertEqual(donation.tax_receipt_total, tax_receipt.amount) + + def test_donation_2(self): + self.donation_id = self.ddo.create( + { + "check_total": 1000, + "partner_id": self.donor1.id, + "donation_date": time.strftime("%Y-%m-%d"), + "payment_method_line_id": self.payment_method_line.id, + "tax_receipt_option": "each", + "line_ids": [ + Command.create( + { + "product_id": self.inkind_product.id, + "quantity": 1, + "unit_price": 1000, + } + ) + ], + } + ) + self.donation_id.save_default_values() + self.donation_id.tax_receipt_option_change() + self.donation_id.validate() + self.donation_id.tax_receipt_id = False + self.donation_id.done2cancel() + self.donation_id.cancel2draft() + self.donation_id.unlink() + + def test_annual_tax_receipt(self): + self.res_partner = self.env["res.partner"] + + partner_familly = self.res_partner.create( + {"name": "Famille Joly", "tax_receipt_option": "annual"} + ) + partner_husband = self.res_partner.create( + {"parent_id": partner_familly.id, "name": "Xavier Joly"} + ) + partner_wife = self.res_partner.create( + {"parent_id": partner_familly.id, "name": "Stéphanie Joly"} + ) + + partner_husband._compute_donation_count() + dons = self.create_donation_annual_receipt( + partner_husband, 40, 10, "CHQ FB 93283290" + ) + dons += self.create_donation_annual_receipt( + partner_husband, 140, 60, "CHQ FB OPIE02" + ) + dons += self.create_donation_annual_receipt( + partner_wife, 20, 5, "CHQ FB AZERTY1242" + ) + dons.validate() + last_day_year = time.strftime("%Y-12-31") + wizard = self.env["tax.receipt.annual.create"].create( + {"start_date": time.strftime("%Y-01-01"), "end_date": last_day_year} + ) + action = wizard.generate_annual_receipts() + tax_receipt_ids = action["domain"][0][2] + self.assertTrue(tax_receipt_ids) + dtro = self.env["donation.tax.receipt"] + tax_receipts = dtro.search( + [ + ("partner_id", "=", partner_familly.id), + ("type", "=", "annual"), + ("id", "in", tax_receipt_ids), + ] + ) + self.assertEqual(len(tax_receipts), 1) + tax_receipt = tax_receipts[0] + self.assertEqual(tax_receipt.amount, 200) + self.assertTrue(tax_receipt.number) + self.assertEqual(tax_receipt.date, fields.Date.from_string(last_day_year)) + self.assertEqual( + tax_receipt.donation_date, fields.Date.from_string(last_day_year) + ) + self.assertEqual(tax_receipt.currency_id, dons[0].company_id.currency_id) + + def test_donation_campaign(self): + self.campaign_id = self.env.ref("donation.quest_origin") + + self.don8 = self.ddo.create( + { + "check_total": 1000, + "partner_id": self.donor1.id, + "donation_date": time.strftime("%Y-%m-%d"), + "payment_method_line_id": self.payment_method_line.id, + "tax_receipt_option": "each", + "line_ids": [ + Command.create( + { + "product_id": self.inkind_product.id, + "quantity": 1, + "unit_price": 1000, + } + ) + ], + } + ) + + self.validate = self.env["donation.validate"] + wizard = self.validate.with_context( + active_ids=self.don8.ids, + active_model="donation.donation", + active_id=self.don8.id, + ).create({}) + wizard.run() + + self.option_switch = self.env["donation.tax.receipt.option.switch"] + wizard = self.option_switch.create( + {"donation_id": self.don8.id, "new_tax_receipt_option": "annual"} + ) + self.don8.tax_receipt_id = False + wizard.switch() + + def create_donation_annual_receipt( + self, partner, amount_tax_receipt, amount_no_tax_receipt, payment_ref + ): + donation = self.ddo.create( + { + "payment_method_line_id": self.payment_method_line.id, + "partner_id": partner.id, + "tax_receipt_option": "annual", + "donation_date": time.strftime("%Y-01-01"), + "payment_ref": payment_ref, + "line_ids": [ + Command.create( + { + "product_id": self.product.id, + "quantity": 1, + "unit_price": amount_tax_receipt, + } + ), + Command.create( + { + "product_id": self.env.ref( + "donation_base.product_product_donation_notaxreceipt" + ).id, + "quantity": 1, + "unit_price": amount_no_tax_receipt, + } + ), + ], + } + ) + return donation diff --git a/donation/views/account_payment_method_line.xml b/donation/views/account_payment_method_line.xml new file mode 100644 index 00000000..710f09dc --- /dev/null +++ b/donation/views/account_payment_method_line.xml @@ -0,0 +1,34 @@ + + + + donation.account.payment.method.line.list + account.payment.method.line + + + + + + + + + + Payment Methods + account.payment.method.line + list,form + [('payment_type', '=', 'inbound'), ('donation', '=', True)] + {'default_donation': True, 'default_payment_type': 'inbound'} + + + diff --git a/donation/views/donation.xml b/donation/views/donation.xml new file mode 100644 index 00000000..fafc16a3 --- /dev/null +++ b/donation/views/donation.xml @@ -0,0 +1,549 @@ + + + + + donation.form + donation.donation + +
+
+
+ +
+
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creation Donation from Bank Statement Line form + donation.donation + 100 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + donation.list + donation.donation + + +
+
+ + + + + + + + + + + + + + + +
+
+
+ + donation.search + donation.donation + + + + + + + + + + + + + + + + + + + + + + + + + + + + donation.graph + donation.donation + + + + + + + + + donation.pivot + donation.donation + + + + + + + + + donation.line.list + donation.line + + + + + + + + + + + + + + + + + + + donation.line.form + donation.line + +
+ + + + + + + + + + + + + + + +
+
+
+ + Donations + donation.donation + list,form,pivot,graph + + + + + Donations Lines + donation.line + list,form + + + + + + + + Products + product.template + kanban,list,form + {'search_default_filter_donation': 1, 'default_donation_type': True} + + + + + + + diff --git a/donation/views/donation_campaign.xml b/donation/views/donation_campaign.xml new file mode 100644 index 00000000..de33aa74 --- /dev/null +++ b/donation/views/donation_campaign.xml @@ -0,0 +1,90 @@ + + + + + donation.campaign.form + donation.campaign + +
+ + + + + + + + + + + + + +
+
+
+ + donation.campaign.list + donation.campaign + + + + + + + + + + + + donation.campaign.search + donation.campaign + + + + + + + + + + + + + + Donation Campaigns + donation.campaign + list,form + + +
diff --git a/donation/views/donation_tax_receipt.xml b/donation/views/donation_tax_receipt.xml new file mode 100644 index 00000000..af7f785f --- /dev/null +++ b/donation/views/donation_tax_receipt.xml @@ -0,0 +1,21 @@ + + + + + donation.donation.tax.receipt.form + donation.tax.receipt + + + + + + + + + + diff --git a/donation/views/donation_thanks_template.xml b/donation/views/donation_thanks_template.xml new file mode 100644 index 00000000..30897cfe --- /dev/null +++ b/donation/views/donation_thanks_template.xml @@ -0,0 +1,72 @@ + + + + + donation.thanks.template + +
+ + + + + + + + + + +
+
+
+ + + donation.thanks.template + + + + + + + + + + + donation.thanks.template + + + + + + + + + + Thanks Letter Templates + donation.thanks.template + list,form + + + +
diff --git a/donation/views/res_partner.xml b/donation/views/res_partner.xml new file mode 100644 index 00000000..408d127b --- /dev/null +++ b/donation/views/res_partner.xml @@ -0,0 +1,32 @@ + + + + + Donations + donation.donation + list,form,graph + {'search_default_partner_id': active_id} + + + donation.button.res.partner.form + res.partner + + + + + + + diff --git a/donation/views/res_users.xml b/donation/views/res_users.xml new file mode 100644 index 00000000..9a5ead7b --- /dev/null +++ b/donation/views/res_users.xml @@ -0,0 +1,39 @@ + + + + + donation.res.users.form + res.users + + + + + + + + + + donation.preferences.res.users.form + res.users + + + + + + + + + diff --git a/donation/wizard/__init__.py b/donation/wizard/__init__.py new file mode 100644 index 00000000..4dd8fb56 --- /dev/null +++ b/donation/wizard/__init__.py @@ -0,0 +1,3 @@ +from . import donation_validate +from . import tax_receipt_option_switch +from . import res_config_settings diff --git a/donation/wizard/donation_validate.py b/donation/wizard/donation_validate.py new file mode 100644 index 00000000..e9da64c9 --- /dev/null +++ b/donation/wizard/donation_validate.py @@ -0,0 +1,22 @@ +# Copyright 2014-2016 Barroux Abbey (http://www.barroux.org) +# Copyright 2014-2016 Akretion France +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class DonationValidate(models.TransientModel): + _name = "donation.validate" + _description = "Validate Donations" + + def run(self): + self.ensure_one() + assert ( + self.env.context.get("active_model") == "donation.donation" + ), "Source model must be donations" + assert self.env.context.get("active_ids"), "No donations selected" + donations = self.env["donation.donation"].browse( + self.env.context.get("active_ids") + ) + donations.filtered(lambda x: x.state == "draft").validate() + return diff --git a/donation/wizard/donation_validate_view.xml b/donation/wizard/donation_validate_view.xml new file mode 100644 index 00000000..7522d0e7 --- /dev/null +++ b/donation/wizard/donation_validate_view.xml @@ -0,0 +1,35 @@ + + + + + donation_validate.form + donation.validate + +
+

+ This wizard will validate all the draft donations selected. +

+
+
+
+
+
+ + Validate Draft Donations + donation.validate + form + new + +
diff --git a/donation/wizard/res_config_settings.py b/donation/wizard/res_config_settings.py new file mode 100644 index 00000000..019fc68e --- /dev/null +++ b/donation/wizard/res_config_settings.py @@ -0,0 +1,23 @@ +# Copyright 2016-2021 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + donation_credit_transfer_product_id = fields.Many2one( + related="company_id.donation_credit_transfer_product_id", readonly=False + ) + donation_account_id = fields.Many2one( + related="company_id.donation_account_id", + readonly=False, + domain="[('reconcile', '=', True), ('deprecated', '=', False), " + "('company_ids', 'in', company_id), ('account_type', '=', 'asset_current')]", + ) + group_donation_check_total = fields.Boolean( + string="Check Total on Donations", + implied_group="donation.group_donation_check_total", + ) diff --git a/donation/wizard/res_config_settings.xml b/donation/wizard/res_config_settings.xml new file mode 100644 index 00000000..b16ce31e --- /dev/null +++ b/donation/wizard/res_config_settings.xml @@ -0,0 +1,58 @@ + + + + + donation.res.config.settings.form + res.config.settings + + + + + + + + + + + + + + + + + + + + + + + Settings + res.config.settings + form + inline + {'module' : 'donation', 'bin_size': False} + + + + diff --git a/donation/wizard/tax_receipt_option_switch.py b/donation/wizard/tax_receipt_option_switch.py new file mode 100644 index 00000000..cd290857 --- /dev/null +++ b/donation/wizard/tax_receipt_option_switch.py @@ -0,0 +1,32 @@ +# Copyright 2017 Barroux Abbey (www.barroux.org) +# Copyright 2017 Akretion France (www.akretion.com) +# @author Alexis de Lattre + +from odoo import fields, models + + +class DonationTaxReceiptOptionSwitch(models.TransientModel): + _name = "donation.tax.receipt.option.switch" + _description = "Switch Donation Tax Receipt Option" + + donation_id = fields.Many2one( + "donation.donation", + string="Donation", + required=True, + default=lambda self: self._context.get("active_id"), + ) + new_tax_receipt_option = fields.Selection( + [("each", "For Each Donation"), ("annual", "Annual Tax Receipt")], + string="Tax Receipt Option", + required=True, + ) + + def switch(self): + self.ensure_one() + assert self.donation_id, "Missing donation" + assert not self.donation_id.tax_receipt_id, "Already linked to a tax receipt" + self.donation_id.write({"tax_receipt_option": self.new_tax_receipt_option}) + receipt = self.donation_id.generate_each_tax_receipt() + if receipt: + self.donation_id.write({"tax_receipt_id": receipt.id}) + return diff --git a/donation/wizard/tax_receipt_option_switch_view.xml b/donation/wizard/tax_receipt_option_switch_view.xml new file mode 100644 index 00000000..cf0b7348 --- /dev/null +++ b/donation/wizard/tax_receipt_option_switch_view.xml @@ -0,0 +1,40 @@ + + + + + donation_tax_receipt_option_switch.form + donation.tax.receipt.option.switch + +
+ + + + +
+
+
+
+
+ + Change Tax Receipt Option + donation.tax.receipt.option.switch + form + new + +