diff --git a/account_commission_oca/README.rst b/account_commission_oca/README.rst new file mode 100644 index 0000000..b8ef209 --- /dev/null +++ b/account_commission_oca/README.rst @@ -0,0 +1,177 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +======================= +Account commissions OCA +======================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:88ea4105a1e4a2ef65ce89773ed052282e69ed8ede590cc4db8f430853ea0922 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/license-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/19.0/account_commission_oca + :alt: OCA/commission +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/commission-19-0/commission-19-0-account_commission_oca + :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=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds the function to calculate commissions in invoices +(account moves). + +It also allows to create vendor bills from settlements for external +agents. + +This module depends on the commission module. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +For selecting invoice status in commissions: + +1. Edit or create a new record to select the invoice status for settling + the commissions. + + - **Invoice Based**: Commissions are settled when the invoice is + issued. + - **Payment Based**: Commissions are settled when the invoice is + paid. + +Usage +===== + +For adding commissions on invoices: + +1. Go to *Invoicing > Customers > Invoices*. +2. Edit or create a new record. +3. When you have selected a partner, each new invoice line you add will + have the agents and commissions set at customer level. +4. You can add, modify or delete these agents discretely clicking on the + icon with several persons represented, next to the "Commission" field + in the list. This icon will be available only if the line hasn't been + invoiced yet. +5. If you have configured your system for editing lines in a popup + window, agents will appear also in this window. +6. The agents icon will be in this ocassion visible when the line hasn't + been settled. +7. You have a button "Regenerate agents" on the bottom of the page + "Invoice Lines" for forcing a recompute of all agents from the + partner setup. This is needed for example when you have changed the + partner on the invoice having already inserted lines. + +For invoicing the settlements (only for external agents): + +1. Go to *Invoicing > Commissions > Create Commission Invoices*. +2. On the window that appears, you can select following data: + + - Product. It should be a service product for being coherent. + - Journal: To be selected between existing purchase journals. + - Date: If you want to choose a specific invoice date. You can leave + it blank if you prefer. + - Settlements: For selecting specific settlements to invoice. You can + leave it blank as well for invoicing all the pending settlements. + +If you want to invoice a/some specific settlement/s: + +1. Navigate to *Invoicing > Commissions > Invoices Settlements*. +2. Select it/them on the list. +3. Click on *Action > Create Commission Invoices*. +4. You can as well enter in one settlement, and click on the "Make + invoice" button. + +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 +- Mina Samir +- `Tecnativa `__: + + - Pedro M. Baeza + - Manuel Calero + +- `Quartile `__: + + - Aung Ko Ko Lin + - Yoshi Tashiro + +- `Studio73 `__: + + - Ethan Hildick + - Pablo Cortés + +- `Sygel `__: + + - Alberto Martínez + +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/account_commission_oca/__init__.py b/account_commission_oca/__init__.py new file mode 100644 index 0000000..7c4c8a9 --- /dev/null +++ b/account_commission_oca/__init__.py @@ -0,0 +1,3 @@ +from . import models +from . import wizards +from . import report diff --git a/account_commission_oca/__manifest__.py b/account_commission_oca/__manifest__.py new file mode 100644 index 0000000..f8d0641 --- /dev/null +++ b/account_commission_oca/__manifest__.py @@ -0,0 +1,28 @@ +# Copyright 2020 Tecnativa - Manuel Calero +# Copyright 2022 Quartile +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +{ + "name": "Account commissions OCA", + "version": "19.0.1.0.1", + "author": "Tecnativa, Odoo Community Association (OCA)", + "category": "Sales Management", + "license": "AGPL-3", + "depends": [ + "account", + "commission_oca", + ], + "website": "https://github.com/OCA/commission", + "maintainers": ["pedrobaeza"], + "data": [ + "security/account_commission_security.xml", + "security/ir.model.access.csv", + "data/menuitem_data.xml", + "views/account_move_views.xml", + "views/commission_settlement_views.xml", + "views/commission_views.xml", + "views/report_settlement_templates.xml", + "report/commission_analysis_view.xml", + "wizards/wizard_invoice.xml", + ], + "installable": True, +} diff --git a/account_commission_oca/data/menuitem_data.xml b/account_commission_oca/data/menuitem_data.xml new file mode 100644 index 0000000..603c9ad --- /dev/null +++ b/account_commission_oca/data/menuitem_data.xml @@ -0,0 +1,11 @@ + + + + Commissions + + + + diff --git a/account_commission_oca/i18n/account_commission_oca.pot b/account_commission_oca/i18n/account_commission_oca.pot new file mode 100644 index 0000000..48b627c --- /dev/null +++ b/account_commission_oca/i18n/account_commission_oca.pot @@ -0,0 +1,568 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.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: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "" + +#. module: account_commission_oca +#: model:res.groups.privilege,name:account_commission_oca.res_groups_privilege_account_commission +msgid "Account Commissions" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +msgid "Agents" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +msgid "Cannot cancel an invoiced settlement." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +msgid "Created Invoices" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Make invoice" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +msgid "No valid settlements to invoice." +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +msgid "Settlement Count" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase" +" order'..." +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +msgid "You can't cancel an invoice with settled lines" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +msgid "You can't delete invoiced settlement" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +msgid "You can't modify a settled line" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "" diff --git a/account_commission_oca/i18n/es.po b/account_commission_oca/i18n/es.po new file mode 100644 index 0000000..bfe55d8 --- /dev/null +++ b/account_commission_oca/i18n/es.po @@ -0,0 +1,596 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-04-01 09:06+0000\n" +"Last-Translator: Jaime Ruiz Maccione \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 5.10.2\n" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "# de cantd" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "(mantener vacío para facturar todas las liquidaciones pendientes)" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "Factura de liquidación:" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "Agente" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "Detalle de agente de línea de comisión en líneas de pedido" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__partner_agent_ids +msgid "Agents" +msgstr "Agentes" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "Agentes & comisiones" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agentes/Comisiones relacionados con la línea de factura." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "Importe" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "Liquidada" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "Balance" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Cannot cancel an invoiced settlement." +msgstr "No se puede cancelar una liquidación facturada." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "Categoría del producto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "Libre de comisión" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "Comisión" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "Importe de la Comisión" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "Análisis de comisión" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "Comisiones" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "Companía" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "Compañía relacionada con este diario" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "Crear facturas de comisiones" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "Crear Facturas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "Created Invoices" +msgstr "Facturas creadas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "Divisa" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "Cliente" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "Fecha" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "Nombre a Mostrar" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "Borrador" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "Editar agentes" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Extended Filters" +msgstr "Filtros extendidos" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "Desde liquidación" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "Factura generada" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "Líneas de factura generadas" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Group By" +msgstr "Agrupado por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "Agrupar facturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "Factura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "Línea de agente de facturación" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "Basado en factura" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "Informe analítico de facturas de comisión" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "Fecha factura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "Línea de factura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "Mes de facturación" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "Estado de Facturación" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "Fecha de facturación" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "Excepción de factura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "Facturado" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "Liquidación de Facturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "Dario" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "Entrada diaria" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "Artículo diario" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "actualizado por última vez por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "última Actualización el" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Línea de liquidación de comisiones" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +#, python-format +msgid "Make invoice" +msgstr "Crear factura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "Crear facturas" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "Gestionar las comisiones de facturas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "No valid settlements to invoice." +msgstr "No hay liquidaciones válidas para facturar." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "No liquidada" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "Parental" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "Socio" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "Basado en Pagos" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "Porcentaje de comisión" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "Período: de %(date_from)s a %(date_to)s" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "Producto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "Producto para facturar" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "Cantidad" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "Regenerar agentes" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "Restablecer borrador" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "Facturas de Ventas" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" +"Seleccione el estado de la factura para liquidar las comisiones:\n" +"* 'Basado en factura': Las comisiones se liquidan cuando se emite la " +"factura.\n" +"* Pago\": Las comisiones se liquidan cuando se paga la factura." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "Liquidado" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "Liquidación" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_count +msgid "Settlement Count" +msgstr "Recuento de liquidación" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "Línea de liquidación" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de liquidación" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "Liquidación que genera esta línea de factura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "Liquidaciones" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "Origen de línea de factura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Estado" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "Estado" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "Sub total" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.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: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "Este año" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" +"Este informe realiza un análisis de las comisiones añadidas en las líneas de " +"factura. Puede consultar el importe y los detalles de las líneas que se " +"liquidarán según criterios como fecha, producto, categoría de producto, " +"antigüedad, entre otros. Utilice este informe para analizar las líneas de " +"factura que aún no han sido liquidadas." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "Precio Unitario" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "Unidad de Medida" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "Asistente para hacer una factura a partir de una liquidación" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Asistente para liquidación de comisiones" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't cancel an invoice with settled lines" +msgstr "No se puede cancelar una factura con líneas liquidadas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "You can't delete invoiced settlements." +msgstr "No se pueden borrar liquidaciones facturadas." + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't modify a settled line" +msgstr "No puede modificar una línea liquidada" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "Análisis de comisión facturada" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "Análisis de Comisiones facturadas" + +#~ msgid "Description" +#~ msgstr "Descripci??n" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modificaci??n el" + +#~ msgid "_Cancel" +#~ msgstr "_Cancelar" diff --git a/account_commission_oca/i18n/hr.po b/account_commission_oca/i18n/hr.po new file mode 100644 index 0000000..dc49a46 --- /dev/null +++ b/account_commission_oca/i18n/hr.po @@ -0,0 +1,575 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__partner_agent_ids +msgid "Agents" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Cannot cancel an invoiced settlement." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "Created Invoices" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Extended Filters" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Group By" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +#, python-format +msgid "Make invoice" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "No valid settlements to invoice." +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_count +msgid "Settlement Count" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't cancel an invoice with settled lines" +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "You can't delete invoiced settlements." +msgstr "" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't modify a settled line" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "" diff --git a/account_commission_oca/i18n/it.po b/account_commission_oca/i18n/it.po new file mode 100644 index 0000000..18e7eb5 --- /dev/null +++ b/account_commission_oca/i18n/it.po @@ -0,0 +1,590 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2026-04-13 12:45+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "N. di q.tà" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "(lasciare vuoto per fatturare tutte le liquidazioni pendenti)" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "Fattura provvigione:" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "Agente" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "Dettaglio riga provvigione agente nelle righe fattura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__partner_agent_ids +msgid "Agents" +msgstr "Agenti" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "Agenti & provvigioni" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agenti/provvigioni collegati alla riga fattura." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "Importo" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "Qualsiasi regolata" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "Saldo" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "Annulla" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Cannot cancel an invoiced settlement." +msgstr "Impossibile annullare una liquidazione provvigioni fatturata." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "Categoria prodotto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "Senza provvigione" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "Provvigione" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "Importo provvigione" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "Analisi provvigioni" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "Provvigioni" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "Azienda" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "Azienda collegata a questo registro" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "Crea fatture provvigioni" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "Crea fatture" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "Created Invoices" +msgstr "Fatture create" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "Cliente" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "Data" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "Bozza" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "Modifica agenti" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Extended Filters" +msgstr "Filtri estesi" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "Dalla liquidazione" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "Fattura generata" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "Righe fattura generate" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Group By" +msgstr "Raggruppa per" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "Raggruppa fatture" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "ID" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "Fattura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "Riga fattura agente" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "Basata sulla fattura" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "Resoconto analisi commissioni fattura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "Data fattura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "Riga fattura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "Mese fattura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "Stato fattura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "Data fattura" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "Eccezione fattura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "Riga fattura" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "Fatturata" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "Fatture liquidazioni" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "Registro" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "Registrazione contabile" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "Movimento contabile" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Riga di liquidazione provvigione" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +#, python-format +msgid "Make invoice" +msgstr "Crea fattura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "Crea fatture" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "Gestisci fatture provvigioni" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "No valid settlements to invoice." +msgstr "Nessuna liquidazione valida da fatturare." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "Non liquidata" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "Padre" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "Partner" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "Basato su pagamenti" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "Percentuale di provvigione" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "Periodo: da %(date_from)s a %(date_to)s" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "Prodotto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "Prodotto per fatturazione" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "Quantità" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "Ricalcola agenti" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "Reimposta a bozza" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "Fatture di vendita" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" +"Seleziona la condizione per regolare le provvigioni:\n" +"* 'Basata su fattura': le provvigioni vengono regolate quando la fattura è " +"emessa.\n" +"* 'Basata su pagamento': le provvigioni vengono regolate quando l'intera " +"fattura è pagata." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "Regolata" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "Liquidazione" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_count +msgid "Settlement Count" +msgstr "Conteggio liquidazioni" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "Riga liquidazione" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo liquidazione" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "Liquidazione che genera questa riga fattura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "Liquidazioni" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "Riga fattura sorgente" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Stato" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "Stato" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "Subtotale" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "" +"La sorgente di questa liquidazione, e.g. 'Fatture di vendita', 'Ordini di " +"vendita', 'Ordini di acquisto'..." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "Quest'anno" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" +"Questo resoconto analizza le provvigioni aggiunte sulle righe fattura. E' " +"possibile verificare l'importo e le righe che verranno liquidate per data, " +"prodotto, categoria prodotto, agente, etc. Usare questo rescondo per " +"analizzare le righe fattura agente non ancora liquidate." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "Prezzo unitario" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "Unità di misura" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "Wizard per la creazione di una fattura a partire da una liquidazione" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Wizard per la liquidazione delle provvigioni" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't cancel an invoice with settled lines" +msgstr "Non è possibile annullare una fattura collegata a righe liquidazione" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "You can't delete invoiced settlements." +msgstr "Non è possibile eliminare liquidazioni fatturate." + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't modify a settled line" +msgstr "Non è possibile modificare una riga liquidata" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "Analisi fatture provvigioni" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "Analisi fatture provvigioni" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" diff --git a/account_commission_oca/i18n/ja.po b/account_commission_oca/i18n/ja.po new file mode 100644 index 0000000..a09966d --- /dev/null +++ b/account_commission_oca/i18n/ja.po @@ -0,0 +1,575 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-06-22 00:27+0000\n" +"PO-Revision-Date: 2026-06-22 00:27+0000\n" +"Last-Translator: \n" +"Language-Team: \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" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "数量" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "(保留中の全精算を請求する場合は空のままにします)" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "精算請求書:" + +#. module: account_commission_oca +#: model:res.groups.privilege,name:account_commission_oca.res_groups_privilege_account_commission +msgid "Account Commissions" +msgstr "会計コミッション" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "エージェント" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "請求明細におけるコミッション明細のエージェント詳細" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +msgid "Agents" +msgstr "エージェント" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "エージェントとコミッション" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "請求明細に関連するエージェント/コミッション。" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "金額" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "精算済あり" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "残高" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "キャンセル" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +msgid "Cannot cancel an invoiced settlement." +msgstr "請求済の精算はキャンセルできません。" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "プロダクトのカテゴリ" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "コミッション対象外" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "手数料" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "コミッション金額" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "コミッション分析" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "コミッション" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "会社" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "この仕訳と関係する会社" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "コミッション請求書を作成" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "請求書作成" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +msgid "Created Invoices" +msgstr "作成された請求書" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "作成日" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "通貨" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "顧客" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "日付" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "ドラフト" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "エージェントを編集" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "精算から" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "生成された請求書" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "生成された請求明細" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "請求書をグループ化" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "ID" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "顧客請求書" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "請求書エージェント明細" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "請求基準" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "請求書コミッション分析レポート" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "請求日" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "請求明細" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "請求月" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "請求書ステータス" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "請求日" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "請求例外" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "請求明細" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "請求済" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "請求書精算" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "仕訳帳" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "仕訳" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "仕訳明細" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "コミッション精算の明細" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Make invoice" +msgstr "請求書を作成" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "請求書を作成" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "請求書コミッションを管理" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +msgid "No valid settlements to invoice." +msgstr "請求対象となる有効な精算がありません。" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "未精算" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "親" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "取引先" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "支払基準" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "コミッションのパーセンテージ" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "期間: %(date_from)s から %(date_to)s まで" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "プロダクト" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "請求用プロダクト" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "数量" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "エージェントを再生成" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "ドラフトにリセット" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "顧客請求書" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" +"コミッションを精算する請求ステータスを選択します:\n" +"* '請求基準': コミッションは請求書が発行された時点で精算されます。\n" +"* '支払基準': コミッションは請求書が支払われた時点で精算されます。" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "精算済" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "精算" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +msgid "Settlement Count" +msgstr "精算数" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "精算明細" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "精算タイプ" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "この請求明細を生成する精算" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "精算" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "ソース請求明細" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "都道府県・州" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "ステータス" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "小計" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase" +" order'..." +msgstr "精算のソース。例: '顧客請求書'、'販売オーダ'、'購買オーダ'..." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "今年" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" +"このレポートは請求明細に追加されたコミッションを分析します。日付、プロダクト、プロダクトカテゴリ、エージェントなどごとに、精算される金額と明細を確認できます。まだ精算されていない請求明細のエージェントの分析にこのレポートを使用してください。" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "単価" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "単位" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "精算から請求書を作成するウィザード" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "コミッションを精算するウィザード" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +msgid "You can't cancel an invoice with settled lines" +msgstr "精算済明細のある請求書はキャンセルできません" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +msgid "You can't delete invoiced settlement" +msgstr "請求済の精算は削除できません" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +msgid "You can't modify a settled line" +msgstr "精算済の明細は変更できません" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "請求書コミッション分析" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "請求書コミッション分析" diff --git a/account_commission_oca/i18n/pt.po b/account_commission_oca/i18n/pt.po new file mode 100644 index 0000000..c56ab77 --- /dev/null +++ b/account_commission_oca/i18n/pt.po @@ -0,0 +1,591 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-06-12 15:34+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: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "# de Qtd" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "(manter vazio para faturação de todos os acordos pendentes)" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "Fatura de Liquidação:" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "Agente" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "Detalhe do agente da linha de comissões em linhas de faturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__partner_agent_ids +msgid "Agents" +msgstr "Agentes" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "Agentes e comissões" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agentes/Comissões relacionados com a linha da fatura." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "Montante" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "Qualquer Liquidada" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "Saldo" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Cannot cancel an invoiced settlement." +msgstr "Não é possível cancelar uma liquidação faturada." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "Categoria de Produto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "Sem comissões" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "Comissão" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "Montante da Comissão" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "Análise de Comissões" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "Comissões" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "Empresa" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "Empresa relacionada com este diário" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "Criar Faturas de Comissões" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "Criar faturas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "Created Invoices" +msgstr "Faturas Criadas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "Cliente" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "Data" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "Nome" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "Rascunho" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "Editar agentes" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Extended Filters" +msgstr "Filtros Extendidos" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "Da Liquidação" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "Fatura Gerada" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "Linhas de fatura geradas" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Group By" +msgstr "Agrupar Por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "Agrupar faturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "ID" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "Linha do Agente da Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "Com base na Fatura" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "Relatório de Análise de Comissões de Faturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "Data da Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "Linha de Fatura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "Mês da Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "Estado da Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "Data da fatura" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "Exceção de Fatura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "Linha de fatura" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "Faturada" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "Liquidações de Faturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "Diário" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "Lançamento de Diário" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "Item do Diário" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Linha de liquidação de comissão" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +#, python-format +msgid "Make invoice" +msgstr "Gerar Fatura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "Gerar Faturas" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "Gerir faturas de comissões" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "No valid settlements to invoice." +msgstr "Não há liquidações válidas para faturar." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "Não Resolvido" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "Ascendente" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "Parceiro" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "Com base no Pagamento" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "Percentual de comissão" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "Período: de %(date_from)s a %(date_to)s" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "Produto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "Produto para faturação" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "Quantidade" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "Regenerar agentes" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "Redefinir para rascunho" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "Faturas de Vendas" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" +"Selecione o estado da fatura para liquidação das comissões:\n" +"* 'Baseado em Fatura': As comissões são liquidadas no momento da emissão da " +"fatura.\n" +"* 'Baseado em Pagamento': As comissões são liquidadas no momento do " +"pagamento da fatura." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "Pago" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "Liquidação" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_count +msgid "Settlement Count" +msgstr "N?? de Liquida????es" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "Linha de Liquida????o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de Liquida????o" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "Liquida????o que gera esta linha de fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "Liquida????es" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "Linha origem da fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Estado" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "Situação" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "Subtotal" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.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: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "Este Ano" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" +"Este relatório realiza análises sobre as suas comissões adicionadas em " +"linhas de fatura. Pode verificar o valor e as linhas que serão liquidadas " +"por data, produto, categoria do produto, agente, etc. Use este relatório " +"para realizar análises em agentes de linhas de fatura que ainda não estão " +"liquidados." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "Preço Unitário" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "Unidades de Medida" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "Assistente para fazer uma fatura de um acordo" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Assistente para liquidação de comissões" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't cancel an invoice with settled lines" +msgstr "Não é possível cancelar uma fatura com linhas liquidadas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "You can't delete invoiced settlements." +msgstr "Não pode excluir liquidações faturados." + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't modify a settled line" +msgstr "Não é possível modificar uma linha liquidada" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "Análise de Comissões de Faturas" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "Análise de Comissões de Faturas" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modifica????o em" diff --git a/account_commission_oca/i18n/pt_BR.po b/account_commission_oca/i18n/pt_BR.po new file mode 100644 index 0000000..c48b9cb --- /dev/null +++ b/account_commission_oca/i18n/pt_BR.po @@ -0,0 +1,592 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-05-17 20:38+0000\n" +"Last-Translator: Rodrigo Macedo \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: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "# Qtd" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "(manter em branco para faturar todas as liquida????es pendentes)" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "Fatura de Liquida????o:" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "Representante" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "Detalhe da comiss??o do representante nas linhas da fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__partner_agent_ids +msgid "Agents" +msgstr "Representantes" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "Representantes & comiss??es" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Representantes/Comiss??es relacionadas com a linha da fatura." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "Total" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "Qualquer Liquidado" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "Saldo" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Cannot cancel an invoiced settlement." +msgstr "N??o ?? poss??vel cancelar uma liquida????o faturada." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "Categoria do Produto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "Sem Comiss??o" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "Comiss??o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "Total Comiss??o" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "An??lise de Comiss??o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "Comiss??es" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "Empresa" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "Empresa relacionada a este di??rio" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "Criar faturas de comiss??o" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "Criar Faturas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "Created Invoices" +msgstr "Faturas Criadas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "Cliente" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "Data" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "Nome Exibi????o" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "Rascunho" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "Editar Representantes" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Extended Filters" +msgstr "Filtros Extendidos" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "Da Liquida????o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "Fatura Gerada" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "Linhas de fatura geradas" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "Agrupar Faturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "ID" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "Linha da fatura do representante" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "Fatura Relacionada" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "Relat??rio de An??lise de Comiss??o de Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "Data Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "Linha Fatura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "M??s Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "Situa????o Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "Data Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "Exce????o Fatura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "Linha Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "Faturado" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "Liquida????o Faturas" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "Di??rio" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "Entrada de Di??rio" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "Item Di??rio" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "??ltima Atualiza????o por" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "??ltima Atualiza????o em" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Linha da liquida????o de comiss??o" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +#, python-format +msgid "Make invoice" +msgstr "Faturar" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "Faturar" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "Gerenciar comiss??es das faturas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "No valid settlements to invoice." +msgstr "N??o h?? liquida????es v??lidas para faturar." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "N??o Liquidado" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "Pai" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "Parceiro" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "Pagamento Relacionado" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "Percentual de Comiss??o" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "Per??odo: de %(date_from)s at?? %(date_to)s" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "Produto" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "Produto par Faturar" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "Quantidade" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "Regenerar Representantes" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "Voltar para Rascunho" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "Faturas de Vendas" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" +"Selecione o status da fatura para liquidação das comissões:\n" +"* 'Com base na fatura': as comissões são liquidadas no momento da emissão da " +"fatura.\n" +"* 'Baseado em Pagamento': As comissões são liquidadas no momento do " +"pagamento da fatura." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "Liquidado" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "Liquida????o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_count +msgid "Settlement Count" +msgstr "Contagem de liquida????o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "Linha da liquida????o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de Liquida????o" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "Liquida????o que gera esta linha de fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "Liquida????es" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "Linha da fatura de origem" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Estado" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "Situa????o" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "Subtotal" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.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: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "Este Ano" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" +"Este relat??rio realiza an??lises das suas comiss??es adicionadas nas linhas " +"da fatura. Voc?? pode verificar o valor e as linhas que ser??o liquidadas " +"por data, produto, categoria do produto, idade, etc. Utilize este relat??rio " +"para realizar an??lises nas linhas da fatura dos representantes que ainda n??" +"o foram liquidadas." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "Pre??o Unit??rio" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "Unidade de Medida" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "Assistente para faturar uma liquida????o" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Assistente para liquidar comiss??es" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't cancel an invoice with settled lines" +msgstr "Voc?? n??o pode cancelar uma fatura com linhas liquidadas" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "You can't delete invoiced settlements." +msgstr "Voc?? n??o pode excluir liquida????es faturadas." + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't modify a settled line" +msgstr "Voc?? n??o pode modificar uma linha liquidada" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "an??lise de comiss??o da fatura" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "an??lise de comiss??o da fatura" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modifica????o em" diff --git a/account_commission_oca/i18n/tr.po b/account_commission_oca/i18n/tr.po new file mode 100644 index 0000000..594ab8d --- /dev/null +++ b/account_commission_oca/i18n/tr.po @@ -0,0 +1,585 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-07-22 21:00+0000\n" +"Last-Translator: Ediz Duman \n" +"Language-Team: none\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__quantity +msgid "# of Qty" +msgstr "Miktar Adedi" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "(keep empty for invoicing all the pending settlements)" +msgstr "(bekleyen tüm mutabakatları faturalandırmak için boş bırakın)" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Settlement invoice:" +msgstr "Mutabakat Faturası:" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__agent_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__agent_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Agent" +msgstr "Temsilci" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_invoice_line_agent +msgid "Agent detail of commission line in invoice lines" +msgstr "Fatura satırlarındaki komisyon satırı aracı detayı" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__partner_agent_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__partner_agent_ids +msgid "Agents" +msgstr "Aracılar" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents & commissions" +msgstr "Aracılar ve komisyonlar" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Fatura satırıyla ilişkili aracılar/komisyonlar." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__amount +msgid "Amount" +msgstr "Tutar" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__any_settled +msgid "Any Settled" +msgstr "Mutabakat Yapılmış" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__balance +msgid "Balance" +msgstr "Bakiye" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Cancel" +msgstr "İptal" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Cannot cancel an invoiced settlement." +msgstr "Faturalandırılmış mutabakat iptal edilemez." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__categ_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Category of Product" +msgstr "Ürün Kategorisi" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_free +msgid "Comm. free" +msgstr "Komisyonsuz" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__commission_id +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__commission_status +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__commission_id +msgid "Commission" +msgstr "Komisyon" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__amount +msgid "Commission Amount" +msgstr "Komisyon Tutarı" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoice_commission_analysis_report +#: model:ir.ui.menu,name:account_commission_oca.menu_invoice_commissions_analysis +msgid "Commission Analysis" +msgstr "Komisyon Analizi" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__commission_total +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__commission_total +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_commission +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_line_form +msgid "Commissions" +msgstr "Komisyonlar" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__company_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__company_id +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Company" +msgstr "Şirket" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_make_invoice__company_id +msgid "Company related to this journal" +msgstr "Bu yevmiye ile ilişkili şirket" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_commission_make_invoices +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements_make_invoice +msgid "Create Commission Invoices" +msgstr "Komisyon Faturaları Oluştur" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Create invoices" +msgstr "Faturaları oluştur" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "Created Invoices" +msgstr "Oluşturulan Faturalar" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__create_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__create_date +msgid "Created on" +msgstr "Oluşturulma tarihi" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__currency_id +msgid "Currency" +msgstr "Para Birimi" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Customer" +msgstr "Müşteri" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__date +msgid "Date" +msgstr "Tarih" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__display_name +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__display_name +msgid "Display Name" +msgstr "Görünen Ad" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Draft" +msgstr "Taslak" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Edit agents" +msgstr "Aracıları düzenle" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Extended Filters" +msgstr "Genişletilmiş Filtreler" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__from_settlement +msgid "From Settlement" +msgstr "Mutabakattan" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_id +msgid "Generated Invoice" +msgstr "Oluşturulan Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__invoice_line_ids +msgid "Generated invoice lines" +msgstr "Oluşturulan fatura satırları" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Group By" +msgstr "Grupla" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__grouped +msgid "Group invoices" +msgstr "Faturaları grupla" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__id +msgid "ID" +msgstr "ID" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_id +msgid "Invoice" +msgstr "Fatura" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_agent_line_id +msgid "Invoice Agent Line" +msgstr "Fatura Temsilci Satırı" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__open +msgid "Invoice Based" +msgstr "Fatura Bazlı" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_invoice_commission_analysis_report +msgid "Invoice Commission Analysis Report" +msgstr "Fatura Komisyon Analiz Raporu" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__date_invoice +msgid "Invoice Date" +msgstr "Fatura Tarihi" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_line_id +msgid "Invoice Line" +msgstr "Fatura Satırı" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoice Month" +msgstr "Fatura Ayı" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission__invoice_state +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__invoice_state +msgid "Invoice Status" +msgstr "Fatura Durumu" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__invoice_date +msgid "Invoice date" +msgstr "Fatura tarihi" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__except_invoice +msgid "Invoice exception" +msgstr "Fatura istisnası" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Invoice line" +msgstr "Fatura satırı" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__state__invoiced +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Invoiced" +msgstr "Faturalandırılmış" + +#. module: account_commission_oca +#: model:ir.actions.act_window,name:account_commission_oca.action_invoicing_commission_settlement +#: model:ir.ui.menu,name:account_commission_oca.menu_invoicing_settlements +msgid "Invoices Settlements" +msgstr "Fatura Mutabakatları" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__journal_id +msgid "Journal" +msgstr "Yevmiye" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move +msgid "Journal Entry" +msgstr "Yevmiye Kaydı" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_account_move_line +msgid "Journal Item" +msgstr "Yevmiye Kalemi" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_uid +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_uid +msgid "Last Updated by" +msgstr "Son Güncelleyen" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__write_date +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__write_date +msgid "Last Updated on" +msgstr "Son Güncelleme" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Komisyon mutabakat satırı" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +#, python-format +msgid "Make invoice" +msgstr "Fatura oluştur" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +msgid "Make invoices" +msgstr "Faturaları oluştur" + +#. module: account_commission_oca +#: model:res.groups,name:account_commission_oca.group_invoicing_commission +msgid "Manage invoices commissions" +msgstr "Fatura komisyonlarını yönet" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/wizards/wizard_invoice.py:0 +#, python-format +msgid "No valid settlements to invoice." +msgstr "Faturalandırılacak geçerli mutabakat yok." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Not Settled" +msgstr "Mutabakat Yapılmamış" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__object_id +msgid "Parent" +msgstr "Üst" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__partner_id +msgid "Partner" +msgstr "İş Ortağı" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission__invoice_state__paid +msgid "Payment Based" +msgstr "Ödeme Bazlı" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__percentage +msgid "Percentage of commission" +msgstr "Komisyon yüzdesi" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "Period: from %(date_from)s to %(date_to)s" +msgstr "Dönem: %(date_from)s - %(date_to)s" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__product_id +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__product_id +msgid "Product" +msgstr "Ürün" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__product_id +msgid "Product for invoicing" +msgstr "Faturalama için ürün" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.report_settlement_document +msgid "Quantity" +msgstr "Miktar" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Regenerate agents" +msgstr "Aracıları yeniden oluştur" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_settlement_form +msgid "Reset to draft" +msgstr "Taslağa döndür" + +#. module: account_commission_oca +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_make_settle__settlement_type__sale_invoice +#: model:ir.model.fields.selection,name:account_commission_oca.selection__commission_settlement__settlement_type__sale_invoice +msgid "Sales Invoices" +msgstr "Satış Faturaları" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission__invoice_state +msgid "" +"Select the invoice status for settling the commissions:\n" +"* 'Invoice Based': Commissions are settled when the invoice is issued.\n" +"* 'Payment Based': Commissions are settled when the invoice is paid." +msgstr "" +"Komisyonların mutabakatı için fatura durumunu seçin:\n" +"* 'Fatura Bazlı': Fatura kesildiğinde komisyonlar mutabakat yapılır.\n" +"* 'Ödeme Bazlı': Fatura ödendiğinde komisyonlar mutabakat yapılır." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settled +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__settled +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Settled" +msgstr "Mutabakat Yapılmış" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move_line__settlement_id +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_invoice__settlement_ids +msgid "Settlement" +msgstr "Mutabakat" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_count +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_count +msgid "Settlement Count" +msgstr "Mutabakat Sayısı" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_invoice_line_agent__settlement_line_ids +msgid "Settlement Line" +msgstr "Mutabakat Satırı" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Mutabakat Türü" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_account_move_line__settlement_id +msgid "Settlement that generates this invoice line" +msgstr "Bu fatura satırını oluşturan mutabakat" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_account_bank_statement_line__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_move__settlement_ids +#: model:ir.model.fields,field_description:account_commission_oca.field_account_payment__settlement_ids +#: model_terms:ir.ui.view,arch_db:account_commission_oca.commission_make_invoice_form +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_in_invoice_bill_tree_inherit +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_move_form +msgid "Settlements" +msgstr "Mutabakatlar" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement_line__invoice_line_id +msgid "Source invoice line" +msgstr "Kaynak fatura satırı" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Durum" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "Status" +msgstr "Durum" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_subtotal +msgid "Subtotal" +msgstr "Ara Toplam" + +#. module: account_commission_oca +#: model:ir.model.fields,help:account_commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase" +" order'..." +msgstr "" +"Mutabakatın kaynağı, örn. 'Satış faturası', 'Satış siparişi', 'Satın alma " +"siparişi'..." + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "This Year" +msgstr "Bu Yıl" + +#. module: account_commission_oca +#: model_terms:ir.actions.act_window,help:account_commission_oca.action_invoice_commission_analysis_report +msgid "" +"This report performs analysis on your commissions added in invoice lines. " +"You can check the amount and lines that will be settled by date, product, " +"product category, aget, etc. Use this report to perform analysis on invoice " +"lines agents not beeing settled yet." +msgstr "" +"Bu rapor, fatura satırlarına eklenen komisyonlarınızın analizini yapar. " +"Tarih, ürün, ürün kategorisi, aracı vb. göre mutabakat yapılacak tutarları " +"ve satırları kontrol edebilirsiniz. Henüz mutabakat yapılmamış fatura " +"satırları üzerinde analiz yapmak için bu raporu kullanın." + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__price_unit +msgid "Unit Price" +msgstr "Birim Fiyat" + +#. module: account_commission_oca +#: model:ir.model.fields,field_description:account_commission_oca.field_invoice_commission_analysis_report__uom_id +msgid "Unit of Measure" +msgstr "Ölçü Birimi" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_invoice +msgid "Wizard for making an invoice from a settlement" +msgstr "Mutabakattan fatura oluşturmak için sihirbaz" + +#. module: account_commission_oca +#: model:ir.model,name:account_commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Komisyonları mutabakat yapmak için sihirbaz" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't cancel an invoice with settled lines" +msgstr "Mutabakat yapılmış satırları olan fatura iptal edilemez" + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/commission_settlement.py:0 +#, python-format +msgid "You can't delete invoiced settlements." +msgstr "Faturalandırılmış mutabakatlar silinemez." + +#. module: account_commission_oca +#. odoo-python +#: code:addons/account_commission_oca/models/account_move.py:0 +#, python-format +msgid "You can't modify a settled line" +msgstr "Mutabakat yapılmış bir satır değiştirilemez" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_graph +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_pivot +msgid "invoice Commission Analysis" +msgstr "fatura Komisyon Analizi" + +#. module: account_commission_oca +#: model_terms:ir.ui.view,arch_db:account_commission_oca.view_invoice_commission_analysis_search +msgid "invoices Commission Analysis" +msgstr "faturaların Komisyon Analizi" diff --git a/account_commission_oca/models/__init__.py b/account_commission_oca/models/__init__.py new file mode 100644 index 0000000..196acca --- /dev/null +++ b/account_commission_oca/models/__init__.py @@ -0,0 +1,3 @@ +from . import account_move +from . import commission +from . import commission_settlement diff --git a/account_commission_oca/models/account_move.py b/account_commission_oca/models/account_move.py new file mode 100644 index 0000000..c76735b --- /dev/null +++ b/account_commission_oca/models/account_move.py @@ -0,0 +1,230 @@ +# Copyright 2020 Tecnativa - Manuel Calero +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +from odoo import api, exceptions, fields, models +from odoo.fields import Command, Domain + + +class AccountMove(models.Model): + _inherit = "account.move" + + commission_total = fields.Float( + string="Commissions", + compute="_compute_commission_total", + store=True, + ) + partner_agent_ids = fields.Many2many( + string="Agents", + comodel_name="res.partner", + compute="_compute_agents", + search="_search_agents", + ) + settlement_count = fields.Integer(compute="_compute_settlement") + settlement_ids = fields.One2many( + "commission.settlement", + string="Settlements", + compute="_compute_settlement", + ) + + def action_view_settlement(self): + xmlid = "commission_oca.action_commission_settlement" + action = self.env["ir.actions.actions"]._for_xml_id(xmlid) + action["context"] = {} + settlements = self.mapped("settlement_ids") + if not settlements or len(settlements) > 1: + action["domain"] = Domain("id", "in", settlements.ids) + elif len(settlements) == 1: + res = self.env.ref("commission_oca.view_settlement_form", False) + action["views"] = [(res and res.id or False, "form")] + action["res_id"] = settlements.id + return action + + def _compute_settlement(self): + for invoice in self: + settlements = invoice.invoice_line_ids.settlement_id + invoice.settlement_ids = settlements + invoice.settlement_count = len(settlements) + + @api.depends("partner_agent_ids", "invoice_line_ids.agent_ids.agent_id") + def _compute_agents(self): + for move in self: + agent_ids = move.mapped("invoice_line_ids.agent_ids.agent_id").ids + move.partner_agent_ids = [Command.set(agent_ids)] + + @api.model + def _search_agents(self, operator, value): + ail_agents = self.env["account.invoice.line.agent"].search( + [("agent_id", operator, value)] + ) + return Domain("id", "in", ail_agents.mapped("invoice_id").ids) + + @api.depends("line_ids.agent_ids.amount") + def _compute_commission_total(self): + for record in self: + record.commission_total = 0.0 + for line in record.line_ids: + record.commission_total += sum(x.amount for x in line.agent_ids) + + def action_post(self): + """Put settlements associated to the invoices in invoiced state.""" + self.mapped("line_ids.settlement_id").write({"state": "invoiced"}) + return super().action_post() + + def button_cancel(self): + """Check settled lines and put settlements associated to the invoices in + exception. + """ + if any(self.mapped("invoice_line_ids.any_settled")): + raise exceptions.ValidationError( + self.env._("You can't cancel an invoice with settled lines"), + ) + self.mapped("line_ids.settlement_id").write({"state": "except_invoice"}) + return super().button_cancel() + + def recompute_lines_agents(self): + self.mapped("invoice_line_ids").recompute_agents() + + def unlink(self): + """Put 'invoiced' settlements associated to the invoices back in + settled state.""" + self.invoice_line_ids.settlement_id.filtered( + lambda s: s.state == "invoiced" + ).write({"state": "settled"}) + return super().unlink() + + +class AccountMoveLine(models.Model): + _inherit = [ + "account.move.line", + "commission.mixin", + ] + _name = "account.move.line" + + agent_ids = fields.One2many(comodel_name="account.invoice.line.agent") + any_settled = fields.Boolean(compute="_compute_any_settled") + + settlement_id = fields.Many2one( + comodel_name="commission.settlement", + help="Settlement that generates this invoice line", + copy=False, + ) + + @api.depends("agent_ids", "agent_ids.settled") + def _compute_any_settled(self): + for record in self: + record.any_settled = any(record.mapped("agent_ids.settled")) + + @api.depends("move_id.partner_id") + def _compute_agent_ids(self): + self.agent_ids = False # for resetting previous agents + for record in self: + if ( + record.move_id.partner_id + and record.move_id.move_type[:3] == "out" + and not record.commission_free + and record.product_id + ): + record.agent_ids = record._prepare_agents_vals_partner( + record.move_id.partner_id, settlement_type="sale_invoice" + ) + + def _copy_data_extend_business_fields(self, values): + """We don't want to loose the settlement from the line when reversing the line + if it was a refund. We need to include it, but as we don't want change it + everytime, we will add the data when a context key is passed. + """ + res = super()._copy_data_extend_business_fields(values) + if self.settlement_id and self.env.context.get("include_settlement", False): + values["settlement_id"] = self.settlement_id.id + return res + + +class AccountInvoiceLineAgent(models.Model): + _inherit = "commission.line.mixin" + _name = "account.invoice.line.agent" + _description = "Agent detail of commission line in invoice lines" + + object_id = fields.Many2one(comodel_name="account.move.line") + invoice_id = fields.Many2one( + string="Invoice", + comodel_name="account.move", + related="object_id.move_id", + store=True, + ) + invoice_date = fields.Date( + string="Invoice date", + related="invoice_id.invoice_date", + store=True, + readonly=True, + ) + settlement_line_ids = fields.One2many( + comodel_name="commission.settlement.line", + inverse_name="invoice_agent_line_id", + ) + settled = fields.Boolean(compute="_compute_settled", store=True) + company_id = fields.Many2one( + comodel_name="res.company", + compute="_compute_company", + store=True, + ) + currency_id = fields.Many2one( + related="object_id.currency_id", + ) + + @api.depends( + "object_id.price_subtotal", + "object_id.commission_free", + "commission_id", + ) + def _compute_amount(self): + for line in self: + inv_line = line.object_id + line.amount = line._get_commission_amount( + line.commission_id, + inv_line.price_subtotal, + inv_line.product_id, + inv_line.quantity, + ) + # Refunds commissions are negative + if line.invoice_id.move_type and "refund" in line.invoice_id.move_type: + line.amount = -line.amount + + @api.depends( + "settlement_line_ids", + "settlement_line_ids.settlement_id.state", + "invoice_id", + "invoice_id.state", + ) + def _compute_settled(self): + # Count lines of not open or paid invoices as settled for not + # being included in settlements + for line in self: + line.settled = any( + x.settlement_id.state != "cancel" for x in line.settlement_line_ids + ) + + @api.depends("object_id", "object_id.company_id") + def _compute_company(self): + for line in self: + line.company_id = line.object_id.company_id + + @api.constrains("agent_id", "amount") + def _check_settle_integrity(self): + for record in self: + if any(record.mapped("settled")): + raise exceptions.ValidationError( + record.env._("You can't modify a settled line"), + ) + + def _skip_settlement(self): + """This function should return False if the commission can be paid. + + :return: bool + """ + self.ensure_one() + return ( + self.commission_id.invoice_state == "paid" + and self.invoice_id.payment_state not in ["in_payment", "paid", "reversed"] + ) or self.invoice_id.state != "posted" diff --git a/account_commission_oca/models/commission.py b/account_commission_oca/models/commission.py new file mode 100644 index 0000000..5367c96 --- /dev/null +++ b/account_commission_oca/models/commission.py @@ -0,0 +1,16 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class Commission(models.Model): + _inherit = "commission" + + invoice_state = fields.Selection( + [("open", "Invoice Based"), ("paid", "Payment Based")], + string="Invoice Status", + default="open", + help="Select the invoice status for settling the commissions:\n" + "* 'Invoice Based': Commissions are settled when the invoice is issued.\n" + "* 'Payment Based': Commissions are settled when the invoice is paid.", + ) diff --git a/account_commission_oca/models/commission_settlement.py b/account_commission_oca/models/commission_settlement.py new file mode 100644 index 0000000..28534bd --- /dev/null +++ b/account_commission_oca/models/commission_settlement.py @@ -0,0 +1,195 @@ +# 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 +from odoo.exceptions import UserError +from odoo.fields import Command +from odoo.tools import groupby + + +class CommissionSettlement(models.Model): + _inherit = "commission.settlement" + + settlement_type = fields.Selection( + selection_add=[("sale_invoice", "Sales Invoices")], + ondelete={"sale_invoice": "set default"}, + ) + state = fields.Selection( + selection_add=[ + ("invoiced", "Invoiced"), + ("except_invoice", "Invoice exception"), + ], + ondelete={"invoiced": "set default", "except_invoice": "set default"}, + ) + invoice_line_ids = fields.One2many( + comodel_name="account.move.line", + inverse_name="settlement_id", + string="Generated invoice lines", + readonly=True, + ) + invoice_id = fields.Many2one( + string="Generated Invoice", + store=True, + comodel_name="account.move", + compute="_compute_invoice_id", + ) + + def _compute_can_edit(self): + """Make settlements coming from invoice lines to not be editable.""" + sale_invoices = self.filtered(lambda x: x.settlement_type == "sale_invoice") + sale_invoices.update({"can_edit": False}) + return super(CommissionSettlement, self - sale_invoices)._compute_can_edit() + + @api.depends("invoice_line_ids") + def _compute_invoice_id(self): + for record in self: + record.invoice_id = record.invoice_line_ids.filtered( + lambda x: x.parent_state != "cancel" + )[:1].move_id + + def action_cancel(self): + """Check if any settlement has been invoiced.""" + if any(x.state != "settled" for x in self): + raise UserError(self.env._("Cannot cancel an invoiced settlement.")) + return super().action_cancel() + + def action_draft(self): + self.write({"state": "settled"}) + + def unlink(self): + return super().unlink() + + @api.ondelete(at_uninstall=False) + def _check_can_delete(self): + """Check if any settlement is cancelled""" + if any(x.state == "invoiced" for x in self): + raise UserError(self.env._("You can't delete invoiced settlement")) + + def action_invoice(self): + return { + "type": "ir.actions.act_window", + "name": self.env._("Make invoice"), + "res_model": "commission.make.invoice", + "target": "new", + "view_mode": "form", + "context": {"settlement_ids": self.ids}, + } + + def _get_invoice_partner(self): + return self[0].agent_id + + def _prepare_invoice(self, journal, product, date=False): + partner = self._get_invoice_partner() + vals = { + "move_type": "in_invoice", + "partner_id": partner.id, + "journal_id": journal.id, + "invoice_line_ids": [], + "currency_id": self.currency_id.id, + } + if date: + vals.update({"invoice_date": date}) + for settlement in self: + # Put period string + lang = self.env["res.lang"].search( + [ + ( + "code", + "=", + self.agent_id.lang or self.env.context.get("lang", "en_US"), + ) + ] + ) + date_from = fields.Date.from_string(settlement.date_from) + date_to = fields.Date.from_string(settlement.date_to) + vals["invoice_line_ids"].append( + Command.create( + { + "product_id": product.id, + "quantity": -1 if settlement.total < 0 else 1, + "price_unit": abs(settlement.total), + "name": product.with_context(lang=lang.code).display_name + + "\n" + + settlement.env._( + "Period: from %(date_from)s to %(date_to)s", + date_from=date_from.strftime(lang.date_format), + date_to=date_to.strftime(lang.date_format), + ), + # todo or compute agent currency_id? + "currency_id": settlement.currency_id.id, + "settlement_id": settlement.id, + } + ) + ) + return vals + + def _get_invoice_grouping_keys(self): + return ["company_id", "currency_id", "agent_id"] + + def make_invoices(self, journal, product, date=False, grouped=False): + invoice_vals_list = [] + settlement_obj = self.env[self._name] + if grouped: + invoice_grouping_keys = self._get_invoice_grouping_keys() + settlements = groupby( + self.sorted( + key=lambda x: [ + x._fields[grouping_key].convert_to_write(x[grouping_key], x) + for grouping_key in invoice_grouping_keys + ], + ), + key=lambda x: tuple( + x._fields[grouping_key].convert_to_write(x[grouping_key], x) + for grouping_key in invoice_grouping_keys + ), + ) + grouped_settlements = [ + settlement_obj.union(*list(sett)) + for _grouping_keys, sett in settlements + ] + else: + grouped_settlements = self + for settlement in grouped_settlements: + invoice_vals = settlement._prepare_invoice(journal, product, date) + invoice_vals_list.append(invoice_vals) + invoices = self.env["account.move"].create(invoice_vals_list) + invoices.sudo().filtered(lambda m: m.amount_total < 0).with_context( + include_settlement=True + ).action_switch_move_type() + self.write({"state": "invoiced"}) + return invoices + + +class SettlementLine(models.Model): + _inherit = "commission.settlement.line" + + invoice_agent_line_id = fields.Many2one(comodel_name="account.invoice.line.agent") + invoice_line_id = fields.Many2one( + comodel_name="account.move.line", + store=True, + related="invoice_agent_line_id.object_id", + string="Source invoice line", + ) + + @api.depends("invoice_agent_line_id") + def _compute_date(self): + for record in self: + if not record.invoice_agent_line_id: + continue + record.date = record.invoice_agent_line_id.invoice_date + + @api.depends("invoice_agent_line_id") + def _compute_commission_id(self): + for record in self: + if not record.invoice_agent_line_id: + continue + record.commission_id = record.invoice_agent_line_id.commission_id + + @api.depends("invoice_agent_line_id") + def _compute_settled_amount(self): + for record in self: + if not record.invoice_agent_line_id: + continue + record.settled_amount = record.invoice_agent_line_id.amount diff --git a/account_commission_oca/pyproject.toml b/account_commission_oca/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/account_commission_oca/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_commission_oca/readme/CONFIGURE.md b/account_commission_oca/readme/CONFIGURE.md new file mode 100644 index 0000000..265acce --- /dev/null +++ b/account_commission_oca/readme/CONFIGURE.md @@ -0,0 +1,8 @@ +For selecting invoice status in commissions: + +1. Edit or create a new record to select the invoice status for + settling the commissions. + - **Invoice Based**: Commissions are settled when the invoice is + issued. + - **Payment Based**: Commissions are settled when the invoice is + paid. diff --git a/account_commission_oca/readme/CONTRIBUTORS.md b/account_commission_oca/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..128457e --- /dev/null +++ b/account_commission_oca/readme/CONTRIBUTORS.md @@ -0,0 +1,22 @@ +- Pexego. +- Davide Corio \<\> +- Joao Alfredo Gama Batista \<\> +- Sandy Carter \<\> +- Giorgio Borelli \<\> +- Daniel Campos \<\> +- Oihane Crucelaegui \<\> +- Nicola Malcontenti \<\> +- Aitor Bouzas \<\> +- Alexei Rivera \<\> +- Mina Samir \<\> +- [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 + - Pablo Cortés +- [Sygel](https://www.sygel.es): + - Alberto Martínez diff --git a/account_commission_oca/readme/DESCRIPTION.md b/account_commission_oca/readme/DESCRIPTION.md new file mode 100644 index 0000000..a3ee427 --- /dev/null +++ b/account_commission_oca/readme/DESCRIPTION.md @@ -0,0 +1,7 @@ +This module adds the function to calculate commissions in invoices +(account moves). + +It also allows to create vendor bills from settlements for external +agents. + +This module depends on the commission module. diff --git a/account_commission_oca/readme/USAGE.md b/account_commission_oca/readme/USAGE.md new file mode 100644 index 0000000..b5413f2 --- /dev/null +++ b/account_commission_oca/readme/USAGE.md @@ -0,0 +1,38 @@ +For adding commissions on invoices: + +1. Go to *Invoicing \> Customers \> Invoices*. +2. Edit or create a new record. +3. When you have selected a partner, each new invoice line you add will + have the agents and commissions set at customer level. +4. You can add, modify or delete these agents discretely clicking on + the icon with several persons represented, next to the "Commission" + field in the list. This icon will be available only if the line + hasn't been invoiced yet. +5. If you have configured your system for editing lines in a popup + window, agents will appear also in this window. +6. The agents icon will be in this ocassion visible when the line + hasn't been settled. +7. You have a button "Regenerate agents" on the bottom of the page + "Invoice Lines" for forcing a recompute of all agents from the + partner setup. This is needed for example when you have changed the + partner on the invoice having already inserted lines. + +For invoicing the settlements (only for external agents): + +1. Go to *Invoicing \> Commissions \> Create Commission Invoices*. +2. On the window that appears, you can select following data: + - Product. It should be a service product for being coherent. + - Journal: To be selected between existing purchase journals. + - Date: If you want to choose a specific invoice date. You can leave + it blank if you prefer. + - Settlements: For selecting specific settlements to invoice. You + can leave it blank as well for invoicing all the pending + settlements. + +If you want to invoice a/some specific settlement/s: + +1. Navigate to *Invoicing \> Commissions \> Invoices Settlements*. +2. Select it/them on the list. +3. Click on *Action \> Create Commission Invoices*. +4. You can as well enter in one settlement, and click on the "Make + invoice" button. diff --git a/account_commission_oca/report/__init__.py b/account_commission_oca/report/__init__.py new file mode 100644 index 0000000..f93e938 --- /dev/null +++ b/account_commission_oca/report/__init__.py @@ -0,0 +1 @@ +from . import commission_analysis diff --git a/account_commission_oca/report/commission_analysis.py b/account_commission_oca/report/commission_analysis.py new file mode 100644 index 0000000..929506f --- /dev/null +++ b/account_commission_oca/report/commission_analysis.py @@ -0,0 +1,106 @@ +# Copyright 2014-2018 Tecnativa - Pedro M. Baeza +# Copyright 2020 Tecnativa - Manuel Calero +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from psycopg2.extensions import AsIs + +from odoo import api, fields, models, tools + + +class InvoiceCommissionAnalysisReport(models.Model): + _name = "invoice.commission.analysis.report" + _description = "Invoice Commission Analysis Report" + _auto = False + _rec_name = "commission_id" + + @api.model + def _get_selection_invoice_state(self): + return self.env["account.move"].fields_get(allfields=["state"])["state"][ + "selection" + ] + + invoice_state = fields.Selection( + selection="_get_selection_invoice_state", string="Invoice Status", readonly=True + ) + date_invoice = fields.Date("Invoice Date", readonly=True) + company_id = fields.Many2one("res.company", "Company", readonly=True) + partner_id = fields.Many2one("res.partner", "Partner", readonly=True) + agent_id = fields.Many2one("res.partner", "Agent", readonly=True) + categ_id = fields.Many2one("product.category", "Category of Product", readonly=True) + product_id = fields.Many2one("product.product", "Product", readonly=True) + uom_id = fields.Many2one("uom.uom", "Unit of Measure", readonly=True) + quantity = fields.Float("# of Qty", readonly=True) + price_unit = fields.Float("Unit Price", readonly=True) + price_subtotal = fields.Float("Subtotal", readonly=True) + balance = fields.Float( + readonly=True, + ) + percentage = fields.Integer("Percentage of commission", readonly=True) + amount = fields.Float(readonly=True) + invoice_line_id = fields.Many2one("account.move.line", readonly=True) + settled = fields.Boolean(readonly=True) + commission_id = fields.Many2one("commission", "Commission", readonly=True) + + def _select(self): + select_str = """ + SELECT MIN(aila.id) AS id, + ai.partner_id AS partner_id, + ai.state AS invoice_state, + ai.date AS date_invoice, + ail.company_id AS company_id, + rp.id AS agent_id, + pt.categ_id AS categ_id, + ail.product_id AS product_id, + pt.uom_id AS uom_id, + SUM(ail.quantity) AS quantity, + AVG(ail.price_unit) AS price_unit, + SUM(ail.price_subtotal) AS price_subtotal, + SUM(ail.balance) AS balance, + AVG(c.fix_qty) AS percentage, + SUM(aila.amount) AS amount, + ail.id AS invoice_line_id, + aila.settled AS settled, + aila.commission_id AS commission_id + """ + return select_str + + def _from(self): + from_str = """ + account_invoice_line_agent aila + LEFT JOIN account_move_line ail ON ail.id = aila.object_id + INNER JOIN account_move ai ON ai.id = ail.move_id + LEFT JOIN commission c ON c.id = aila.commission_id + LEFT JOIN product_product pp ON pp.id = ail.product_id + INNER JOIN product_template pt ON pp.product_tmpl_id = pt.id + LEFT JOIN res_partner rp ON aila.agent_id = rp.id + """ + return from_str + + def _group_by(self): + group_by_str = """ + GROUP BY ai.partner_id, + ai.state, + ai.date, + ail.company_id, + rp.id, + pt.categ_id, + ail.product_id, + pt.uom_id, + ail.id, + aila.settled, + aila.commission_id + """ + return group_by_str + + @api.model + def init(self): + tools.drop_view_if_exists(self.env.cr, self._table) + self.env.cr.execute( + "CREATE or REPLACE VIEW %s AS ( %s FROM ( %s ) %s )", + ( + AsIs(self._table), + AsIs(self._select()), + AsIs(self._from()), + AsIs(self._group_by()), + ), + ) diff --git a/account_commission_oca/report/commission_analysis_view.xml b/account_commission_oca/report/commission_analysis_view.xml new file mode 100644 index 0000000..b5cefda --- /dev/null +++ b/account_commission_oca/report/commission_analysis_view.xml @@ -0,0 +1,122 @@ + + + + invoice.commission.analysis.pivot + invoice.commission.analysis.report + + + + + + + + + + invoice.commission.analysis.graph + invoice.commission.analysis.report + + + + + + + + + invoice.commission.analysis.search + invoice.commission.analysis.report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Commission Analysis + invoice.commission.analysis.report + pivot,graph + + + This report performs analysis on your commissions added in invoice lines. You can check the amount and lines that will be settled by date, product, product category, aget, etc. Use this report to perform analysis on invoice lines agents not beeing settled yet. + + + diff --git a/account_commission_oca/security/account_commission_security.xml b/account_commission_oca/security/account_commission_security.xml new file mode 100644 index 0000000..f0269be --- /dev/null +++ b/account_commission_oca/security/account_commission_security.xml @@ -0,0 +1,45 @@ + + + + + + Account Commissions + + 8 + + + Manage invoices commissions + + + + + + + + Invoice commission line multi-company + + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + Commission settlements - Sales invoices + + + [('settlement_type', '=', 'sale_invoice')] + + + diff --git a/account_commission_oca/security/ir.model.access.csv b/account_commission_oca/security/ir.model.access.csv new file mode 100644 index 0000000..2db4cc0 --- /dev/null +++ b/account_commission_oca/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_invoice_line_agent,access_account_invoice_line_agent,model_account_invoice_line_agent,account.group_account_invoice,1,1,1,1 +access_commission,access_commission,commission_oca.model_commission,account.group_account_invoice,1,0,0,0 +access_commission_section_user,access_commission_section_user,commission_oca.model_commission_section,account.group_account_invoice,1,0,0,0 +access_commission_make_invoice,access_commission_make_invoice,model_commission_make_invoice,group_invoicing_commission,1,1,1,0 +access_commission_settlement_user,access_commission_settlement_user,commission_oca.model_commission_settlement,group_invoicing_commission,1,1,1,1 +access_invoice_commission_analysis_report,access_invoice_commission_analysis_report,model_invoice_commission_analysis_report,group_invoicing_commission,1,0,0,0 diff --git a/account_commission_oca/static/description/icon.png b/account_commission_oca/static/description/icon.png new file mode 100644 index 0000000..54f5103 Binary files /dev/null and b/account_commission_oca/static/description/icon.png differ diff --git a/account_commission_oca/static/description/icon.svg b/account_commission_oca/static/description/icon.svg new file mode 100644 index 0000000..fb6ac6c --- /dev/null +++ b/account_commission_oca/static/description/icon.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_commission_oca/static/description/index.html b/account_commission_oca/static/description/index.html new file mode 100644 index 0000000..ae31081 --- /dev/null +++ b/account_commission_oca/static/description/index.html @@ -0,0 +1,523 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Account commissions OCA

