diff --git a/README.md b/README.md index 469e3c4c1..55bad1055 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,11 @@ TODO: add repo description. [//]: # (addons) -This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools. +Available addons +---------------- +addon | version | maintainers | summary +--- | --- | --- | --- +[commission](commission/) | 17.0.1.0.0 | [![pedrobaeza](https://github.com/pedrobaeza.png?size=30px)](https://github.com/pedrobaeza) | Commissions [//]: # (end addons) diff --git a/commission/README.rst b/commission/README.rst new file mode 100644 index 000000000..00ab09287 --- /dev/null +++ b/commission/README.rst @@ -0,0 +1,192 @@ +=========== +Commissions +=========== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4a1843408e192ef9e46c57c949fb67d413b63d5cc9b4d628b6ef168ba3f10137 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fcommission-lightgray.png?logo=github + :target: https://github.com/OCA/commission/tree/17.0/commission + :alt: OCA/commission +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/commission-17-0/commission-17-0-commission + :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/commission&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module provides the base functions for commission operations to +enable the following: + +- Define agents with their commissions +- Assign agents to partners +- Create settlements to summarize commissions for certain periods + +You can define which base amount is going to be taken into account: net +amount (based on margin) or gross amount (line subtotal amount). + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +For adding commissions: + +1. Go to *Commissions > Configuration > Commission types*. +2. Edit or create a new record. +3. Select a name for distinguishing that type. +4. Select the percentage type of the commission: + + - **Fixed percentage**: all commissions are computed with a fixed + percentage. You can fill the percentage in the field "Fixed + percentage". + - **By sections**: percentage varies depending amount intervals. You + can fill intervals and percentages in the section "Rate + definition". + +5. Select the base amount for computing the percentage: + + - **Sale/Invoice Amount**: percentage is computed from the amount + put on sales order/invoice. + - **Margin (Amount - Cost)**: percentage is computed from the profit + only, taken the cost from the product. + +For adding new agents: + +1. Go to *Commissions > Agents*. You can also access from *Contacts > + Contacts* or *Sales > Orders > Customers*. + +2. Edit or create a new record. + +3. On "Sales & Purchases" page, mark "Agent" check. It should be checked + if you have accessed from first menu option. + +4. There's a new page called "Agent information". In it, you can set + following data: + + - The agent type, being in this base module "External agent" the + only existing configuration. It can be extended with hr_commission + module for setting an "Employee" agent type. + - The associated commission type. + - The settlement period, where you can select "Bi-weekly", + "Monthly", "Quaterly", "Semi-annual" or "Annual". + + You will also be able to see the settlements that have been made to + this agent from this page. + +Usage +===== + +For setting default agents in partners: + +1. Go to *Invoicing > Customers > Customers* or *Contacts > Contacts*. +2. Edit or create a new record. +3. On "Sales & Purchases" page, you will see a field called "Agents" + where they can be added. You can put the number of agents you want, + but you can't select specific commission for each partner in this + base module. + +For settling the commissions to agents: + +1. Go to *Commissions > Settlements > Settle Commissions*. +2. On the window that appears, you should select the date up to which + you want to create commissions. It should be at least one day after + the last period date. For example, if you settlements are monthly, + you have to put at least the first day of the following month. +3. You can settle only certain agents if you select them on the "Agents" + section. Leave it empty for settling all. +4. Click on "Make settlements" button. +5. If there are new settlements, they will be shown after this. + +Known issues / Roadmap +====================== + +- Make it totally multi-company aware. +- Set agent popup window with a kanban view with richer information and + mobile friendly. + +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 +------- + +* Tecnativa + +Contributors +------------ + +- Pexego. +- Davide Corio +- Joao Alfredo Gama Batista +- Sandy Carter +- Giorgio Borelli +- Daniel Campos +- Oihane Crucelaegui +- Nicola Malcontenti +- Aitor Bouzas +- Alexei Rivera +- `Tecnativa `__: + + - Pedro M. Baeza + - Manuel Calero + +- `Quartile `__: + + - Aung Ko Ko Lin + - Yoshi Tashiro + +- `Studio73 `__: + + - Ethan Hildick + +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-pedrobaeza| image:: https://github.com/pedrobaeza.png?size=40px + :target: https://github.com/pedrobaeza + :alt: pedrobaeza + +Current `maintainer `__: + +|maintainer-pedrobaeza| + +This module is part of the `OCA/commission `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/commission/__init__.py b/commission/__init__.py new file mode 100644 index 000000000..aee8895e7 --- /dev/null +++ b/commission/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import wizards diff --git a/commission/__manifest__.py b/commission/__manifest__.py new file mode 100644 index 000000000..0d40eaaca --- /dev/null +++ b/commission/__manifest__.py @@ -0,0 +1,28 @@ +# Copyright 2020 Tecnativa - Manuel Calero +# Copyright 2022 Quartile +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +{ + "name": "Commissions", + "version": "17.0.1.0.0", + "author": "Tecnativa, Odoo Community Association (OCA)", + "category": "Invoicing", + "license": "AGPL-3", + "depends": ["product"], + "website": "https://github.com/OCA/commission", + "maintainers": ["pedrobaeza"], + "data": [ + "security/commission_security.xml", + "security/ir.model.access.csv", + "data/menuitem_data.xml", + "views/commission_views.xml", + "views/commission_settlement_views.xml", + "views/commission_mixin_views.xml", + "views/product_template_views.xml", + "views/res_partner_views.xml", + "reports/commission_settlement_report.xml", + "reports/report_settlement_templates.xml", + "wizards/commission_make_settle_views.xml", + ], + "demo": ["demo/commission_and_agent_demo.xml"], + "installable": True, +} diff --git a/commission/data/menuitem_data.xml b/commission/data/menuitem_data.xml new file mode 100644 index 000000000..0271a5150 --- /dev/null +++ b/commission/data/menuitem_data.xml @@ -0,0 +1,17 @@ + + + + + diff --git a/commission/demo/commission_and_agent_demo.xml b/commission/demo/commission_and_agent_demo.xml new file mode 100644 index 000000000..a158f9261 --- /dev/null +++ b/commission/demo/commission_and_agent_demo.xml @@ -0,0 +1,36 @@ + + + + + 10% fixed commission - Invoice Based + 10.0 + + + + Pritesh Sales Agent + Ahmedabad + 380007 + + 56 Beijing street + + + + + Eiffel pvt ltd + Ahmedabad + 380007 + + Wall Street 2 + + + + + Tiny Belgium + Belgium + 2457 + + Belgium Gao + + + + diff --git a/commission/i18n/commission.pot b/commission/i18n/commission.pot new file mode 100644 index 000000000..61177201a --- /dev/null +++ b/commission/i18n/commission.pot @@ -0,0 +1,806 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.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: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "%s commission agents" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "1 commission agent" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "" +"\n" +" No automatic settlements can be made. Install any extra\n" +" commission module for having this feature enabled.\n" +" " +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "From:" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "To:" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Total" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__active +msgid "Active" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Agent" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +msgid "Agent Partners" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Agent information" +msgstr "" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission.action_agent_form +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_ids +#: model:ir.model.fields,field_description:commission.field_res_users__agent_ids +#: model:ir.ui.menu,name:commission.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#, python-format +msgid "Agents" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "" + +#. module: commission +#: model:ir.module.category,description:commission.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Amount settled" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Archived" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__amount_base_type +msgid "Base" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__section +msgid "By sections" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Cancel" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__agent +#: model:ir.model.fields,help:commission.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_free +#, python-format +msgid "Comm. free" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission.commission_form +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Commission" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Commission lines" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_section +msgid "Commission section" +msgstr "" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission +#: model:ir.ui.menu,name:commission.menu_commission_type +msgid "Commission types" +msgstr "" + +#. module: commission +#: model:ir.module.category,name:commission.module_category_commission +#: model:ir.ui.menu,name:commission.menu_commission +msgid "Commissions" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__company_id +msgid "Company" +msgstr "" + +#. module: commission +#: model:ir.ui.menu,name:commission.menu_commission_management +msgid "Configuration" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_res_partner +msgid "Contact" +msgstr "" + +#. module: commission +#. odoo-python +#: code:addons/commission/wizards/commission_make_settle.py:0 +#, python-format +msgid "Created Settlements" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__agent +#: model:ir.model.fields,field_description:commission.field_res_users__agent +msgid "Creditor/Agent" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Date" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Date from month" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Date month" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Discard" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__display_name +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__display_name +msgid "Display Name" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission.field_product_template__commission_free +msgid "Free of commission" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_from +msgid "From" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "General information" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Group By" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__has_message +msgid "Has Message" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission.field_commission_section__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__id +msgid "ID" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Make settlements" +msgstr "" + +#. module: commission +#: model:res.groups,name:commission.group_commission_manager +msgid "Manager" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_ids +msgid "Messages" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_mixin +msgid "" +"Mixin model for applying to any object that wants to handle commissions" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__name +msgid "Name" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "No commission agents" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__percent +msgid "Percent" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_product_template +#: model:ir.model.fields,field_description:commission.field_commission_mixin__product_id +msgid "Product" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Rates definition" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Save" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__section_ids +msgid "Sections" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__amount_base_type +msgid "" +"Select the base amount for computing the percentage:\n" +"* 'Sale/Invoice Amount': percentage is computed from the amount put on sales order/invoice.\n" +"* 'Margin (Amount - Cost)': percentage is computed from the profit only, taken the cost from the product." +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__commission_type +msgid "" +"Select the percentage type of the commission:\n" +"* 'Fixed percentage': all commissions are computed with a fixed percentage. You can fill the percentage in the field \"Fixed percentage\".\n" +"* 'By sections': percentage varies depending amount intervals. You can fill intervals and percentages in the section \"Rate definition\"." +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_agents_settlement +#: model:ir.ui.menu,name:commission.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Settle commissions" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_tree +msgid "Settled total" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Settlement" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Settlement lines search" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission.field_res_users__settlement +msgid "Settlement period" +msgstr "" + +#. module: commission +#: model:ir.actions.report,name:commission.action_report_settlement +msgid "Settlement report" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Settlement search" +msgstr "" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission_settlement +#: model:ir.ui.menu,name:commission.menu_settlement +#: model:ir.ui.menu,name:commission.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Settlements" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__state +msgid "State" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__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: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission.py:0 +#, python-format +msgid "The lower limit cannot be greater than upper one." +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase" +" order'..." +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__commission_id +#: model:ir.model.fields,help:commission.field_res_users__commission_id +msgid "" +"This is the default commission used in the sales where this agent is " +"assigned. It can be changed on each operation if needed." +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "This year" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_to +msgid "To" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__total +msgid "Total" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__commission_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission.field_res_users__agent_type +msgid "Type" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__date_to +msgid "Up to" +msgstr "" + +#. module: commission +#: model:res.groups,name:commission.group_commission_user +msgid "User" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "" + +#. module: commission +#: model:ir.model.constraint,message:commission.constraint_commission_line_mixin_unique_agent +msgid "You can only add one time each agent." +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "or" +msgstr "" diff --git a/commission/i18n/es.po b/commission/i18n/es.po new file mode 100644 index 000000000..5a0f461af --- /dev/null +++ b/commission/i18n/es.po @@ -0,0 +1,863 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-18 20:33+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\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: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "%s commission agents" +msgstr "%s agentes de comisi??n" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(mantener vac??o para hacer la liquidaci??n de todos los agentes)" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "1 commission agent" +msgstr "1 agente comisionado" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "" +"\n" +" No automatic settlements can be made. Install any " +"extra\n" +" commission module for having this feature enabled.\n" +" " +msgstr "" +"\n" +" No se pueden realizar liquidaciones autom??ticas. " +"Instale cualquier\n" +" m??dulo de comisi??n adicional para tener esta " +"funci??n activada.\n" +" " + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "From:" +msgstr "De:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "To:" +msgstr "Para:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Total" +msgstr "Total" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "Necesita Acci??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__active +msgid "Active" +msgstr "Activo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoraci??n de Actividad de Excepci??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Estado de la Actividad" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono de Tipo de Actividad" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Agent" +msgstr "Agente" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +msgid "Agent Partners" +msgstr "Agentes Asociados" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Agent information" +msgstr "Informaci??n del agente" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission.action_agent_form +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_ids +#: model:ir.model.fields,field_description:commission.field_res_users__agent_ids +#: model:ir.ui.menu,name:commission.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#, python-format +msgid "Agents" +msgstr "Agentes" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Agentes & comisiones" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agentes/Comisiones relacionados con la l??nea de factura." + +#. module: commission +#: model:ir.module.category,description:commission.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permite gestionar asuntos relacionados con las comisiones." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Amount settled" +msgstr "Importe liquidado" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Anual" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Archived" +msgstr "Archivado" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Recuento de Archivos Adjuntos" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__amount_base_type +msgid "Base" +msgstr "Base/Fuente" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-semanal" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__section +msgid "By sections" +msgstr "Por secciones" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Puede Editar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Puede Liquidar" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Cancelado" + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__agent +#: model:ir.model.fields,help:commission.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "Marque este campo si el socio es acreedor o un agente." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_free +#, python-format +msgid "Comm. free" +msgstr "Libre de comisi??n" + +#. module: commission +#: model:ir.model,name:commission.model_commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission.commission_form +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Commission" +msgstr "Comisi??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Importe de la Comisi??n" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Commission lines" +msgstr "L??neas de comisi??n" + +#. module: commission +#: model:ir.model,name:commission.model_commission_section +msgid "Commission section" +msgstr "Secci??n de comisi??n" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission +#: model:ir.ui.menu,name:commission.menu_commission_type +msgid "Commission types" +msgstr "Tipos de comisi??n" + +#. module: commission +#: model:ir.module.category,name:commission.module_category_commission +#: model:ir.ui.menu,name:commission.menu_commission +msgid "Commissions" +msgstr "Comisiones" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Compa????a" + +#. module: commission +#: model:ir.ui.menu,name:commission.menu_commission_management +msgid "Configuration" +msgstr "Configuraci??n" + +#. module: commission +#: model:ir.model,name:commission.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: commission +#. odoo-python +#: code:addons/commission/wizards/commission_make_settle.py:0 +#, python-format +msgid "Created Settlements" +msgstr "Liquidaciones creadas" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__agent +#: model:ir.model.fields,field_description:commission.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Acreedor/Agente" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Divisa" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Date" +msgstr "Fecha" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Date from month" +msgstr "Fecha del mes" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Date month" +msgstr "Fecha mes" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Descartar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__display_name +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Agente externo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Porcentaje fijo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Seguidores/as" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Socios)" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icono de fuente impresionante, por ejemplo fa-tasks" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission.field_product_template__commission_free +msgid "Free of commission" +msgstr "Libre de comisi??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_from +msgid "From" +msgstr "Desde" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "General information" +msgstr "Informaci??n general" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Group By" +msgstr "Agrupado Por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Tiene Mensaje" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission.field_commission_section__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__id +msgid "ID" +msgstr "ID (identificaci??n)" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "Icono" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icono para indicar una actividad por excepci??n." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si est?? marcada, nuevos mensajes requieren su atenci??n." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Si est?? marcada, algunos mensajes tienen un error de entrega." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "Es Seguidor/a" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "Actualizado por ??ltima vez por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "??ltima Actualizaci??n el" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "L??nea de liquidaci??n de una comisi??n" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Make settlements" +msgstr "Hacer liquidaciones" + +#. module: commission +#: model:res.groups,name:commission.group_commission_manager +msgid "Manager" +msgstr "Gerente" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manual" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "Margen (Importe - Coste)" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Error en entrega de mensaje" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: commission +#: model:ir.model,name:commission.model_commission_mixin +msgid "Mixin model for applying to any object that wants to handle commissions" +msgstr "" +"Modelo de mezclador para aplicar a cualquier objeto que quiera gestionar " +"comisiones" + +#. module: commission +#: model:ir.model,name:commission.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" +"Modelo de mezclador para tener l??neas de comisionista en cualquier objeto " +"que herede de ??ste" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensualmente" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Fecha L??mite de mi Actividad" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__name +msgid "Name" +msgstr "Nombre" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Fecha L??mite para la siguiente Actividad" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Resumen de la Siguiente Actividad" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo de la Siguiente Actividad" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "No commission agents" +msgstr "Agentes sin comisi??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "N??mero de acciones" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "N??mero de errores" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "N??mero de mensajes que requieren una acci??n" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "N??mero de mensajes con error de entrega" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Parental" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__percent +msgid "Percent" +msgstr "Porcentaje" + +#. module: commission +#: model:ir.model,name:commission.model_product_template +#: model:ir.model.fields,field_description:commission.field_commission_mixin__product_id +msgid "Product" +msgstr "Producto" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestral" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Rates definition" +msgstr "Definici??n de tarifas" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Usuario Responsable" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_sms_error +msgid "SMS Delivery error" +msgstr "Error en la entrega de sms" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "Importe de la Venta / Factura" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Save" +msgstr "Guardar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__section_ids +msgid "Sections" +msgstr "Secciones" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__amount_base_type +msgid "" +"Select the base amount for computing the percentage:\n" +"* 'Sale/Invoice Amount': percentage is computed from the amount put on sales " +"order/invoice.\n" +"* 'Margin (Amount - Cost)': percentage is computed from the profit only, " +"taken the cost from the product." +msgstr "" +"Seleccione el importe base para calcular el porcentaje:\n" +"* 'Importe Venta/Factura': el porcentaje se computa a partir del importe " +"puesto en la orden de venta/factura.\n" +"* Margen (Importe - Coste)\": el porcentaje se calcula ??nicamente a partir " +"del beneficio, teniendo en cuenta el coste del producto." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "Seleccione la fecha hasta la que desea realizar las liquidaciones:" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__commission_type +msgid "" +"Select the percentage type of the commission:\n" +"* 'Fixed percentage': all commissions are computed with a fixed percentage. " +"You can fill the percentage in the field \"Fixed percentage\".\n" +"* 'By sections': percentage varies depending amount intervals. You can fill " +"intervals and percentages in the section \"Rate definition\"." +msgstr "" +"Seleccione el tipo de porcentaje de la comisi??n:\n" +"* \"Porcentaje fijo\": todas las comisiones se computan con un porcentaje " +"fijo. Puede rellenar el porcentaje en el campo \"Porcentaje fijo\".\n" +"* 'Por tramos': el porcentaje var??a en funci??n de los intervalos de " +"importe. Puede rellenar los intervalos y porcentajes en el apartado " +"\"Definici??n de la tarifa\"." + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semi-anual" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_agents_settlement +#: model:ir.ui.menu,name:commission.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquidar Comisiones" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Settle commissions" +msgstr "Liquidar Comisiones" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Liquidado" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Importe Liquidado" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_tree +msgid "Settled total" +msgstr "Total liquidado" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Settlement" +msgstr "Liquidaci??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de liquidaci??n" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "An??lisis de liquidaci??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "L??neas de liquidaci??n" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Settlement lines search" +msgstr "B??squeda de l??neas de liquidaci??n" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission.field_res_users__settlement +msgid "Settlement period" +msgstr "Per??odo de liquidaci??n" + +#. module: commission +#: model:ir.actions.report,name:commission.action_report_settlement +msgid "Settlement report" +msgstr "Informe de liquidaci??n" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Settlement search" +msgstr "B??squeda de liquidaci??n" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission_settlement +#: model:ir.ui.menu,name:commission.menu_settlement +#: model:ir.ui.menu,name:commission.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Settlements" +msgstr "Liquidaciones" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__state +msgid "State" +msgstr "Estado" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__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 "" +"Estados basados en actividades\n" +"Retrasada: La fecha l??mite ya ha pasado\n" +"Hoy: La fecha l??mite de la actividad es hoy\n" +"Futuras: Actividades futuras." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "" +"Campo t??cnico para determinar si el usuario puede editar liquidaciones" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" +"Campo t??cnico para mejorar la UX cuando no se instala ninguna *comisi??n " +"adicional." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission.py:0 +#, python-format +msgid "The lower limit cannot be greater than upper one." +msgstr "El l??mite inferior no puede ser mayor que el superior." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "" +"El origen de la liquidaci??n, por ejemplo, 'Factura de venta','Pedido de " +"venta', 'Pedido de compra'..." + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__commission_id +#: model:ir.model.fields,help:commission.field_res_users__commission_id +msgid "" +"This is the default commission used in the sales where this agent is " +"assigned. It can be changed on each operation if needed." +msgstr "" +"Esta es la comisi??n por defecto utilizada en las ventas donde este agente " +"est?? asignado. Se puede cambiar en cada operaci??n si es necesario." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "This year" +msgstr "Este a??o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_to +msgid "To" +msgstr "Hasta" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__total +msgid "Total" +msgstr "Total" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__commission_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo (o clase) de actividad excepcional registrada." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__date_to +msgid "Up to" +msgstr "Hasta el" + +#. module: commission +#: model:res.groups,name:commission.group_commission_user +msgid "User" +msgstr "Usuario" + +#. module: commission +#: model:ir.model,name:commission.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Asistente para liquidaci??n de comisiones" + +#. module: commission +#: model:ir.model.constraint,message:commission.constraint_commission_line_mixin_unique_agent +msgid "You can only add one time each agent." +msgstr "S??lo puede a??adir una vez cada agente." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "or" +msgstr "o" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modificaci??n el" + +#~ msgid "Main Attachment" +#~ msgstr "Archivo Adjunto Principal" + +#~ msgid "Website Messages" +#~ msgstr "Mensajes de la P??gina Web" + +#~ msgid "Website communication history" +#~ msgstr "Historial de la comunicaci??n en la p??gina web" + +#~ msgid "Gross Amount" +#~ msgstr "Importe Bruto" + +#~ msgid "Net Amount" +#~ msgstr "Importe Neto" diff --git a/commission/i18n/it.po b/commission/i18n/it.po new file mode 100644 index 000000000..7ceeba409 --- /dev/null +++ b/commission/i18n/it.po @@ -0,0 +1,860 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-27 20:33+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 4.17\n" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "%s commission agents" +msgstr "%s agenti con provvigione" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(lasciare vuoto per preparare le regolazioni di tutti gli agenti)" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "1 commission agent" +msgstr "1 agente con provvigione" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "" +"\n" +" No automatic settlements can be made. Install any " +"extra\n" +" commission module for having this feature enabled.\n" +" " +msgstr "" +"\n" +" Nessuna liquidazione automatica possibile. " +"Installare\n" +" moduli extra per abilitare questa funzionalit??.\n" +" " + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "From:" +msgstr "Da:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "To:" +msgstr "A:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Total" +msgstr "Totale" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "Azione richiesta" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__active +msgid "Active" +msgstr "Attivo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Attivit??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decorazione eccezione attivit??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Stato attivit??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icona tipo attivit??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Agent" +msgstr "Agente" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +msgid "Agent Partners" +msgstr "Partner agente" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Agent information" +msgstr "Informazioni agente" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission.action_agent_form +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_ids +#: model:ir.model.fields,field_description:commission.field_res_users__agent_ids +#: model:ir.ui.menu,name:commission.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#, python-format +msgid "Agents" +msgstr "Agenti" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Agenti e provvigioni" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agenti/provvigioni collegati alla riga fattura." + +#. module: commission +#: model:ir.module.category,description:commission.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permette di gestire le questioni legate alle provvigioni." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Amount settled" +msgstr "Importo regolato" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Annuale" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Archived" +msgstr "Archiviato" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Numero allegati" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__amount_base_type +msgid "Base" +msgstr "Base" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-settimanale" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__section +msgid "By sections" +msgstr "A scaglioni" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Pu?? modificare" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Pu?? regolare" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Cancel" +msgstr "Annulla" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Annullato" + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__agent +#: model:ir.model.fields,help:commission.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "Selezionare il campo se il partner ?? un creditore o un agente." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_free +#, python-format +msgid "Comm. free" +msgstr "Senza provvigione" + +#. module: commission +#: model:ir.model,name:commission.model_commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission.commission_form +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Commission" +msgstr "Provvigione" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Importo provvigione" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Commission lines" +msgstr "Righe provvigione" + +#. module: commission +#: model:ir.model,name:commission.model_commission_section +msgid "Commission section" +msgstr "Scaglione provvigione" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission +#: model:ir.ui.menu,name:commission.menu_commission_type +msgid "Commission types" +msgstr "Tipi di provvigione" + +#. module: commission +#: model:ir.module.category,name:commission.module_category_commission +#: model:ir.ui.menu,name:commission.menu_commission +msgid "Commissions" +msgstr "Provvigioni" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Azienda" + +#. module: commission +#: model:ir.ui.menu,name:commission.menu_commission_management +msgid "Configuration" +msgstr "Configurazione" + +#. module: commission +#: model:ir.model,name:commission.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: commission +#. odoo-python +#: code:addons/commission/wizards/commission_make_settle.py:0 +#, python-format +msgid "Created Settlements" +msgstr "Regolazioni create" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__agent +#: model:ir.model.fields,field_description:commission.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Creditore/Agente" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Date" +msgstr "Data" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Date from month" +msgstr "Data dal mese" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Date month" +msgstr "Mese" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +#, fuzzy +msgid "Discard" +msgstr "Annulla" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__display_name +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Agente esterno" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Percentuale fissa" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icona Font Awesome es. fa-tasks" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission.field_product_template__commission_free +msgid "Free of commission" +msgstr "Senza provvigione" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_from +msgid "From" +msgstr "Da" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "General information" +msgstr "Informazioni generali" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Group By" +msgstr "Raggruppa per" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__has_message +#, fuzzy +msgid "Has Message" +msgstr "Ci sono messaggi" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission.field_commission_section__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__id +msgid "ID" +msgstr "ID" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "Icona" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_icon +#, fuzzy +msgid "Icon to indicate an exception activity." +msgstr "Icona che indica l'eccezzione sull'attivit??" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se selezionata, nuovi messaggi richiedono attenzione." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement_line +#, fuzzy +msgid "Line of a commission settlement" +msgstr "Linea di una liquidazione provvigioni" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Make settlements" +msgstr "Crea liquidazioni" + +#. module: commission +#: model:res.groups,name:commission.group_commission_manager +msgid "Manager" +msgstr "Responsabile" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manuale" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Errore di consegna messaggio" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Messaggi" + +#. module: commission +#: model:ir.model,name:commission.model_commission_mixin +msgid "Mixin model for applying to any object that wants to handle commissions" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensile" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__my_activity_date_deadline +#, fuzzy +msgid "My Activity Deadline" +msgstr "Scadenza mia attivit??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__name +msgid "Name" +msgstr "Nome" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Scadenza prossima attivit??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Riepilogo prossima attivit??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo prossima attivit??" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "No commission agents" +msgstr "Nessuna provvigione agente" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero di azioni" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "Numero di errori" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Numero di messaggi che richiedono un'azione" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Numero di messaggi con errore di consegna" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__object_id +#, fuzzy +msgid "Parent" +msgstr "Superiore" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__percent +msgid "Percent" +msgstr "Percentuale" + +#. module: commission +#: model:ir.model,name:commission.model_product_template +#: model:ir.model.fields,field_description:commission.field_commission_mixin__product_id +msgid "Product" +msgstr "Prodotto" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestrale" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +#, fuzzy +msgid "Rates definition" +msgstr "Definizione tariffe" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Utente responsabile" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_sms_error +msgid "SMS Delivery error" +msgstr "Errore consegna SMS" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Save" +msgstr "Salva" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__section_ids +msgid "Sections" +msgstr "Scaglioni" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__amount_base_type +msgid "" +"Select the base amount for computing the percentage:\n" +"* 'Sale/Invoice Amount': percentage is computed from the amount put on sales " +"order/invoice.\n" +"* 'Margin (Amount - Cost)': percentage is computed from the profit only, " +"taken the cost from the product." +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "Selezionare la data alla quale si vuole creare le liquidazioni:" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__commission_type +msgid "" +"Select the percentage type of the commission:\n" +"* 'Fixed percentage': all commissions are computed with a fixed percentage. " +"You can fill the percentage in the field \"Fixed percentage\".\n" +"* 'By sections': percentage varies depending amount intervals. You can fill " +"intervals and percentages in the section \"Rate definition\"." +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semestrale" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_agents_settlement +#: model:ir.ui.menu,name:commission.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquida provvigioni" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Settle commissions" +msgstr "Liquida provvigioni" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Regolata" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Importo regolato" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_tree +msgid "Settled total" +msgstr "Totale regolato" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Settlement" +msgstr "Liquidazione" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo liquidazione" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_graph +#, fuzzy +msgid "Settlement analysis" +msgstr "Analisi liquidazione" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Righe liquidazione" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Ricerca righe liquidazione" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission.field_res_users__settlement +msgid "Settlement period" +msgstr "Periodo liquidazione" + +#. module: commission +#: model:ir.actions.report,name:commission.action_report_settlement +#, fuzzy +msgid "Settlement report" +msgstr "Report liquidazione" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +#, fuzzy +msgid "Settlement search" +msgstr "Ricerca liquidazioni" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission_settlement +#: model:ir.ui.menu,name:commission.menu_settlement +#: model:ir.ui.menu,name:commission.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Settlements" +msgstr "Liquidazioni" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__state +msgid "State" +msgstr "Stato" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__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: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "" +"Campo tecnico per determinare se l'utente pu?? modificare le liquidazioni" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_make_settle__can_settle +#, fuzzy +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" +"Campo tecnico per migliorare la UX quando non ci sono moduli extra " +"installati." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission.py:0 +#, python-format +msgid "The lower limit cannot be greater than upper one." +msgstr "Il limite inferiore non pu?? essere maggiore del superiore." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "" +"La sorgente della liquidazione, es. 'Fattura di vendita', 'Ordine di " +"vendita', 'Ordine fornitore'..." + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__commission_id +#: model:ir.model.fields,help:commission.field_res_users__commission_id +#, fuzzy +msgid "" +"This is the default commission used in the sales where this agent is " +"assigned. It can be changed on each operation if needed." +msgstr "" +"Provvigione predefinita quando viene assegnato questo agente ad una vendita. " +"Pu?? essere cambiata su ogni singola operazione se necessario." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "This year" +msgstr "Quest'anno" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_to +msgid "To" +msgstr "A" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__total +msgid "Total" +msgstr "Totale" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__commission_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_decoration +#, fuzzy +msgid "Type of the exception activity on record." +msgstr "Tipo di eccezione attivit?? sul record." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__date_to +msgid "Up to" +msgstr "Fino a" + +#. module: commission +#: model:res.groups,name:commission.group_commission_user +msgid "User" +msgstr "Utente" + +#. module: commission +#: model:ir.model,name:commission.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Procedura guidata per la liquidazione delle provvigioni" + +#. module: commission +#: model:ir.model.constraint,message:commission.constraint_commission_line_mixin_unique_agent +msgid "You can only add one time each agent." +msgstr "?? possibile aggiungere ogni agente solo una volta." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "or" +msgstr "o" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" + +#~ msgid "Main Attachment" +#~ msgstr "Allegato principale" + +#~ msgid "Website Messages" +#~ msgstr "Messaggi sito web" + +#~ msgid "Website communication history" +#~ msgstr "Cronologia comunicazioni sito web" + +#~ msgid "Gross Amount" +#~ msgstr "Importo lordo" + +#~ msgid "Net Amount" +#~ msgstr "Importo netto" diff --git a/commission/i18n/ja.po b/commission/i18n/ja.po new file mode 100644 index 000000000..507980466 --- /dev/null +++ b/commission/i18n/ja.po @@ -0,0 +1,838 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-12-16 14:45+0000\n" +"Last-Translator: Ryoko Tsuda \n" +"Language-Team: none\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "%s commission agents" +msgstr "%s ????????????????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(???????????????????????????????????????????????????????????????????????????????????????)" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "1 commission agent" +msgstr "1 ????????????????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "" +"\n" +" No automatic settlements can be made. Install any " +"extra\n" +" commission module for having this feature enabled.\n" +" " +msgstr "" +"\n" +" ????????????????????????????????????????????????????????????????????????\n" +" ?????????????????????????????????????????????????????????????????????????????????????????????\n" +" " + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "From:" +msgstr "??????:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "To:" +msgstr "??????:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Total" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__active +msgid "Active" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Agent" +msgstr "??????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +msgid "Agent Partners" +msgstr "???????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Agent information" +msgstr "????????????????????????" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission.action_agent_form +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_ids +#: model:ir.model.fields,field_description:commission.field_res_users__agent_ids +#: model:ir.ui.menu,name:commission.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#, python-format +msgid "Agents" +msgstr "??????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "???????????????????????????????????????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "?????????????????????????????????????????????/?????????????????????" + +#. module: commission +#: model:ir.module.category,description:commission.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "?????????????????????????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Amount settled" +msgstr "????????????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "??????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Archived" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__amount_base_type +msgid "Base" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__section +msgid "By sections" +msgstr "?????????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "?????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "?????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Cancel" +msgstr "???????????????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "???????????????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__agent +#: model:ir.model.fields,help:commission.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_free +#, python-format +msgid "Comm. free" +msgstr "???????????????????????????" + +#. module: commission +#: model:ir.model,name:commission.model_commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission.commission_form +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Commission" +msgstr "??????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Commission lines" +msgstr "????????????????????????" + +#. module: commission +#: model:ir.model,name:commission.model_commission_section +msgid "Commission section" +msgstr "?????????????????????????????????" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission +#: model:ir.ui.menu,name:commission.menu_commission_type +msgid "Commission types" +msgstr "???????????????????????????" + +#. module: commission +#: model:ir.module.category,name:commission.module_category_commission +#: model:ir.ui.menu,name:commission.menu_commission +msgid "Commissions" +msgstr "??????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__company_id +msgid "Company" +msgstr "??????" + +#. module: commission +#: model:ir.ui.menu,name:commission.menu_commission_management +msgid "Configuration" +msgstr "??????" + +#. module: commission +#: model:ir.model,name:commission.model_res_partner +msgid "Contact" +msgstr "?????????" + +#. module: commission +#. odoo-python +#: code:addons/commission/wizards/commission_make_settle.py:0 +#, python-format +msgid "Created Settlements" +msgstr "?????????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "?????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "?????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__agent +#: model:ir.model.fields,field_description:commission.field_res_users__agent +msgid "Creditor/Agent" +msgstr "?????????/??????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Date" +msgstr "??????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Date from month" +msgstr "??????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Date month" +msgstr "??????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Discard" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__display_name +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__display_name +msgid "Display Name" +msgstr "?????????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "????????????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "?????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission.field_product_template__commission_free +msgid "Free of commission" +msgstr "???????????????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_from +msgid "From" +msgstr "??????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "General information" +msgstr "????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Group By" +msgstr "???????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__has_message +msgid "Has Message" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission.field_commission_section__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__id +msgid "ID" +msgstr "ID" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "???????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "???????????????" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "??????????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Make settlements" +msgstr "????????????" + +#. module: commission +#: model:res.groups,name:commission.group_commission_manager +msgid "Manager" +msgstr "???????????????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_ids +msgid "Messages" +msgstr "" + +#. module: commission +#: model:ir.model,name:commission.model_commission_mixin +msgid "Mixin model for applying to any object that wants to handle commissions" +msgstr "" +"??????????????????????????????????????????????????????????????????????????????" +"Mixin?????????" + +#. module: commission +#: model:ir.model,name:commission.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" +"??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????" +"Mixin?????????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__name +msgid "Name" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "No commission agents" +msgstr "0 ????????????????????????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "???" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__percent +msgid "Percent" +msgstr "???" + +#. module: commission +#: model:ir.model,name:commission.model_product_template +#: model:ir.model.fields,field_description:commission.field_commission_mixin__product_id +msgid "Product" +msgstr "???????????????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "?????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Rates definition" +msgstr "????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Save" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__section_ids +msgid "Sections" +msgstr "???????????????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__amount_base_type +msgid "" +"Select the base amount for computing the percentage:\n" +"* 'Sale/Invoice Amount': percentage is computed from the amount put on sales " +"order/invoice.\n" +"* 'Margin (Amount - Cost)': percentage is computed from the profit only, " +"taken the cost from the product." +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "????????????????????????????????????????????????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__commission_type +msgid "" +"Select the percentage type of the commission:\n" +"* 'Fixed percentage': all commissions are computed with a fixed percentage. " +"You can fill the percentage in the field \"Fixed percentage\".\n" +"* 'By sections': percentage varies depending amount intervals. You can fill " +"intervals and percentages in the section \"Rate definition\"." +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "??????" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_agents_settlement +#: model:ir.ui.menu,name:commission.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Settle commissions" +msgstr "????????????????????????" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_tree +msgid "Settled total" +msgstr "????????????" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Settlement" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "???????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Settlement lines search" +msgstr "??????????????????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission.field_res_users__settlement +msgid "Settlement period" +msgstr "????????????" + +#. module: commission +#: model:ir.actions.report,name:commission.action_report_settlement +msgid "Settlement report" +msgstr "??????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Settlement search" +msgstr "????????????" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission_settlement +#: model:ir.ui.menu,name:commission.menu_settlement +#: model:ir.ui.menu,name:commission.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Settlements" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__state +msgid "State" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__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: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "???????????????????????????????????????????????????????????????????????????????????????????????????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" +"?????????????????????????????????????????????????????????????????????" +"UX??????????????????????????????????????????????????????" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission.py:0 +#, python-format +msgid "The lower limit cannot be greater than upper one." +msgstr "?????????????????????????????????????????????????????????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "???????????????????????????????????????????????????????????????????????????????????????..." + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__commission_id +#: model:ir.model.fields,help:commission.field_res_users__commission_id +msgid "" +"This is the default commission used in the sales where this agent is " +"assigned. It can be changed on each operation if needed." +msgstr "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "This year" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_to +msgid "To" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__total +msgid "Total" +msgstr "??????" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__commission_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission.field_res_users__agent_type +msgid "Type" +msgstr "?????????" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__date_to +msgid "Up to" +msgstr "????????????" + +#. module: commission +#: model:res.groups,name:commission.group_commission_user +msgid "User" +msgstr "?????????" + +#. module: commission +#: model:ir.model,name:commission.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "???????????????????????????????????????" + +#. module: commission +#: model:ir.model.constraint,message:commission.constraint_commission_line_mixin_unique_agent +msgid "You can only add one time each agent." +msgstr "?????????????????????1??????????????????????????????" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "or" +msgstr "?????????" + +#~ msgid "Last Modified on" +#~ msgstr "???????????????" + +#~ msgid "Gross Amount" +#~ msgstr "??????" + +#~ msgid "Net Amount" +#~ msgstr "??????" + +#~ msgid "Agent:" +#~ msgstr "??????????????????:" + +#~ msgid "Product Template" +#~ msgstr "?????????????????????????????????" diff --git a/commission/i18n/pt.po b/commission/i18n/pt.po new file mode 100644 index 000000000..639056207 --- /dev/null +++ b/commission/i18n/pt.po @@ -0,0 +1,844 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-13 02:40+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: none\n" +"Language: pt\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: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "%s commission agents" +msgstr "%s agentes de comiss??es" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(manter vazio para comissionar todos os agentes)" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "1 commission agent" +msgstr "1 agente de comiss??es" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "" +"\n" +" No automatic settlements can be made. Install any " +"extra\n" +" commission module for having this feature enabled.\n" +" " +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "From:" +msgstr "De:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "To:" +msgstr "Para:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Total" +msgstr "Total" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "A????o Necess??ria" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__active +msgid "Active" +msgstr "Ativo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Atividades" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decora????o de Exce????o da Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Estado da Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "??cone do Tipo de Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Agent" +msgstr "Agente" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +msgid "Agent Partners" +msgstr "Parceiros Agentes" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Agent information" +msgstr "Informa????o dos Agentes" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission.action_agent_form +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_ids +#: model:ir.model.fields,field_description:commission.field_res_users__agent_ids +#: model:ir.ui.menu,name:commission.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#, python-format +msgid "Agents" +msgstr "Agentes" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Agentes e Comiss??es" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agentes/Comiss??es relacionadas com a linha de fatura." + +#. module: commission +#: model:ir.module.category,description:commission.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permite lidar com coisas relacionadas com comiss??es." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Amount settled" +msgstr "Montante liquidado" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Anual" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Archived" +msgstr "Arquivado" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "N?? de Anexos" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__amount_base_type +msgid "Base" +msgstr "Base" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-semanal" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__section +msgid "By sections" +msgstr "Por sec????es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Pode Editar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Pode Liquidar" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Cancelado" + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__agent +#: model:ir.model.fields,help:commission.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "Assinale este campo se o parceiro ?? um credor ou um agente." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_free +#, python-format +msgid "Comm. free" +msgstr "Livre de Comiss??es" + +#. module: commission +#: model:ir.model,name:commission.model_commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission.commission_form +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Commission" +msgstr "Comiss??o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Montante da Comiss??o" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Commission lines" +msgstr "Linhas de comiss??es" + +#. module: commission +#: model:ir.model,name:commission.model_commission_section +msgid "Commission section" +msgstr "Sec????o de comiss??es" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission +#: model:ir.ui.menu,name:commission.menu_commission_type +msgid "Commission types" +msgstr "Tipos de comiss??es" + +#. module: commission +#: model:ir.module.category,name:commission.module_category_commission +#: model:ir.ui.menu,name:commission.menu_commission +msgid "Commissions" +msgstr "Comiss??es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Empresa" + +#. module: commission +#: model:ir.ui.menu,name:commission.menu_commission_management +msgid "Configuration" +msgstr "Configura????o" + +#. module: commission +#: model:ir.model,name:commission.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: commission +#. odoo-python +#: code:addons/commission/wizards/commission_make_settle.py:0 +#, python-format +msgid "Created Settlements" +msgstr "Comissionamentos Criados" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__agent +#: model:ir.model.fields,field_description:commission.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Credor/Agente" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Date" +msgstr "Data" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Date from month" +msgstr "Data do m??s" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Date month" +msgstr "M??s da data" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Descartar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__display_name +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__display_name +msgid "Display Name" +msgstr "Nome a Exibir" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Agente externo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Percentagem fixa" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Parceiros)" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "??cone font awesome, por exemplo fa-tasks" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission.field_product_template__commission_free +msgid "Free of commission" +msgstr "Livre de comiss??o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_from +msgid "From" +msgstr "De" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "General information" +msgstr "Informa????o geral" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Group By" +msgstr "Agrupar Por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Tem Mensagem" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission.field_commission_section__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__id +msgid "ID" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "??cone" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "??cone para indicar uma exce????o na atividade." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se selecionado, h?? novas mensagens que requerem a sua aten????o." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Se marcada, algumas mensagens t??m um erro de entrega." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "?? Seguidor" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "??ltima Atualiz. por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "??ltima Atualiz. em" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Linha de liquida????o de comiss??es" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Make settlements" +msgstr "Fazer comissionamentos" + +#. module: commission +#: model:res.groups,name:commission.group_commission_manager +msgid "Manager" +msgstr "Gestor" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manual" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Erro de Entrega de Mensagem" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Mensagens" + +#. module: commission +#: model:ir.model,name:commission.model_commission_mixin +msgid "Mixin model for applying to any object that wants to handle commissions" +msgstr "Modelo mixin para aplicar a qualquer objeto que lide com comiss??es" + +#. module: commission +#: model:ir.model,name:commission.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" +"Modelo mixin para ter linhas de agentes de comiss??es em qualquer objeto que " +"dele herde" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensalmente" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Prazo Limite da Minha Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__name +msgid "Name" +msgstr "Nome" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Data Limite Para a Pr??xima Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Resumo da Pr??xima Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo da Atividade Seguinte" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "No commission agents" +msgstr "Sem agentes de comiss??es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "N??mero de A????es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "N??mero de erros" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "N??mero de mensagens que requerem uma a????o" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "N??mero de mensagens com erro de entrega" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Ascendente" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__percent +msgid "Percent" +msgstr "Percentagem" + +#. module: commission +#: model:ir.model,name:commission.model_product_template +#: model:ir.model.fields,field_description:commission.field_commission_mixin__product_id +msgid "Product" +msgstr "Produto" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestralmente" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Rates definition" +msgstr "Defini????o de taxas de comiss??o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Utilizador Respons??vel" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Save" +msgstr "Guardar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__section_ids +msgid "Sections" +msgstr "Sec????es" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__amount_base_type +msgid "" +"Select the base amount for computing the percentage:\n" +"* 'Sale/Invoice Amount': percentage is computed from the amount put on sales " +"order/invoice.\n" +"* 'Margin (Amount - Cost)': percentage is computed from the profit only, " +"taken the cost from the product." +msgstr "" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "Selecionar a data at?? qual quer atribuir comissionamentos:" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__commission_type +msgid "" +"Select the percentage type of the commission:\n" +"* 'Fixed percentage': all commissions are computed with a fixed percentage. " +"You can fill the percentage in the field \"Fixed percentage\".\n" +"* 'By sections': percentage varies depending amount intervals. You can fill " +"intervals and percentages in the section \"Rate definition\"." +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semestral" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_agents_settlement +#: model:ir.ui.menu,name:commission.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquidar Comiss??es" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Settle commissions" +msgstr "Executar comiss??es" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Comissionado" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Valor Liquidado" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_tree +msgid "Settled total" +msgstr "Total comissionado" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Settlement" +msgstr "Comissionamento" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de Liquida????o" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "An??lise de Comissionamentos" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Linhas de comissionamento" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Pesquisa de linhas de comissionamento" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission.field_res_users__settlement +msgid "Settlement period" +msgstr "Per??odo de comissionamento" + +#. module: commission +#: model:ir.actions.report,name:commission.action_report_settlement +msgid "Settlement report" +msgstr "Relat??rio de comissionamentos" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Settlement search" +msgstr "Pesquisa de comissionamento" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission_settlement +#: model:ir.ui.menu,name:commission.menu_settlement +#: model:ir.ui.menu,name:commission.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Settlements" +msgstr "Comissionamentos" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__state +msgid "State" +msgstr "Estado" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__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 com base nas atividades\n" +"Em atraso: A data limite foi ultrapassada\n" +"Hoje: A data da atividade ?? a atual\n" +"Planeado: Atividades futuras." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "" +"Campo t??cnico para determinar se o utilizador pode editar liquida????es" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" +"Campo t??cnico para melhorar a UX quando nenhuma *comiss??o extra est?? " +"instalada." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission.py:0 +#, python-format +msgid "The lower limit cannot be greater than upper one." +msgstr "O limite inferior n??o pode ser maior do que o superior." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "" +"A origem da liquida????o, por exemplo, ??Fatura de venda??, ??Ordem de " +"venda??, ??Ordem de compra??..." + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__commission_id +#: model:ir.model.fields,help:commission.field_res_users__commission_id +msgid "" +"This is the default commission used in the sales where this agent is " +"assigned. It can be changed on each operation if needed." +msgstr "" +"Esta ?? a comiss??o predefinida usada nas vendas quando um agente ?? atribu??" +"do. Pode ser alterado em cada opera????o, se necess??rio." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "This year" +msgstr "Este ano" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_to +msgid "To" +msgstr "At??" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__total +msgid "Total" +msgstr "Total" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__commission_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de atividade de exce????o registada." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__date_to +msgid "Up to" +msgstr "At??" + +#. module: commission +#: model:res.groups,name:commission.group_commission_user +msgid "User" +msgstr "Utilizador" + +#. module: commission +#: model:ir.model,name:commission.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Assistente para liquida????o de comiss??es" + +#. module: commission +#: model:ir.model.constraint,message:commission.constraint_commission_line_mixin_unique_agent +msgid "You can only add one time each agent." +msgstr "S?? pode adicionar cada agente uma vez." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "or" +msgstr "ou" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modif. em" + +#~ msgid "Main Attachment" +#~ msgstr "Anexo Principal" + +#~ msgid "Website Messages" +#~ msgstr "Mensagens do Website" + +#~ msgid "Website communication history" +#~ msgstr "Hist??rico de comunica????o do website" + +#~ msgid "Gross Amount" +#~ msgstr "Valor Bruto" + +#~ msgid "Net Amount" +#~ msgstr "Valor L??quido" diff --git a/commission/i18n/pt_BR.po b/commission/i18n/pt_BR.po new file mode 100644 index 000000000..c99229ed0 --- /dev/null +++ b/commission/i18n/pt_BR.po @@ -0,0 +1,862 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-28 22:35+0000\n" +"Last-Translator: Adriano Prado \n" +"Language-Team: none\n" +"Language: pt_BR\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: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "%s commission agents" +msgstr "%s representantes comissionados" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(manter vazio para efetuar a liquida????o de todos os representantes)" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "1 commission agent" +msgstr "1 representante comissionado" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "" +"\n" +" No automatic settlements can be made. Install any " +"extra\n" +" commission module for having this feature enabled.\n" +" " +msgstr "" +"\n" +" Nenhuma liquida????o autom??tica pode ser feita. " +"Instale qualquer extra\n" +" m??dulo de comiss??o para ter esse recurso " +"habilitado.\n" +" " + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "From:" +msgstr " De:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "To:" +msgstr "Para:" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Total" +msgstr "Total" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "A????o Necess??ria" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__active +msgid "Active" +msgstr "Ativo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Atividades" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decora????o de Exce????o de Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Estado da Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "??cone do Tipo de Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Agent" +msgstr "Representante" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +msgid "Agent Partners" +msgstr "Parceiros Representantes" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Agent information" +msgstr "Informa????es do Representante" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission.action_agent_form +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_ids +#: model:ir.model.fields,field_description:commission.field_res_users__agent_ids +#: model:ir.ui.menu,name:commission.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#, python-format +msgid "Agents" +msgstr "Representantes" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Representantes & Comiss??es" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Representantes/Comiss??es relacionadas ?? linha da fatura." + +#. module: commission +#: model:ir.module.category,description:commission.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permite lidar com assuntos relacionados a comiss??es." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Amount settled" +msgstr "Valor liquidado" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Anual" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Archived" +msgstr "Arquivado" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Contagem de Anexos" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__amount_base_type +msgid "Base" +msgstr "Base" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-semanal" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__section +msgid "By sections" +msgstr "Por se????es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Pode Editar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Pode Resolver" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Cancelado" + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__agent +#: model:ir.model.fields,help:commission.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "Marque este campo se o parceiro for credor ou representante." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_free +#, python-format +msgid "Comm. free" +msgstr "Com. livre" + +#. module: commission +#: model:ir.model,name:commission.model_commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission.commission_form +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Commission" +msgstr "Comiss??o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Valor da Comiss??o" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Commission lines" +msgstr "Linhas de comiss??o" + +#. module: commission +#: model:ir.model,name:commission.model_commission_section +msgid "Commission section" +msgstr "Se????o da comiss??o" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission +#: model:ir.ui.menu,name:commission.menu_commission_type +msgid "Commission types" +msgstr "Tipos de comiss??o" + +#. module: commission +#: model:ir.module.category,name:commission.module_category_commission +#: model:ir.ui.menu,name:commission.menu_commission +msgid "Commissions" +msgstr "Comiss??es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Empresa" + +#. module: commission +#: model:ir.ui.menu,name:commission.menu_commission_management +msgid "Configuration" +msgstr "Configura????o" + +#. module: commission +#: model:ir.model,name:commission.model_res_partner +msgid "Contact" +msgstr "Contato" + +#. module: commission +#. odoo-python +#: code:addons/commission/wizards/commission_make_settle.py:0 +#, python-format +msgid "Created Settlements" +msgstr "Liquida????es Criadas" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__create_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__agent +#: model:ir.model.fields,field_description:commission.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Credor/Representante" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +msgid "Date" +msgstr "Data" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Date from month" +msgstr "Data do m??s" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Date month" +msgstr "Data m??s" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Discartar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__display_name +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__display_name +msgid "Display Name" +msgstr "Nome Exibi????o" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Representante Externo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Percentual Fixo" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Parceiros)" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "??cone Fonte awesome e.x fa-tasks" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission.field_product_template__commission_free +msgid "Free of commission" +msgstr "Livre de comiss??o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_from +msgid "From" +msgstr "De" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "General information" +msgstr "Informa????es Gerais" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Tem mensagem" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__id +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission.field_commission_section__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__id +msgid "ID" +msgstr "ID" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "??cone" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "??cone para indicar uma atividade de exce????o." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se marcado novas mensagens solicitar??o sua aten????o." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Se marcado, algumas mensagens tem erro de entrega." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "?? seguidor" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "??ltima Atualiza????o por" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__write_date +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "??ltima Atualiza????o em" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Linha de liquida????o da comiss??o" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Make settlements" +msgstr "Liquidar" + +#. module: commission +#: model:res.groups,name:commission.group_commission_manager +msgid "Manager" +msgstr "Gerente" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manual" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "Margem (Valor - Custo)" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Erro de entrega de Mensagem" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Mensagens" + +#. module: commission +#: model:ir.model,name:commission.model_commission_mixin +msgid "Mixin model for applying to any object that wants to handle commissions" +msgstr "" +"Modelo Mixin para aplicar a qualquer objeto que queira lidar com comiss??es" + +#. module: commission +#: model:ir.model,name:commission.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" +"Modelo Mixin para ter linhas de representante comissionado em qualquer " +"objeto herdado deste" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensal" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Prazo da minha Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__name +#: model:ir.model.fields,field_description:commission.field_commission_settlement__name +msgid "Name" +msgstr "Nome" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Prazo para Pr??xima Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Resumo da Pr??xima Atividade" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo da Pr??xima Atividade" + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission_mixin.py:0 +#, python-format +msgid "No commission agents" +msgstr "Sem representantes comissionados" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "N??mero de A????es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "N??mero de erros" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "N??mero de mensagens que exigem a????o" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "N??mero de mensagens com erro de entrega" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Superior" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__percent +msgid "Percent" +msgstr "Percentual" + +#. module: commission +#: model:ir.model,name:commission.model_product_template +#: model:ir.model.fields,field_description:commission.field_commission_mixin__product_id +msgid "Product" +msgstr "Produto" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestral" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.commission_form +msgid "Rates definition" +msgstr "Defini????o de taxas" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Usu??rio Respons??vel" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "Valor Venda/Fatura" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_commission_mixin_agent_only +msgid "Save" +msgstr "Salvar" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__section_ids +msgid "Sections" +msgstr "Se????es" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__amount_base_type +msgid "" +"Select the base amount for computing the percentage:\n" +"* 'Sale/Invoice Amount': percentage is computed from the amount put on sales " +"order/invoice.\n" +"* 'Margin (Amount - Cost)': percentage is computed from the profit only, " +"taken the cost from the product." +msgstr "" +"Selecione o valor base para calcular a porcentagem:\n" +"* 'Valor Venda/Fatura': o percentual ?? calculado a partir do valor colocado " +"no pedido/fatura de venda.\n" +"* 'Margem (Valor - Custo)': o percentual ?? calculado apenas a partir do " +"lucro, retirado o custo do produto." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "Selecione a data at?? a qual deseja efetuar as liquida????es:" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission__commission_type +msgid "" +"Select the percentage type of the commission:\n" +"* 'Fixed percentage': all commissions are computed with a fixed percentage. " +"You can fill the percentage in the field \"Fixed percentage\".\n" +"* 'By sections': percentage varies depending amount intervals. You can fill " +"intervals and percentages in the section \"Rate definition\"." +msgstr "" +"Selecione o tipo de porcentagem da comiss??o:\n" +"* 'Percentagem fixa': todas as comiss??es s??o calculadas com uma " +"percentagem fixa. Voc?? pode preencher o percentual no campo ???Porcentagem " +"fixa???.\n" +"* 'Por se????es': o percentual varia dependendo dos intervalos de valores. " +"Voc?? pode preencher intervalos e porcentagens na se????o ???Defini????o de " +"taxas???." + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semestral" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_agents_settlement +#: model:ir.ui.menu,name:commission.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquidar Comiss??es" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "Settle commissions" +msgstr "Liquidar Comiss??es" + +#. module: commission +#: model:ir.model.fields.selection,name:commission.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Liquidado" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Valor Liquidado" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_tree +msgid "Settled total" +msgstr "Total Liquidado" + +#. module: commission +#: model:ir.model,name:commission.model_commission_settlement +#: model:ir.model.fields,field_description:commission.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_form +msgid "Settlement" +msgstr "Liquida????o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de Liquida????o" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "An??lise de Liquida????o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Linhas da Liquida????o" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Pesquisa linhas de liquida????o" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission.field_res_users__settlement +msgid "Settlement period" +msgstr "Per??odo de Liquida????o" + +#. module: commission +#: model:ir.actions.report,name:commission.action_report_settlement +msgid "Settlement report" +msgstr "Relat??rio de Liquida????o" + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "Settlement search" +msgstr "Pesquisa Liquida????o" + +#. module: commission +#: model:ir.actions.act_window,name:commission.action_commission_settlement +#: model:ir.ui.menu,name:commission.menu_settlement +#: model:ir.ui.menu,name:commission.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission.view_partner_form_agent +msgid "Settlements" +msgstr "Liquida????es" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__state +msgid "State" +msgstr "Situa????o" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__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 "" +"Situa????o baseada em atividades\n" +"Atrasado: a data de vencimento j?? passou\n" +"Hoje: a data da atividade ?? hoje\n" +"Planejado: Atividades futuras." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "Campo t??cnico para determinar se o usu??rio pode editar liquida????es" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" +"Campo t??cnico para melhoria de UX quando nenhuma *comiss??o extra ?? " +"instalada." + +#. module: commission +#. odoo-python +#: code:addons/commission/models/commission.py:0 +#, python-format +msgid "The lower limit cannot be greater than upper one." +msgstr "O limite inferior n??o pode ser maior que o superior." + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "" +"A origem da liquida????o, por ex. 'Fatura de venda', 'Pedido de venda', " +"'Ordem de compra'..." + +#. module: commission +#: model:ir.model.fields,help:commission.field_res_partner__commission_id +#: model:ir.model.fields,help:commission.field_res_users__commission_id +msgid "" +"This is the default commission used in the sales where this agent is " +"assigned. It can be changed on each operation if needed." +msgstr "" +"Esta ?? a comiss??o padr??o utilizada nas vendas onde este representante " +"est?? atribu??do. Ele pode ser alterado em cada opera????o, se necess??rio." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission.view_settlement_search +msgid "This year" +msgstr "Este Ano" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission.field_commission_settlement__date_to +msgid "To" +msgstr "Para" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_settlement__total +msgid "Total" +msgstr "Total" + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission__commission_type +#: model:ir.model.fields,field_description:commission.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission +#: model:ir.model.fields,help:commission.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de atividade de exce????o registrada." + +#. module: commission +#: model:ir.model.fields,field_description:commission.field_commission_make_settle__date_to +msgid "Up to" +msgstr "At??" + +#. module: commission +#: model:res.groups,name:commission.group_commission_user +msgid "User" +msgstr "Usu??rio" + +#. module: commission +#: model:ir.model,name:commission.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Assistente para liquida????o de comiss??es" + +#. module: commission +#: model:ir.model.constraint,message:commission.constraint_commission_line_mixin_unique_agent +msgid "You can only add one time each agent." +msgstr "Voc?? s?? pode adicionar uma vez cada representante." + +#. module: commission +#: model_terms:ir.ui.view,arch_db:commission.view_settled_wizard +msgid "or" +msgstr "ou" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modifica????o em" + +#~ msgid "Main Attachment" +#~ msgstr "Anexo Principal" + +#~ msgid "Website Messages" +#~ msgstr "Mensagens do Site" + +#~ msgid "Website communication history" +#~ msgstr "Hist??rico de comunica????o do Site" + +#~ msgid "Gross Amount" +#~ msgstr "Valor Bruto" + +#~ msgid "Net Amount" +#~ msgstr "Valor L??quido" diff --git a/commission/models/__init__.py b/commission/models/__init__.py new file mode 100644 index 000000000..890d9a2c6 --- /dev/null +++ b/commission/models/__init__.py @@ -0,0 +1,5 @@ +from . import commission +from . import commission_mixin +from . import commission_settlement +from . import product_template +from . import res_partner diff --git a/commission/models/commission.py b/commission/models/commission.py new file mode 100644 index 000000000..b39cd45dc --- /dev/null +++ b/commission/models/commission.py @@ -0,0 +1,76 @@ +# Copyright 2016-2022 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import _, api, exceptions, fields, models + + +class Commission(models.Model): + _name = "commission" + _description = "Commission" + + name = fields.Char(required=True) + commission_type = fields.Selection( + selection=[("fixed", "Fixed percentage"), ("section", "By sections")], + string="Type", + required=True, + default="fixed", + help="Select the percentage type of the commission:\n" + "* 'Fixed percentage': all commissions are computed with a fixed percentage. " + 'You can fill the percentage in the field "Fixed percentage".\n' + "* 'By sections': percentage varies depending amount intervals. " + 'You can fill intervals and percentages in the section "Rate definition".', + ) + fix_qty = fields.Float(string="Fixed percentage") + section_ids = fields.One2many( + string="Sections", + comodel_name="commission.section", + inverse_name="commission_id", + ) + active = fields.Boolean(default=True) + amount_base_type = fields.Selection( + selection=[ + ("gross_amount", "Sale/Invoice Amount"), + ("net_amount", "Margin (Amount - Cost)"), + ], + string="Base", + required=True, + default="gross_amount", + help="Select the base amount for computing the percentage:\n" + "* 'Sale/Invoice Amount': percentage is computed from " + "the amount put on sales order/invoice.\n" + "* 'Margin (Amount - Cost)': percentage is computed from " + "the profit only, taken the cost from the product.", + ) + settlement_type = fields.Selection(selection="_selection_settlement_type") + + @api.model + def _selection_settlement_type(self): + """Return the same types as the settlements.""" + return self.env["commission.settlement"].fields_get( + allfields=["settlement_type"] + )["settlement_type"]["selection"] + + def calculate_section(self, base): + self.ensure_one() + for section in self.section_ids: + if section.amount_from <= base <= section.amount_to: + return base * section.percent / 100.0 + return 0.0 + + +class CommissionSection(models.Model): + _name = "commission.section" + _description = "Commission section" + + commission_id = fields.Many2one("commission", string="Commission") + amount_from = fields.Float(string="From") + amount_to = fields.Float(string="To") + percent = fields.Float(required=True) + + @api.constrains("amount_from", "amount_to") + def _check_amounts(self): + for section in self: + if section.amount_to < section.amount_from: + raise exceptions.ValidationError( + _("The lower limit cannot be greater than upper one.") + ) diff --git a/commission/models/commission_mixin.py b/commission/models/commission_mixin.py new file mode 100644 index 000000000..488a6427e --- /dev/null +++ b/commission/models/commission_mixin.py @@ -0,0 +1,164 @@ +# Copyright 2018-2022 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models + + +class CommissionMixin(models.AbstractModel): + _name = "commission.mixin" + _description = ( + "Mixin model for applying to any object that wants to handle commissions" + ) + + agent_ids = fields.One2many( + comodel_name="commission.line.mixin", + inverse_name="object_id", + string="Agents & commissions", + help="Agents/Commissions related to the invoice line.", + compute="_compute_agent_ids", + readonly=False, + store=True, + copy=True, + ) + product_id = fields.Many2one(comodel_name="product.product", string="Product") + commission_free = fields.Boolean( + string="Comm. free", + compute="_compute_commission_free", + store=True, + readonly=True, + ) + commission_status = fields.Char( + compute="_compute_commission_status", + string="Commission", + ) + + def _prepare_agent_vals(self, agent): + return {"agent_id": agent.id, "commission_id": agent.commission_id.id} + + def _prepare_agents_vals_partner(self, partner, settlement_type=None): + """Utility method for getting agents creation dictionary of a partner.""" + agents = partner.agent_ids + if settlement_type: + agents = agents.filtered( + lambda x: not x.commission_id.settlement_type + or x.commission_id.settlement_type == settlement_type + ) + return [(0, 0, self._prepare_agent_vals(agent)) for agent in agents] + + @api.depends("commission_free") + def _compute_agent_ids(self): + """Empty method that needs to be implemented in children models.""" + raise NotImplementedError() + + @api.depends("product_id") + def _compute_commission_free(self): + """Compute instead of a simple related to have a proper initialized value.""" + for line in self: + line.commission_free = line.product_id.commission_free + + @api.depends("commission_free", "agent_ids") + def _compute_commission_status(self): + for line in self: + if line.commission_free: + line.commission_status = _("Comm. free") + elif len(line.agent_ids) == 0: + line.commission_status = _("No commission agents") + elif len(line.agent_ids) == 1: + line.commission_status = _("1 commission agent") + else: + line.commission_status = _("%s commission agents") % ( + len(line.agent_ids), + ) + + def recompute_agents(self): + self._compute_agent_ids() + + def button_edit_agents(self): + self.ensure_one() + view = self.env.ref("commission.view_commission_mixin_agent_only") + return { + "name": _("Agents"), + "type": "ir.actions.act_window", + "view_mode": "form", + "res_model": self._name, + "views": [(view.id, "form")], + "view_id": view.id, + "target": "new", + "res_id": self.id, + "context": self.env.context, + } + + +class CommissionLineMixin(models.AbstractModel): + _name = "commission.line.mixin" + _description = ( + "Mixin model for having commission agent lines in " + "any object inheriting from this one" + ) + _rec_name = "agent_id" + + _sql_constraints = [ + ( + "unique_agent", + "UNIQUE(object_id, agent_id)", + "You can only add one time each agent.", + ) + ] + + object_id = fields.Many2one( + comodel_name="commission.mixin", + ondelete="cascade", + required=True, + copy=False, + string="Parent", + ) + agent_id = fields.Many2one( + comodel_name="res.partner", + domain="[('agent', '=', True)]", + ondelete="restrict", + required=True, + ) + commission_id = fields.Many2one( + comodel_name="commission", + ondelete="restrict", + required=True, + compute="_compute_commission_id", + store=True, + readonly=False, + copy=True, + ) + amount = fields.Monetary( + string="Commission Amount", + compute="_compute_amount", + store=True, + ) + # Fields to be overriden with proper source (via related or computed field) + currency_id = fields.Many2one(comodel_name="res.currency") + + def _compute_amount(self): + """Compute method to be implemented by inherited models.""" + raise NotImplementedError() + + def _get_commission_amount(self, commission, subtotal, product, quantity): + """Get the commission amount for the data given. It's called by + compute methods of children models. + + This means the inheritable method for modifying the amount of the commission. + """ + self.ensure_one() + if product.commission_free or not commission: + return 0.0 + if commission.amount_base_type == "net_amount": + # If subtotal (sale_price * quantity) is less than + # standard_price * quantity, it means that we are selling at + # lower price than we bought, so set amount_base to 0 + subtotal = max([0, subtotal - product.standard_price * quantity]) + if commission.commission_type == "fixed": + return subtotal * (commission.fix_qty / 100.0) + elif commission.commission_type == "section": + return commission.calculate_section(subtotal) + + @api.depends("agent_id") + def _compute_commission_id(self): + for record in self: + record.commission_id = record.agent_id.commission_id diff --git a/commission/models/commission_settlement.py b/commission/models/commission_settlement.py new file mode 100644 index 000000000..6337bb70e --- /dev/null +++ b/commission/models/commission_settlement.py @@ -0,0 +1,146 @@ +# Copyright 2020 Tecnativa - Manuel Calero +# Copyright 2022 Quartile +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +from odoo import api, fields, models + + +class CommissionSettlement(models.Model): + _name = "commission.settlement" + _description = "Settlement" + _inherit = ["mail.thread", "mail.activity.mixin"] + + name = fields.Char() + total = fields.Float(compute="_compute_total", readonly=True, store=True) + date_from = fields.Date(string="From", required=True) + date_to = fields.Date(string="To", required=True) + agent_id = fields.Many2one( + comodel_name="res.partner", + domain="[('agent', '=', True)]", + required=True, + ) + agent_type = fields.Selection(related="agent_id.agent_type") + settlement_type = fields.Selection( + selection=[("manual", "Manual")], + default="manual", + readonly=True, + required=True, + help="The source of the settlement, e.g. 'Sales invoice', 'Sales order', " + "'Purchase order'...", + ) + can_edit = fields.Boolean( + compute="_compute_can_edit", + help="Technical field for determining if user can edit settlements", + store=True, + ) + line_ids = fields.One2many( + comodel_name="commission.settlement.line", + inverse_name="settlement_id", + string="Settlement lines", + ) + state = fields.Selection( + selection=[ + ("settled", "Settled"), + ("cancel", "Canceled"), + ], + readonly=True, + required=True, + default="settled", + ) + currency_id = fields.Many2one( + comodel_name="res.currency", + readonly=True, + default=lambda self: self._default_currency_id(), + required=True, + ) + company_id = fields.Many2one( + comodel_name="res.company", + default=lambda self: self._default_company_id(), + required=True, + ) + + def _default_currency_id(self): + return self.env.company.currency_id.id + + def _default_company_id(self): + return self.env.company.id + + @api.depends("line_ids", "line_ids.settled_amount") + def _compute_total(self): + for record in self: + record.total = sum(record.mapped("line_ids.settled_amount")) + + @api.depends("settlement_type") + def _compute_can_edit(self): + for record in self: + record.can_edit = record.settlement_type == "manual" + + def action_cancel(self): + self.write({"state": "cancel"}) + + def _message_auto_subscribe_followers(self, updated_values, subtype_ids): + res = super()._message_auto_subscribe_followers(updated_values, subtype_ids) + if updated_values.get("agent_id"): + res.append((updated_values["agent_id"], subtype_ids, False)) + return res + + +class SettlementLine(models.Model): + _name = "commission.settlement.line" + _description = "Line of a commission settlement" + + settlement_id = fields.Many2one( + "commission.settlement", + readonly=True, + ondelete="cascade", + required=True, + ) + date = fields.Date( + compute="_compute_date", + readonly=False, + store=True, + required=True, + ) + agent_id = fields.Many2one( + comodel_name="res.partner", + related="settlement_id.agent_id", + store=True, + ) + settled_amount = fields.Monetary( + compute="_compute_settled_amount", readonly=False, store=True + ) + currency_id = fields.Many2one( + related="settlement_id.currency_id", + comodel_name="res.currency", + store=True, + readonly=True, + ) + commission_id = fields.Many2one( + comodel_name="commission", + compute="_compute_commission_id", + readonly=False, + store=True, + required=True, + ) + company_id = fields.Many2one( + comodel_name="res.company", + related="settlement_id.company_id", + store=True, + ) + + def _compute_date(self): + """Empty hook for allowing in children modules to auto-compute this field + depending on the settlement line source. + """ + + def _compute_commission_id(self): + """Empty hook for allowing in children modules to auto-compute this field + depending on the settlement line source. + """ + + def _compute_settled_amount(self): + """Empty container for allowing in children modules to auto-compute this + amount depending on the settlement line source. + """ diff --git a/commission/models/product_template.py b/commission/models/product_template.py new file mode 100644 index 000000000..8b31bd282 --- /dev/null +++ b/commission/models/product_template.py @@ -0,0 +1,9 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + commission_free = fields.Boolean(string="Free of commission", default=False) diff --git a/commission/models/res_partner.py b/commission/models/res_partner.py new file mode 100644 index 000000000..605ba0151 --- /dev/null +++ b/commission/models/res_partner.py @@ -0,0 +1,61 @@ +# Copyright 2018 Tecnativa - Ernesto Tejeda +# Copyright 2016-2022 Tecnativa - Pedro M. Baeza +# License AGPL-3 - See https://www.gnu.org/licenses/agpl-3.0.html + +from odoo import api, fields, models + + +class ResPartner(models.Model): + """Add some fields related to commissions""" + + _inherit = "res.partner" + + agent_ids = fields.Many2many( + comodel_name="res.partner", + relation="partner_agent_rel", + column1="partner_id", + column2="agent_id", + domain=[("agent", "=", True)], + readonly=False, + string="Agents", + ) + # Fields for the partner when it acts as an agent + agent = fields.Boolean( + string="Creditor/Agent", + help="Check this field if the partner is a creditor or an agent.", + ) + agent_type = fields.Selection( + selection=[("agent", "External agent")], + string="Type", + default="agent", + ) + commission_id = fields.Many2one( + string="Commission", + comodel_name="commission", + help="This is the default commission used in the sales where this " + "agent is assigned. It can be changed on each operation if " + "needed.", + ) + settlement = fields.Selection( + selection=[ + ("biweekly", "Bi-weekly"), + ("monthly", "Monthly"), + ("quaterly", "Quarterly"), + ("semi", "Semi-annual"), + ("annual", "Annual"), + ], + string="Settlement period", + default="monthly", + ) + settlement_ids = fields.One2many( + comodel_name="commission.settlement", + inverse_name="agent_id", + readonly=True, + ) + + @api.model + def _commercial_fields(self): + """Add agents to commercial fields that are synced from parent to childs.""" + res = super()._commercial_fields() + res.append("agent_ids") + return res diff --git a/commission/pyproject.toml b/commission/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/commission/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/commission/readme/CONFIGURE.md b/commission/readme/CONFIGURE.md new file mode 100644 index 000000000..b21274142 --- /dev/null +++ b/commission/readme/CONFIGURE.md @@ -0,0 +1,40 @@ +For adding commissions: + +1. Go to *Commissions \> Configuration \> Commission types*. +2. Edit or create a new record. +3. Select a name for distinguishing that type. +4. Select the percentage type of the commission: + - **Fixed percentage**: all commissions are computed with a fixed + percentage. You can fill the percentage in the field "Fixed + percentage". + - **By sections**: percentage varies depending amount intervals. You + can fill intervals and percentages in the section "Rate + definition". +5. Select the base amount for computing the percentage: + - **Sale/Invoice Amount**: percentage is computed from the amount + put on sales order/invoice. + - **Margin (Amount - Cost)**: percentage is computed from the profit + only, taken the cost from the product. + +For adding new agents: + +1. Go to *Commissions \> Agents*. You can also access from *Contacts \> + Contacts* or *Sales \> Orders \> Customers*. + +2. Edit or create a new record. + +3. On "Sales & Purchases" page, mark "Agent" check. It should be + checked if you have accessed from first menu option. + +4. There's a new page called "Agent information". In it, you can set + following data: + + - The agent type, being in this base module "External agent" the + only existing configuration. It can be extended with hr_commission + module for setting an "Employee" agent type. + - The associated commission type. + - The settlement period, where you can select "Bi-weekly", + "Monthly", "Quaterly", "Semi-annual" or "Annual". + + You will also be able to see the settlements that have been made to + this agent from this page. diff --git a/commission/readme/CONTRIBUTORS.md b/commission/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..1aea14b88 --- /dev/null +++ b/commission/readme/CONTRIBUTORS.md @@ -0,0 +1,18 @@ +- Pexego. +- Davide Corio \<\> +- Joao Alfredo Gama Batista \<\> +- Sandy Carter \<\> +- Giorgio Borelli \<\> +- Daniel Campos \<\> +- Oihane Crucelaegui \<\> +- Nicola Malcontenti \<\> +- Aitor Bouzas \<\> +- Alexei Rivera \<\> +- [Tecnativa](https://www.tecnativa.com): + - Pedro M. Baeza + - Manuel Calero +- [Quartile](https://www.quartile.co): + - Aung Ko Ko Lin + - Yoshi Tashiro +- [Studio73](https://www.studio73.es): + - Ethan Hildick diff --git a/commission/readme/DESCRIPTION.md b/commission/readme/DESCRIPTION.md new file mode 100644 index 000000000..d1293f7a3 --- /dev/null +++ b/commission/readme/DESCRIPTION.md @@ -0,0 +1,9 @@ +This module provides the base functions for commission operations to +enable the following: + +- Define agents with their commissions +- Assign agents to partners +- Create settlements to summarize commissions for certain periods + +You can define which base amount is going to be taken into account: net +amount (based on margin) or gross amount (line subtotal amount). diff --git a/commission/readme/ROADMAP.md b/commission/readme/ROADMAP.md new file mode 100644 index 000000000..0b7938cc7 --- /dev/null +++ b/commission/readme/ROADMAP.md @@ -0,0 +1,3 @@ +- Make it totally multi-company aware. +- Set agent popup window with a kanban view with richer information and + mobile friendly. diff --git a/commission/readme/USAGE.md b/commission/readme/USAGE.md new file mode 100644 index 000000000..b53aca2d4 --- /dev/null +++ b/commission/readme/USAGE.md @@ -0,0 +1,21 @@ +For setting default agents in partners: + +1. Go to *Invoicing \> Customers \> Customers* or *Contacts \> + Contacts*. +2. Edit or create a new record. +3. On "Sales & Purchases" page, you will see a field called "Agents" + where they can be added. You can put the number of agents you want, + but you can't select specific commission for each partner in this + base module. + +For settling the commissions to agents: + +1. Go to *Commissions \> Settlements \> Settle Commissions*. +2. On the window that appears, you should select the date up to which + you want to create commissions. It should be at least one day after + the last period date. For example, if you settlements are monthly, + you have to put at least the first day of the following month. +3. You can settle only certain agents if you select them on the + "Agents" section. Leave it empty for settling all. +4. Click on "Make settlements" button. +5. If there are new settlements, they will be shown after this. diff --git a/commission/reports/commission_settlement_report.xml b/commission/reports/commission_settlement_report.xml new file mode 100644 index 000000000..b0be5e747 --- /dev/null +++ b/commission/reports/commission_settlement_report.xml @@ -0,0 +1,12 @@ + + + + Settlement report + commission.settlement + qweb-pdf + commission.report_settlement + commission.report_settlement + + report + + diff --git a/commission/reports/report_settlement_templates.xml b/commission/reports/report_settlement_templates.xml new file mode 100644 index 000000000..e45ea4e05 --- /dev/null +++ b/commission/reports/report_settlement_templates.xml @@ -0,0 +1,85 @@ + + + + + + + diff --git a/commission/security/commission_security.xml b/commission/security/commission_security.xml new file mode 100644 index 000000000..314b992a3 --- /dev/null +++ b/commission/security/commission_security.xml @@ -0,0 +1,43 @@ + + + + + + Commissions + Allows to handle commission related stuff. + 8 + + + User + + + + + Manager + + + + + + + + + + + + + Commission settlement multi company rule + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + Commission settlements - See all + + + [(1, '=', 1)] + + + diff --git a/commission/security/ir.model.access.csv b/commission/security/ir.model.access.csv new file mode 100644 index 000000000..575cbe649 --- /dev/null +++ b/commission/security/ir.model.access.csv @@ -0,0 +1,10 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_commission_manager,access_commission_manager,model_commission,group_commission_manager,1,1,1,1 +access_commission,access_commission,model_commission,group_commission_user,1,0,0,0 +access_commission_section_manager,access_commission_section_manager,model_commission_section,group_commission_manager,1,1,1,1 +access_commission_section_user,access_commission_section_user,model_commission_section,group_commission_user,1,0,0,0 +access_commission_settlement_manager,access_commission_settlement_manager,model_commission_settlement,group_commission_manager,1,1,1,1 +access_commission_settlement_user,access_commission_settlement_user,model_commission_settlement,group_commission_user,1,0,0,0 +access_commission_settlement_line_manager,access_commission_settlement_line_manager,model_commission_settlement_line,group_commission_manager,1,1,1,1 +access_commission_settlement_line_user,access_commission_settlement_line_user,model_commission_settlement_line,group_commission_user,1,0,0,0 +access_commission_make_settle,access_commission_make_settle,model_commission_make_settle,group_commission_manager,1,1,1,0 diff --git a/commission/static/description/icon.png b/commission/static/description/icon.png new file mode 100644 index 000000000..6958c6b4f Binary files /dev/null and b/commission/static/description/icon.png differ diff --git a/commission/static/description/icon.svg b/commission/static/description/icon.svg new file mode 100644 index 000000000..6f36fa8a2 --- /dev/null +++ b/commission/static/description/icon.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + diff --git a/commission/static/description/index.html b/commission/static/description/index.html new file mode 100644 index 000000000..932c23fb1 --- /dev/null +++ b/commission/static/description/index.html @@ -0,0 +1,537 @@ + + + + + +Commissions + + + +
+

Commissions

+ + +

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

+

This module provides the base functions for commission operations to +enable the following:

+
    +
  • Define agents with their commissions
  • +
  • Assign agents to partners
  • +
  • Create settlements to summarize commissions for certain periods
  • +
+

You can define which base amount is going to be taken into account: net +amount (based on margin) or gross amount (line subtotal amount).

+

Table of contents

+ +
+

Configuration

+

For adding commissions:

+
    +
  1. Go to Commissions > Configuration > Commission types.
  2. +
  3. Edit or create a new record.
  4. +
  5. Select a name for distinguishing that type.
  6. +
  7. Select the percentage type of the commission:
      +
    • Fixed percentage: all commissions are computed with a fixed +percentage. You can fill the percentage in the field “Fixed +percentage”.
    • +
    • By sections: percentage varies depending amount intervals. You +can fill intervals and percentages in the section “Rate +definition”.
    • +
    +
  8. +
  9. Select the base amount for computing the percentage:
      +
    • Sale/Invoice Amount: percentage is computed from the amount +put on sales order/invoice.
    • +
    • Margin (Amount - Cost): percentage is computed from the profit +only, taken the cost from the product.
    • +
    +
  10. +
+

For adding new agents:

+
    +
  1. Go to Commissions > Agents. You can also access from Contacts > +Contacts or Sales > Orders > Customers.

    +
  2. +
  3. Edit or create a new record.

    +
  4. +
  5. On “Sales & Purchases” page, mark “Agent” check. It should be checked +if you have accessed from first menu option.

    +
  6. +
  7. There’s a new page called “Agent information”. In it, you can set +following data:

    +
      +
    • The agent type, being in this base module “External agent” the +only existing configuration. It can be extended with hr_commission +module for setting an “Employee” agent type.
    • +
    • The associated commission type.
    • +
    • The settlement period, where you can select “Bi-weekly”, +“Monthly”, “Quaterly”, “Semi-annual” or “Annual”.
    • +
    +

    You will also be able to see the settlements that have been made to +this agent from this page.

    +
  8. +
+
+
+

Usage

+

For setting default agents in partners:

+
    +
  1. Go to Invoicing > Customers > Customers or Contacts > Contacts.
  2. +
  3. Edit or create a new record.
  4. +
  5. On “Sales & Purchases” page, you will see a field called “Agents” +where they can be added. You can put the number of agents you want, +but you can’t select specific commission for each partner in this +base module.
  6. +
+

For settling the commissions to agents:

+
    +
  1. Go to Commissions > Settlements > Settle Commissions.
  2. +
  3. On the window that appears, you should select the date up to which +you want to create commissions. It should be at least one day after +the last period date. For example, if you settlements are monthly, +you have to put at least the first day of the following month.
  4. +
  5. You can settle only certain agents if you select them on the “Agents” +section. Leave it empty for settling all.
  6. +
  7. Click on “Make settlements” button.
  8. +
  9. If there are new settlements, they will be shown after this.
  10. +
+
+
+

Known issues / Roadmap

+
    +
  • Make it totally multi-company aware.
  • +
  • Set agent popup window with a kanban view with richer information and +mobile friendly.
  • +
+
+
+

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

+
    +
  • Tecnativa
  • +
+
+
+

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:

+

pedrobaeza

+

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

+

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

+
+
+
+ + diff --git a/commission/tests/__init__.py b/commission/tests/__init__.py new file mode 100644 index 000000000..a6e0c2e87 --- /dev/null +++ b/commission/tests/__init__.py @@ -0,0 +1 @@ +from . import test_commission diff --git a/commission/tests/test_commission.py b/commission/tests/test_commission.py new file mode 100644 index 000000000..ac169937e --- /dev/null +++ b/commission/tests/test_commission.py @@ -0,0 +1,191 @@ +# Copyright 2020 Tecnativa - Manuel Calero +# Copyright 2022 Quartile +# Copyright 2016-2022 Tecnativa - Pedro M. Baeza +# License AGPL-3 - See https://www.gnu.org/licenses/agpl-3.0.html + +from dateutil.relativedelta import relativedelta + +from odoo import fields +from odoo.exceptions import ValidationError +from odoo.tests.common import TransactionCase + + +class TestCommissionBase(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.commission_model = cls.env["commission"] + cls.commission_net_paid = cls.commission_model.create( + { + "name": "20% fixed commission (Net amount) - Payment Based", + "fix_qty": 20.0, + "amount_base_type": "net_amount", + } + ) + cls.commission_section_paid = cls.commission_model.create( + { + "name": "Section commission - Payment Based", + "commission_type": "section", + "section_ids": [ + (0, 0, {"amount_from": 1.0, "amount_to": 100.0, "percent": 10.0}) + ], + "amount_base_type": "net_amount", + } + ) + cls.commission_section_invoice = cls.commission_model.create( + { + "name": "Section commission - Invoice Based", + "commission_type": "section", + "section_ids": [ + ( + 0, + 0, + { + "amount_from": 15000.0, + "amount_to": 16000.0, + "percent": 20.0, + }, + ) + ], + } + ) + cls.company = cls.env.ref("base.main_company") + cls.foreign_currency = cls.env["res.currency"].create( + { + "name": "Coin X", + "rounding": 0.01, + "symbol": "CX", + } + ) + cls.rate = cls.env["res.currency.rate"].create( + { + "company_id": cls.company.id, + "currency_id": cls.foreign_currency.id, + "name": "2023-01-01", + "rate": 25, + } + ) + cls.res_partner_model = cls.env["res.partner"] + cls.partner = cls.env.ref("base.res_partner_2") + cls.partner.write({"agent": False}) + cls.settle_model = cls.env["commission.settlement"] + cls.make_settle_model = cls.env["commission.make.settle"] + cls.commission_product = cls.env["product.product"].create( + {"name": "Commission test product", "type": "service"} + ) + cls.agent_monthly = cls.res_partner_model.create( + { + "name": "Test Agent - Monthly", + "agent": True, + "settlement": "monthly", + "lang": "en_US", + "commission_id": cls.commission_net_paid.id, + } + ) + cls.agent_quaterly = cls.res_partner_model.create( + { + "name": "Test Agent - Quaterly", + "agent": True, + "settlement": "quaterly", + "lang": "en_US", + "commission_id": cls.commission_section_invoice.id, + } + ) + cls.agent_semi = cls.res_partner_model.create( + { + "name": "Test Agent - Semi-annual", + "agent": True, + "settlement": "semi", + "lang": "en_US", + } + ) + cls.agent_annual = cls.res_partner_model.create( + { + "name": "Test Agent - Annual", + "agent": True, + "settlement": "annual", + "lang": "en_US", + } + ) + + # Expected to be used in inheriting modules. + def _get_make_settle_vals(self, agent=None, period=None, date=None): + vals = { + "date_to": ( + fields.Datetime.from_string(fields.Datetime.now()) + + relativedelta(months=period) + ) + if period + else date, + } + if agent: + vals["agent_ids"] = [(4, agent.id)] + return vals + + # Expected to be used in inheriting modules. + def _check_propagation(self, agent, commission_type, agent_partner): + self.assertTrue(agent) + self.assertTrue(agent.commission_id, commission_type) + self.assertTrue(agent.agent_id, agent_partner) + + def _create_settlement(self, agent, commission): + sett_from = self.make_settle_model._get_period_start(agent, fields.Date.today()) + sett_to = self.make_settle_model._get_next_period_date(agent, sett_from) + return self.settle_model.create( + { + "agent_id": agent.id, + "date_from": sett_from, + "date_to": sett_to, + "company_id": self.company.id, + "line_ids": [ + ( + 0, + 0, + { + "date": fields.Date.today(), + "agent_id": agent.id, + "commission_id": commission.id, + "settled_amount": 100.0, + "currency_id": self.company.currency_id.id, + }, + ) + ], + } + ) + + +class TestCommission(TestCommissionBase): + def test_wrong_section(self): + with self.assertRaises(ValidationError): + self.commission_model.create( + { + "name": "Section commission - Invoice Based", + "commission_type": "section", + "section_ids": [ + (0, 0, {"amount_from": 5, "amount_to": 1, "percent": 20.0}) + ], + } + ) + + def test_res_partner_agent_propagation(self): + partner = self.env["res.partner"].create( + { + "name": "Test partner", + "agent_ids": [(4, self.agent_monthly.id), (4, self.agent_quaterly.id)], + } + ) + # Create + child = self.env["res.partner"].create( + {"name": "Test child", "parent_id": partner.id} + ) + self.assertEqual(set(child.agent_ids.ids), set(partner.agent_ids.ids)) + # Write + partner.agent_ids = [(4, self.agent_annual.id)] + self.assertEqual(set(child.agent_ids.ids), set(partner.agent_ids.ids)) + + def test_auto_subscribe_agent(self): + settlement = self._create_settlement( + self.agent_monthly, self.commission_net_paid + ) + # Agent must be in the followers + self.assertIn(self.agent_monthly, settlement.message_partner_ids) diff --git a/commission/views/commission_mixin_views.xml b/commission/views/commission_mixin_views.xml new file mode 100644 index 000000000..e460bbff6 --- /dev/null +++ b/commission/views/commission_mixin_views.xml @@ -0,0 +1,15 @@ + + + commission.mixin + +
+ + +
+
+ +
+
+
diff --git a/commission/views/commission_settlement_views.xml b/commission/views/commission_settlement_views.xml new file mode 100644 index 000000000..2830f9263 --- /dev/null +++ b/commission/views/commission_settlement_views.xml @@ -0,0 +1,195 @@ + + + + Settlements tree + commission.settlement + + + + + + + + + + + + + + + commission.settlement.search + commission.settlement + + + + + + + + + + + + + + + + + Settlements + commission.settlement + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+ + Settlement lines + commission.settlement.line + + + + + + + + + + + commission.settlement.line.search + commission.settlement.line + + + + + + + + + + + + + + + + commission.settlement.line.graph + commission.settlement.line + + + + + + + + + + Settlements + ir.actions.act_window + commission.settlement + tree,form + + + +
diff --git a/commission/views/commission_views.xml b/commission/views/commission_views.xml new file mode 100644 index 000000000..e9afd7633 --- /dev/null +++ b/commission/views/commission_views.xml @@ -0,0 +1,75 @@ + + + + commissions tree + commission + + + + + + + + + + + commissions form + commission + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + Commission types + ir.actions.act_window + commission + form,tree + + +
diff --git a/commission/views/product_template_views.xml b/commission/views/product_template_views.xml new file mode 100644 index 000000000..53665ffa4 --- /dev/null +++ b/commission/views/product_template_views.xml @@ -0,0 +1,16 @@ + + + + product.template.common.form.commission + product.template + + + + + + diff --git a/commission/views/res_partner_views.xml b/commission/views/res_partner_views.xml new file mode 100644 index 000000000..f6f070afe --- /dev/null +++ b/commission/views/res_partner_views.xml @@ -0,0 +1,87 @@ + + + + res.partner.form.agent + res.partner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + res.partner.select + res.partner + + + + + + + + + + Agents + ir.actions.act_window + res.partner + kanban,form,tree + {"search_default_agent": 1, 'default_agent': 1} + + + + diff --git a/commission/wizards/__init__.py b/commission/wizards/__init__.py new file mode 100644 index 000000000..aca351357 --- /dev/null +++ b/commission/wizards/__init__.py @@ -0,0 +1 @@ +from . import commission_make_settle diff --git a/commission/wizards/commission_make_settle.py b/commission/wizards/commission_make_settle.py new file mode 100644 index 000000000..22def3aa2 --- /dev/null +++ b/commission/wizards/commission_make_settle.py @@ -0,0 +1,172 @@ +# Copyright 2022 Quartile +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from datetime import date, timedelta +from itertools import groupby + +from dateutil.relativedelta import relativedelta + +from odoo import _, api, fields, models + + +class CommissionMakeSettle(models.TransientModel): + _name = "commission.make.settle" + _description = "Wizard for settling commissions" + + date_to = fields.Date("Up to", required=True, default=fields.Date.today) + agent_ids = fields.Many2many( + comodel_name="res.partner", domain="[('agent', '=', True)]" + ) + settlement_type = fields.Selection(selection=[], required=True) + can_settle = fields.Boolean( + compute="_compute_can_settle", + help="Technical field for improving UX when no extra *commission is installed.", + ) + + @api.depends("date_to") # use this unrelated field to trigger the computation + def _compute_can_settle(self): + """Check if there's any settlement type for making the settlements.""" + self.can_settle = bool( + self.env[self._name]._fields["settlement_type"].selection + ) + + def _get_period_start(self, agent, date_to): + if agent.settlement == "monthly": + return date(month=date_to.month, year=date_to.year, day=1) + elif agent.settlement == "biweekly": + if date_to.day >= 16: + return date(month=date_to.month, year=date_to.year, day=16) + else: + return date(month=date_to.month, year=date_to.year, day=1) + elif agent.settlement == "quaterly": + # Get first month of the date quarter + month = (date_to.month - 1) // 3 * 3 + 1 + return date(month=month, year=date_to.year, day=1) + elif agent.settlement == "semi": + if date_to.month > 6: + return date(month=7, year=date_to.year, day=1) + else: + return date(month=1, year=date_to.year, day=1) + elif agent.settlement == "annual": + return date(month=1, year=date_to.year, day=1) + + def _get_next_period_date(self, agent, current_date): + if agent.settlement == "monthly": + return current_date + relativedelta(months=1) + elif agent.settlement == "biweekly": + if current_date.day == 1: + return current_date + relativedelta(days=15) + else: + return date( + month=current_date.month, year=current_date.year, day=1 + ) + relativedelta(months=1, days=-1) + elif agent.settlement == "quaterly": + return current_date + relativedelta(months=3) + elif agent.settlement == "semi": + return current_date + relativedelta(months=6) + elif agent.settlement == "annual": + return current_date + relativedelta(years=1) + + def _get_settlement(self, agent, company, currency, sett_from, sett_to): + self.ensure_one() + return self.env["commission.settlement"].search( + [ + ("agent_id", "=", agent.id), + ("date_from", "=", sett_from), + ("date_to", "=", sett_to), + ("company_id", "=", company.id), + ("currency_id", "=", currency.id), + ("state", "=", "settled"), + ("settlement_type", "=", self.settlement_type), + ], + limit=1, + ) + + def _prepare_settlement_vals(self, agent, company, sett_from, sett_to): + return { + "agent_id": agent.id, + "date_from": sett_from, + "date_to": sett_to, + "company_id": company.id, + "settlement_type": self.settlement_type, + } + + def _prepare_settlement_line_vals(self, settlement, line): + """Hook for returning the settlement line dictionary vals.""" + return { + "settlement_id": settlement.id, + } + + def _get_agent_lines(self, date_to_agent): + """Need to be extended according to settlement_type.""" + raise NotImplementedError() + + @api.model + def _agent_lines_groupby(self, agent_line): + return agent_line.company_id, agent_line.currency_id + + @api.model + def _agent_lines_sorted(self, agent_line): + return agent_line.company_id.id, agent_line.currency_id.id + + def action_settle(self): + self.ensure_one() + settlement_obj = self.env["commission.settlement"] + settlement_line_obj = self.env["commission.settlement.line"] + settlement_ids = [] + agents = self.agent_ids or self.env["res.partner"].search( + [("agent", "=", True)] + ) + date_to = self.date_to + settlement_line_vals = [] + for agent in agents: + date_to_agent = self._get_period_start(agent, date_to) + # Get non settled elements + grouped_agent_lines = groupby( + sorted( + self._get_agent_lines(agent, date_to_agent), + key=self._agent_lines_sorted, + ), + key=self._agent_lines_groupby, + ) + for _k, grouper_agent_lines in grouped_agent_lines: + agent_lines = list(grouper_agent_lines) + pos = 0 + sett_to = date(year=1900, month=1, day=1) + settlement_line_vals = [] + while pos < len(agent_lines): + line = agent_lines[pos] + pos += 1 + if line._skip_settlement(): + continue + if line.invoice_date > sett_to: + sett_from = self._get_period_start(agent, line.invoice_date) + sett_to = self._get_next_period_date(agent, sett_from) + sett_to -= timedelta(days=1) + settlement = self._get_settlement( + agent, line.company_id, line.currency_id, sett_from, sett_to + ) + if not settlement: + settlement = settlement_obj.create( + self._prepare_settlement_vals( + agent, + line.company_id, + sett_from, + sett_to, + ) + ) + settlement.currency_id = line.currency_id + settlement_ids.append(settlement.id) + settlement_line_vals.append( + self._prepare_settlement_line_vals(settlement, line) + ) + settlement_line_obj.create(settlement_line_vals) + # go to results + if len(settlement_ids): + return { + "name": _("Created Settlements"), + "type": "ir.actions.act_window", + "views": [[False, "list"], [False, "form"]], + "res_model": "commission.settlement", + "domain": [["id", "in", settlement_ids]], + } diff --git a/commission/wizards/commission_make_settle_views.xml b/commission/wizards/commission_make_settle_views.xml new file mode 100644 index 000000000..25cd05d7c --- /dev/null +++ b/commission/wizards/commission_make_settle_views.xml @@ -0,0 +1,66 @@ + + + + Select period to settle + commission.make.settle + +
+ + + +

Select the date up to which you want to make the settlements: +

+
+ + + + + +

(keep empty for making the settlement of all agents) +

+ +
+
+
+ +
+
+ + Settle Commissions + commission.make.settle + form + new + + + +
diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml new file mode 100644 index 000000000..ff3c8d708 --- /dev/null +++ b/setup/_metapackage/pyproject.toml @@ -0,0 +1,11 @@ +[project] +name = "odoo-addons-oca-commission" +version = "17.0.20240419.0" +dependencies = [ + "odoo-addon-commission>=17.0dev,<17.1dev", +] +classifiers=[ + "Programming Language :: Python", + "Framework :: Odoo", + "Framework :: Odoo :: 17.0", +]