+ +

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

+

This module adds the function to calculate commissions in invoices +(account moves).

+

It also allows to create vendor bills from settlements for external +agents.

+

This module depends on the commission module.

+

Table of contents

+ +
+

Configuration

+

For selecting invoice status in commissions:

+
    +
  1. Edit or create a new record to select the invoice status for settling +the commissions.
      +
    • Invoice Based: Commissions are settled when the invoice is +issued.
    • +
    • Payment Based: Commissions are settled when the invoice is +paid.
    • +
    +
  2. +
+
+
+

Usage

+

For adding commissions on invoices:

+
    +
  1. Go to Invoicing > Customers > Invoices.
  2. +
  3. Edit or create a new record.
  4. +
  5. When you have selected a partner, each new invoice line you add will +have the agents and commissions set at customer level.
  6. +
  7. You can add, modify or delete these agents discretely clicking on the +icon with several persons represented, next to the “Commission” field +in the list. This icon will be available only if the line hasn’t been +invoiced yet.
  8. +
  9. If you have configured your system for editing lines in a popup +window, agents will appear also in this window.
  10. +
  11. The agents icon will be in this ocassion visible when the line hasn’t +been settled.
  12. +
  13. You have a button “Regenerate agents” on the bottom of the page +“Invoice Lines” for forcing a recompute of all agents from the +partner setup. This is needed for example when you have changed the +partner on the invoice having already inserted lines.
  14. +
+

For invoicing the settlements (only for external agents):

+
    +
  1. Go to Invoicing > Commissions > Create Commission Invoices.
  2. +
  3. On the window that appears, you can select following data:
      +
    • Product. It should be a service product for being coherent.
    • +
    • Journal: To be selected between existing purchase journals.
    • +
    • Date: If you want to choose a specific invoice date. You can leave +it blank if you prefer.
    • +
    • Settlements: For selecting specific settlements to invoice. You can +leave it blank as well for invoicing all the pending settlements.
    • +
    +
  4. +
+

If you want to invoice a/some specific settlement/s:

+
    +
  1. Navigate to Invoicing > Commissions > Invoices Settlements.
  2. +
  3. Select it/them on the list.
  4. +
  5. Click on Action > Create Commission Invoices.
  6. +
  7. You can as well enter in one settlement, and click on the “Make +invoice” button.
  8. +
+
+
+

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/account_commission_oca/tests/__init__.py b/account_commission_oca/tests/__init__.py new file mode 100644 index 0000000..4833fb2 --- /dev/null +++ b/account_commission_oca/tests/__init__.py @@ -0,0 +1 @@ +from . import test_account_commission diff --git a/account_commission_oca/tests/test_account_commission.py b/account_commission_oca/tests/test_account_commission.py new file mode 100644 index 0000000..9a2c264 --- /dev/null +++ b/account_commission_oca/tests/test_account_commission.py @@ -0,0 +1,524 @@ +# 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 UserError, ValidationError +from odoo.fields import Command +from odoo.tests import tagged + +from odoo.addons.commission_oca.tests.test_commission import TestCommissionBase + + +@tagged("post_install", "-at_install") +class TestAccountCommission(TestCommissionBase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.journal = cls.env["account.journal"].search( + [("type", "=", "purchase"), ("company_id", "=", cls.company.id)], limit=1 + ) + cls.cash_journal = cls.env["account.journal"].create( + { + "name": "Test Cash Journal", + "type": "cash", + "code": "CSH1", + "company_id": cls.company.id, + } + ) + cls.commission_net_paid.write({"invoice_state": "paid"}) + cls.commission_net_invoice = cls.commission_model.create( + { + "name": "10% fixed commission (Net amount) - Invoice Based", + "fix_qty": 10.0, + "amount_base_type": "net_amount", + } + ) + cls.commission_section_paid.write({"invoice_state": "paid"}) + cls.product = cls.env["product.product"].create( + { + "name": "Test product for commissions", + "list_price": 5, + } + ) + cls.default_line_account = cls.env["account.account"].search( + [ + ("company_ids", "in", cls.company.id), + ("account_type", "=", "asset_receivable"), + ], + limit=1, + ) + cls.agent_biweekly = cls.res_partner_model.create( + { + "name": "Test Agent - Bi-weekly", + "agent": True, + "settlement": "biweekly", + "lang": "en_US", + "commission_id": cls.commission_net_invoice.id, + } + ) + cls.income_account = cls.env["account.account"].search( + [ + ("company_ids", "in", cls.company.id), + ("account_type", "=", "income"), + ], + limit=1, + ) + + def _create_invoice(self, agent, commission, date=None, currency=None): + vals = { + "move_type": "out_invoice", + "partner_id": self.partner.id, + "invoice_line_ids": [ + Command.create( + { + "product_id": self.product.id, + "agent_ids": [ + Command.create( + {"agent_id": agent.id, "commission_id": commission.id} + ) + ], + }, + ) + ], + } + if date: + vals.update({"invoice_date": date, "date": date}) + if currency: + vals.update({"currency_id": currency.id}) + return self.env["account.move"].create([vals]) + + def _settle_agent_invoice(self, agent=None, period=None, date=None): + vals = self._get_make_settle_vals(agent, period, date) + vals["settlement_type"] = "sale_invoice" + wizard = self.make_settle_model.create(vals) + wizard.action_settle() + + def _process_invoice_and_settle(self, agent, commission, period, order=None): + if not order: + invoice = self._create_invoice(agent, commission) + else: + invoice = order.invoice_ids + invoice.invoice_line_ids.agent_ids._compute_amount() + invoice.action_post() + self._settle_agent_invoice(agent, period) + return invoice + + def _check_settlements(self, agent, commission, settlements=None): + if not settlements: + settlements = self._create_settlement(agent, commission) + settlements.make_invoices(self.journal, self.commission_product) + for settlement in settlements: + self.assertEqual(settlement.state, "invoiced") + with self.assertRaises(UserError): + settlements.action_cancel() + with self.assertRaises(UserError): + settlements.unlink() + return settlements + + def _check_invoice_thru_settle( + self, agent, commission, period, initial_count, order=None + ): + invoice = self._process_invoice_and_settle(agent, commission, period, order) + settlements = self.settle_model.search([("state", "=", "settled")]) + self.assertEqual(len(settlements), initial_count) + register_payments = ( + self.env["account.payment.register"] + .with_context(active_ids=invoice.id, active_model="account.move") + .create({"journal_id": self.cash_journal.id}) + ) + register_payments.action_create_payments() + self.assertEqual(invoice.partner_agent_ids.ids, agent.ids) + self.assertEqual( + self.env["account.move"] + .search([("partner_agent_ids", "=", agent.name)]) + .ids, + invoice.ids, + ) + self.assertIn(invoice.payment_state, ["in_payment", "paid"]) + self._settle_agent_invoice(agent, period) + settlements = self.settle_model.search([("state", "=", "settled")]) + self.assertTrue(settlements) + inv_line = invoice.invoice_line_ids[0] + self.assertTrue(inv_line.any_settled) + with self.assertRaises(ValidationError): + inv_line.agent_ids.amount = 5 + return self._check_settlements(agent, commission, settlements) + + def test_commission_gross_amount(self): + settlements = self._check_settlements( + self.agent_monthly, + self.commission_section_paid, + ) + # Check report print - It shouldn't fail + self.env["ir.actions.report"]._render_qweb_html( + self.env.ref("commission_oca.action_report_settlement").id, + settlements[0].ids, + ) + + def test_account_commission_gross_amount_payment(self): + self._check_invoice_thru_settle( + self.agent_monthly, + self.commission_section_paid, + 1, + 0, + ) + + def test_account_commission_gross_amount_payment_annual(self): + self._check_invoice_thru_settle( + self.agent_annual, self.commission_section_paid, 12, 0 + ) + + def test_account_commission_gross_amount_payment_semi(self): + self.product.list_price = 15100 # for testing specific commission section + self._check_invoice_thru_settle( + self.agent_semi, self.commission_section_invoice, 6, 1 + ) + + def test_account_commission_gross_amount_invoice(self): + self._process_invoice_and_settle( + self.agent_quaterly, + self.commission_section_invoice, + 1, + ) + settlements = self.settle_model.search([("state", "=", "invoiced")]) + settlements.make_invoices(self.journal, self.commission_product) + for settlement in settlements: + self.assertNotEqual( + len(settlement.invoice_id), + 0, + "Settlements need to be in Invoiced State.", + ) + + def test_commission_status(self): + # Make sure user is in English + self.env.user.lang = "en_US" + invoice = self._create_invoice( + self.agent_monthly, + self.commission_section_invoice, + ) + self.assertIn("1", invoice.invoice_line_ids[0].commission_status) + self.assertNotIn("agents", invoice.invoice_line_ids[0].commission_status) + invoice.mapped("invoice_line_ids.agent_ids").unlink() + self.assertIn("No", invoice.invoice_line_ids[0].commission_status) + invoice.invoice_line_ids[0].agent_ids = [ + Command.create( + { + "agent_id": self.agent_monthly.id, + "commission_id": self.commission_net_invoice.id, + }, + ), + Command.create( + { + "agent_id": self.agent_quaterly.id, + "commission_id": self.commission_net_paid.id, + }, + ), + ] + self.assertIn("2", invoice.invoice_line_ids[0].commission_status) + self.assertIn("agents", invoice.invoice_line_ids[0].commission_status) + invoice.action_post() + # Free + invoice.invoice_line_ids.commission_free = True + self.assertIn("free", invoice.invoice_line_ids.commission_status) + self.assertAlmostEqual(invoice.invoice_line_ids.agent_ids.amount, 0) + # test show agents buton + action = invoice.invoice_line_ids.button_edit_agents() + self.assertEqual(action["res_id"], invoice.invoice_line_ids.id) + + def test_supplier_invoice(self): + """No agents should be populated on supplier invoices.""" + self.partner.commission_agent_ids = self.agent_semi + invoice = self.env["account.move"].create( + [ + { + "move_type": "in_invoice", + "partner_id": self.partner.id, + "ref": "sale_comission_TEST", + "invoice_line_ids": [ + Command.create( + { + "product_id": self.product.id, + "quantity": 1, + "currency_id": self.company.currency_id.id, + }, + ) + ], + } + ] + ) + self.assertFalse(invoice.invoice_line_ids.agent_ids) + + def test_commission_propagation(self): + """Test propagation of agents from partner to invoice.""" + self.partner.commission_agent_ids = [(4, self.agent_monthly.id)] + invoice = self.env["account.move"].create( + [ + { + "move_type": "out_invoice", + "partner_id": self.partner.id, + "invoice_line_ids": [ + Command.create( + { + "product_id": self.product.id, + "quantity": 1, + "currency_id": self.company.currency_id.id, + }, + ) + ], + } + ] + ) + agent = invoice.invoice_line_ids.agent_ids + self._check_propagation(agent, self.commission_net_invoice, self.agent_monthly) + # Check agent change + agent.agent_id = self.agent_quaterly + self.assertTrue(agent.commission_id, self.commission_section_invoice) + # Check recomputation + agent.unlink() + invoice.recompute_lines_agents() + agent = invoice.invoice_line_ids.agent_ids + self._check_propagation(agent, self.commission_net_invoice, self.agent_monthly) + + def test_negative_settlements(self): + self.product.write({"list_price": 1000}) + agent = self.agent_monthly + commission = self.commission_net_invoice + invoice = self._process_invoice_and_settle(agent, commission, 1) + settlement = self.settle_model.search([("agent_id", "=", agent.id)]) + self.assertEqual(1, len(settlement)) + self.assertEqual(settlement.state, "settled") + commission_invoice = settlement.make_invoices( + product=self.commission_product, journal=self.journal + ) + self.assertEqual(settlement.state, "invoiced") + self.assertEqual(commission_invoice.move_type, "in_invoice") + refund = invoice._reverse_moves( + default_values_list=[{"invoice_date": invoice.invoice_date}], + ) + self.assertEqual( + invoice.invoice_line_ids.agent_ids.agent_id, + refund.invoice_line_ids.agent_ids.agent_id, + ) + refund.invoice_line_ids.agent_ids._compute_amount() + refund.action_post() + self._settle_agent_invoice(agent, 1) + settlements = self.settle_model.search([("agent_id", "=", agent.id)]) + self.assertEqual(2, len(settlements)) + second_settlement = settlements.filtered(lambda r: r.total < 0) + self.assertEqual(second_settlement.state, "settled") + # Use invoice wizard for testing also this part + wizard = self.env["commission.make.invoice"].create( + {"product_id": self.commission_product.id} + ) + action = wizard.button_create() + commission_refund = self.env["account.move"].browse(action["domain"][0][2]) + self.assertEqual(second_settlement.state, "invoiced") + self.assertEqual(commission_refund.move_type, "in_refund") + # Undo invoices + make invoice again to get a unified invoice + commission_invoices = commission_invoice + commission_refund + commission_invoices.button_cancel() + self.assertEqual(settlement.state, "except_invoice") + self.assertEqual(second_settlement.state, "except_invoice") + commission_invoices.unlink() + settlements.unlink() + self._settle_agent_invoice(False, 1) # agent=False for testing default + settlement = self.settle_model.search([("agent_id", "=", agent.id)]) + # Check make invoice wizard + action = settlement.action_invoice() + self.assertEqual(action["context"]["settlement_ids"], settlement.ids) + # Use invoice wizard for testing also this part + wizard = self.env["commission.make.invoice"].create( + { + "product_id": self.commission_product.id, + "journal_id": self.journal.id, + "settlement_ids": [(4, settlement.id)], + } + ) + action = wizard.button_create() + invoice = self.env["account.move"].browse(action["domain"][0][2]) + self.assertEqual(invoice.move_type, "in_invoice") + self.assertAlmostEqual(invoice.amount_total, 0) + + def test_negative_settlements_join_invoice(self): + self.product.write({"list_price": 1000}) + agent = self.agent_monthly + commission = self.commission_net_invoice + invoice = self._process_invoice_and_settle(agent, commission, 1) + settlement = self.settle_model.search([("agent_id", "=", agent.id)]) + self.assertEqual(1, len(settlement)) + self.assertEqual(settlement.state, "settled") + refund = invoice._reverse_moves( + default_values_list=[ + { + "invoice_date": invoice.invoice_date + relativedelta(months=-1), + "date": invoice.date + relativedelta(months=-1), + } + ], + ) + self.assertEqual( + invoice.invoice_line_ids.agent_ids.agent_id, + refund.invoice_line_ids.agent_ids.agent_id, + ) + refund.action_post() + self._settle_agent_invoice(agent, 1) + settlements = self.settle_model.search([("agent_id", "=", agent.id)]) + self.assertEqual(2, len(settlements)) + second_settlement = settlements.filtered(lambda r: r.total < 0) + self.assertEqual(second_settlement.state, "settled") + # Use invoice wizard for testing also this part + wizard = self.env["commission.make.invoice"].create( + {"product_id": self.commission_product.id, "grouped": True} + ) + action = wizard.button_create() + commission_invoice = self.env["account.move"].browse(action["domain"][0][2]) + self.assertEqual(1, len(commission_invoice)) + self.assertEqual(commission_invoice.move_type, "in_invoice") + self.assertAlmostEqual(commission_invoice.amount_total, 0, places=2) + + def _create_multi_settlements(self): + agent = self.agent_monthly + commission = self.commission_section_invoice + today = fields.Date.today() + last_month = today + relativedelta(months=-1) + invoice_1 = self._create_invoice(agent, commission, today) + invoice_1.action_post() + invoice_2 = self._create_invoice(agent, commission, last_month) + invoice_2.action_post() + self._settle_agent_invoice(agent, 1) + settlements = self.settle_model.search( + [ + ("agent_id", "=", agent.id), + ("state", "=", "settled"), + ] + ) + self.assertEqual(2, len(settlements)) + return settlements + + def test_commission_single_invoice(self): + settlements = self._create_multi_settlements() + settlements.make_invoices(self.journal, self.commission_product, grouped=True) + invoices = settlements.mapped("invoice_id") + self.assertEqual(1, len(invoices)) + + def test_commission_multiple_invoice(self): + settlements = self._create_multi_settlements() + settlements.make_invoices(self.journal, self.commission_product) + invoices = settlements.mapped("invoice_id") + self.assertEqual(2, len(invoices)) + + def test_biweekly(self): + agent = self.agent_biweekly + commission = self.commission_net_invoice + invoice = self._create_invoice(agent, commission) + invoice.invoice_date = "2022-01-01" + invoice.date = "2022-01-01" + invoice.action_post() + invoice2 = self._create_invoice(agent, commission, date="2022-01-16") + invoice2.invoice_date = "2022-01-16" + invoice2.date = "2022-01-16" + invoice2.action_post() + invoice3 = self._create_invoice(agent, commission, date="2022-01-31") + invoice3.invoice_date = "2022-01-31" + invoice3.date = "2022-01-31" + invoice3.action_post() + self._settle_agent_invoice(agent=self.agent_biweekly, date="2022-02-01") + settlements = self.settle_model.search( + [("agent_id", "=", self.agent_biweekly.id)] + ) + self.assertEqual(len(settlements), 2) + + def test_account_commission_single_settlement_ids(self): + settlement = self._check_invoice_thru_settle( + self.agent_monthly, + self.commission_section_paid, + 1, + 0, + ) + invoice_id = settlement.invoice_id + self.assertEqual(1, invoice_id.settlement_count) + + def test_account_commission_multiple_settlement_ids(self): + settlements = self._create_multi_settlements() + settlements.make_invoices(self.journal, self.commission_product, grouped=True) + invoices = settlements.mapped("invoice_id") + self.assertEqual(2, invoices.settlement_count) + + def test_unlink_settlement_invoice(self): + settlements = self._create_multi_settlements() + invoices = settlements.make_invoices(self.journal, self.commission_product) + self.assertTrue( + all(state == "invoiced" for state in settlements.mapped("state")) + ) + invoices.unlink() + self.assertTrue( + all(state == "settled" for state in settlements.mapped("state")) + ) + + def test_multi_currency(self): + commission = self.commission_net_invoice + agent = self.agent_monthly + today = fields.Date.today() + last_month = today + relativedelta(months=-1) + + # creating invoices with different currencies, same date + invoice = self._create_invoice(agent, commission, today, currency=None) + invoice.action_post() + invoice1 = self._create_invoice(agent, commission, today, self.foreign_currency) + invoice1.action_post() + + # check settlement creation + self._settle_agent_invoice(agent, 1) + settlements = self.settle_model.search( + [ + ("agent_id", "=", agent.id), + ("state", "=", "settled"), + ] + ) + self.assertEqual(2, len(settlements)) + self.assertEqual(2, len(settlements.mapped("currency_id"))) + + # creating some additional invoices + invoice2 = self._create_invoice(agent, commission, today, self.foreign_currency) + invoice2.action_post() + invoice3 = self._create_invoice( + agent, commission, last_month, self.foreign_currency + ) + invoice3.action_post() + invoice4 = self._create_invoice( + agent, commission, last_month, self.foreign_currency + ) + invoice4.action_post() + + # check settlement creation + self._settle_agent_invoice(agent, 1) + settlements = self.settle_model.search( + [ + ("agent_id", "=", agent.id), + ("state", "=", "settled"), + ] + ) + self.assertEqual(3, len(settlements)) + + # check commission invoices + settlements.make_invoices(self.journal, self.commission_product) + invoices = settlements.mapped("invoice_id") + self.assertEqual(3, len(invoices)) + + # check settlement creation after a commission invoicing process + # (previous settlements were already invoiced) + invoice5 = self._create_invoice(agent, commission, today) + invoice5.action_post() + invoice6 = self._create_invoice(agent, commission, today, self.foreign_currency) + invoice6.action_post() + self._settle_agent_invoice(agent, 1) + settlements = self.settle_model.search( + [ + ("agent_id", "=", agent.id), + ("state", "=", "settled"), + ] + ) + self.assertEqual(2, len(settlements)) diff --git a/account_commission_oca/views/account_move_views.xml b/account_commission_oca/views/account_move_views.xml new file mode 100644 index 0000000..46764f7 --- /dev/null +++ b/account_commission_oca/views/account_move_views.xml @@ -0,0 +1,126 @@ + + + + + account.invoice.line.agent + + + + + + + + + + account.move.line + + + + + + + + + + + + account.invoice.form.agent + account.move + + + + + + + + + + + + + + + + + + Settlement lines + commission.settlement.line + + + + + + + + + Invoices Settlements + ir.actions.act_window + commission.settlement + list,form + [('settlement_type', '=', 'sale_invoice')] + + + diff --git a/account_commission_oca/views/commission_views.xml b/account_commission_oca/views/commission_views.xml new file mode 100644 index 0000000..4d959a8 --- /dev/null +++ b/account_commission_oca/views/commission_views.xml @@ -0,0 +1,16 @@ + + + + commissions form + commission + + + + + + + + diff --git a/account_commission_oca/views/report_settlement_templates.xml b/account_commission_oca/views/report_settlement_templates.xml new file mode 100644 index 0000000..973532d --- /dev/null +++ b/account_commission_oca/views/report_settlement_templates.xml @@ -0,0 +1,36 @@ + + + + diff --git a/account_commission_oca/wizards/__init__.py b/account_commission_oca/wizards/__init__.py new file mode 100644 index 0000000..902e6d7 --- /dev/null +++ b/account_commission_oca/wizards/__init__.py @@ -0,0 +1,2 @@ +from . import commission_make_settle +from . import wizard_invoice diff --git a/account_commission_oca/wizards/commission_make_settle.py b/account_commission_oca/wizards/commission_make_settle.py new file mode 100644 index 0000000..66eda52 --- /dev/null +++ b/account_commission_oca/wizards/commission_make_settle.py @@ -0,0 +1,51 @@ +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +# Copyright 2022 Quartile +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +from odoo import fields, models +from odoo.fields import Domain + + +class CommissionMakeSettle(models.TransientModel): + _inherit = "commission.make.settle" + + settlement_type = fields.Selection( + selection_add=[("sale_invoice", "Sales Invoices")], + ondelete={"sale_invoice": "cascade"}, + ) + + def _get_account_settle_domain(self, agent, date_to_agent): + return Domain.AND( + [ + Domain("invoice_date", "<", date_to_agent), + Domain("agent_id", "=", agent.id), + Domain("settled", "=", False), + Domain("object_id.display_type", "=", "product"), + ] + ) + + def _get_agent_lines(self, agent, date_to_agent): + """Filter sales invoice agent lines for this type of settlement.""" + if self.settlement_type != "sale_invoice": + return super()._get_agent_lines(agent, date_to_agent) + return self.env["account.invoice.line.agent"].search( + self._get_account_settle_domain(agent, date_to_agent), + order="invoice_date", + ) + + def _prepare_settlement_line_vals(self, settlement, line): + """Prepare extra settlement values when the source is a sales invoice agent + line. + """ + res = super()._prepare_settlement_line_vals(settlement, line) + if self.settlement_type == "sale_invoice": + res.update( + { + "invoice_agent_line_id": line.id, + "date": line.invoice_date, + "commission_id": line.commission_id.id, + "settled_amount": line.amount, + } + ) + return res diff --git a/account_commission_oca/wizards/wizard_invoice.py b/account_commission_oca/wizards/wizard_invoice.py new file mode 100644 index 0000000..7b523af --- /dev/null +++ b/account_commission_oca/wizards/wizard_invoice.py @@ -0,0 +1,87 @@ +from odoo import exceptions, fields, models + + +class CommissionMakeInvoice(models.TransientModel): + _name = "commission.make.invoice" + _description = "Wizard for making an invoice from a settlement" + + def _default_journal_id(self): + return self.env["account.journal"].search( + [("type", "=", "purchase"), ("company_id", "=", self.env.company.id)], + limit=1, + ) + + def _default_settlement_ids(self): + context = self.env.context + if context.get("active_model") == "commission.settlement": + settlements = self.env[context["active_model"]].browse( + context.get("active_ids") + ) + settlements = settlements.filtered_domain( + [ + ("state", "=", "settled"), + ("agent_type", "=", "agent"), + ("company_id", "=", self.env.company.id), + ] + ) + if not settlements: + raise exceptions.UserError( + self.env._("No valid settlements to invoice.") + ) + return settlements.ids + return self.env.context.get("settlement_ids", []) + + def _default_from_settlement(self): + return bool(self._default_settlement_ids()) + + journal_id = fields.Many2one( + comodel_name="account.journal", + required=True, + domain="[('type', '=', 'purchase')]", + default=lambda self: self._default_journal_id(), + ) + company_id = fields.Many2one( + comodel_name="res.company", related="journal_id.company_id", readonly=True + ) + product_id = fields.Many2one( + string="Product for invoicing", comodel_name="product.product", required=True + ) + settlement_ids = fields.Many2many( + comodel_name="commission.settlement", + relation="commission_make_invoice_settlement_rel", + column1="wizard_id", + column2="settlement_id", + domain="[('state', '=', 'settled'),('agent_type', '=', 'agent')," + "('company_id', '=', company_id)]", + default=lambda self: self._default_settlement_ids(), + ) + from_settlement = fields.Boolean( + default=lambda self: self._default_from_settlement() + ) + date = fields.Date(default=fields.Date.context_today) + grouped = fields.Boolean(string="Group invoices") + + def button_create(self): + self.ensure_one() + settlements = self.settlement_ids or self.env["commission.settlement"].search( + [ + ("state", "=", "settled"), + ("agent_type", "=", "agent"), + ("company_id", "=", self.journal_id.company_id.id), + ] + ) + invoices = settlements.make_invoices( + self.journal_id, + self.product_id, + date=self.date, + grouped=self.grouped, + ) + # go to results + if len(settlements): + return { + "name": self.env._("Created Invoices"), + "type": "ir.actions.act_window", + "views": [[False, "list"], [False, "form"]], + "res_model": "account.move", + "domain": [["id", "in", invoices.ids]], + } diff --git a/account_commission_oca/wizards/wizard_invoice.xml b/account_commission_oca/wizards/wizard_invoice.xml new file mode 100644 index 0000000..35d799d --- /dev/null +++ b/account_commission_oca/wizards/wizard_invoice.xml @@ -0,0 +1,55 @@ + + + + Make invoices + commission.make.invoice + +
+ + + + + + + +

(keep empty for invoicing all the pending settlements)

+ + + + + + +
+
+
+
+
+
+ + Create Commission Invoices + commission.make.invoice + form + new + + + +
diff --git a/commission_oca/README.rst b/commission_oca/README.rst new file mode 100644 index 0000000..0205e47 --- /dev/null +++ b/commission_oca/README.rst @@ -0,0 +1,199 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +=============== +Commissions OCA +=============== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:82735faa541d44bdc0c9818a8a311a8c48fe0284eb8d4890d5389d9fd6fd1367 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/license-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/19.0/commission_oca + :alt: OCA/commission +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/commission-19-0/commission-19-0-commission_oca + :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=19.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 + - Pablo Cortés + +- Moaad Bourhim + +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_oca/__init__.py b/commission_oca/__init__.py new file mode 100644 index 0000000..aee8895 --- /dev/null +++ b/commission_oca/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import wizards diff --git a/commission_oca/__manifest__.py b/commission_oca/__manifest__.py new file mode 100644 index 0000000..7c963ef --- /dev/null +++ b/commission_oca/__manifest__.py @@ -0,0 +1,28 @@ +# Copyright 2020 Tecnativa - Manuel Calero +# Copyright 2022 Quartile +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +{ + "name": "Commissions OCA", + "version": "19.0.2.0.0", + "author": "Tecnativa, Odoo Community Association (OCA)", + "category": "Invoicing", + "license": "AGPL-3", + "depends": ["base", "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_oca/data/menuitem_data.xml b/commission_oca/data/menuitem_data.xml new file mode 100644 index 0000000..87c0ab1 --- /dev/null +++ b/commission_oca/data/menuitem_data.xml @@ -0,0 +1,17 @@ + + + + + diff --git a/commission_oca/demo/commission_and_agent_demo.xml b/commission_oca/demo/commission_and_agent_demo.xml new file mode 100644 index 0000000..a158f92 --- /dev/null +++ b/commission_oca/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_oca/i18n/commission_oca.pot b/commission_oca/i18n/commission_oca.pot new file mode 100644 index 0000000..18bd206 --- /dev/null +++ b/commission_oca/i18n/commission_oca.pot @@ -0,0 +1,808 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "%s commission agents" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "1 commission agent" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "From:" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "To:" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Total" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__active +msgid "Active" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Agent" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +msgid "Agent Partners" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Agent information" +msgstr "" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission_oca.action_agent_form +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_agent_ids +#: model:ir.ui.menu,name:commission_oca.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Agents" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "" + +#. module: commission_oca +#: model:ir.module.category,description:commission_oca.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Amount settled" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Archived" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__amount_base_type +msgid "Base" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__section +msgid "By sections" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Cancel" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__agent +#: model:ir.model.fields,help:commission_oca.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_free +msgid "Comm. free" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Commission" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Commission lines" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_section +msgid "Commission section" +msgstr "" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission_type +msgid "Commission types" +msgstr "" + +#. module: commission_oca +#: model:ir.module.category,name:commission_oca.module_category_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission +#: model:res.groups.privilege,name:commission_oca.res_groups_privilege_commission +msgid "Commissions" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__company_id +msgid "Company" +msgstr "" + +#. module: commission_oca +#: model:ir.ui.menu,name:commission_oca.menu_commission_management +msgid "Configuration" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_res_partner +msgid "Contact" +msgstr "" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/wizards/commission_make_settle.py:0 +msgid "Created Settlements" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent +msgid "Creditor/Agent" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Date" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Date from month" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Date month" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Discard" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:commission_oca.field_product_template__display_name +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__display_name +msgid "Display Name" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission_oca.field_product_template__commission_free +msgid "Free of commission" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_from +msgid "From" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "General information" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__has_message +msgid "Has Message" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:commission_oca.field_product_template__id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__id +msgid "ID" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Make settlements" +msgstr "" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_manager +msgid "Manager" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_ids +msgid "Messages" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_mixin +msgid "" +"Mixin model for applying to any object that wants to handle commissions" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__name +msgid "Name" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "No commission agents" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__percent +msgid "Percent" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_product_template +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__product_id +msgid "Product" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Rates definition" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Save" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__section_ids +msgid "Sections" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_agents_settlement +#: model:ir.ui.menu,name:commission_oca.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Settle commissions" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_tree +msgid "Settled total" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Settlement" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Settlement lines search" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement +msgid "Settlement period" +msgstr "" + +#. module: commission_oca +#: model:ir.actions.report,name:commission_oca.action_report_settlement +msgid "Settlement report" +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Settlement search" +msgstr "" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Settlements" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__state +msgid "State" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission.py:0 +msgid "The lower limit cannot be greater than upper one." +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase" +" order'..." +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "This year" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_to +msgid "To" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__total +msgid "Total" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__commission_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent_type +msgid "Type" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__date_to +msgid "Up to" +msgstr "" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_user +msgid "User" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "" + +#. module: commission_oca +#: model:ir.model.constraint,message:commission_oca.constraint_account_invoice_line_agent_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_commission_line_mixin_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_sale_order_line_agent_unique_agent +msgid "You can only add one time each agent." +msgstr "" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "or" +msgstr "" diff --git a/commission_oca/i18n/es.po b/commission_oca/i18n/es.po new file mode 100644 index 0000000..e6c19b6 --- /dev/null +++ b/commission_oca/i18n/es.po @@ -0,0 +1,864 @@ +# 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: 2024-05-08 17:35+0000\n" +"Last-Translator: luis-ron \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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "%s commission agents" +msgstr "%s agentes de comisión" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "1 commission agent" +msgstr "1 agente comisionado" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "From:" +msgstr "De:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "To:" +msgstr "Para:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Total" +msgstr "Total" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "Necesita Acción" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__active +msgid "Active" +msgstr "Activo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoración de Actividad de Excepción" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Estado de la Actividad" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono de Tipo de Actividad" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Agent" +msgstr "Agente" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +msgid "Agent Partners" +msgstr "Agentes Asociados" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Agent information" +msgstr "Información del agente" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission_oca.action_agent_form +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_agent_ids +#: model:ir.ui.menu,name:commission_oca.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Agents" +msgstr "Agentes" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Agentes & comisiones" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.module.category,description:commission_oca.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permite gestionar asuntos relacionados con las comisiones." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Amount settled" +msgstr "Importe liquidado" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Anual" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Archived" +msgstr "Archivado" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Recuento de Archivos Adjuntos" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__amount_base_type +msgid "Base" +msgstr "Base/Fuente" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-semanal" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__section +msgid "By sections" +msgstr "Por secciones" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Puede Editar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Puede Liquidar" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Cancelado" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__agent +#: model:ir.model.fields,help:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_free +msgid "Comm. free" +msgstr "Libre de comisión" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Commission" +msgstr "Comisión" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Importe de la Comisión" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Commission lines" +msgstr "Líneas de comisión" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_section +msgid "Commission section" +msgstr "Sección de comisión" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission_type +msgid "Commission types" +msgstr "Tipos de comisión" + +#. module: commission_oca +#: model:ir.module.category,name:commission_oca.module_category_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission +#: model:res.groups.privilege,name:commission_oca.res_groups_privilege_commission +msgid "Commissions" +msgstr "Comisiones" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Compañía" + +#. module: commission_oca +#: model:ir.ui.menu,name:commission_oca.menu_commission_management +msgid "Configuration" +msgstr "Configuración" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/wizards/commission_make_settle.py:0 +msgid "Created Settlements" +msgstr "Liquidaciones creadas" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Acreedor/Agente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Divisa" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Date" +msgstr "Fecha" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Date from month" +msgstr "Fecha del mes" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Date month" +msgstr "Fecha mes" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Descartar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:commission_oca.field_product_template__display_name +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Agente externo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Porcentaje fijo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Seguidores/as" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Socios)" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,field_description:commission_oca.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission_oca.field_product_template__commission_free +msgid "Free of commission" +msgstr "Libre de comisión" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_from +msgid "From" +msgstr "Desde" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "General information" +msgstr "Información general" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Tiene Mensaje" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:commission_oca.field_product_template__id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "Icono" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icono para indicar una actividad por excepción." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Si está marcada, algunos mensajes tienen un error de entrega." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "Es Seguidor/a" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "Actualizado por última vez por" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "Última Actualización el" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Línea de liquidación de una comisión" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Make settlements" +msgstr "Hacer liquidaciones" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_manager +msgid "Manager" +msgstr "Gerente" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manual" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "Margen (Importe - Coste)" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Error en entrega de mensaje" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.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_oca +#: model:ir.model,name:commission_oca.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_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensualmente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Fecha Límite de mi Actividad" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__name +msgid "Name" +msgstr "Nombre" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Fecha Límite para la siguiente Actividad" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Resumen de la Siguiente Actividad" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo de la Siguiente Actividad" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "No commission agents" +msgstr "Agentes sin comisión" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de acciones" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "Número de errores" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensajes que requieren una acción" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Parental" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__percent +msgid "Percent" +msgstr "Porcentaje" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_product_template +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__product_id +msgid "Product" +msgstr "Producto" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestral" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Rates definition" +msgstr "Definición de tarifas" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Usuario Responsable" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "Importe de la Venta / Factura" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Save" +msgstr "Guardar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__section_ids +msgid "Sections" +msgstr "Secciones" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semi-anual" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_agents_settlement +#: model:ir.ui.menu,name:commission_oca.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquidar Comisiones" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Settle commissions" +msgstr "Liquidar Comisiones" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Liquidado" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Importe Liquidado" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_tree +msgid "Settled total" +msgstr "Total liquidado" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Settlement" +msgstr "Liquidación" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de liquidación" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "Análisis de liquidación" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Líneas de liquidación" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Búsqueda de líneas de liquidación" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement +msgid "Settlement period" +msgstr "Período de liquidación" + +#. module: commission_oca +#: model:ir.actions.report,name:commission_oca.action_report_settlement +msgid "Settlement report" +msgstr "Informe de liquidación" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Settlement search" +msgstr "Búsqueda de liquidación" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Settlements" +msgstr "Liquidaciones" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Estado" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission.py:0 +msgid "The lower limit cannot be greater than upper one." +msgstr "El límite inferior no puede ser mayor que el superior." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "This year" +msgstr "Este año" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_to +msgid "To" +msgstr "Hasta" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__total +msgid "Total" +msgstr "Total" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__commission_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo (o clase) de actividad excepcional registrada." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__date_to +msgid "Up to" +msgstr "Hasta el" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_user +msgid "User" +msgstr "Usuario" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__website_message_ids +msgid "Website Messages" +msgstr "Mensajes de la Página Web" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__website_message_ids +msgid "Website communication history" +msgstr "Historial de la comunicación en la página web" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Asistente para liquidación de comisiones" + +#. module: commission_oca +#: model:ir.model.constraint,message:commission_oca.constraint_account_invoice_line_agent_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_commission_line_mixin_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_sale_order_line_agent_unique_agent +msgid "You can only add one time each agent." +msgstr "Sólo puede añadir una vez cada agente." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "or" +msgstr "o" + +#~ msgid "SMS Delivery error" +#~ msgstr "Error en la entrega de sms" + +#~ msgid "Group By" +#~ msgstr "Agrupado Por" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modificaci??n el" + +#~ msgid "Main Attachment" +#~ msgstr "Archivo Adjunto Principal" + +#~ msgid "Gross Amount" +#~ msgstr "Importe Bruto" + +#~ msgid "Net Amount" +#~ msgstr "Importe Neto" diff --git a/commission_oca/i18n/it.po b/commission_oca/i18n/it.po new file mode 100644 index 0000000..e435643 --- /dev/null +++ b/commission_oca/i18n/it.po @@ -0,0 +1,864 @@ +# 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: 2026-04-13 12:45+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "%s commission agents" +msgstr "%s agenti con provvigione" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "1 commission agent" +msgstr "1 agente con provvigione" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "From:" +msgstr "Da:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "To:" +msgstr "A:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Total" +msgstr "Totale" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "Azione richiesta" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__active +msgid "Active" +msgstr "Attivo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Attività" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decorazione eccezione attività" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Stato attività" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icona tipo attività" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Agent" +msgstr "Agente" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +msgid "Agent Partners" +msgstr "Partner agente" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Agent information" +msgstr "Informazioni agente" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission_oca.action_agent_form +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_agent_ids +#: model:ir.ui.menu,name:commission_oca.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Agents" +msgstr "Agenti" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Agenti e provvigioni" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agenti/provvigioni collegati alla riga fattura." + +#. module: commission_oca +#: model:ir.module.category,description:commission_oca.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permette di gestire le questioni legate alle provvigioni." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Amount settled" +msgstr "Importo regolato" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Annuale" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Archived" +msgstr "Archiviato" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Numero allegati" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__amount_base_type +msgid "Base" +msgstr "Imponibile" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-settimanale" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__section +msgid "By sections" +msgstr "A scaglioni" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Può modificare" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Può liquidare" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Cancel" +msgstr "Annulla" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Annullato" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__agent +#: model:ir.model.fields,help:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_free +msgid "Comm. free" +msgstr "Senza provvigione" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Commission" +msgstr "Provvigione" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Importo provvigione" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Commission lines" +msgstr "Righe provvigione" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_section +msgid "Commission section" +msgstr "Scaglione provvigione" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission_type +msgid "Commission types" +msgstr "Tipi di provvigione" + +#. module: commission_oca +#: model:ir.module.category,name:commission_oca.module_category_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission +#: model:res.groups.privilege,name:commission_oca.res_groups_privilege_commission +msgid "Commissions" +msgstr "Provvigioni" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Azienda" + +#. module: commission_oca +#: model:ir.ui.menu,name:commission_oca.menu_commission_management +msgid "Configuration" +msgstr "Configurazione" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/wizards/commission_make_settle.py:0 +msgid "Created Settlements" +msgstr "Regolazioni create" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Creditore/Agente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Date" +msgstr "Data" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Date from month" +msgstr "Data dal mese" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Date month" +msgstr "Mese" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Abbandona" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:commission_oca.field_product_template__display_name +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Agente esterno" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Percentuale fissa" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Seguito da" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguito da (partner)" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icona Font Awesome es. fa-tasks" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission_oca.field_product_template__commission_free +msgid "Free of commission" +msgstr "Senza provvigione" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_from +msgid "From" +msgstr "Da" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "General information" +msgstr "Informazioni generali" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Ha un messaggio" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:commission_oca.field_product_template__id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "Icona" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icona per indicare un'attività eccezione." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se selezionata, nuovi messaggi richiedono attenzione." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "Segue" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Riga di liquidazione provvigione" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Make settlements" +msgstr "Crea liquidazioni" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_manager +msgid "Manager" +msgstr "Supervisore" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manuale" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "Margine (importo - costo)" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Errore di consegna messaggio" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Messaggi" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_mixin +msgid "Mixin model for applying to any object that wants to handle commissions" +msgstr "" +"Modello mixin da applicare a qualsiasi oggetto che voglia gestire le " +"provvigioni" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" +"Modello mixin per avere righe di provvigione agente in qualsiasi oggetto che " +"erediti dall'attuale" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensile" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Scadenza mia attività" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__name +msgid "Name" +msgstr "Nome" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Scadenza prossima attività" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Riepilogo prossima attività" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo prossima attività" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "No commission agents" +msgstr "Nessuna provvigione agente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero di azioni" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "Numero di errori" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Numero di messaggi che richiedono un'azione" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Numero di messaggi con errore di consegna" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Padre" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__percent +msgid "Percent" +msgstr "Percentuale" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_product_template +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__product_id +msgid "Product" +msgstr "Prodotto" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestrale" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Rates definition" +msgstr "Definizione aliquote" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Utente responsabile" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "Importo vendita/fattura" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Save" +msgstr "Salva" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__section_ids +msgid "Sections" +msgstr "Scaglioni" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"Seleziona l'importo imponibile su cui calcolare la percentuale:\n" +"* 'Importo vendita/fattura': la percentuale è calcolata dall'importo " +"inserito nell'ordine di vendita/fattura.\n" +"* 'Margine (importo - costo)': la percentuale è calcolata solo in base al " +"profitto, sottraendo all'importo il costo del prodotto." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"Selezionare il tipo di percentuale della provvigione:\n" +"* 'Percentuale fissa': tutte le provvigioni sono calcolate con una " +"percentuale fissa. Si può impostare la percentuale nel campo \"Percentuale " +"fissa\".\n" +"* 'Per sezioni': la percentuale varia per intervalli dell'importo. Si può " +"impostare gli intervalli nella sezione \"Definizione provvigioni\"." + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semestrale" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_agents_settlement +#: model:ir.ui.menu,name:commission_oca.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquida provvigioni" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Settle commissions" +msgstr "Liquida provvigioni" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Regolata" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Importo regolato" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_tree +msgid "Settled total" +msgstr "Totale regolato" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Settlement" +msgstr "Liquidazione" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo liquidazione" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "Analisi liquidazione" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Righe liquidazione" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Ricerca righe liquidazione" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement +msgid "Settlement period" +msgstr "Periodo liquidazione" + +#. module: commission_oca +#: model:ir.actions.report,name:commission_oca.action_report_settlement +msgid "Settlement report" +msgstr "Resoconto liquidazione" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Settlement search" +msgstr "Ricerca liquidazione" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Settlements" +msgstr "Liquidazioni" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Stato" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "" +"Campo tecnico per migliorare la UX quando non è installato il modulo " +"aggiuntivo commissioni." + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission.py:0 +msgid "The lower limit cannot be greater than upper one." +msgstr "Il limite inferiore non può essere più grande di quello superiore." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,help:commission_oca.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 "" +"Questa è la provvigione predefinita usata nelle vendite dove è assegnato " +"questo agente. Può essere cambiata su ogni operazione se necessario." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "This year" +msgstr "Quest'anno" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_to +msgid "To" +msgstr "A" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__total +msgid "Total" +msgstr "Totale" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__commission_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo di attività eccezione sul record." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__date_to +msgid "Up to" +msgstr "Fino a" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_user +msgid "User" +msgstr "Utente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__website_message_ids +msgid "Website Messages" +msgstr "Messaggi sito web" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__website_message_ids +msgid "Website communication history" +msgstr "Cronologia comunicazioni sito web" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Procedura guidata per la liquidazione delle provvigioni" + +#. module: commission_oca +#: model:ir.model.constraint,message:commission_oca.constraint_account_invoice_line_agent_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_commission_line_mixin_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_sale_order_line_agent_unique_agent +msgid "You can only add one time each agent." +msgstr "È possibile aggiungere ogni agente solo una volta." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "or" +msgstr "o" + +#~ msgid "SMS Delivery error" +#~ msgstr "Errore consegna SMS" + +#~ msgid "Group By" +#~ msgstr "Raggruppa per" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" + +#~ msgid "Main Attachment" +#~ msgstr "Allegato principale" + +#~ msgid "Gross Amount" +#~ msgstr "Importo lordo" + +#~ msgid "Net Amount" +#~ msgstr "Importo netto" diff --git a/commission_oca/i18n/ja.po b/commission_oca/i18n/ja.po new file mode 100644 index 0000000..ecba773 --- /dev/null +++ b/commission_oca/i18n/ja.po @@ -0,0 +1,831 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-06-22 00:27+0000\n" +"PO-Revision-Date: 2026-06-22 00:27+0000\n" +"Last-Translator: \n" +"Language-Team: \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" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "%s commission agents" +msgstr "コミッションエージェント %s 件" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(全エージェントの精算を行う場合は空のままにします)" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "1 commission agent" +msgstr "コミッションエージェント 1 件" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "From:" +msgstr "開始:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "To:" +msgstr "終了:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Total" +msgstr "合計" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "要アクション" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__active +msgid "Active" +msgstr "有効" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "活動" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "例外の活動を示す装飾" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "活動ステータス" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "活動タイプアイコン" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Agent" +msgstr "エージェント" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +msgid "Agent Partners" +msgstr "エージェント取引先" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Agent information" +msgstr "エージェント情報" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission_oca.action_agent_form +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_agent_ids +#: model:ir.ui.menu,name:commission_oca.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Agents" +msgstr "エージェント" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "エージェントとコミッション" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "請求明細に関連するエージェント/コミッション。" + +#. module: commission_oca +#: model:ir.module.category,description:commission_oca.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "コミッション関連の処理を可能にします。" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Amount settled" +msgstr "精算済金額" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "年次" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Archived" +msgstr "アーカイブ済" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "添付数" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__amount_base_type +msgid "Base" +msgstr "ベース" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "隔週" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__section +msgid "By sections" +msgstr "セクション別" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "編集可能" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "精算可能" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Cancel" +msgstr "キャンセル" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "取消済" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__agent +#: model:ir.model.fields,help:commission_oca.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "取引先が債権者またはエージェントの場合、このフィールドをチェックします。" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_free +msgid "Comm. free" +msgstr "コミッション対象外" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Commission" +msgstr "手数料" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "コミッション金額" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Commission lines" +msgstr "コミッション明細" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_section +msgid "Commission section" +msgstr "コミッションセクション" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission_type +msgid "Commission types" +msgstr "コミッションタイプ" + +#. module: commission_oca +#: model:ir.module.category,name:commission_oca.module_category_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission +#: model:res.groups.privilege,name:commission_oca.res_groups_privilege_commission +msgid "Commissions" +msgstr "コミッション" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__company_id +msgid "Company" +msgstr "会社" + +#. module: commission_oca +#: model:ir.ui.menu,name:commission_oca.menu_commission_management +msgid "Configuration" +msgstr "設定" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_res_partner +msgid "Contact" +msgstr "連絡先" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/wizards/commission_make_settle.py:0 +msgid "Created Settlements" +msgstr "作成された精算" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "作成日" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent +msgid "Creditor/Agent" +msgstr "債権者/エージェント" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "通貨" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Date" +msgstr "日付" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Date from month" +msgstr "開始日(月)" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Date month" +msgstr "日付(月)" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Discard" +msgstr "破棄" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:commission_oca.field_product_template__display_name +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "外部エージェント" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "固定パーセンテージ" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "フォロワー" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "フォロワー (取引先)" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Font awesomeのアイコン 例. fa-tasks" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission_oca.field_product_template__commission_free +msgid "Free of commission" +msgstr "コミッション対象外" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_from +msgid "From" +msgstr "from" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "General information" +msgstr "一般情報" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__has_message +msgid "Has Message" +msgstr "メッセージあり" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:commission_oca.field_product_template__id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "アイコン" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "例外活動を示すアイコン" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "チェックした場合は、新しいメッセージに注意が必要です。" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "有効にすると、一部のメッセージに配信エラーが発生します。" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "フォロー中" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "コミッション精算の明細" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Make settlements" +msgstr "精算を作成" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_manager +msgid "Manager" +msgstr "管理者" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "手動" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "マージン(金額 - 原価)" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "メッセージ配信エラー" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_ids +msgid "Messages" +msgstr "メッセージ" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_mixin +msgid "" +"Mixin model for applying to any object that wants to handle commissions" +msgstr "コミッションを処理する任意のオブジェクトに適用するMixinモデル" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "これを継承する任意のオブジェクトにコミッションエージェント明細を持たせるためのMixinモデル" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "月次" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "活動期限" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__name +msgid "Name" +msgstr "名称" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "次の活動期限" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "次の活動概要" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "次の活動タイプ" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "No commission agents" +msgstr "コミッションエージェントなし" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "アクション数" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "エラー数" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "対応が必要なメッセージ数" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "配信エラーが発生されたメッセージ数" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "親" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__percent +msgid "Percent" +msgstr "パーセント" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_product_template +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__product_id +msgid "Product" +msgstr "プロダクト" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "四半期毎" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Rates definition" +msgstr "レート定義" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "担当ユーザ" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_sms_error +msgid "SMS Delivery error" +msgstr "SMS配信エラー" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "販売/請求金額" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Save" +msgstr "保存" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__section_ids +msgid "Sections" +msgstr "セクション" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"パーセンテージを計算する基準額を選択します:\n" +"* '販売/請求金額': パーセンテージは販売オーダ/請求書に記載された金額から計算されます。\n" +"* 'マージン(金額 - 原価)': パーセンテージはプロダクトの原価を差し引いた利益のみから計算されます。" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "精算を行う対象期間の終了日を選択してください:" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"コミッションのパーセンテージタイプを選択します:\n" +"* '固定パーセンテージ': すべてのコミッションは固定パーセンテージで計算されます。「固定パーセンテージ」フィールドにパーセンテージを入力できます。\n" +"* 'セクション別': パーセンテージは金額の範囲に応じて変動します。「レート定義」セクションで範囲とパーセンテージを入力できます。" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "半期" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_agents_settlement +#: model:ir.ui.menu,name:commission_oca.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "コミッションを精算" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Settle commissions" +msgstr "コミッションを精算" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "精算済" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "精算済金額" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_tree +msgid "Settled total" +msgstr "精算済合計" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Settlement" +msgstr "精算" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "精算タイプ" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "精算分析" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "精算明細" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Settlement lines search" +msgstr "精算明細検索" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement +msgid "Settlement period" +msgstr "精算期間" + +#. module: commission_oca +#: model:ir.actions.report,name:commission_oca.action_report_settlement +msgid "Settlement report" +msgstr "精算レポート" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Settlement search" +msgstr "精算検索" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Settlements" +msgstr "精算" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__state +msgid "State" +msgstr "都道府県・州" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"活動に基づくステータス\n" +"期限超過:期限日がすでに過ぎています\n" +"今日: 活動日は今日です\n" +"予定: 将来の活動。" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "ユーザが精算を編集できるかどうかを判定するための技術フィールド" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "追加の *commission モジュールがインストールされていない場合にUXを向上させるための技術フィールド。" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission.py:0 +msgid "The lower limit cannot be greater than upper one." +msgstr "下限を上限より大きくすることはできません。" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase" +" order'..." +msgstr "精算のソース。例: '顧客請求書'、'販売オーダ'、'購買オーダ'..." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "This year" +msgstr "今年" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_to +msgid "To" +msgstr "終了日" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__total +msgid "Total" +msgstr "合計" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__commission_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent_type +msgid "Type" +msgstr "タイプ" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "レコード上の例外の活動タイプ。" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__date_to +msgid "Up to" +msgstr "まで" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_user +msgid "User" +msgstr "ユーザ" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__website_message_ids +msgid "Website Messages" +msgstr "ウェブサイトメッセージ" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__website_message_ids +msgid "Website communication history" +msgstr "ウェブサイト通信履歴" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "コミッションを精算するウィザード" + +#. module: commission_oca +#: model:ir.model.constraint,message:commission_oca.constraint_account_invoice_line_agent_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_commission_line_mixin_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_sale_order_line_agent_unique_agent +msgid "You can only add one time each agent." +msgstr "各エージェントは一度しか追加できません。" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "or" +msgstr "又は" diff --git a/commission_oca/i18n/pt.po b/commission_oca/i18n/pt.po new file mode 100644 index 0000000..886783e --- /dev/null +++ b/commission_oca/i18n/pt.po @@ -0,0 +1,859 @@ +# 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: 2024-06-10 17:37+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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "%s commission agents" +msgstr "%s agentes de comissões" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(manter vazio para comissionar todos os agentes)" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "1 commission agent" +msgstr "1 agente de comissões" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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ão é possível fazer liquidações automáticas. Instale qualquer \n" +" módulo extra de comissões para ter esse recurso " +"habilitado.\n" +" " + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "From:" +msgstr "De:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "To:" +msgstr "Para:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Total" +msgstr "Total" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "Ação Necessária" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__active +msgid "Active" +msgstr "Ativo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Atividades" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoração de Exceção da Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Estado da Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "Ícone do Tipo de Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Agent" +msgstr "Agente" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +msgid "Agent Partners" +msgstr "Parceiros Agentes" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Agent information" +msgstr "Informação dos Agentes" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission_oca.action_agent_form +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_agent_ids +#: model:ir.ui.menu,name:commission_oca.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Agents" +msgstr "Agentes" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Agentes e Comissões" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.module.category,description:commission_oca.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permite lidar com coisas relacionadas com comissões." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Amount settled" +msgstr "Montante liquidado" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Anual" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Archived" +msgstr "Arquivado" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Nº de Anexos" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__amount_base_type +msgid "Base" +msgstr "Base" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-semanal" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__section +msgid "By sections" +msgstr "Por secções" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Pode Editar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Pode Liquidar" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Cancelado" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__agent +#: model:ir.model.fields,help:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_free +msgid "Comm. free" +msgstr "Livre de Comissões" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Commission" +msgstr "Comissão" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Montante da Comissão" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Commission lines" +msgstr "Linhas de comissões" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_section +msgid "Commission section" +msgstr "Secção de comissões" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission_type +msgid "Commission types" +msgstr "Tipos de comissões" + +#. module: commission_oca +#: model:ir.module.category,name:commission_oca.module_category_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission +#: model:res.groups.privilege,name:commission_oca.res_groups_privilege_commission +msgid "Commissions" +msgstr "Comissões" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Empresa" + +#. module: commission_oca +#: model:ir.ui.menu,name:commission_oca.menu_commission_management +msgid "Configuration" +msgstr "Configuração" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/wizards/commission_make_settle.py:0 +msgid "Created Settlements" +msgstr "Comissionamentos Criados" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Credor/Agente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Date" +msgstr "Data" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Date from month" +msgstr "Data do mês" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Date month" +msgstr "Mês da data" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Descartar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:commission_oca.field_product_template__display_name +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__display_name +msgid "Display Name" +msgstr "Nome a Exibir" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Agente externo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Percentagem fixa" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Parceiros)" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Ícone font awesome, por exemplo fa-tasks" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission_oca.field_product_template__commission_free +msgid "Free of commission" +msgstr "Livre de comissão" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_from +msgid "From" +msgstr "De" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "General information" +msgstr "Informação geral" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Tem Mensagem" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:commission_oca.field_product_template__id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "Ícone" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Ícone para indicar uma exceção na atividade." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se marcada, algumas mensagens têm um erro de entrega." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "É Seguidor" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "Última Atualiz. por" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "Última Atualiz. em" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Linha de liquidação de comissões" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Make settlements" +msgstr "Fazer comissionamentos" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_manager +msgid "Manager" +msgstr "Gestor" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manual" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "Margem (Valor - Custo)" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Erro de Entrega de Mensagem" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Mensagens" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.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_oca +#: model:ir.model,name:commission_oca.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_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensalmente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Prazo Limite da Minha Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__name +msgid "Name" +msgstr "Nome" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Data Limite Para a Próxima Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Resumo da Próxima Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo da Atividade Seguinte" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "No commission agents" +msgstr "Sem agentes de comissões" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de Ações" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "Número de erros" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensagens que requerem uma ação" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Ascendente" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__percent +msgid "Percent" +msgstr "Percentagem" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_product_template +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__product_id +msgid "Product" +msgstr "Produto" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestralmente" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Rates definition" +msgstr "Definição de taxas de comissão" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Utilizador Responsável" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "Valor da Venda/Fatura" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Save" +msgstr "Guardar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__section_ids +msgid "Sections" +msgstr "Secções" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 cálculo da percentagem:\n" +"* 'Valor Venda/Fatura': o percentual é calculado a partir do valor colocado " +"na encomenda/fatura de venda.\n" +"* 'Margem (Valor - Custo)': o percentual é calculado apenas a partir do " +"lucro, retirado o custo do produto." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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 percentagem da comissão:\n" +"* 'Percentagem fixa': todas as comissões são calculadas com uma percentagem " +"fixa. Pode preencher o percentual no campo “Percentagem fixa”.\n" +"* 'Por seções': o percentual varia dependendo dos intervalos de valores. " +"Pode preencher intervalos e percentagens na seção “Definição de taxas”." + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semestral" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_agents_settlement +#: model:ir.ui.menu,name:commission_oca.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquidar Comissões" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Settle commissions" +msgstr "Executar comissões" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Comissionado" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Valor Liquidado" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_tree +msgid "Settled total" +msgstr "Total comissionado" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Settlement" +msgstr "Comissionamento" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de Liquidação" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "Análise de Comissionamentos" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Linhas de comissionamento" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Pesquisa de linhas de comissionamento" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement +msgid "Settlement period" +msgstr "Período de comissionamento" + +#. module: commission_oca +#: model:ir.actions.report,name:commission_oca.action_report_settlement +msgid "Settlement report" +msgstr "Relatório de comissionamentos" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Settlement search" +msgstr "Pesquisa de comissionamento" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Settlements" +msgstr "Comissionamentos" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Estado" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission.py:0 +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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "This year" +msgstr "Este ano" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_to +msgid "To" +msgstr "Até" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__total +msgid "Total" +msgstr "Total" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__commission_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de atividade de exceção registada." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__date_to +msgid "Up to" +msgstr "Até" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_user +msgid "User" +msgstr "Utilizador" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__website_message_ids +msgid "Website Messages" +msgstr "Mensagens do Website" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__website_message_ids +msgid "Website communication history" +msgstr "Histórico de comunicação do website" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Assistente para liquidação de comissões" + +#. module: commission_oca +#: model:ir.model.constraint,message:commission_oca.constraint_account_invoice_line_agent_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_commission_line_mixin_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_sale_order_line_agent_unique_agent +msgid "You can only add one time each agent." +msgstr "Só pode adicionar cada agente uma vez." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "or" +msgstr "ou" + +#~ msgid "SMS Delivery error" +#~ msgstr "Erro de Envio de SMS" + +#~ msgid "Group By" +#~ msgstr "Agrupar Por" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modif. em" + +#~ msgid "Main Attachment" +#~ msgstr "Anexo Principal" + +#~ msgid "Gross Amount" +#~ msgstr "Valor Bruto" + +#~ msgid "Net Amount" +#~ msgstr "Valor L??quido" diff --git a/commission_oca/i18n/pt_BR.po b/commission_oca/i18n/pt_BR.po new file mode 100644 index 0000000..8df3105 --- /dev/null +++ b/commission_oca/i18n/pt_BR.po @@ -0,0 +1,865 @@ +# 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: 2024-07-06 20:58+0000\n" +"Last-Translator: Rodrigo Sottomaior Macedo " +"\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 5.6.2\n" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "%s commission agents" +msgstr "%s representantes comissionados" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "1 commission agent" +msgstr "1 representante comissionado" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "From:" +msgstr " De:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "To:" +msgstr "Para:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Total" +msgstr "Total" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "A????o Necess??ria" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__active +msgid "Active" +msgstr "Ativo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Atividades" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decora????o de Exce????o de Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Estado da Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "??cone do Tipo de Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Agent" +msgstr "Representante" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +msgid "Agent Partners" +msgstr "Parceiros Representantes" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Agent information" +msgstr "Informa????es do Representante" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission_oca.action_agent_form +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_agent_ids +#: model:ir.ui.menu,name:commission_oca.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Agents" +msgstr "Representantes" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Representantes & Comiss??es" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Representantes/Comiss??es relacionadas ?? linha da fatura." + +#. module: commission_oca +#: model:ir.module.category,description:commission_oca.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Permite lidar com assuntos relacionados a comiss??es." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Amount settled" +msgstr "Valor liquidado" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Anual" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Archived" +msgstr "Arquivado" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Contagem de Anexos" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__amount_base_type +msgid "Base" +msgstr "Base" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "Bi-semanal" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__section +msgid "By sections" +msgstr "Por se????es" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Pode Editar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Pode Resolver" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "Cancelado" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__agent +#: model:ir.model.fields,help:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_free +msgid "Comm. free" +msgstr "Com. livre" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Commission" +msgstr "Comiss??o" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Valor da Comiss??o" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Commission lines" +msgstr "Linhas de comiss??o" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_section +msgid "Commission section" +msgstr "Se????o da comiss??o" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission_type +msgid "Commission types" +msgstr "Tipos de comiss??o" + +#. module: commission_oca +#: model:ir.module.category,name:commission_oca.module_category_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission +#: model:res.groups.privilege,name:commission_oca.res_groups_privilege_commission +msgid "Commissions" +msgstr "Comiss??es" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Empresa" + +#. module: commission_oca +#: model:ir.ui.menu,name:commission_oca.menu_commission_management +msgid "Configuration" +msgstr "Configura????o" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_res_partner +msgid "Contact" +msgstr "Contato" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/wizards/commission_make_settle.py:0 +msgid "Created Settlements" +msgstr "Liquida????es Criadas" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Credor/Representante" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Date" +msgstr "Data" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Date from month" +msgstr "Data do m??s" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Date month" +msgstr "Data m??s" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Discartar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:commission_oca.field_product_template__display_name +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__display_name +msgid "Display Name" +msgstr "Nome Exibi????o" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Representante Externo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Percentual Fixo" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Parceiros)" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "??cone Fonte awesome e.x fa-tasks" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission_oca.field_product_template__commission_free +msgid "Free of commission" +msgstr "Livre de comiss??o" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_from +msgid "From" +msgstr "De" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "General information" +msgstr "Informa????es Gerais" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Tem mensagem" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:commission_oca.field_product_template__id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "??cone" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "??cone para indicar uma atividade de exce????o." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se marcado, algumas mensagens tem erro de entrega." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "?? seguidor" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "??ltima Atualiza????o por" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "??ltima Atualiza????o em" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Linha de liquida????o da comiss??o" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Make settlements" +msgstr "Liquidar" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_manager +msgid "Manager" +msgstr "Gerente" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manual" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "Margem (Valor - Custo)" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Erro de entrega de Mensagem" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Mensagens" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.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_oca +#: model:ir.model,name:commission_oca.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_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Mensal" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Prazo da minha Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__name +msgid "Name" +msgstr "Nome" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Prazo para Pr??xima Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Resumo da Pr??xima Atividade" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo da Pr??xima Atividade" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "No commission agents" +msgstr "Sem representantes comissionados" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "N??mero de A????es" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "N??mero de erros" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "N??mero de mensagens que exigem a????o" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Superior" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__percent +msgid "Percent" +msgstr "Percentual" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_product_template +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__product_id +msgid "Product" +msgstr "Produto" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Trimestral" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Rates definition" +msgstr "Defini????o de taxas" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Usu??rio Respons??vel" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "Valor Venda/Fatura" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Save" +msgstr "Salvar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__section_ids +msgid "Sections" +msgstr "Se????es" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Semestral" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_agents_settlement +#: model:ir.ui.menu,name:commission_oca.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Liquidar Comiss??es" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Settle commissions" +msgstr "Liquidar Comiss??es" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Liquidado" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Valor Liquidado" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_tree +msgid "Settled total" +msgstr "Total Liquidado" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Settlement" +msgstr "Liquida????o" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Tipo de Liquida????o" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "An??lise de Liquida????o" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Linhas da Liquida????o" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Pesquisa linhas de liquida????o" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement +msgid "Settlement period" +msgstr "Per??odo de Liquida????o" + +#. module: commission_oca +#: model:ir.actions.report,name:commission_oca.action_report_settlement +msgid "Settlement report" +msgstr "Relat??rio de Liquida????o" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Settlement search" +msgstr "Pesquisa Liquida????o" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Settlements" +msgstr "Liquida????es" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Situa????o" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#. odoo-python +#: code:addons/commission_oca/models/commission.py:0 +msgid "The lower limit cannot be greater than upper one." +msgstr "O limite inferior n??o pode ser maior que o superior." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,help:commission_oca.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_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "This year" +msgstr "Este Ano" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_to +msgid "To" +msgstr "Para" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__total +msgid "Total" +msgstr "Total" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__commission_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent_type +msgid "Type" +msgstr "Tipo" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de atividade de exce????o registrada." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__date_to +msgid "Up to" +msgstr "At??" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_user +msgid "User" +msgstr "Usu??rio" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__website_message_ids +msgid "Website Messages" +msgstr "Mensagens do Site" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__website_message_ids +msgid "Website communication history" +msgstr "Hist??rico de comunica????o do Site" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Assistente para liquida????o de comiss??es" + +#. module: commission_oca +#: model:ir.model.constraint,message:commission_oca.constraint_account_invoice_line_agent_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_commission_line_mixin_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_sale_order_line_agent_unique_agent +msgid "You can only add one time each agent." +msgstr "Voc?? s?? pode adicionar uma vez cada representante." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "or" +msgstr "ou" + +#~ msgid "SMS Delivery error" +#~ msgstr "Erro de entrega de SMS" + +#~ msgid "Group By" +#~ msgstr "Agrupar por" + +#~ msgid "Last Modified on" +#~ msgstr "??ltima Modifica????o em" + +#~ msgid "Main Attachment" +#~ msgstr "Anexo Principal" + +#~ msgid "Gross Amount" +#~ msgstr "Valor Bruto" + +#~ msgid "Net Amount" +#~ msgstr "Valor L??quido" diff --git a/commission_oca/i18n/tr.po b/commission_oca/i18n/tr.po new file mode 100644 index 0000000..93a1436 --- /dev/null +++ b/commission_oca/i18n/tr.po @@ -0,0 +1,845 @@ +# 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" +"PO-Revision-Date: 2025-07-22 21:00+0000\n" +"Last-Translator: Ediz Duman \n" +"Language-Team: none\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "%s commission agents" +msgstr "%s komisyon temsilcisi" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "(keep empty for making the settlement of all agents)" +msgstr "(tüm temsilcilerin anlaşmasını yapması için boş bırakın)" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "1 commission agent" +msgstr "1 komisyon temsilcisi" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.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" +" Otomatik mutabakat yapılamaz. Bu özelliği " +"etkinleştirmek için\n" +" ekstra komisyon modüllerini yükleyin.\n" +" " + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "From:" +msgstr "Tarafından:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "To:" +msgstr "'a:" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Total" +msgstr "Toplam" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction +msgid "Action Needed" +msgstr "Aksiyon gerekli" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__active +msgid "Active" +msgstr "Aktif" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_ids +msgid "Activities" +msgstr "Aktiviteler" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Aktivite İstisna Dekorasyonu" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_state +msgid "Activity State" +msgstr "Aktivite Durumu" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_icon +msgid "Activity Type Icon" +msgstr "Faaliyet Türü Simgesi" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__agent_id +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Agent" +msgstr "Temsilci" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +msgid "Agent Partners" +msgstr "Temsilci İş Ortakları" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Agent information" +msgstr "Temsilci Bilgisi" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.actions.act_window,name:commission_oca.action_agent_form +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_agent_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_agent_ids +#: model:ir.ui.menu,name:commission_oca.menu_agent_form +#: model_terms:ir.ui.view,arch_db:commission_oca.res_partner_view_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Agents" +msgstr "Temsilciler" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__agent_ids +msgid "Agents & commissions" +msgstr "Temsilciler ve Komisyonlar" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_mixin__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Fatura satırıyla ilgili temsilciler/komisyonlar." + +#. module: commission_oca +#: model:ir.module.category,description:commission_oca.module_category_commission +msgid "Allows to handle commission related stuff." +msgstr "Komisyonla ilgili işlemlerin yapılmasını sağlar." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Amount settled" +msgstr "Mutabakat Miktar" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__annual +msgid "Annual" +msgstr "Yıllık" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Archived" +msgstr "Arşivlenen" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_attachment_count +msgid "Attachment Count" +msgstr "Ek Sayısı" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__amount_base_type +msgid "Base" +msgstr "Baz" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__biweekly +msgid "Bi-weekly" +msgstr "İki Haftalık" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__section +msgid "By sections" +msgstr "Bölümleme" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__can_edit +msgid "Can Edit" +msgstr "Düzenleyebilir" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__can_settle +msgid "Can Settle" +msgstr "Mutabakat Yapabilir" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Cancel" +msgstr "İptal" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__cancel +msgid "Canceled" +msgstr "İptal Edilmiş" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__agent +#: model:ir.model.fields,help:commission_oca.field_res_users__agent +msgid "Check this field if the partner is a creditor or an agent." +msgstr "İş ortağı alacaklı ya da temsilci ise bu alanı işaretleyin." + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_free +msgid "Comm. free" +msgstr "Komisyonsuz" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__commission_status +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,field_description:commission_oca.field_res_users__commission_id +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Commission" +msgstr "Komisyon" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__amount +msgid "Commission Amount" +msgstr "Komisyon Miktarı" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Commission lines" +msgstr "Komisyon Satırları" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_section +msgid "Commission section" +msgstr "Komisyon Bölümü" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission_type +msgid "Commission types" +msgstr "Komisyon Türleri" + +#. module: commission_oca +#: model:ir.module.category,name:commission_oca.module_category_commission +#: model:ir.ui.menu,name:commission_oca.menu_commission +#: model:res.groups.privilege,name:commission_oca.res_groups_privilege_commission +msgid "Commissions" +msgstr "Komisyonlar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__company_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__company_id +msgid "Company" +msgstr "Şirket" + +#. module: commission_oca +#: model:ir.ui.menu,name:commission_oca.menu_commission_management +msgid "Configuration" +msgstr "Yapılandırma" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_res_partner +msgid "Contact" +msgstr "Kontak" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/wizards/commission_make_settle.py:0 +msgid "Created Settlements" +msgstr "Mutabakat Oluştur" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__create_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__create_date +msgid "Created on" +msgstr "Oluşturuldu" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent +msgid "Creditor/Agent" +msgstr "Alacaklı/Temsilci" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__currency_id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__currency_id +msgid "Currency" +msgstr "Para Birimi" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__date +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +msgid "Date" +msgstr "Tarih" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Date from month" +msgstr "Aydan tarih" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Date month" +msgstr "Ay Tarih" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Discard" +msgstr "Vazgeç" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__display_name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__display_name +#: model:ir.model.fields,field_description:commission_oca.field_product_template__display_name +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__display_name +msgid "Display Name" +msgstr "Görünen Adı" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__agent_type__agent +msgid "External agent" +msgstr "Harici Temsilci" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__fix_qty +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__commission_type__fixed +msgid "Fixed percentage" +msgstr "Sabit Yüzde" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_follower_ids +msgid "Followers" +msgstr "Takipçiler" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Takipçiler(İş Ortakları)" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Font awesome simgesi örn. fa-tasks" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_product_product__commission_free +#: model:ir.model.fields,field_description:commission_oca.field_product_template__commission_free +msgid "Free of commission" +msgstr "Komisyonsuz" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_from +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_from +msgid "From" +msgstr "Başlanma" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "General information" +msgstr "Genel Bilgiler" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__has_message +msgid "Has Message" +msgstr "Mesajı Var" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__id +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__id +#: model:ir.model.fields,field_description:commission_oca.field_product_template__id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon" +msgstr "Simge" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "İstisna bir faaliyeti belirtmek için simge." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "İşaretliyse yeni mesajlara dikkat etmeniz gerekir." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "İşaretlenirse, bazı mesajların teslim hatası var." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_is_follower +msgid "Is Follower" +msgstr "Takipçi mi" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_uid +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_uid +msgid "Last Updated by" +msgstr "Son Güncelleyen" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__write_date +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__write_date +msgid "Last Updated on" +msgstr "Son Güncelleme" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement_line +msgid "Line of a commission settlement" +msgstr "Komisyon anlaşması satırı" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Make settlements" +msgstr "Mutabakat Yap" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_manager +msgid "Manager" +msgstr "Yönetici" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__settlement_type__manual +msgid "Manual" +msgstr "Manuel" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__net_amount +msgid "Margin (Amount - Cost)" +msgstr "Kar Marjı (Tutar - Maliyet)" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error +msgid "Message Delivery error" +msgstr "Mesaj Teslim Hatası" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_ids +msgid "Messages" +msgstr "Mesajlar" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_mixin +msgid "Mixin model for applying to any object that wants to handle commissions" +msgstr "" +"Komisyonları işlemek isteyen herhangi bir nesneye uygulamak için mixin modeli" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_line_mixin +msgid "" +"Mixin model for having commission agent lines in any object inheriting from " +"this one" +msgstr "" +"Bunu kullanan herhangi bir nesnede komisyon temsilcisi satırlarına sahip " +"olmak için mixin modeli" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__monthly +msgid "Monthly" +msgstr "Aylık" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Son Etkinlik Tarihi" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__name +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__name +msgid "Name" +msgstr "Adı" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Sonraki Etkinliğin Son Günü" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_summary +msgid "Next Activity Summary" +msgstr "Sonraki Etkinliğin Özeti" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_type_id +msgid "Next Activity Type" +msgstr "Sonraki Etkinliğin Türü" + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission_mixin.py:0 +msgid "No commission agents" +msgstr "Komisyon temsilcisi yok" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of Actions" +msgstr "Aksiyon Sayısı" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of errors" +msgstr "Hata Sayısı" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Aksiyon Gerektiren Mesaj Sayısı" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Teslim Hatası Olan Mesaj Sayısı" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_line_mixin__object_id +msgid "Parent" +msgstr "Üst" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__percent +msgid "Percent" +msgstr "Yüzde" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_product_template +#: model:ir.model.fields,field_description:commission_oca.field_commission_mixin__product_id +msgid "Product" +msgstr "Ürün" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__quaterly +msgid "Quarterly" +msgstr "Üç Aylık" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.commission_form +msgid "Rates definition" +msgstr "Tutar Oranları Tanımlama" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__activity_user_id +msgid "Responsible User" +msgstr "Sorumlu Kullanıcı" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission__amount_base_type__gross_amount +msgid "Sale/Invoice Amount" +msgstr "Satış/Fatura Miktarı" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_commission_mixin_agent_only +msgid "Save" +msgstr "Kaydet" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__section_ids +msgid "Sections" +msgstr "Bölümler" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"Yüzdeyi hesaplamak için baz tutarı seçin:\n" +"* 'Satış / Fatura Tutarı': yüzde, satış siparişi / faturaya konulan tutardan " +"hesaplanır.\n" +"* 'Marj (Tutar - Maliyet)': yüzde, üründen maliyet alınarak yalnızca kârdan " +"hesaplanır." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Select the date up to which you want to make the settlements:" +msgstr "Anlaşmayı yapmak istediğiniz tarihi seçin:" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"Komisyonun oran türünü seçin:\n" +"* 'Sabit Oran': Tüm komisyonlar sabit oranla hesaplanır. Oranı \\\"Sabit " +"oran\\\" alanına girebilirsiniz.\n" +"\"* 'Bölümlere göre': Oran miktar aralıklarına bağlı olarak değişir. Miktar " +"aralıklarını ve oranları \\\"Oran tanımı\\\" alanına girebilirsiniz ." + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__res_partner__settlement__semi +msgid "Semi-annual" +msgstr "Altı Aylık" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_agents_settlement +#: model:ir.ui.menu,name:commission_oca.menu_commission_make_settle +msgid "Settle Commissions" +msgstr "Komisyonları Ayarlayın" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "Settle commissions" +msgstr "Komisyonları ayarlayın" + +#. module: commission_oca +#: model:ir.model.fields.selection,name:commission_oca.selection__commission_settlement__state__settled +msgid "Settled" +msgstr "Mutabakat Yapıldı" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settled_amount +msgid "Settled Amount" +msgstr "Mutabakat Miktar" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_tree +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_tree +msgid "Settled total" +msgstr "Mutabakat Toplam" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_settlement +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement_line__settlement_id +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement_ids +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement_ids +#: model_terms:ir.ui.view,arch_db:commission_oca.report_settlement_document +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_form +msgid "Settlement" +msgstr "Mutabakat" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__settlement_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__settlement_type +msgid "Settlement Type" +msgstr "Mutabakat Türü" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_graph +msgid "Settlement analysis" +msgstr "Mutabakat Analizi" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__line_ids +msgid "Settlement lines" +msgstr "Mutabakat Satırları" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +msgid "Settlement lines search" +msgstr "Mutabakat satırları ara" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__settlement +#: model:ir.model.fields,field_description:commission_oca.field_res_users__settlement +msgid "Settlement period" +msgstr "Mutabakat Dönemi" + +#. module: commission_oca +#: model:ir.actions.report,name:commission_oca.action_report_settlement +msgid "Settlement report" +msgstr "Mutabakat Raporu" + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "Settlement search" +msgstr "Mutabakat ara" + +#. module: commission_oca +#: model:ir.actions.act_window,name:commission_oca.action_commission_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement +#: model:ir.ui.menu,name:commission_oca.menu_settlement_parent +#: model_terms:ir.ui.view,arch_db:commission_oca.view_partner_form_agent +msgid "Settlements" +msgstr "Mutabakatlar" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__state +msgid "State" +msgstr "Durum" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.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 "" +"Aktivitelere göre durumlar\n" +"Gecikmiş: Teslim tarihi çoktan geçmiş\n" +"Bugün: Etkinlik tarihi bugün\n" +"Planlı: Gelecekteki etkinlikler." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__can_edit +msgid "Technical field for determining if user can edit settlements" +msgstr "" +"Kullanıcının anlaşmaları düzenleyip düzenlememesini belirleyen teknik alan" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_make_settle__can_settle +msgid "" +"Technical field for improving UX when no extra *commission is installed." +msgstr "Ekstra komisyon olmadığında UX'i geliştirmek için teknik alan." + +#. module: commission_oca +#. odoo-python +#: code:addons/commission_oca/models/commission.py:0 +msgid "The lower limit cannot be greater than upper one." +msgstr "Alt sınır üst sınırdan büyük olamaz." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__settlement_type +msgid "" +"The source of the settlement, e.g. 'Sales invoice', 'Sales order', 'Purchase " +"order'..." +msgstr "" +"Anlaşmanın kaynağı, ör. 'Satış faturası', 'Satış siparişi', 'Alış " +"siparişi'..." + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_res_partner__commission_id +#: model:ir.model.fields,help:commission_oca.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 "" +"Satışa bu temsilci atandığında kullanılacak varsayılan komisyon. İstenilirse " +"her işlemde değiştirilebilir." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_line_search +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settlement_search +msgid "This year" +msgstr "Bu Yıl" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_section__amount_to +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__date_to +msgid "To" +msgstr "Bitiş" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__total +msgid "Total" +msgstr "Toplam" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission__commission_type +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_partner__agent_type +#: model:ir.model.fields,field_description:commission_oca.field_res_users__agent_type +msgid "Type" +msgstr "Türü" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Kayıttaki istisna etkinliğinin türü." + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_make_settle__date_to +msgid "Up to" +msgstr "'a Kadar" + +#. module: commission_oca +#: model:res.groups,name:commission_oca.group_commission_user +msgid "User" +msgstr "Kullanıcı" + +#. module: commission_oca +#: model:ir.model.fields,field_description:commission_oca.field_commission_settlement__website_message_ids +msgid "Website Messages" +msgstr "Website Mesajları" + +#. module: commission_oca +#: model:ir.model.fields,help:commission_oca.field_commission_settlement__website_message_ids +msgid "Website communication history" +msgstr "Website iletişim geçmişi" + +#. module: commission_oca +#: model:ir.model,name:commission_oca.model_commission_make_settle +msgid "Wizard for settling commissions" +msgstr "Komisyonları ayarlamak için sihirbaz" + +#. module: commission_oca +#: model:ir.model.constraint,message:commission_oca.constraint_account_invoice_line_agent_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_commission_line_mixin_unique_agent +#: model:ir.model.constraint,message:commission_oca.constraint_sale_order_line_agent_unique_agent +msgid "You can only add one time each agent." +msgstr "Her temsilciye tek seferde bir kez ekleme yapabilirsiniz." + +#. module: commission_oca +#: model_terms:ir.ui.view,arch_db:commission_oca.view_settled_wizard +msgid "or" +msgstr "veya" + +#~ msgid "Group By" +#~ msgstr "Grupla" diff --git a/commission_oca/migrations/19.0.2.0.0/pre-migrate.py b/commission_oca/migrations/19.0.2.0.0/pre-migrate.py new file mode 100644 index 0000000..ce1520a --- /dev/null +++ b/commission_oca/migrations/19.0.2.0.0/pre-migrate.py @@ -0,0 +1,16 @@ +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_fields( + env, + [ + ( + "res.partner", + env["res.partner"]._table, + "agent_ids", + "commission_agent_ids", + ), + ], + ) diff --git a/commission_oca/models/__init__.py b/commission_oca/models/__init__.py new file mode 100644 index 0000000..890d9a2 --- /dev/null +++ b/commission_oca/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_oca/models/commission.py b/commission_oca/models/commission.py new file mode 100644 index 0000000..225249c --- /dev/null +++ b/commission_oca/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( + self.env._("The lower limit cannot be greater than upper one.") + ) diff --git a/commission_oca/models/commission_mixin.py b/commission_oca/models/commission_mixin.py new file mode 100644 index 0000000..3f59f13 --- /dev/null +++ b/commission_oca/models/commission_mixin.py @@ -0,0 +1,161 @@ +# 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.commission_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 = self.env._("Comm. free") + elif len(line.agent_ids) == 0: + line.commission_status = self.env._("No commission agents") + elif len(line.agent_ids) == 1: + line.commission_status = self.env._("1 commission agent") + else: + line.commission_status = self.env._( + "%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_oca.view_commission_mixin_agent_only") + return { + "name": self.env._("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" + + _unique_agent = models.Constraint( + "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_oca/models/commission_settlement.py b/commission_oca/models/commission_settlement.py new file mode 100644 index 0000000..6337bb7 --- /dev/null +++ b/commission_oca/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_oca/models/product_template.py b/commission_oca/models/product_template.py new file mode 100644 index 0000000..8b31bd2 --- /dev/null +++ b/commission_oca/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_oca/models/res_partner.py b/commission_oca/models/res_partner.py new file mode 100644 index 0000000..374d3f3 --- /dev/null +++ b/commission_oca/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" + + commission_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("commission_agent_ids") + return res diff --git a/commission_oca/pyproject.toml b/commission_oca/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/commission_oca/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/commission_oca/readme/CONFIGURE.md b/commission_oca/readme/CONFIGURE.md new file mode 100644 index 0000000..b212741 --- /dev/null +++ b/commission_oca/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_oca/readme/CONTRIBUTORS.md b/commission_oca/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..52ccc86 --- /dev/null +++ b/commission_oca/readme/CONTRIBUTORS.md @@ -0,0 +1,20 @@ +- 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 + - Pablo Cortés +- Moaad Bourhim diff --git a/commission_oca/readme/DESCRIPTION.md b/commission_oca/readme/DESCRIPTION.md new file mode 100644 index 0000000..d1293f7 --- /dev/null +++ b/commission_oca/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_oca/readme/ROADMAP.md b/commission_oca/readme/ROADMAP.md new file mode 100644 index 0000000..0b7938c --- /dev/null +++ b/commission_oca/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_oca/readme/USAGE.md b/commission_oca/readme/USAGE.md new file mode 100644 index 0000000..b53aca2 --- /dev/null +++ b/commission_oca/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_oca/reports/commission_settlement_report.xml b/commission_oca/reports/commission_settlement_report.xml new file mode 100644 index 0000000..0428db6 --- /dev/null +++ b/commission_oca/reports/commission_settlement_report.xml @@ -0,0 +1,12 @@ + + + + Settlement report + commission.settlement + qweb-pdf + commission_oca.report_settlement + commission_oca.report_settlement + + report + + diff --git a/commission_oca/reports/report_settlement_templates.xml b/commission_oca/reports/report_settlement_templates.xml new file mode 100644 index 0000000..a0e8ab6 --- /dev/null +++ b/commission_oca/reports/report_settlement_templates.xml @@ -0,0 +1,84 @@ + + + + + + diff --git a/commission_oca/security/commission_security.xml b/commission_oca/security/commission_security.xml new file mode 100644 index 0000000..fbca214 --- /dev/null +++ b/commission_oca/security/commission_security.xml @@ -0,0 +1,54 @@ + + + + + + Commissions + Allows to handle commission related stuff. + 8 + + + Commissions + + 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_oca/security/ir.model.access.csv b/commission_oca/security/ir.model.access.csv new file mode 100644 index 0000000..575cbe6 --- /dev/null +++ b/commission_oca/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_oca/static/description/icon.png b/commission_oca/static/description/icon.png new file mode 100644 index 0000000..182da2e Binary files /dev/null and b/commission_oca/static/description/icon.png differ diff --git a/commission_oca/static/description/icon.svg b/commission_oca/static/description/icon.svg new file mode 100644 index 0000000..a0c863e --- /dev/null +++ b/commission_oca/static/description/icon.svg @@ -0,0 +1,92 @@ + + diff --git a/commission_oca/static/description/index.html b/commission_oca/static/description/index.html new file mode 100644 index 0000000..8eed5e6 --- /dev/null +++ b/commission_oca/static/description/index.html @@ -0,0 +1,548 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Commissions OCA

+ +

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_oca/tests/__init__.py b/commission_oca/tests/__init__.py new file mode 100644 index 0000000..a6e0c2e --- /dev/null +++ b/commission_oca/tests/__init__.py @@ -0,0 +1 @@ +from . import test_commission diff --git a/commission_oca/tests/test_commission.py b/commission_oca/tests/test_commission.py new file mode 100644 index 0000000..18ec760 --- /dev/null +++ b/commission_oca/tests/test_commission.py @@ -0,0 +1,197 @@ +# 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.res_partner_model.create({"name": "Agent for tests"}) + 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.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", + "commission_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.commission_agent_ids.ids), set(partner.commission_agent_ids.ids) + ) + # Write + partner.commission_agent_ids = [(4, self.agent_annual.id)] + self.assertEqual( + set(child.commission_agent_ids.ids), set(partner.commission_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_oca/views/commission_mixin_views.xml b/commission_oca/views/commission_mixin_views.xml new file mode 100644 index 0000000..3d12332 --- /dev/null +++ b/commission_oca/views/commission_mixin_views.xml @@ -0,0 +1,14 @@ + + + commission.mixin + +
+ +
+
+ +
+
+
diff --git a/commission_oca/views/commission_settlement_views.xml b/commission_oca/views/commission_settlement_views.xml new file mode 100644 index 0000000..ef6ea77 --- /dev/null +++ b/commission_oca/views/commission_settlement_views.xml @@ -0,0 +1,187 @@ + + + + Settlements list + 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 + list,form + + + +
diff --git a/commission_oca/views/commission_views.xml b/commission_oca/views/commission_views.xml new file mode 100644 index 0000000..3aadc21 --- /dev/null +++ b/commission_oca/views/commission_views.xml @@ -0,0 +1,74 @@ + + + + commissions list + commission + + + + + + + + + + + commissions form + commission + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + Commission types + ir.actions.act_window + commission + form,list + + +
diff --git a/commission_oca/views/product_template_views.xml b/commission_oca/views/product_template_views.xml new file mode 100644 index 0000000..53665ff --- /dev/null +++ b/commission_oca/views/product_template_views.xml @@ -0,0 +1,16 @@ + + + + product.template.common.form.commission + product.template + + + + + + diff --git a/commission_oca/views/res_partner_views.xml b/commission_oca/views/res_partner_views.xml new file mode 100644 index 0000000..a1be635 --- /dev/null +++ b/commission_oca/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,list + {"search_default_agent": 1, 'default_agent': 1} + + + + diff --git a/commission_oca/wizards/__init__.py b/commission_oca/wizards/__init__.py new file mode 100644 index 0000000..aca3513 --- /dev/null +++ b/commission_oca/wizards/__init__.py @@ -0,0 +1 @@ +from . import commission_make_settle diff --git a/commission_oca/wizards/commission_make_settle.py b/commission_oca/wizards/commission_make_settle.py new file mode 100644 index 0000000..7da453c --- /dev/null +++ b/commission_oca/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 dateutil.relativedelta import relativedelta + +from odoo import api, fields, models +from odoo.tools import groupby + + +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": self.env._("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_oca/wizards/commission_make_settle_views.xml b/commission_oca/wizards/commission_make_settle_views.xml new file mode 100644 index 0000000..d2da374 --- /dev/null +++ b/commission_oca/wizards/commission_make_settle_views.xml @@ -0,0 +1,65 @@ + + + + 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/sale_commission_oca/README.rst b/sale_commission_oca/README.rst new file mode 100644 index 0000000..594e9a1 --- /dev/null +++ b/sale_commission_oca/README.rst @@ -0,0 +1,139 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +===================== +Sales commissions OCA +===================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:f58b97a3becc65ff96e840900785eb67655c324ca4ac0e369da925bc970a0393 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/license-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/19.0/sale_commission_oca + :alt: OCA/commission +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/commission-19-0/commission-19-0-sale_commission_oca + :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=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds the function to calculate commissions in sales orders. + +Commission lines assigned to sales order lines will be passed to the +corresponding invoice lines. + +Creating settlements directly from the sales order lines is outside the +scope of this module. + +This module depends on the account_commission module. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +For adding commissions on sales orders: + +1. Go to *Sales > Orders > Quotations*. +2. Edit or create a new record. +3. When you have selected a partner, each new quotation line you add + will have the agents and commissions set at customer level. +4. You can add, modify or delete these agents discretely clicking on the + icon with several persons represented, next to the "Commission" field + in the list. This icon will be available only if the line hasn't been + invoiced yet. +5. If you have configured your system for editing lines in a popup + window, agents will appear also in this window. +6. You have a button "Regenerate agents" on the bottom of the page + "Order Lines" for forcing a recompute of all agents from the partner + setup. This is needed for example when you have changed the partner + on the quotation having already inserted lines. + +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 +- Mina Samir < +- `Tecnativa `__: + + - Pedro M. Baeza + - Manuel Calero + +- `Quartile `__: + + - Aung Ko Ko Lin + - Yoshi Tashiro + +- `Studio73 `__: + + - Ethan Hildick + - Pablo Cortés + +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/sale_commission_oca/__init__.py b/sale_commission_oca/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/sale_commission_oca/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/sale_commission_oca/__manifest__.py b/sale_commission_oca/__manifest__.py new file mode 100644 index 0000000..3df3ca3 --- /dev/null +++ b/sale_commission_oca/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2020 Tecnativa - Manuel Calero +# Copyright 2022 Quartile +# Copyright 2014-2022 Tecnativa - Pedro M. Baeza +{ + "name": "Sales commissions OCA", + "version": "19.0.1.0.1", + "author": "Tecnativa, Odoo Community Association (OCA)", + "category": "Sales Management", + "license": "AGPL-3", + "depends": [ + "sale", + "account_commission_oca", + ], + "website": "https://github.com/OCA/commission", + "maintainers": ["pedrobaeza"], + "data": [ + "security/ir.model.access.csv", + "views/sale_order_view.xml", + ], + "installable": True, +} diff --git a/sale_commission_oca/i18n/es.po b/sale_commission_oca/i18n/es.po new file mode 100644 index 0000000..4ca93f7 --- /dev/null +++ b/sale_commission_oca/i18n/es.po @@ -0,0 +1,133 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-04-01 09:06+0000\n" +"Last-Translator: Jaime Ruiz Maccione \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 5.10.2\n" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__agent_id +msgid "Agent" +msgstr "Agente" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line_agent +msgid "Agent detail of commission line in order lines" +msgstr "Detalle de agente de línea de comisión en líneas de pedido" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__partner_agent_ids +msgid "Agents" +msgstr "Agentes" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents & commissions" +msgstr "Agentes & comisiones" + +#. module: sale_commission_oca +#: model:ir.model.fields,help:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agentes/Comisiones relacionadas con la l??nea de factura." + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_free +msgid "Comm. free" +msgstr "Libre de comisión" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_status +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__commission_id +msgid "Commission" +msgstr "Comisión" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__amount +msgid "Commission Amount" +msgstr "Importe de la Comisión" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__commission_total +msgid "Commissions" +msgstr "Comisiones" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__currency_id +msgid "Currency" +msgstr "Divisa" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__display_name +msgid "Display Name" +msgstr "Nombre a Mostrar" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Edit agents" +msgstr "Editar agentes" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__id +msgid "ID" +msgstr "ID (identificaci??n)" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent____last_update +msgid "Last Modified on" +msgstr "??ltima Modificaci??n el" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_uid +msgid "Last Updated by" +msgstr "Actualizado por ??ltima vez por" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_date +msgid "Last Updated on" +msgstr "??ltima Actualizaci??n el" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__object_id +msgid "Parent" +msgstr "Parental" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__product_id +msgid "Product" +msgstr "Producto" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Regenerate agents" +msgstr "Regenerar agentes" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order +msgid "Sales Order" +msgstr "??rdenes de Venta" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line +msgid "Sales Order Line" +msgstr "L??nea de Orden de Venta" diff --git a/sale_commission_oca/i18n/it.po b/sale_commission_oca/i18n/it.po new file mode 100644 index 0000000..cde18a2 --- /dev/null +++ b/sale_commission_oca/i18n/it.po @@ -0,0 +1,133 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-06-30 10:25+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__agent_id +msgid "Agent" +msgstr "Agente" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line_agent +msgid "Agent detail of commission line in order lines" +msgstr "Dettaglio riga provvigione agente nelle righe ordine" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__partner_agent_ids +msgid "Agents" +msgstr "Agenti" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents & commissions" +msgstr "Agenti e provvigioni" + +#. module: sale_commission_oca +#: model:ir.model.fields,help:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agenti/provvigioni collegati alla riga fattura." + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_free +msgid "Comm. free" +msgstr "Senza provvigione" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_status +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__commission_id +msgid "Commission" +msgstr "Provvigione" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__amount +msgid "Commission Amount" +msgstr "Importo provvigione" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__commission_total +msgid "Commissions" +msgstr "Provvigioni" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Edit agents" +msgstr "Modifica agenti" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__id +msgid "ID" +msgstr "ID" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__object_id +msgid "Parent" +msgstr "Genitore" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__product_id +msgid "Product" +msgstr "Prodotto" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Regenerate agents" +msgstr "Rigenera agenti" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order +msgid "Sales Order" +msgstr "Ordine di vendita" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line +msgid "Sales Order Line" +msgstr "Riga ordine di vendita" diff --git a/sale_commission_oca/i18n/ja.po b/sale_commission_oca/i18n/ja.po new file mode 100644 index 0000000..2485a8d --- /dev/null +++ b/sale_commission_oca/i18n/ja.po @@ -0,0 +1,132 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-06-22 00:27+0000\n" +"PO-Revision-Date: 2026-06-22 00:27+0000\n" +"Last-Translator: \n" +"Language-Team: \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" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__agent_id +msgid "Agent" +msgstr "エージェント" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line_agent +msgid "Agent detail of commission line in order lines" +msgstr "オーダ明細におけるコミッション明細のエージェント詳細" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__partner_agent_ids +msgid "Agents" +msgstr "エージェント" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents & commissions" +msgstr "エージェントとコミッション" + +#. module: sale_commission_oca +#: model:ir.model.fields,help:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "請求明細に関連するエージェント/コミッション。" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_free +msgid "Comm. free" +msgstr "コミッション対象外" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_status +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__commission_id +msgid "Commission" +msgstr "手数料" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__amount +msgid "Commission Amount" +msgstr "コミッション金額" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__commission_total +msgid "Commissions" +msgstr "コミッション" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_date +msgid "Created on" +msgstr "作成日" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__currency_id +msgid "Currency" +msgstr "通貨" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Edit agents" +msgstr "エージェントを編集" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__id +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__id +msgid "ID" +msgstr "ID" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__object_id +msgid "Parent" +msgstr "親" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__product_id +msgid "Product" +msgstr "プロダクト" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Regenerate agents" +msgstr "エージェントを再生成" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order +msgid "Sales Order" +msgstr "販売オーダ" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line +msgid "Sales Order Line" +msgstr "販売オーダ明細" diff --git a/sale_commission_oca/i18n/pt_BR.po b/sale_commission_oca/i18n/pt_BR.po new file mode 100644 index 0000000..b14aa41 --- /dev/null +++ b/sale_commission_oca/i18n/pt_BR.po @@ -0,0 +1,133 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-10-30 00:46+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: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__agent_id +msgid "Agent" +msgstr "Agente" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line_agent +msgid "Agent detail of commission line in order lines" +msgstr "Detalhe do representante da linha de comiss??o nas linhas de pedido" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__partner_agent_ids +msgid "Agents" +msgstr "Agentes" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents & commissions" +msgstr "Agentes & Comiss??es" + +#. module: sale_commission_oca +#: model:ir.model.fields,help:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Agentes/Comiss??es relacionadas ?? linha da fatura." + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_free +msgid "Comm. free" +msgstr "Com. livre" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_status +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__commission_id +msgid "Commission" +msgstr "Comiss??o" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__amount +msgid "Commission Amount" +msgstr "Valor da Comiss??o" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__commission_total +msgid "Commissions" +msgstr "Comiss??es" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__display_name +msgid "Display Name" +msgstr "Nome Exibi????o" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Edit agents" +msgstr "Editar representantes" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__id +msgid "ID" +msgstr "ID" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent____last_update +msgid "Last Modified on" +msgstr "??ltima Modifica????o em" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_uid +msgid "Last Updated by" +msgstr "??ltima Atualiza????o por" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_date +msgid "Last Updated on" +msgstr "??ltima Atualiza????o em" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__object_id +msgid "Parent" +msgstr "Superior" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__product_id +msgid "Product" +msgstr "Produto" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Regenerate agents" +msgstr "Regenerar Agentes" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order +msgid "Sales Order" +msgstr "Pedido de Venda" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line +msgid "Sales Order Line" +msgstr "Item do pedido de vendas" diff --git a/sale_commission_oca/i18n/sale_commission_oca.pot b/sale_commission_oca/i18n/sale_commission_oca.pot new file mode 100644 index 0000000..e82ed0d --- /dev/null +++ b/sale_commission_oca/i18n/sale_commission_oca.pot @@ -0,0 +1,129 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.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: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__agent_id +msgid "Agent" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line_agent +msgid "Agent detail of commission line in order lines" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__partner_agent_ids +msgid "Agents" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents & commissions" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,help:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_free +msgid "Comm. free" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_status +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__commission_id +msgid "Commission" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__amount +msgid "Commission Amount" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__commission_total +msgid "Commissions" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_date +msgid "Created on" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__currency_id +msgid "Currency" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Edit agents" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__id +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__id +msgid "ID" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__object_id +msgid "Parent" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Regenerate agents" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/sale_commission_oca/i18n/tr.po b/sale_commission_oca/i18n/tr.po new file mode 100644 index 0000000..5f4f467 --- /dev/null +++ b/sale_commission_oca/i18n/tr.po @@ -0,0 +1,128 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_commission_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-09-19 10:42+0000\n" +"Last-Translator: Tamer Sezgin \n" +"Language-Team: none\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__agent_id +msgid "Agent" +msgstr "Temsilci" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line_agent +msgid "Agent detail of commission line in order lines" +msgstr "Sipariş satırlarında komisyon satırının temsilci detayı" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__partner_agent_ids +msgid "Agents" +msgstr "Temsilciler" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents & commissions" +msgstr "Temsilciler ve Komisyonlar" + +#. module: sale_commission_oca +#: model:ir.model.fields,help:sale_commission_oca.field_sale_order_line__agent_ids +msgid "Agents/Commissions related to the invoice line." +msgstr "Fatura satırıyla ilgili temsilciler/komisyonlar." + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_free +msgid "Comm. free" +msgstr "Komisyonsuz" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__commission_status +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__commission_id +msgid "Commission" +msgstr "Komisyon" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__amount +msgid "Commission Amount" +msgstr "Komisyon Miktarı" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order__commission_total +msgid "Commissions" +msgstr "Komisyonlar" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_uid +msgid "Created by" +msgstr "Tarafından oluşturuldu" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__create_date +msgid "Created on" +msgstr "Tarihinde oluşturuldu" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__currency_id +msgid "Currency" +msgstr "Para Birimi" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__display_name +msgid "Display Name" +msgstr "Görünen İsim" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Edit agents" +msgstr "Temsilcileri düzenle" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__id +msgid "ID" +msgstr "Kimlik" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_uid +msgid "Last Updated by" +msgstr "Son Güncelleyen" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__write_date +msgid "Last Updated on" +msgstr "Son Değiştirilme Tarihi" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line_agent__object_id +msgid "Parent" +msgstr "Üst" + +#. module: sale_commission_oca +#: model:ir.model.fields,field_description:sale_commission_oca.field_sale_order_line__product_id +msgid "Product" +msgstr "Ürün" + +#. module: sale_commission_oca +#: model_terms:ir.ui.view,arch_db:sale_commission_oca.view_order_agent_form_inherit +msgid "Regenerate agents" +msgstr "Temsilcileri yeniden oluşturun" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order +msgid "Sales Order" +msgstr "Satis Siparişi" + +#. module: sale_commission_oca +#: model:ir.model,name:sale_commission_oca.model_sale_order_line +msgid "Sales Order Line" +msgstr "Satış Sipariş Satırı" diff --git a/sale_commission_oca/models/__init__.py b/sale_commission_oca/models/__init__.py new file mode 100644 index 0000000..6aacb75 --- /dev/null +++ b/sale_commission_oca/models/__init__.py @@ -0,0 +1 @@ +from . import sale_order diff --git a/sale_commission_oca/models/sale_order.py b/sale_commission_oca/models/sale_order.py new file mode 100644 index 0000000..0935360 --- /dev/null +++ b/sale_commission_oca/models/sale_order.py @@ -0,0 +1,97 @@ +# 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 +from odoo.fields import Command, Domain + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + @api.depends("order_line.agent_ids.amount") + def _compute_commission_total(self): + for record in self: + record.commission_total = sum(record.mapped("order_line.agent_ids.amount")) + + commission_total = fields.Float( + string="Commissions", + compute="_compute_commission_total", + store=True, + ) + + partner_agent_ids = fields.Many2many( + string="Agents", + comodel_name="res.partner", + compute="_compute_agents", + search="_search_agents", + ) + + @api.depends("partner_agent_ids", "order_line.agent_ids.agent_id") + def _compute_agents(self): + for so in self: + agents = so.mapped("order_line.agent_ids.agent_id") + so.partner_agent_ids = [Command.set(agents.ids)] + + @api.model + def _search_agents(self, operator, value): + sol_agents = self.env["sale.order.line.agent"].search( + [("agent_id", operator, value)] + ) + agent_ids = sol_agents.object_id.order_id.ids + return Domain("id", "in", agent_ids) + + def recompute_lines_agents(self): + self.mapped("order_line").recompute_agents() + + +class SaleOrderLine(models.Model): + _inherit = [ + "sale.order.line", + "commission.mixin", + ] + _name = "sale.order.line" + + agent_ids = fields.One2many(comodel_name="sale.order.line.agent") + + @api.depends("order_id.partner_id") + def _compute_agent_ids(self): + self.agent_ids = False + for record in self: + if record.order_id.partner_id and not record.commission_free: + record.agent_ids = record._prepare_agents_vals_partner( + record.order_id.partner_id, settlement_type="sale_invoice" + ) + + def _prepare_invoice_line(self, **optional_values): + vals = super()._prepare_invoice_line(**optional_values) + vals["agent_ids"] = [ + Command.create( + {"agent_id": x.agent_id.id, "commission_id": x.commission_id.id} + ) + for x in self.agent_ids + ] + return vals + + +class SaleOrderLineAgent(models.Model): + _inherit = "commission.line.mixin" + _name = "sale.order.line.agent" + _description = "Agent detail of commission line in order lines" + + object_id = fields.Many2one(comodel_name="sale.order.line") + + @api.depends( + "commission_id", + "object_id.price_subtotal", + "object_id.product_id", + "object_id.product_uom_qty", + ) + def _compute_amount(self): + for line in self: + order_line = line.object_id + line.amount = line._get_commission_amount( + line.commission_id, + order_line.price_subtotal, + order_line.product_id, + order_line.product_uom_qty, + ) diff --git a/sale_commission_oca/pyproject.toml b/sale_commission_oca/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/sale_commission_oca/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/sale_commission_oca/readme/CONTRIBUTORS.md b/sale_commission_oca/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..dc6987b --- /dev/null +++ b/sale_commission_oca/readme/CONTRIBUTORS.md @@ -0,0 +1,19 @@ +- Pexego. +- Davide Corio \<\> +- Joao Alfredo Gama Batista \<\> +- Sandy Carter \<\> +- Giorgio Borelli \<\> +- Daniel Campos \<\> +- Oihane Crucelaegui \<\> +- Nicola Malcontenti \<\> +- Aitor Bouzas \<\> +- Mina Samir \< +- [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 + - Pablo Cortés \ No newline at end of file diff --git a/sale_commission_oca/readme/DESCRIPTION.md b/sale_commission_oca/readme/DESCRIPTION.md new file mode 100644 index 0000000..0d8c7bb --- /dev/null +++ b/sale_commission_oca/readme/DESCRIPTION.md @@ -0,0 +1,9 @@ +This module adds the function to calculate commissions in sales orders. + +Commission lines assigned to sales order lines will be passed to the +corresponding invoice lines. + +Creating settlements directly from the sales order lines is outside the +scope of this module. + +This module depends on the account_commission module. diff --git a/sale_commission_oca/readme/USAGE.md b/sale_commission_oca/readme/USAGE.md new file mode 100644 index 0000000..6c0f8ea --- /dev/null +++ b/sale_commission_oca/readme/USAGE.md @@ -0,0 +1,16 @@ +For adding commissions on sales orders: + +1. Go to *Sales \> Orders \> Quotations*. +2. Edit or create a new record. +3. When you have selected a partner, each new quotation line you add + will have the agents and commissions set at customer level. +4. You can add, modify or delete these agents discretely clicking on + the icon with several persons represented, next to the "Commission" + field in the list. This icon will be available only if the line + hasn't been invoiced yet. +5. If you have configured your system for editing lines in a popup + window, agents will appear also in this window. +6. You have a button "Regenerate agents" on the bottom of the page + "Order Lines" for forcing a recompute of all agents from the partner + setup. This is needed for example when you have changed the partner + on the quotation having already inserted lines. diff --git a/sale_commission_oca/security/ir.model.access.csv b/sale_commission_oca/security/ir.model.access.csv new file mode 100644 index 0000000..f4d6568 --- /dev/null +++ b/sale_commission_oca/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_sale_order_line_agent,access_sale_order_line_agent,model_sale_order_line_agent,sales_team.group_sale_salesman,1,1,1,1 +access_commission,access_commission,commission_oca.model_commission,sales_team.group_sale_salesman,1,0,0,0 +access_commission_section_user,access_commission_section_user,commission_oca.model_commission_section,sales_team.group_sale_salesman,1,0,0,0 +access_account_invoice_line_agent,access_account_invoice_line_agent,account_commission_oca.model_account_invoice_line_agent,sales_team.group_sale_salesman,1,0,0,0 diff --git a/sale_commission_oca/static/description/icon.png b/sale_commission_oca/static/description/icon.png new file mode 100644 index 0000000..07b9945 Binary files /dev/null and b/sale_commission_oca/static/description/icon.png differ diff --git a/sale_commission_oca/static/description/icon.svg b/sale_commission_oca/static/description/icon.svg new file mode 100644 index 0000000..5be1be4 --- /dev/null +++ b/sale_commission_oca/static/description/icon.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sale_commission_oca/static/description/index.html b/sale_commission_oca/static/description/index.html new file mode 100644 index 0000000..6cc1ded --- /dev/null +++ b/sale_commission_oca/static/description/index.html @@ -0,0 +1,481 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Sales commissions OCA

+ +

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

+

This module adds the function to calculate commissions in sales orders.

+

Commission lines assigned to sales order lines will be passed to the +corresponding invoice lines.

+

Creating settlements directly from the sales order lines is outside the +scope of this module.

+

This module depends on the account_commission module.

+

Table of contents

+ +
+

Usage

+

For adding commissions on sales orders:

+
    +
  1. Go to Sales > Orders > Quotations.
  2. +
  3. Edit or create a new record.
  4. +
  5. When you have selected a partner, each new quotation line you add +will have the agents and commissions set at customer level.
  6. +
  7. You can add, modify or delete these agents discretely clicking on the +icon with several persons represented, next to the “Commission” field +in the list. This icon will be available only if the line hasn’t been +invoiced yet.
  8. +
  9. If you have configured your system for editing lines in a popup +window, agents will appear also in this window.
  10. +
  11. You have a button “Regenerate agents” on the bottom of the page +“Order Lines” for forcing a recompute of all agents from the partner +setup. This is needed for example when you have changed the partner +on the quotation having already inserted lines.
  12. +
+
+
+

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/sale_commission_oca/tests/__init__.py b/sale_commission_oca/tests/__init__.py new file mode 100644 index 0000000..cd3f88e --- /dev/null +++ b/sale_commission_oca/tests/__init__.py @@ -0,0 +1 @@ +from . import test_sale_commission diff --git a/sale_commission_oca/tests/test_sale_commission.py b/sale_commission_oca/tests/test_sale_commission.py new file mode 100644 index 0000000..eb9d082 --- /dev/null +++ b/sale_commission_oca/tests/test_sale_commission.py @@ -0,0 +1,137 @@ +# 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 odoo.fields import Command +from odoo.tests import Form, tagged + +from odoo.addons.account_commission_oca.tests.test_account_commission import ( + TestAccountCommission, +) + + +@tagged("post_install", "-at_install") +class TestSaleCommission(TestAccountCommission): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.sale_order_model = cls.env["sale.order"] + cls.advance_inv_model = cls.env["sale.advance.payment.inv"] + cls.product.write({"invoice_policy": "order"}) + + def _create_sale_order(self, agent, commission): + order_form = Form(self.sale_order_model) + order_form.partner_id = self.partner + with order_form.order_line.new() as line_form: + line_form.product_id = self.product + order = order_form.save() + order.order_line.agent_ids = [ + Command.create({"agent_id": agent.id, "commission_id": commission.id}) + ] + return order + + def _invoice_sale_order(self, sale_order, date=None): + old_invoices = sale_order.invoice_ids + wizard = self.advance_inv_model.create( + { + "advance_payment_method": "delivered", + "sale_order_ids": [Command.link(sale_order.id)], + } + ) + wizard.create_invoices() + invoice = sale_order.invoice_ids - old_invoices + if date: + invoice.invoice_date = date + invoice.date = date + return + + def _create_order_and_invoice(self, agent, commission): + sale_order = self._create_sale_order(agent, commission) + sale_order.action_confirm() + self._invoice_sale_order(sale_order) + invoices = sale_order.invoice_ids + invoices.invoice_line_ids.agent_ids._compute_amount() + return sale_order + + def _check_full(self, agent, commission, period, initial_count): + sale_order = self._create_order_and_invoice(agent, commission) + settlements = self._check_invoice_thru_settle( + agent, commission, period, initial_count, sale_order + ) + return settlements + + def test_sale_commission_gross_amount_payment(self): + self._check_full( + self.agent_monthly, + self.commission_section_paid, + 1, + 0, + ) + + def test_sale_commission_status(self): + # Make sure user is in English + self.env.user.lang = "en_US" + sale_order = self._create_sale_order( + self.agent_monthly, + self.commission_section_invoice, + ) + self.assertIn("1", sale_order.order_line[0].commission_status) + self.assertNotIn("agents", sale_order.order_line[0].commission_status) + sale_order.mapped("order_line.agent_ids").unlink() + self.assertIn("No", sale_order.order_line[0].commission_status) + sale_order.order_line[0].agent_ids = [ + Command.create( + { + "agent_id": self.agent_monthly.id, + "commission_id": self.commission_section_invoice.id, + } + ), + Command.create( + { + "agent_id": self.agent_quaterly.id, + "commission_id": self.commission_section_invoice.id, + }, + ), + ] + self.assertIn("2", sale_order.order_line[0].commission_status) + self.assertIn("agents", sale_order.order_line[0].commission_status) + # Free + sale_order.order_line.commission_free = True + self.assertIn("free", sale_order.order_line.commission_status) + self.assertAlmostEqual(sale_order.order_line.agent_ids.amount, 0) + # test show agents buton + action = sale_order.order_line.button_edit_agents() + self.assertEqual(action["res_id"], sale_order.order_line.id) + + def test_sale_commission_propagation(self): + self.partner.commission_agent_ids = [(4, self.agent_monthly.id)] + sale_order_form = Form(self.env["sale.order"]) + sale_order_form.partner_id = self.partner + with sale_order_form.order_line.new() as line_form: + line_form.product_id = self.product + line_form.product_uom_qty = 1 + sale_order = sale_order_form.save() + agent = sale_order.order_line.agent_ids + self._check_propagation(agent, self.commission_net_invoice, self.agent_monthly) + # Check agent change + agent.agent_id = self.agent_quaterly + self.assertTrue(agent.commission_id, self.commission_section_invoice) + # Check recomputation + agent.unlink() + sale_order.recompute_lines_agents() + agent = sale_order.order_line.agent_ids + self._check_propagation(agent, self.commission_net_invoice, self.agent_monthly) + + def test_sale_commission_invoice_line_agent(self): + sale_order = self._create_sale_order( + self.agent_monthly, + self.commission_section_invoice, + ) + sale_order.action_confirm() + self._invoice_sale_order(sale_order) + inv_line = sale_order.mapped("invoice_ids.invoice_line_ids")[0] + self.assertTrue( + inv_line.agent_ids[0].commission_id, self.commission_section_invoice + ) + self.assertTrue(inv_line.agent_ids[0].agent_id, self.agent_monthly) diff --git a/sale_commission_oca/views/sale_order_view.xml b/sale_commission_oca/views/sale_order_view.xml new file mode 100644 index 0000000..23207e2 --- /dev/null +++ b/sale_commission_oca/views/sale_order_view.xml @@ -0,0 +1,71 @@ + + + + sale.agent.order.inherit.form + sale.order + + + +