diff --git a/l10n_br_account/README.rst b/l10n_br_account/README.rst new file mode 100644 index 000000000000..bcce6fb930f8 --- /dev/null +++ b/l10n_br_account/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 + +=========================================== +Invoicing and accounting entries for Brazil +=========================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:b468471b48a20f078a78d28de9d6e6f956e4e567c97e013f3692c4f2d8c7736f + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fl10n--brazil-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-brazil/tree/17.0/l10n_br_account + :alt: OCA/l10n-brazil +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-brazil-17-0/l10n-brazil-17-0-l10n_br_account + :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/l10n-brazil&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module was written to extend the functionality of ... to support +... and allow you to ... + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +To install this module, you need to: + +- do this ... + +Configuration +============= + +To configure this module, you need to: + +- go to ... + +Usage +===== + +To use this module, you need to: + +- go to ... + +Known issues / Roadmap +====================== + + + +Changelog +========= + + + +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 +------- + +* Akretion + +Contributors +------------ + +- `Akretion `__: + + - Renato Lima + - Raphaël Valyi + +- `KMEE `__: + + - Luis Felipe Mileo + +- `Escodoo `__: + + - Marcel Savegnago + +- `Engenere `__: + + - Antônio S. Pereira Neto + - Felipe Motter Pereira + +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-renatonlima| image:: https://github.com/renatonlima.png?size=40px + :target: https://github.com/renatonlima + :alt: renatonlima +.. |maintainer-rvalyi| image:: https://github.com/rvalyi.png?size=40px + :target: https://github.com/rvalyi + :alt: rvalyi + +Current `maintainers `__: + +|maintainer-renatonlima| |maintainer-rvalyi| + +This module is part of the `OCA/l10n-brazil `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_br_account/__init__.py b/l10n_br_account/__init__.py new file mode 100644 index 000000000000..202eeaed3b6b --- /dev/null +++ b/l10n_br_account/__init__.py @@ -0,0 +1,5 @@ +from .hooks import post_init_hook + +from . import models +from . import wizards +from . import report diff --git a/l10n_br_account/__manifest__.py b/l10n_br_account/__manifest__.py new file mode 100644 index 000000000000..551c810d6da3 --- /dev/null +++ b/l10n_br_account/__manifest__.py @@ -0,0 +1,43 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +{ + "name": "Invoicing and accounting entries for Brazil", + "summary": "Invoicing and accounting entries for Brazil", + "category": "Localisation", + "license": "AGPL-3", + "author": "Akretion, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/l10n-brazil", + "version": "17.0.1.0.0", + "development_status": "Beta", + "maintainers": ["renatonlima", "rvalyi"], + "depends": [ + "l10n_br_coa", + "l10n_br_fiscal", + ], + "data": [ + # security + "security/ir.model.access.csv", + "security/l10n_br_account_security.xml", + # Views + "views/account_tax_view.xml", + "views/fiscal_operation_view.xml", + "views/fiscal_operation_line_view.xml", + "views/account_move_view.xml", + "views/document_line_view.xml", + "views/document_view.xml", + # Wizards + "wizards/account_move_reversal_view.xml", + "wizards/wizard_document_status.xml", + "wizards/document_import_wizard.xml", + # Report + # "report/account_invoice_report_view.xml", + "views/res_partner_view.xml", + ], + "demo": [ + "demo/res_users_demo.xml", + ], + "post_init_hook": "post_init_hook", + "installable": True, + "auto_install": False, +} diff --git a/l10n_br_account/data/template/account.tax-br_oca.csv b/l10n_br_account/data/template/account.tax-br_oca.csv new file mode 100644 index 000000000000..8fee15a2985b --- /dev/null +++ b/l10n_br_account/data/template/account.tax-br_oca.csv @@ -0,0 +1,42 @@ +"id","fiscal_tax_ids@tax_group_id" +"tax_template_out_ipi","l10n_br_fiscal.tax_group_ipi" +"tax_template_in_ipi","l10n_br_fiscal.tax_group_ipi" +"tax_template_out_ii","l10n_br_fiscal.tax_group_ii" +"tax_template_in_ii","l10n_br_fiscal.tax_group_ii" +"tax_template_out_icms","l10n_br_fiscal.tax_group_icms" +"tax_template_in_icms","l10n_br_fiscal.tax_group_icms" +"tax_template_out_icmssn","l10n_br_fiscal.tax_group_icmssn" +"tax_template_in_icmssn","l10n_br_fiscal.tax_group_icmssn" +"tax_template_out_icms_subist","l10n_br_fiscal.tax_group_icmsst" +"tax_template_in_icms_subist","l10n_br_fiscal.tax_group_icmsst" +"tax_template_out_icmsfcp","l10n_br_fiscal.tax_group_icmsfcp" +"tax_template_in_icmsfcp","l10n_br_fiscal.tax_group_icmsfcp" +"tax_template_out_pis","l10n_br_fiscal.tax_group_pis" +"tax_template_out_pisst","l10n_br_fiscal.tax_group_pisst" +"tax_template_out_pis_wh","l10n_br_fiscal.tax_group_pis_wh" +"tax_template_in_pis","l10n_br_fiscal.tax_group_pis" +"tax_template_in_pisst","l10n_br_fiscal.tax_group_pisst" +"tax_template_in_pis_wh","l10n_br_fiscal.tax_group_pis_wh" +"tax_template_out_cofins","l10n_br_fiscal.tax_group_cofins" +"tax_template_out_cofinsst","l10n_br_fiscal.tax_group_cofinsst" +"tax_template_out_cofins_wh","l10n_br_fiscal.tax_group_cofins_wh" +"tax_template_in_cofins","l10n_br_fiscal.tax_group_cofins" +"tax_template_in_cofinsst","l10n_br_fiscal.tax_group_cofinsst" +"tax_template_in_cofins_wh","l10n_br_fiscal.tax_group_cofins_wh" +"tax_template_out_issqn","l10n_br_fiscal.tax_group_issqn" +"tax_template_out_issqn_wh","l10n_br_fiscal.tax_group_issqn_wh" +"tax_template_in_issqn","l10n_br_fiscal.tax_group_issqn" +"tax_template_in_issqn_wh","l10n_br_fiscal.tax_group_issqn_wh" +"tax_template_out_irpj","l10n_br_fiscal.tax_group_irpj" +"tax_template_out_irpj_wh","l10n_br_fiscal.tax_group_irpj_wh" +"tax_template_in_irpj","l10n_br_fiscal.tax_group_irpj" +"tax_template_in_irpj_wh","l10n_br_fiscal.tax_group_irpj_wh" +"tax_template_out_csll","l10n_br_fiscal.tax_group_csll" +"tax_template_out_csll_wh","l10n_br_fiscal.tax_group_csll_wh" +"tax_template_in_csll","l10n_br_fiscal.tax_group_csll" +"tax_template_in_csll_wh","l10n_br_fiscal.tax_group_csll_wh" +"tax_template_out_inss","l10n_br_fiscal.tax_group_inss" +"tax_template_out_inss_wh","l10n_br_fiscal.tax_group_inss_wh" +"tax_template_in_inss","l10n_br_fiscal.tax_group_inss" +"tax_template_in_inss_wh","l10n_br_fiscal.tax_group_inss_wh" +"tax_template_simples","l10n_br_fiscal.tax_group_simples" diff --git a/l10n_br_account/data/template/account.tax.group-br_oca.csv b/l10n_br_account/data/template/account.tax.group-br_oca.csv new file mode 100644 index 000000000000..4735f90fed44 --- /dev/null +++ b/l10n_br_account/data/template/account.tax.group-br_oca.csv @@ -0,0 +1,24 @@ +"id","fiscal_tax_group_id" +"tax_group_ipi","l10n_br_fiscal.tax_group_ipi" +"tax_group_ii","l10n_br_fiscal.tax_group_ii" +"tax_group_icms","l10n_br_fiscal.tax_group_icms" +"tax_group_icmssn","l10n_br_fiscal.tax_group_icmssn" +"tax_group_icmsst","l10n_br_fiscal.tax_group_icmsst" +"tax_group_icmsfcp","l10n_br_fiscal.tax_group_icmsfcp" +"tax_group_pis","l10n_br_fiscal.tax_group_pis" +"tax_group_pisst","l10n_br_fiscal.tax_group_pisst" +"tax_group_pis_wh","l10n_br_fiscal.tax_group_pis_wh" +"tax_group_cofins","l10n_br_fiscal.tax_group_cofins" +"tax_group_cofinsst","l10n_br_fiscal.tax_group_cofinsst" +"tax_group_cofins_wh","l10n_br_fiscal.tax_group_cofins_wh" +"tax_group_issqn","l10n_br_fiscal.tax_group_issqn" +"tax_group_issqn_wh","l10n_br_fiscal.tax_group_issqn_wh" +"tax_group_csll","l10n_br_fiscal.tax_group_csll" +"tax_group_csll_wh","l10n_br_fiscal.tax_group_csll_wh" +"tax_group_ir","l10n_br_fiscal.tax_group_ir" +"tax_group_irpj","l10n_br_fiscal.tax_group_irpj" +"tax_group_irpj_wh","l10n_br_fiscal.tax_group_irpj_wh" +"tax_group_inss","l10n_br_fiscal.tax_group_inss" +"tax_group_inss_wh","l10n_br_fiscal.tax_group_inss_wh" +"tax_group_simples","l10n_br_fiscal.tax_group_simples" +"tax_group_others","l10n_br_fiscal.tax_group_others" diff --git a/l10n_br_account/demo/res_users_demo.xml b/l10n_br_account/demo/res_users_demo.xml new file mode 100644 index 000000000000..2b0612fc642b --- /dev/null +++ b/l10n_br_account/demo/res_users_demo.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + diff --git a/l10n_br_account/hooks.py b/l10n_br_account/hooks.py new file mode 100644 index 000000000000..fb97f82ce58f --- /dev/null +++ b/l10n_br_account/hooks.py @@ -0,0 +1,33 @@ +# Copyright (C) 2019 - Raphaël Valyi Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + + +def post_init_hook(env): + """Inject Brazilian taxes in the CoA and related them to the account taxes.""" + + br_demo_companies = [ + env.ref("l10n_br_base.empresa_simples_nacional"), + env.ref("l10n_br_base.empresa_lucro_presumido"), + ] + todo_companies = [] + for company in env["res.company"].with_context(active_test=False).search([]): + if "br_oca" in env["account.chart.template"]._get_parent_template( + company.chart_template + ): + env["account.chart.template"].try_loading(company.chart_template, company) + todo_companies.append(company) + elif company in br_demo_companies: # fallback to generic_coa + env["account.chart.template"].try_loading("generic_coa", company) + company.currency_id = env.ref("base.BRL") + todo_companies.append(company) + + main_company = env.ref("base.main_company") + if ( + main_company not in todo_companies + and env.ref("base.module_l10n_br_account").demo + ): + todo_companies.append(main_company) + env["account.chart.template"].load_fiscal_taxes(todo_companies) + + # now that generic_coa demo data were loaded for main_company, we can set it in Brazil: + env.ref("base.main_company").country_id = env.ref("base.br").id diff --git a/l10n_br_account/i18n/l10n_br_account.pot b/l10n_br_account/i18n/l10n_br_account.pot new file mode 100644 index 000000000000..aafc69f3ede6 --- /dev/null +++ b/l10n_br_account/i18n/l10n_br_account.pot @@ -0,0 +1,6116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_br_account +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "(-) Discount" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "(-) Tax Withholding" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move_line.py:0 +#, python-format +msgid "(Discount)" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Details" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_account_decorator_mixin +msgid "" +"A mixin to decorate l10n_br_fiscal_document(.line) easily.\n" +" It specially deals with related and compute fields inherited with _inherits.\n" +" " +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_vAFRMM +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_vAFRMM +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_vAFRMM +msgid "AFRMM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_vAFRMM +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_vAFRMM +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_vAFRMM +msgid "AFRMM (Adicional de Frete para Renovação da Marinha Mercante)" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_operation_form +msgid "Account" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_chart_template +msgid "Account Chart Template" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation__journal_id +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_operation_search +msgid "Account Journal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_move_reversal +msgid "Account Move Reversal" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_tree +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "Account Number" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_line_form +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Accounting" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__additional_data +msgid "Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__manual_additional_data +msgid "Additional data manually entered by user" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/wizards/document_import_wizard_mixin.py:0 +#, python-format +msgid "Adjust Importation for document type %s" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cAerDes +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cAerDes +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cAerDes +msgid "Aeródromo de Destino" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cAerEmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cAerEmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cAerEmb +msgid "Aeródromo de Embarque" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pST +msgid "Aliquota suportada pelo consumidor final" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields.selection,name:l10n_br_account.selection__account_move__fiscal_operation_type__all +msgid "All" +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_all_action +#: model:ir.ui.menu,name:l10n_br_account.document_all_menu +msgid "All Documents" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vAliqProd +msgid "Alíquota do COFINS (em reais) (NT2011/004)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vAliqProd +msgid "Alíquota do COFINS ST(em reais)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSEfet +msgid "Alíquota do ICMS efetivo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vAliq +msgid "Alíquota do ISSQN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSInter +msgid "Alíquota interestadual das UF envolvidas" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pICMSInter +msgid "" +"Alíquota interestadual das UF envolvidas: - 4% alíquota interestadual para " +"produtos importados; - 7% para os Estados de origem do Sul e Sudeste (exceto" +" ES), destinado para os Estados do Norte e Nordeste ou ES; - 12% para os " +"demais casos." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_discount_value +msgid "Amount Discount" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_estimate_tax +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_estimate_tax +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_estimate_tax +msgid "Amount Estimate Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_financial_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_financial_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__financial_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_financial_total +msgid "Amount Financial" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_financial_total_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_financial_total_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_financial_total_gross +msgid "Amount Financial Gross" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_fiscal +msgid "Amount Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_price_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_price_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_price_gross +msgid "Amount Gross" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax +msgid "Amount Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax_included +msgid "Amount Tax Included" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax_not_included +msgid "Amount Tax Not Included" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_taxed +msgid "Amount Taxed" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_total +msgid "Amount Total" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_untaxed +msgid "Amount Untaxed" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__amount_price_gross +#: model:ir.model.fields,help:l10n_br_account.field_account_move__amount_price_gross +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__amount_price_gross +msgid "Amount without discount." +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Amounts" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_line_form +msgid "Analytic" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_arma +msgid "Armamentos" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__authorization_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__authorization_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__authorization_event_id +msgid "Authorization Event" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_autXML +msgid "Autorizados para download do XML do DF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_autXML +msgid "" +"Autorizados para download do XML do DF-e\n" +"Informar CNPJ ou CPF. Preencher os zeros não significativos." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vBCRetPrev +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vBCRetPrev +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vBCRetPrev +msgid "Base de Cálculo da Retenção da Previdêncica Social" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_ipitrib +msgid "Base vBC/pIPI/qUnid/vUnid" +msgstr "" + +#. module: l10n_br_account +#: model:res.groups,name:l10n_br_account.group_line_fiscal_detail +msgid "Brazilian Fiscal details (popup) in Account Move Lines" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.l10n_br_account_partner_form +msgid "Brazilian Instant Payment Keys (PIX)" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.l10n_br_account_tax_form +#: model_terms:ir.ui.view,arch_db:l10n_br_account.l10n_br_account_tax_template_form +msgid "Brazilian Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__ind_pres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__ind_pres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__ind_pres +msgid "Buyer Presence" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cest_id +msgid "CEST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cfop_id +msgid "CFOP" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cnae_id +msgid "CNAE Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CNPJFab +msgid "CNPJ do Fabricante da Mercadoria" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_CNPJFab +msgid "" +"CNPJ do Fabricante da Mercadoria, obrigatório para produto em escala NÃO " +"relevante." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CNPJProd +msgid "CNPJ do produtor da mercadoria" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_CNPJProd +msgid "" +"CNPJ do produtor da mercadoria, quando diferente do emitente. Somente para " +"os casos de exportação direta ou indireta." +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "CNPJ/CPF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_percent +msgid "COFINS %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_reduction +msgid "COFINS % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_base +msgid "COFINS Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_base_id +msgid "COFINS Base Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_base_type +msgid "COFINS Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_credit_id +msgid "COFINS Credit Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_percent +msgid "COFINS RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_reduction +msgid "COFINS RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_base +msgid "COFINS RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_value +msgid "COFINS RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_wh_base +msgid "COFINS Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_wh_value +msgid "COFINS Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_percent +msgid "COFINS ST %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_reduction +msgid "COFINS ST % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofinsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofinsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofinsst_base +msgid "COFINS ST Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_base_type +msgid "COFINS ST Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofinsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofinsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofinsst_value +msgid "COFINS ST Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_value +msgid "COFINS Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_base_type +msgid "COFINS WH Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_cofins +msgid "COFINSAliq/COFINSQtde/COFINSNT/COFINSOutr" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_percent +msgid "CSLL %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_reduction +msgid "CSLL % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_base +msgid "CSLL Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_percent +msgid "CSLL RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_reduction +msgid "CSLL RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_base +msgid "CSLL RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_value +msgid "CSLL RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_wh_base +msgid "CSLL Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_wh_value +msgid "CSLL Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_value +msgid "CSLL Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_cst_id +msgid "CST COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_cst_id +msgid "CST COFINS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_cst_id +msgid "CST ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_cst_id +msgid "CST IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_cst_id +msgid "CST PIS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_cst_id +msgid "CST PIS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte_transmission +msgid "CTE Transmission" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte_environment +msgid "CTe Environment" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_obsFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_obsFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_obsFisco +msgid "Campo de uso exclusivo do Fisco" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_obsFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_obsFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_obsFisco +msgid "" +"Campo de uso exclusivo do Fisco\n" +"informar o nome do campo no atributo xCampo\n" +"e o conteúdo do campo no xTexto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_obsCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_obsCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_obsCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_obsCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_obsCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_obsCont +msgid "Campo de uso livre do contribuinte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_obsCont +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_obsFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_obsCont +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_obsFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_obsCont +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_obsFisco +msgid "" +"Campo de uso livre do contribuinte\n" +"Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_obsCont +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_obsCont +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_obsCont +msgid "" +"Campo de uso livre do contribuinte\n" +"informar o nome do campo no atributo xCampo\n" +"e o conteúdo do campo no xTexto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cancel_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cancel_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cancel_event_id +msgid "Cancel Event" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cancel_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cancel_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cancel_reason +msgid "Cancel Reason" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/document.py:0 +#, python-format +msgid "Canceled due to the denial of document %(document_number)s" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Cannot import in non draft Account Move!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_capKG +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_capKG +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_capKG +msgid "Capacidade em KG" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_capM3 +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_capM3 +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_capM3 +msgid "Capacidade em M3" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xCaracSer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xCaracSer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xCaracSer +msgid "Característica adicional do serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xCaracSer +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xCaracSer +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xCaracSer +msgid "" +"Característica adicional do serviço\n" +"Texto livre:\n" +"\t\t\t\t\t\t\t\t\t\t\tENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xCaracAd +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xCaracAd +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xCaracAd +msgid "Característica adicional do transporte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xCaracAd +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xCaracAd +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xCaracAd +msgid "" +"Característica adicional do transporte\n" +"Texto livre:\n" +"REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_categCombVeic +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_categCombVeic +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_categCombVeic +msgid "Categoria de Combinação Veicular" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_chCTeFerroOrigem +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_chCTeFerroOrigem +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_chCTeFerroOrigem +msgid "Chave de acesso do CT-e emitido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_chCTeFerroOrigem +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_chCTeFerroOrigem +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_chCTeFerroOrigem +msgid "Chave de acesso do CT-e emitido pelo ferrovia de origem" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__city_taxation_code_id +msgid "City Taxation Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__civil_construction_art +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__civil_construction_art +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__civil_construction_art +msgid "Civil Construction ART" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__civil_construction_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__civil_construction_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__civil_construction_code +msgid "Civil Construction Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_CL +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_CL +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_CL +msgid "Classe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_CL +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_CL +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_CL +msgid "" +"Classe\n" +"Preencher com:\n" +"\t\t\t\t\t\t\t\t\tM - Tarifa Mínima;\n" +"\t\t\t\t\t\t\t\t\tG - Tarifa Geral;\n" +"\t\t\t\t\t\t\t\t\tE - Tarifa Específica" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_CST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_CST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_CST +msgid "Classificação Tributária do Serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__close_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__close_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__close_id +msgid "Close ID" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cBarra +msgid "Codigo de barras diferente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cBarra +msgid "Codigo de barras diferente do padrão GTIN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__comment_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__comment_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__comment_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__comment_ids +msgid "Comments" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__company_id +msgid "Company" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__company_l10n_br_ie_code_st +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_l10n_br_ie_code_st +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__company_l10n_br_ie_code_st +msgid "Company ST State Tax Number" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Company mismatch!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_comp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_comp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_comp +msgid "Componentes do Valor da Prestação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__correction_event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__correction_event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__correction_event_ids +msgid "Correction Events" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__correction_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__correction_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__correction_reason +msgid "Correction Reason" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_all_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_in_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_out_action +msgid "Create a new Document" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfe_action +msgid "Create a new NF-e" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfse_action +msgid "Create a new NFS-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte_modal_aereo_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte_modal_aereo_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte_modal_aereo_id +msgid "Cte Modal Aereo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte_modal_aquaviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte_modal_aquaviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte_modal_aquaviario_id +msgid "Cte Modal Aquaviario" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte_modal_dutoviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte_modal_dutoviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte_modal_dutoviario_id +msgid "Cte Modal Dutoviario" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte_modal_ferroviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte_modal_ferroviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte_modal_ferroviario_id +msgid "Cte Modal Ferroviario" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte_modal_rodoviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte_modal_rodoviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte_modal_rodoviario_id +msgid "Cte Modal Rodoviario" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_choice_infcteNorm_infcteComp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_choice_infcteNorm_infcteComp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_choice_infcteNorm_infcteComp +msgid "Cte40 Choice Infctenorm Infctecomp" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_choice_toma +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_choice_toma +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_choice_toma +msgid "Cte40 Choice Toma" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cte40_Comp_vPrest_id +msgid "Cte40 Comp Vprest" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_enderReme +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_enderReme +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_enderReme +msgid "Cte40 Enderreme" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_indSN +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_indSN +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_indSN +msgid "Cte40 Indsn" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infCTeComp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infCTeComp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infCTeComp +msgid "Cte40 Infctecomp" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infCTeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infCTeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infCTeSupl +msgid "Cte40 Infctesupl" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_UFEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_UFEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_UFEnv +msgid "Cte40 Ufenv" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_UFFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_UFFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_UFFim +msgid "Cte40 Uffim" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_UFIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_UFIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_UFIni +msgid "Cte40 Ufini" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xObs +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xObs +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xObs +msgid "Cte40 Xobs" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__currency_id +msgid "Currency" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__customer_additional_data +msgid "Customer Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__manual_customer_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_move__manual_customer_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__manual_customer_additional_data +msgid "Customer Additional data manually entered by user" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ii_customhouse_charges +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ii_customhouse_charges +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ii_customhouse_charges +msgid "Customhouse Charges" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_CFOP +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_CFOP +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_CFOP +msgid "Código Fiscal de Operações e Prestações" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cEmbar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cEmbar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cEmbar +msgid "Código da Embarcação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xRota +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xRota +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xRota +msgid "Código da Rota de Entrega" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_cTar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_cTar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_cTar +msgid "Código da Tarifa" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_cTar +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_cTar +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_cTar +msgid "" +"Código da Tarifa\n" +"Deverão ser incluídos os códigos de três dígitos, correspondentes à tarifa." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cUF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cUF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cUF +msgid "Código da UF do emitente do MDF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_cUF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_cUF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_cUF +msgid "" +"Código da UF do emitente do MDF-e\n" +"Código da UF do emitente do Documento Fiscal. Utilizar a\n" +"Tabela do IBGE de código de unidades da federação." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cUnid +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cUnid +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cUnid +msgid "Código da unidade de medida" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_cUnid +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_cUnid +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_cUnid +msgid "" +"Código da unidade de medida do Peso Bruto da Carga / Mercadorias transportadas\n" +"01 – KG; 02 - TON" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_codAgPorto +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_codAgPorto +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_codAgPorto +msgid "Código de Agendamento" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CST +msgid "Código de Situação Tributária do COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_CST +msgid "" +"Código de Situação Tributária do COFINS:\n" +"49 - Outras Operações de Saída\n" +"50 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno\n" +"51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não Tributada no Mercado Interno\n" +"52 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação\n" +"53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno\n" +"54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação\n" +"55 - Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação\n" +"56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação\n" +"60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno\n" +"61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno\n" +"62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação\n" +"63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno\n" +"64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação\n" +"65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação\n" +"66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação\n" +"67 - Crédito Presumido - Outras Operações\n" +"70 - Operação de Aquisição sem Direito a Crédito\n" +"71 - Operação de Aquisição com Isenção\n" +"72 - Operação de Aquisição com Suspensão\n" +"73 - Operação de Aquisição a Alíquota Zero\n" +"74 - Operação de Aquisição sem Incidência da Contribuição\n" +"75 - Operação de Aquisição por Substituição Tributária\n" +"98 - Outras Operações de Entrada\n" +"99 - Outras Operações." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cBarraTrib +msgid "Código de barras da unidade tributável diferente do padrão GTIN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_cMunEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_cMunEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_cMunEnv +msgid "Código do Município de envio do CT-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_cMunEnv +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_cMunEnv +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_cMunEnv +msgid "" +"Código do Município de envio do CT-e (de onde o documento foi transmitido)\n" +"Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_cMunIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_cMunIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_cMunIni +msgid "Código do Município de início" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_cMunIni +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_cMunIni +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_cMunIni +msgid "" +"Código do Município de início da prestação\n" +"Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_cMunFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_cMunFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_cMunFim +msgid "Código do Município de término" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_cMunFim +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_cMunFim +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_cMunFim +msgid "" +"Código do Município de término da prestação\n" +"Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cInt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cInt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cInt +msgid "Código do Veículo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cProd +msgid "Código do produto ou serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cProd +msgid "" +"Código do produto ou serviço. Preencher com CFOP caso se trate de itens não relacionados com mercadorias/produto e que o contribuinte não possua codificação própria\n" +"Formato ”CFOP9999”." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cRegTrib +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cRegTrib +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cRegTrib +msgid "Código do regime especial de tributação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cSelo +msgid "Código do selo de controle do IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cServico +msgid "Código do serviço prestado dentro" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cServico +msgid "Código do serviço prestado dentro do município" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cNF +msgid "Código numérico que compõe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_cCT +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_cCT +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_cCT +msgid "Código numérico que compõe a Chave" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_cCT +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_cCT +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_cCT +msgid "" +"Código numérico que compõe a Chave de Acesso.\n" +"Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cNF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cNF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cNF +msgid "" +"Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo " +"emitente para cada NF-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__dfe_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__dfe_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__dfe_id +msgid "DF-e Consult" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_cobr +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_cobr +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_cobr +msgid "Dados da cobrança do CT-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_retTransp +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_retTransp +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_retTransp +msgid "Dados da retenção ICMS do Transporte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_retTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_retTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_retTransp +msgid "Dados da retenção ICMS do Transporte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dup +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dup +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dup +msgid "Dados das duplicatas NT 2011/004" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_peri +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_peri +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_peri +msgid "Dados de carga perigosa" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_reboque +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_reboque +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_reboque +msgid "Dados do reboque/Dolly (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_veicTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_veicTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_veicTransp +msgid "Dados do veículo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_det +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_det +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_det +msgid "Dados dos detalhes da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vol +msgid "Dados dos volumes" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__danfe_layout +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__danfe_layout +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__danfe_layout +msgid "Danfe Layout" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_dProg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_dProg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_dProg +msgid "Data Programada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dCompet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dCompet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dCompet +msgid "Data da prestação do serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_dCompet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_dCompet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_dCompet +msgid "Data da prestação do serviço (AAAA-MM-DD)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_dFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_dFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_dFim +msgid "Data de Fim da prestação do serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_dIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_dIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_dIni +msgid "Data de Início da prestação do serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_dVoo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_dVoo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_dVoo +msgid "Data do Voo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_dhCont +msgid "Data e Hora da entrada em contingência" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_dhCont +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_dhCont +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_dhCont +msgid "" +"Data e Hora da entrada em contingência\n" +"Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_dhSaiEnt +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_dhSaiEnt +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_dhSaiEnt +msgid "" +"Data e Hora da saída ou de entrada da mercadoria / produto (AAAA-MM-" +"DDTHH:mm:ssTZD)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_dhIniViagem +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_dhIniViagem +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_dhIniViagem +msgid "Data e hora previstos de inicio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_dhIniViagem +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_dhIniViagem +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_dhIniViagem +msgid "" +"Data e hora previstos de inicio da viagem\n" +"Formato AAAA-MM-DDTHH:MM:DD TZD" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_dPrevAereo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_dPrevAereo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_dPrevAereo +msgid "Data prevista da entrega" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_dPrevAereo +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_dPrevAereo +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_dPrevAereo +msgid "" +"Data prevista da entrega\n" +"Formato AAAA-MM-DD" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_dProg +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_dProg +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_dProg +msgid "" +"Data programada\n" +"Formato AAAA-MM-DD" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_dhTrem +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_dhTrem +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_dhTrem +msgid "Data/hora de Liberação do Trem" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__date_in_out +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__date_in_out +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__date_in_out +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__date_in_out +msgid "Date IN/OUT" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_DI +msgid "Declaração de Importação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_DI +msgid "Declaração de Importação (NT 2011/004)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation__deductible_taxes +msgid "Deductible Taxes" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__partner_shipping_id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__partner_shipping_id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_xLocDespacho +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_xLocDespacho +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_xLocDespacho +msgid "Descrição do local de despacho" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_xProd +msgid "Descrição do produto ou serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_customhouse_charges +msgid "Despesas Aduaneiras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dest +msgid "Dest" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_xDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_xDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_xDest +msgid "Destino do Trem" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infCteComp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infCteComp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infCteComp +msgid "Detalhamento do CT-e complementado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_detExport +msgid "Detalhe da exportação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xDetRetira +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xDetRetira +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xDetRetira +msgid "Detalhes do retira" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_form +msgid "Devolver" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cDV +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cDV +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cDV +msgid "Digito Verificador da Chave de Acesso da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_cDV +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_cDV +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_cDV +msgid "Digito Verificador da chave de acesso" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_cDV +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_cDV +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_cDV +msgid "" +"Digito Verificador da chave de acesso do CT-e\n" +"Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xDime +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xDime +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xDime +msgid "Dimensão" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xDime +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xDime +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xDime +msgid "" +"Dimensão\n" +"Formato:1234X1234X1234 (cm). Esse campo deve sempre que possível ser preenchido. Entretanto, quando for impossível o preenchimento das dimensões, fica obrigatório o preenchimento da cubagem em metro cúbico do leiaute do CT-e da estrutura genérica (infQ)." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_direc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_direc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_direc +msgid "Direção" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_direc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_direc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_direc +msgid "" +"Direção\n" +"Preencher com: N-Norte, L-Leste, S-Sul, O-Oeste" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__discount_value +msgid "Discount Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__document_id +msgid "Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_date +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__document_date +msgid "Document Date" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__key_check_digit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__key_check_digit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__key_check_digit +msgid "Document Key Check Digit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__key_random_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__key_random_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__key_random_code +msgid "Document Key Random Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__fiscal_line_ids +msgid "Document Lines" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_number +msgid "Document Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__file_report_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__file_report_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__file_report_id +msgid "Document Report" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_serie_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_serie_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_serie_id +msgid "Document Serie" +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.wizard_document_status_act_multi +msgid "Document Status" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_subsequent_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_subsequent_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_subsequent_ids +msgid "Document Subsequent" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__document_type_id +msgid "Document Type" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"Document without Return Fiscal Operation! \n" +" Force one!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_docAnt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_docAnt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_docAnt +msgid "Documentos de Transporte Anterior" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Edit in Form" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__edoc_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__edoc_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__edoc_error_message +msgid "Edoc Error Message" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_electronic +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_electronic +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_electronic +msgid "Electronic?" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_procEmi +msgid "Emission Process" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_avulsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_avulsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_avulsa +msgid "Emissão de avulsa" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_avulsa +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_avulsa +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_avulsa +msgid "Emissão de avulsa, informar os dados do Fisco emitente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_emit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_emit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_emit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_emit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_emit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_emit +msgid "Emit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_emit_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_emit_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_emit_type +msgid "Emit Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_email +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_email +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_email +msgid "Endereço de email" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_entrega +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_entrega +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_entrega +msgid "Entrega" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_comHora +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_comHora +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_comHora +msgid "Entrega com hora definida" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_noInter +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_noInter +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_noInter +msgid "Entrega no intervalo de horário definido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_noPeriodo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_noPeriodo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_noPeriodo +msgid "Entrega no período definido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_semData +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_semData +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_semData +msgid "Entrega sem data definida" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_semData +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_semData +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_semData +msgid "" +"Entrega sem data definida\n" +"Esta opção é proibida para o modal aéreo." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_environment +msgid "Environment" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indTot +msgid "Este campo deverá ser preenchido com" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indTot +msgid "" +"Este campo deverá ser preenchido com:\n" +" 0 – o valor do item (vProd) não compõe o valor total da NF-e (vProd)\n" +" 1 – o valor do item (vProd) compõe o valor total da NF-e (vProd)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__estimate_tax +msgid "Estimate Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__event_ids +msgid "Events" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Extra Info" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_value_wh +msgid "FCP WH" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_wh_percent +msgid "FCP WH %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_base_wh +msgid "FCP WH Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_ferrEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_ferrEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_ferrEmi +msgid "Ferrovia Emitente do CTe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_ferrEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_ferrEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_ferrEmi +msgid "" +"Ferrovia Emitente do CTe\n" +"Preencher com: \n" +"\t\t\t\t\t\t\t\t\t1-Ferrovia de origem; \n" +"\t\t\t\t\t\t\t\t\t2-Ferrovia de destino" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__ind_final +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__ind_final +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__ind_final +msgid "Final Consumption Operation" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_final_state_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_final_state_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_final_state_id +msgid "Final State" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__edoc_purpose +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__edoc_purpose +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__edoc_purpose +msgid "Finalidade" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_financial_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_financial_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__financial_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_financial_discount_value +msgid "Financial Discount Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__financial_total_gross +msgid "Financial Gross Amount" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_import_wizard_mixin__first_imported_move_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_nfe_import_xml__first_imported_move_id +msgid "First Imported Move" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_additional_data +msgid "Fiscal Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__manual_fiscal_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_move__manual_fiscal_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__manual_fiscal_additional_data +msgid "Fiscal Additional data manually entered by user" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_deductions_value +msgid "Fiscal Deductions" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_document_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_document_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_document_id +msgid "Fiscal Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_document_line_id +msgid "Fiscal Document Line" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Document Line to import..." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_related_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_related_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_related_ids +msgid "Fiscal Document Related" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Document to import..." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_document_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_document_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_document_ids +msgid "Fiscal Documents" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__incoterm_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__incoterm_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__incoterm_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__incoterm_id +msgid "Fiscal Inconterm" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_operation +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_operation_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_operation_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_operation_id +msgid "Fiscal Operation" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_operation_line +msgid "Fiscal Operation Line" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_operation_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_operation_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_operation_type +msgid "Fiscal Operation Type" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Fiscal Operation Type mismatch!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation__fiscal_position_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation_line__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_price +msgid "Fiscal Price" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_genre_id +msgid "Fiscal Product Genre" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_quantity +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Quantity" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_tax +msgid "Fiscal Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_tax_group__fiscal_tax_group_id +msgid "Fiscal Tax Group" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_tax_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_tax__fiscal_tax_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_tax_template__fiscal_tax_ids +msgid "Fiscal Taxes" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_type +msgid "Fiscal Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_fluxo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_fluxo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_fluxo +msgid "Fluxo Ferroviário" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_fluxo +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_fluxo +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_fluxo +msgid "" +"Fluxo Ferroviário\n" +"Trata-se de um número identificador do contrato firmado com o cliente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_pass +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_pass +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_pass +msgid "Fluxo Pass" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__force_compute_delivery_costs_by_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__force_compute_delivery_costs_by_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__force_compute_delivery_costs_by_total +msgid "Force Compute Delivery Costs By Total" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_reversal__force_fiscal_operation_id +msgid "Force Fiscal Operation" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpEmis +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpEmis +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpEmis +msgid "Forma de emissão do CT-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_tpEmis +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_tpEmis +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_tpEmis +msgid "" +"Forma de emissão do CT-e\n" +"Preencher com:\n" +"1 - Normal;\n" +" 3-Regime Especial NFF; 4-EPEC pela SVC; 5 - Contingência FSDA;\n" +"\t7 - Autorização pela SVC-RS;\n" +" 8 - Autorização pela SVC-SP" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpImp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpImp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpImp +msgid "Formato de impressão do DACTE" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_tpImp +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_tpImp +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_tpImp +msgid "" +"Formato de impressão do DACTE\n" +"Preencher com: 1 - Retrato; 2 - Paisagem." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpImp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpImp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpImp +msgid "Formato de impressão do DANFE" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_tpImp +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_tpImp +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_tpImp +msgid "" +"Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe Paisagem;3-DANFe Simplificado;\n" +"\t\t\t\t\t\t\t\t\t\t\t4-DANFe NFC-e;5-DANFe NFC-e em mensagem eletrônica)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_freight_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_freight_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__freight_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_freight_value +msgid "Freight Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xEmi +msgid "Funcionário emissor do CTe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__price_gross +msgid "Gross Product/Service Amount" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_document_line +msgid "" +"Grupo a ser informado nas vendas interestarduais para consumidor final,\n" +"não contribuinte de ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_gCompraGov +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_gCompraGov +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_gCompraGov +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_gCompraGov +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_gCompraGov +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_gCompraGov +msgid "Grupo de Compras Governamentais" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infPAA +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infPAA +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infPAA +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infPAA +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infPAA +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infPAA +msgid "Grupo de Informação do Provedor" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_infPAA +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_infPAA +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_infPAA +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_infPAA +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_infPAA +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_infPAA +msgid "Grupo de Informação do Provedor de Assinatura e Autorização" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infIntermed +msgid "Grupo de Informações" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infIntermed +msgid "Grupo de Informações do Intermediador da Transação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_detPag +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_detPag +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_detPag +msgid "Grupo de detalhamento da forma de pagamento." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_procRef +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_procRef +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_procRef +msgid "Grupo de informações" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_balsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_balsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_balsa +msgid "Grupo de informações das balsas" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_procRef +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_procRef +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_procRef +msgid "Grupo de informações do processo referenciado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_IBSCBS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_IBSCBS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_IBSCBS +msgid "Grupo de informações do IBS e CBS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_IS +msgid "Grupo de informações do Imposto Seletivo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infSolicNFF +msgid "Grupo de informações do pedido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_infSolicNFF +msgid "Grupo de informações do pedido de emissão da Nota Fiscal Fácil" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_IBSCBS +msgid "Grupo de informações dos tributos IBS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_IBSCBS +msgid "Grupo de informações dos tributos IBS, CBS e Imposto Seletivo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_gCred +msgid "Grupo de informações sobre" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_gCred +msgid "Grupo de informações sobre o CréditoPresumido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_NFref +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_NFref +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_NFref +msgid "Grupo de infromações da NF referenciada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_obsItem +msgid "Grupo de observações de uso livre" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_obsItem +msgid "Grupo de observações de uso livre (para o item da NF-e)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infSolicNFF +msgid "Grupo para informações da solicitação da NFF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_percent +msgid "ICMS %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_reduction +msgid "ICMS % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_base +msgid "ICMS Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_base_type +msgid "ICMS Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_destination_value +msgid "ICMS Dest. Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_destination_base +msgid "ICMS Destination Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_destination_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_destination_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_destination_value +msgid "ICMS Destination Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_value +msgid "ICMS Effective" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_percent +msgid "ICMS Effective %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_reduction +msgid "ICMS Effective % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_base +msgid "ICMS Effective Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_destination_percent +msgid "ICMS External %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_percent +msgid "ICMS FCP %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsfcp_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsfcp_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsfcp_base +msgid "ICMS FCP Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_percent +msgid "ICMS FCP ST %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_base +msgid "ICMS FCP ST Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsfcpst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsfcpst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsfcpst_value +msgid "ICMS FCP ST Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsfcp_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsfcp_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsfcp_value +msgid "ICMS FCP Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_origin_percent +msgid "ICMS Internal %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_origin +msgid "ICMS Origin" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_origin_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_origin_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_origin_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_origin_value +msgid "ICMS Origin Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_relief_id +msgid "ICMS Relief" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_relief_value +msgid "ICMS Relief Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_percent +msgid "ICMS SN %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_base +msgid "ICMS SN Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_credit_value +msgid "ICMS SN Credit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_reduction +msgid "ICMS SN Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_percent +msgid "ICMS ST %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_reduction +msgid "ICMS ST % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsst_base +msgid "ICMS ST Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_base_type +msgid "ICMS ST Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_mva_percent +msgid "ICMS ST MVA %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsst_value +msgid "ICMS ST Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_wh_percent +msgid "ICMS ST WH %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_wh_base +msgid "ICMS ST WH Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_wh_value +msgid "ICMS ST WH Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_sharing_percent +msgid "ICMS Sharing %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_substitute +msgid "ICMS Substitute" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_value +msgid "ICMS Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__tax_icms_or_issqn +msgid "ICMS or ISSQN Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_imposto +msgid "ICMS/II/IPI ou ISSQN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmssn_credit_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmssn_credit_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmssn_credit_value +msgid "ICMSSN Credit Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_percent +msgid "II %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ii_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ii_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ii_base +msgid "II Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ii_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ii_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ii_value +msgid "II Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_percent +msgid "INSS %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_reduction +msgid "INSS % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_base +msgid "INSS Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_percent +msgid "INSS RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_reduction +msgid "INSS RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_base +msgid "INSS RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_value +msgid "INSS RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_wh_base +msgid "INSS Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_wh_value +msgid "INSS Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_value +msgid "INSS Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_iof_value +msgid "IOF Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_percent +msgid "IPI %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_reduction +msgid "IPI % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ipi_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ipi_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ipi_base +msgid "IPI Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_base_type +msgid "IPI Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_guideline_id +msgid "IPI Guideline" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ipi_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ipi_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ipi_value +msgid "IPI Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_tipi +msgid "IPITrib ou IPINT" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_irin +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_irin +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_irin +msgid "IRIN da Embarcação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_percent +msgid "IRPJ %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_reduction +msgid "IRPJ % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_base +msgid "IRPJ Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_percent +msgid "IRPJ RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_reduction +msgid "IRPJ RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_base +msgid "IRPJ RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_value +msgid "IRPJ RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_wh_base +msgid "IRPJ Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_wh_value +msgid "IRPJ Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_value +msgid "IRPJ Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_percent +msgid "ISSQN %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_reduction +msgid "ISSQN % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_base +msgid "ISSQN Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_fg_city_id +msgid "ISSQN City" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_deduction_amount +msgid "ISSQN Deduction Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_desc_cond_amount +msgid "ISSQN Discount Cond" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_desc_incond_amount +msgid "ISSQN Discount Incond" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_eligibility +msgid "ISSQN Eligibility" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_incentive +msgid "ISSQN Incentive" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_other_amount +msgid "ISSQN Other Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_percent +msgid "ISSQN RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_reduction +msgid "ISSQN RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_base +msgid "ISSQN RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_value +msgid "ISSQN RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_wh_base +msgid "ISSQN Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_wh_value +msgid "ISSQN Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_value +msgid "ISSQN Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_ISTot +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_ISTot +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_ISTot +msgid "ISTot" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_Id +msgid "Identificador da tag a ser assinada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_Id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_Id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_Id +msgid "" +"Identificador da tag a ser assinada\n" +"Informar a chave de acesso do CT-e e precedida do literal 'CTe'" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_Id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_Id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_Id +msgid "" +"Identificador da tag a ser assinada\n" +"Informar a chave de acesso do MDF-e e precedida do literal 'MDFe'" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_idDest +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_idDest +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_idDest +msgid "" +"Identificador de Local de destino da operação " +"(1-Interna;2-Interestadual;3-Exterior)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_procEmi +msgid "Identificador do processo de emissão" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_procEmi +msgid "" +"Identificador do processo de emissão do CT-e\n" +"Preencher com: \n" +"\t\t\t\t\t\t\t\t\t\t\t0 - emissão de CT-e com aplicativo do contribuinte;\n" +"\t\t\t\t\t\t\t\t\t\t\t3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo SEBRAE." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_balsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_balsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_balsa +msgid "Identificação da balsa (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_entrega +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_entrega +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_entrega +msgid "" +"Identificação do Local de Entrega (informar apenas quando for diferente do " +"endereço do destinatário)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_retirada +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_retirada +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_retirada +msgid "Identificação do Local de Retirada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_retirada +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_retirada +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_retirada +msgid "" +"Identificação do Local de Retirada (informar apenas quando for diferente do " +"endereço do remetente)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xNavio +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xNavio +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xNavio +msgid "Identificação do Navio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_procEmi +msgid "" +"Identificação do processo de emissão do Manifesto\n" +"0 - emissão de MDF-e com aplicativo do contribuinte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vagao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vagao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vagao +msgid "Identificação do vagão (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.document_import_wizard_mixin_form +msgid "Import Account Move" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Import Fiscal Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__imported_document +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__imported_document +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__imported_document +msgid "Imported" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/wizards/document_import_wizard_mixin.py:0 +#, python-format +msgid "Imported Invoice" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/wizards/document_import_wizard_mixin.py:0 +#, python-format +msgid "Imported Invoices" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields.selection,name:l10n_br_account.selection__account_move__fiscal_operation_type__in +msgid "In" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__fiscal_document_ids +#: model:ir.model.fields,help:l10n_br_account.field_account_move__fiscal_document_ids +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__fiscal_document_ids +msgid "" +"In some rare cases (NFS-e, CT-e...) a single account.move\n" +" may have several different fiscal documents related to its account.move.lines.\n" +" " +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_in_action +msgid "Incomming Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_incoterms +msgid "Incoterms" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indSomaCOFINSST +msgid "Indica se o valor da COFINS ST compõe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indSomaCOFINSST +msgid "Indica se o valor da COFINS ST compõe o valor total da NFe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indSomaPISST +msgid "Indica se o valor do PISST compõe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indSomaPISST +msgid "Indica se o valor do PISST compõe o valor total da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_indGlobalizado +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_indGlobalizado +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_indGlobalizado +msgid "Indicador de CT-e Globalizado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_indGlobalizado +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_indGlobalizado +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_indGlobalizado +msgid "" +"Indicador de CT-e Globalizado\n" +"Informar valor 1 quando for Globalizado e não informar a tag quando não tratar de CT-e Globalizado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_indCarregaPosterior +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_indCarregaPosterior +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_indCarregaPosterior +msgid "Indicador de MDF-e com inclusão" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_indCarregaPosterior +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_indCarregaPosterior +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_indCarregaPosterior +msgid "" +"Indicador de MDF-e com inclusão da Carga posterior a emissão por evento de " +"inclusão de DF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indBemMovelUsado +msgid "Indicador de fornecimento de bem móvel usado: 1-Bem Móvel Usado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_indIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_indIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_indIntermed +msgid "Indicador de intermediador/marketplace" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_indIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_indIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_indIntermed +msgid "" +"Indicador de intermediador/marketplace \n" +"\t\t\t\t\t\t\t\t\t\t\t0=Operação sem intermediador (em site ou plataforma própria) \n" +"\t\t\t\t\t\t\t\t\t\t\t1=Operação em site ou plataforma de terceiros (intermediadores/marketplace)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_indCanalVerde +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_indCanalVerde +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_indCanalVerde +msgid "Indicador de participação do Canal Verde" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_indIEToma +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_indIEToma +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_indIEToma +msgid "Indicador do papel do tomador" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_indIEToma +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_indIEToma +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_indIEToma +msgid "" +"Indicador do papel do tomador na prestação do serviço:\n" +"1 – Contribuinte ICMS;\n" +"2 – Contribuinte isento de inscrição;\n" +"9 – Não Contribuinte\n" +"Aplica-se ao tomador que for indicado no toma3 ou toma4" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_retira +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_retira +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_retira +msgid "Indicador se o Recebedor retira" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_retira +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_retira +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_retira +msgid "" +"Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino?\n" +"Preencher com: 0 - sim; 1 - não" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_gPagAntecipado +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_gPagAntecipado +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_gPagAntecipado +msgid "Informado para abater" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_gPagAntecipado +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_gPagAntecipado +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_gPagAntecipado +msgid "" +"Informado para abater as parcelas de antecipação de pagamento, conforme Art." +" 10. § 4º" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_comb +msgid "Informar apenas para operações com combustíveis líquidos" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infAdFisco +msgid "Informações Adicionais Fiscais MDFe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infCpl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infCpl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infCpl +msgid "Informações Complementares MDFE" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infAdFisco +msgid "Informações adicionais de interesse" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_infAdFisco +msgid "" +"Informações adicionais de interesse do Fisco\n" +"Norma referenciada, informações complementares, etc" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infAdFisco +msgid "Informações adicionais de interesse do Fisco (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_infAdProd +msgid "Informações adicionais do produto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_infAdProd +msgid "" +"Informações adicionais do produto (norma referenciada, informações " +"complementares, etc)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infCpl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infCpl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infCpl +msgid "Informações complementares de interesse" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_infCpl +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infCpl +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_infCpl +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infCpl +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_infCpl +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infCpl +msgid "Informações complementares de interesse do Contribuinte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_ferroEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_ferroEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_ferroEnv +msgid "Informações das Ferrovias Envolvidas" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infNFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infNFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infNFe +msgid "Informações das NF-e DOCS (Cte)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_compra +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_compra +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_compra +msgid "Informações de compras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_compra +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_compra +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_compra +msgid "Informações de compras (Nota de Empenho, Pedido e Contrato)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_document +msgid "Informações de exportação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infQ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infQ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infQ +msgid "Informações de quantidades da Carga" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_infQ +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_infQ +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_infQ +msgid "" +"Informações de quantidades da Carga do CT-e\n" +"Para o Aéreo é obrigatório o preenchimento desse campo da seguinte forma.\n" +"1 - Peso Bruto, sempre em quilogramas (obrigatório);\n" +"2 - Peso Cubado; sempre em quilogramas;\n" +"3 - Quantidade de volumes, sempre em unidades (obrigatório);\n" +"4 - Cubagem, sempre em metros cúbicos (obrigatório apenas quando for impossível preencher as dimensões da(s) embalagem(ens) na tag xDime do leiaute do Aéreo)." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cana +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cana +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cana +msgid "Informações de registro aquisições de cana" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infGlobalizado +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infGlobalizado +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infGlobalizado +msgid "Informações do CT-e Globalizado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infCteSub +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infCteSub +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infCteSub +msgid "Informações do CT-e de substituição" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infPercurso +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infPercurso +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infPercurso +msgid "Informações do Percurso do MDF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infServVinc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infServVinc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infServVinc +msgid "Informações do Serviço Vinculado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_infServVinc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_infServVinc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_infServVinc +msgid "Informações do Serviço Vinculado a Multimodal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infMunCarrega +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infMunCarrega +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infMunCarrega +msgid "Informações dos Municipios de Carregamento" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infMunDescarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infMunDescarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infMunDescarga +msgid "Informações dos Municípios" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_infMunCarrega +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_infMunCarrega +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_infMunCarrega +msgid "Informações dos Municípios de Carregamento" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_infMunDescarga +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_infMunDescarga +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_infMunDescarga +msgid "Informações dos Municípios de descarregamento" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infOutros +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infOutros +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infOutros +msgid "Informações dos Outros DOCS (Cte)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_infDoc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_infDoc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_infDoc +msgid "Informações dos documentos transportados" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_infDoc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_infDoc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_infDoc +msgid "" +"Informações dos documentos transportados pelo CT-e\n" +"Opcional para Redespacho Intermediario e Serviço vinculado a multimodal.\n" +"Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_infProdNFF +msgid "Informações mais detalhadas do produto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_infProdEmb +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_infProdNFF +msgid "Informações mais detalhadas do produto (usada na NFF)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_initial_state_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_initial_state_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_initial_state_id +msgid "Initial State" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_IE +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_IE +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_IE +msgid "Inscrição Estadual" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_IE +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_IE +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_IE +msgid "" +"Inscrição Estadual\n" +"Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__insurance_endorsement +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__insurance_endorsement +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__insurance_endorsement +msgid "Insurance Endorsement" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__insurance_policy +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__insurance_policy +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__insurance_policy +msgid "Insurance Policy" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__partner_insurance_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_insurance_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__partner_insurance_id +msgid "Insurance Provider" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_insurance_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_insurance_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__insurance_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_insurance_value +msgid "Insurance Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__incoterm_id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__incoterm_id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__incoterm_id +#: model:ir.model.fields,help:l10n_br_account.field_l10n_br_fiscal_document__incoterm_id +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__invalidate_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__invalidate_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__invalidate_event_id +msgid "Invalidate Event" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__account_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__account_line_ids +msgid "Invoice Lines" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__move_count +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__move_count +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__move_count +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__move_count +msgid "Invoice count" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__move_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__move_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__move_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__move_ids +#: model_terms:ir.ui.view,arch_db:l10n_br_account.nfe_document_form_inherit +msgid "Invoices" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_irin +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_irin +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_irin +msgid "Irin do navio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_irin +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_irin +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_irin +msgid "Irin do navio sempre deverá ser informado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__is_edoc_printed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__is_edoc_printed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__is_edoc_printed +msgid "Is Printed?" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__issuer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__issuer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__issuer +msgid "Issuer" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_journal +msgid "Journal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_xJust +msgid "Justificativa da entrada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xJust +msgid "Justificativa da entrada em contingência" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_key +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_key +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_key +msgid "Key" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__name +msgid "Label" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_lacres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_lacres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_lacres +msgid "Lacres do MDF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_lacres +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_lacres +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_lacres +msgid "" +"Lacres do MDF-e\n" +"Preechimento opcional para os modais Rodoviário e Ferroviário" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "Legal Name" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"Line without Return Fiscal Operation! \n" +"\n" +" Please force one! \n" +"%(name)s" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_loading_city_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_loading_city_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_loading_city_ids +msgid "Loading Cities" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_xLocExporta +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_xLocExporta +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_xLocExporta +msgid "Local de Embarque ou de transposição de fronteira" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__manual_additional_data +msgid "Manual Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__manual_customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__manual_customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__manual_customer_additional_data +msgid "Manual Customer Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__manual_fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__manual_fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__manual_fiscal_additional_data +msgid "Manual Fiscal Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_matr +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_matr +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_matr +msgid "Matrícula da Aeronave" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_modal_aereo_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_modal_aereo_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_modal_aereo_id +msgid "Mdfe Modal Aereo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_modal_aquaviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_modal_aquaviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_modal_aquaviario_id +msgid "Mdfe Modal Aquaviario" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_modal_ferroviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_modal_ferroviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_modal_ferroviario_id +msgid "Mdfe Modal Ferroviario" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_modal_rodoviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_modal_rodoviario_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_modal_rodoviario_id +msgid "Mdfe Modal Rodoviario" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_condutor +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_condutor +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_condutor +msgid "Mdfe30 Condutor" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_disp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_disp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_disp +msgid "Mdfe30 Disp" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infCIOT +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infCIOT +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infCIOT +msgid "Mdfe30 Infciot" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infContratante +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infContratante +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infContratante +msgid "Mdfe30 Infcontratante" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infEmbComb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infEmbComb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infEmbComb +msgid "Mdfe30 Infembcomb" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infMDFeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infMDFeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infMDFeSupl +msgid "Mdfe30 Infmdfesupl" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infPag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infPag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infPag +msgid "Mdfe30 Infpag" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infTermCarreg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infTermCarreg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infTermCarreg +msgid "Mdfe30 Inftermcarreg" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infTermDescarreg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infTermDescarreg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infTermDescarreg +msgid "Mdfe30 Inftermdescarreg" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infUnidCargaVazia +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infUnidCargaVazia +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infUnidCargaVazia +msgid "Mdfe30 Infunidcargavazia" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_infUnidTranspVazia +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_infUnidTranspVazia +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_infUnidTranspVazia +msgid "Mdfe30 Infunidtranspvazia" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_lacRodo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_lacRodo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_lacRodo +msgid "Mdfe30 Lacrodo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_UF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_UF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_UF +msgid "Mdfe30 Uf" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_vag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_vag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_vag +msgid "Mdfe30 Vag" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_vCarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_vCarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_vCarga +msgid "Mdfe30 Vcarga" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_veicReboque +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_veicReboque +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_veicReboque +msgid "Mdfe30 Veicreboque" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__transport_modal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__transport_modal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__transport_modal +msgid "Modal de Transporte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_modFrete +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_modFrete +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_modFrete +msgid "Modalidade do frete" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_modFrete +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_modFrete +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_modFrete +msgid "" +"Modalidade do frete\n" +"0- Contratação do Frete por conta do Remetente (CIF);\n" +"1- Contratação do Frete por conta do destinatário/remetente (FOB);\n" +"2- Contratação do Frete por conta de terceiros;\n" +"3- Transporte próprio por conta do remetente;\n" +"4- Transporte próprio por conta do destinatário;\n" +"9- Sem Ocorrência de transporte." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_ir_model_data +msgid "Model Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__brl_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__brl_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__brl_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__brl_currency_id +msgid "Moeda" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"More than 1 fiscal document!You should open the fiscal viewand perform the " +"action on each document!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_destCalc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_destCalc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_destCalc +msgid "Município de destino para efeito" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_destCalc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_destCalc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_destCalc +msgid "Município de destino para efeito de cálculo do frete" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_origCalc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_origCalc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_origCalc +msgid "Município de origem para efeito" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_origCalc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_origCalc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_origCalc +msgid "Município de origem para efeito de cálculo do frete" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nbm_id +msgid "NBM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nbs_id +msgid "NBS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ncm_id +msgid "NCM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_nfe_action +msgid "NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_nfse_action +msgid "NFS-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfse_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfse_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfse_environment +msgid "NFSe Environment" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_environment +msgid "NFe Environment" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_transmission +msgid "NFe Transmission" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_version +msgid "NFe Version" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_NVE +msgid "NVE" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_nac +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_nac +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_nac +msgid "Nacionalidade da Aeronave" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__name +msgid "Name" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__simple_value +msgid "National Simple Taxes" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__simple_without_icms_value +msgid "National Simple Taxes without ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_dhCont +msgid "Nfe Dhcont" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_xJust +msgid "Nfe Xjust" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infNFeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infNFeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infNFeSupl +msgid "Nfe40 Infnfesupl" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSInterPart +msgid "Nfe40 Picmsinterpart" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSUFDest +msgid "Nfe40 Picmsufdest" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "No new Fiscal Document Line to import!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xFant +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xFant +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xFant +msgid "Nome Fantasia" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_xEmbar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_xEmbar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_xEmbar +msgid "Nome da Embarcação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xMunEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xMunEnv +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xMunEnv +msgid "Nome do Município de envio do CT-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xMunEnv +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xMunEnv +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xMunEnv +msgid "" +"Nome do Município de envio do CT-e (de onde o documento foi transmitido)\n" +"Informar PAIS/Municipio para as operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xMunIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xMunIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xMunIni +msgid "Nome do Município do início da prestação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xMunIni +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xMunIni +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xMunIni +msgid "" +"Nome do Município do início da prestação\n" +"Informar 'EXTERIOR' para operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xMunFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xMunFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xMunFim +msgid "Nome do Município do término" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xMunFim +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xMunFim +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xMunFim +msgid "" +"Nome do Município do término da prestação\n" +"Informar 'EXTERIOR' para operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_NVE +msgid "Nomenclatura de Valor aduaneio e Estatístico" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nProcesso +msgid "Número" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_nOCA +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_nOCA +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_nOCA +msgid "Número Operacional do Conhecimento Aéreo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_nOCA +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_nOCA +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_nOCA +msgid "" +"Número Operacional do Conhecimento Aéreo\n" +"Representa o número de controle comumente utilizado pelo conhecimento aéreo composto por uma sequência numérica de onze dígitos. Os três primeiros dígitos representam um código que os operadores de transporte aéreo associados à IATA possuem. Em seguida um número de série de sete dígitos determinados pelo operador de transporte aéreo. Para finalizar, um dígito verificador, que é um sistema de módulo sete imponderado o qual divide o número de série do conhecimento aéreo por sete e usa o resto como dígito de verificação." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_nMinu +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_nMinu +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_nMinu +msgid "Número da Minuta" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_nMinu +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_nMinu +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_nMinu +msgid "" +"Número da Minuta\n" +"Documento que precede o CT-e, assinado pelo expedidor, espécie de pedido de serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_nViag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_nViag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_nViag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_nViag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_nViag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_nViag +msgid "Número da Viagem" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nFCI +msgid "Número de controle da FCI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_nFCI +msgid "Número de controle da FCI - Ficha de Conteúdo de Importação." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_CNPJ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_CNPJ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_CNPJ +msgid "Número do CNPJ" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_CNPJ +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_CNPJ +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_CNPJ +msgid "" +"Número do CNPJ\n" +"Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n" +"Informar os zeros não significativos." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_CPF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_CPF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_CPF +msgid "Número do CPF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_CPF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_CPF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_CPF +msgid "" +"Número do CPF\n" +"Informar os zeros não significativos." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_nProcesso +msgid "Número do Processo administrativo ou judicial de suspenção do processo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nRECOPI +msgid "Número do RECOPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_nVoo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_nVoo +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_nVoo +msgid "Número do Voo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nItem +msgid "Número do item do NF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_obsFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_obsFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_obsFisco +msgid "ObsFisco" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_all_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_in_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfe_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfse_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_out_action +msgid "" +"Odoo helps you easily track all activities related to a fiscal operation." +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_tree +msgid "Open Fiscal Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_operation_id +msgid "Operation" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_operation_line_id +msgid "Operation Line" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__operation_nature +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__operation_nature +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__operation_nature +msgid "Operation Nature" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_occ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_occ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_occ +msgid "Ordens de Coleta associados" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_xOri +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_xOri +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_xOri +msgid "Origem do Trem" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_other_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_other_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_other_value +msgid "Other Costs" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__other_retentions_value +msgid "Other Retentions" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__other_value +msgid "Other Value" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Others" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields.selection,name:l10n_br_account.selection__account_move__fiscal_operation_type__out +msgid "Out" +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_out_action +msgid "Outgoing Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xOutCat +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xOutCat +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xOutCat +msgid "Outras características da carga" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xOutCat +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xOutCat +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xOutCat +msgid "" +"Outras características da carga\n" +"'FRIA', 'GRANEL', 'REFRIGERADA', 'Medidas: 12X12X12'" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_percent +msgid "PIS %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_reduction +msgid "PIS % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_base +msgid "PIS Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_base_id +msgid "PIS Base Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_base_type +msgid "PIS Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_credit_id +msgid "PIS Credit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_percent +msgid "PIS RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_reduction +msgid "PIS RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_base +msgid "PIS RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_value +msgid "PIS RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_wh_base +msgid "PIS Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_wh_value +msgid "PIS Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_percent +msgid "PIS ST %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_reduction +msgid "PIS ST % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pisst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pisst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pisst_base +msgid "PIS ST Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_base_type +msgid "PIS ST Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pisst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pisst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pisst_value +msgid "PIS ST Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_value +msgid "PIS Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_base_type +msgid "PIS WH Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_pis +msgid "PISAliq/PISQtde/PISNT/PISOutr" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_Id +msgid "PL_005d - 11/08/09 - validação do Id" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__partner_id +msgid "Partner" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__partner_order +msgid "Partner Order (xPed)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__partner_order_line +msgid "Partner Order Line (nItemPed)" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Partner mismatch!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__payment_term_number +msgid "Payment Term Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pFCPST +msgid "Percentual de FCP retido por substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__p_devol +msgid "Percentual de mercadoria devolvida" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pRedBC +msgid "Percentual de redução da BC" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pRedBCEfet +msgid "Percentual de redução da base de cálculo efetiva." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pBCOp +msgid "Percentual para determinação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pBCOp +msgid "" +"Percentual para determinação do valor da Base de Cálculo da operação " +"própria." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pFCPSTRet +msgid "" +"Percentual relativo ao Fundo de Combate à Pobreza (FCP) retido por " +"substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_qCarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_qCarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_qCarga +msgid "Peso Bruto Total" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_qCarga +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_qCarga +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_qCarga +msgid "Peso Bruto Total da Carga / Mercadorias transportadas" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_autXML +msgid "Pessoas autorizadas para o download" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_autXML +msgid "Pessoas autorizadas para o download do XML da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_placa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_placa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_placa +msgid "Placa do Veículo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cPrtDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cPrtDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cPrtDest +msgid "Porto de Destino" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_cPrtEmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_cPrtEmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_cPrtEmb +msgid "Porto de Embarque" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_prtTrans +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_prtTrans +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_prtTrans +msgid "Porto de Transbordo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_xPref +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_xPref +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_xPref +msgid "Prefixo do Trem" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__price_unit +msgid "Price Unit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_procEmi +msgid "Processo de emissão utilizado com" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_procEmi +msgid "" +"Processo de emissão utilizado com a seguinte codificação:\n" +"0 - emissão de NF-e com aplicativo do contribuinte;\n" +"1 - emissão de NF-e avulsa pelo Fisco;\n" +"2 - emissão de NF-e avulsa, pelo contribuinte com seu certificado digital, através do site\n" +"do Fisco;\n" +"3- emissão de NF-e pelo contribuinte com aplicativo fornecido pelo Fisco." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__product_id +msgid "Product" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_proPred +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_prodPred +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_proPred +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_prodPred +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_proPred +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_prodPred +msgid "Produto predominante" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_proPred +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_proPred +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_proPred +msgid "" +"Produto predominante\n" +"Informar a descrição do produto predominante" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_prodPred +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_prodPred +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_prodPred +msgid "" +"Produto predominante\n" +"Informar a descrição do produto predominante, conforme o item de maior valor financeiro conforme Resolução ANTT n° 5.867 de 2020)." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_agropecuario +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_agropecuario +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_agropecuario +msgid "Produtos Agropecurários Animais" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_agropecuario +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_agropecuario +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_agropecuario +msgid "Produtos Agropecurários Animais, Vegetais e Florestais" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_prop +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_prop +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_prop +msgid "Proprietário do Veículo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qBCProd +msgid "Quantidade Vendida" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_qBCProd +msgid "Quantidade Vendida (NT2011/004)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_qVag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_qVag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_qVag +msgid "Quantidade de Vagões" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qSelo +msgid "Quantidade de selo de controle do IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_qCTe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_qCTe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_qCTe +msgid "Quantidade total de CT-e relacionados" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_qCTe +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_qCTe +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_qCTe +msgid "Quantidade total de CT-e relacionados no Manifesto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_qMDFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_qMDFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_qMDFe +msgid "Quantidade total de MDF-e relacionados" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_qMDFe +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_qMDFe +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_qMDFe +msgid "Quantidade total de MDF-e relacionados no Manifesto Aquaviário" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_qNFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_qNFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_qNFe +msgid "Quantidade total de NF-e relacionadas" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_qNFe +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_qNFe +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_qNFe +msgid "Quantidade total de NF-e relacionadas no Manifesto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_qUnid +msgid "Quantidade total na unidade padrão para tributação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__quantity +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__quantity +msgid "Quantity" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_RENAVAM +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_RENAVAM +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_RENAVAM +msgid "RENAVAM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_RNTRC +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_RNTRC +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_RNTRC +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_RNTRC +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_RNTRC +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_RNTRC +msgid "RNTRC" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__rps_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__rps_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__rps_number +msgid "RPS Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xNome +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xNome +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xNome +msgid "Razão Social ou Nome" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__partner_receivering_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_receivering_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__partner_receivering_id +msgid "Receiver Address" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_DFeReferenciado +msgid "Referenciamento de item de outros DFe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_RNTRC +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_RNTRC +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_RNTRC +msgid "Registro Nacional de Transportadores Rodoviários de Carga" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_respFat +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_respFat +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_respFat +msgid "Responsável pelo Faturamento" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_route_state_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_route_state_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_route_state_ids +msgid "Route States" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__rps_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__rps_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__rps_type +msgid "Rps Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_seg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_seg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_seg +msgid "Seguros da Carga" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__partner_sendering_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_sendering_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__partner_sendering_id +msgid "Sender Address" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_serie +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_serie +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_serie +msgid "Serie Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__service_type_id +msgid "Service Type LC 166" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__partner_shippering_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_shippering_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__partner_shippering_id +msgid "Shipper Address" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__partner_shipping_id +msgid "Shipping Address" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.nfe_document_form_inherit +msgid "Show related invoices" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_UFSaidaPais +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_UFSaidaPais +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_UFSaidaPais +msgid "Sigla da UF de Embarque ou de transposição de fronteira" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_UFIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_UFIni +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_UFIni +msgid "Sigla da UF do Carregamento" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_UFIni +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_UFIni +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_UFIni +msgid "" +"Sigla da UF do Carregamento\n" +"Utilizar a Tabela do IBGE de código de unidades da federação.\n" +"Informar 'EX' para operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_UFFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_UFFim +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_UFFim +msgid "Sigla da UF do Descarregamento" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_UFFim +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_UFFim +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_UFFim +msgid "" +"Sigla da UF do Descarregamento\n" +"Utilizar a Tabela do IBGE de código de unidades da federação.\n" +"Informar 'EX' para operações com o exterior." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_UFST +msgid "Sigla da UF para qual é devido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_UFST +msgid "Sigla da UF para qual é devido o ICMS ST da operação." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xOrig +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xOrig +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xOrig +msgid "Sigla ou código interno" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_xDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_xDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_xDest +msgid "Sigla ou código interno (xDest)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xOrig +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xOrig +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xOrig +msgid "" +"Sigla ou código interno da Filial/Porto/Estação/ Aeroporto de Origem\n" +"Observações para o modal aéreo:\n" +"\t\t\t\t\t\t\t\t\t\t\t\t\t\t- Preenchimento obrigatório para o modal aéreo.\n" +"\t\t\t\t\t\t\t\t\t\t\t\t\t\t- O código de três letras IATA do aeroporto de partida deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_xDest +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_xDest +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_xDest +msgid "" +"Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Destino\n" +"Observações para o modal aéreo:\n" +"\t\t\t\t\t\t\t\t\t\t\t\t\t\t- Preenchimento obrigatório para o modal aéreo.\n" +"\t\t\t\t\t\t\t\t\t\t\t\t\t\t- Deverá ser incluído o código de três letras IATA do aeroporto de destino. Quando não for possível, utilizar a sigla OACI." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_range_id +msgid "Simplified Range Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__state_fiscal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__state_fiscal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__state_fiscal +msgid "Situação Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__state_edoc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__state_edoc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__state_edoc +msgid "Situação e-doc" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "State Tax Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__status_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__status_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__status_code +msgid "Status Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__status_description +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__status_description +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__status_description +msgid "Status Description" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__status_name +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__status_name +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__status_name +msgid "Status Name" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__payment_term_number +msgid "" +"Stores the installment number in the format 'current-total'. For example, " +"'1-3' for the first of three installments, '2-3' for the second, and '3-3' " +"for the last installment." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_subsequent_generated +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_subsequent_generated +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_subsequent_generated +msgid "Subsequent documents generated?" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_tara +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_tara +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_tara +msgid "Tara em KG" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_tax_benefit_id +msgid "Tax Benefit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_tax_id +msgid "Tax COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_tax_id +msgid "Tax COFINS RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_tax_id +msgid "Tax COFINS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_tax_id +msgid "Tax CSLL" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_tax_id +msgid "Tax CSLL RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_tax_group +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_tax_group +msgid "Tax Group" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_tax_id +msgid "Tax ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_tax_id +msgid "Tax ICMS FCP" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_tax_id +msgid "Tax ICMS FCP ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_tax_id +msgid "Tax ICMS SN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_tax_id +msgid "Tax ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_tax_id +msgid "Tax II" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_tax_id +msgid "Tax INSS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_tax_id +msgid "Tax INSS RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_tax_id +msgid "Tax IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_tax_id +msgid "Tax IRPJ" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_tax_id +msgid "Tax IRPJ RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_tax_id +msgid "Tax ISSQN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_tax_id +msgid "Tax ISSQN RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_tax_id +msgid "Tax PIS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_tax_id +msgid "Tax PIS RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_tax_id +msgid "Tax PIS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__uot_id +msgid "Tax UoM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_tax_withholding +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_tax_withholding +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax_withholding +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_tax_withholding +msgid "Tax Withholding" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__taxation_special_regime +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__taxation_special_regime +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__taxation_special_regime +msgid "Taxation Special Regime" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Taxes" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_fone +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_fone +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_fone +msgid "Telefone" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_tax_template +msgid "Templates for Taxes" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__insurance_endorsement +#: model:ir.model.fields,help:l10n_br_account.field_account_move__insurance_endorsement +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__insurance_endorsement +msgid "" +"The endorsement number associated with the insurance policy, indicating any " +"modifications or adjustments to the coverage. This field is primarily used " +"when issuing the CT-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__insurance_policy +#: model:ir.model.fields,help:l10n_br_account.field_account_move__insurance_policy +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__insurance_policy +msgid "" +"The insurance policy number covering the transported goods. This field is " +"primarily used when issuing the CT-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__partner_receivering_id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__partner_receivering_id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__partner_receivering_id +msgid "" +"The intermediary partner who receives the goods before they reach the final " +"recipient, often involved in verification, temporary storage, or further " +"distribution. This field is primarily used when issuing the CT-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__quantity +msgid "" +"The optional quantity expressed by this line, eg: number of product sold. " +"The quantity is not a legal requirement but is very useful for some reports." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__partner_insurance_id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__partner_insurance_id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__partner_insurance_id +msgid "" +"The partner providing insurance coverage for the transported goods. This " +"field is primarily used when issuing the CT-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__partner_shippering_id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__partner_shippering_id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__partner_shippering_id +msgid "" +"The partner responsible for delivering the cargo to the carrier, if not done" +" directly by the sender. This field is primarily used when issuing the CT-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__partner_sendering_id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__partner_sendering_id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__partner_sendering_id +msgid "" +"The partner responsible for sending the goods, typically the issuer of the " +"document. This field is primarily used when issuing the CT-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_transporta +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_transporta +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_transporta +msgid "The partner that is doing the delivery service." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_tpEmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_tpEmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_tpEmb +msgid "Tipo da Embarcação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_tpCar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_tpCar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_tpCar +msgid "Tipo de Carroceria" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_choice_icms +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_choice_icms +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_icms +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_choice_icms +msgid "Tipo de ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpNav +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_tpNav +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpNav +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_tpNav +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpNav +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_tpNav +msgid "Tipo de Navegação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_tpNav +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_tpNav +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_tpNav +msgid "" +"Tipo de Navegação\n" +"Preencher com: \n" +"\t\t\t\t\t\t0 - Interior;\n" +"\t\t\t\t\t\t1 - Cabotagem" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpNFCredito +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpNFCredito +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpNFCredito +msgid "Tipo de Nota de Crédito" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpNFDebito +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpNFDebito +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpNFDebito +msgid "Tipo de Nota de Débito" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_tpNFDebito +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_tpNFDebito +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_tpNFDebito +msgid "" +"Tipo de Nota de Débito:\n" +"01=Transferência de créditos para Cooperativas; \n" +"02=Anulação de Crédito por Saídas Imunes/Isentas; \n" +"03=Débitos de notas fiscais não processadas na apuração; \n" +"04=Multa e juros; \n" +"05=Transferência de crédito de sucessão." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_prod +msgid "Tipo de Produto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_cofinsoutr +msgid "Tipo de Tributação do COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_pisoutr +msgid "Tipo de Tributação do PIS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpTraf +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpTraf +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpTraf +msgid "Tipo de Tráfego" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpPer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpPer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpPer +msgid "Tipo de data/período programado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_tpPer +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_tpPer +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_tpPer +msgid "" +"Tipo de data/período programado para entrega\n" +"Preencher com:\n" +"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1-Na data;\n" +"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2-Até a data;\n" +"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3-A partir da data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpHor +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpHor +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpHor +msgid "Tipo de hora" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_tpHor +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_tpHor +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_tpHor +msgid "" +"Tipo de hora\n" +"0- Sem hora definida" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpCTe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpCTe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpCTe +msgid "Tipo do CT-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_tpCTe +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_tpCTe +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_tpCTe +msgid "" +"Tipo do CT-e\n" +"Preencher com:\n" +"\t0 - CT-e Normal;\n" +" 1 - CT-e de Complemento de Valores;\n" +" 3 - CT-e de Substituição" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpNF +msgid "Tipo do Documento Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_tpNF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_tpNF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_tpNF +msgid "Tipo do Documento Fiscal (0 - entrada; 1 - saída)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_tpRod +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_tpRod +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_tpRod +msgid "Tipo do Rodado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_tpServ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_tpServ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_tpServ +msgid "Tipo do Serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_tpServ +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_tpServ +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_tpServ +msgid "" +"Tipo do Serviço\n" +"Preencher com: \n" +"0 - Normal;\n" +"1 - Subcontratação;\n" +"2 - Redespacho;\n" +"3 - Redespacho Intermediário; \n" +"4 - Serviço Vinculado a Multimodal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__service_provider +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__service_provider +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__service_provider +msgid "Tomador do Serviço" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_form +msgid "Total" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__total_weight +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__total_weight +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__total_weight +msgid "Total Weight" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__financial_total_gross +msgid "Total amount before any discounts are applied." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__price_gross +msgid "" +"Total value of products or services (quantity x unit price)before any " +"discounts." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_transmission +msgid "Transmission" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_transp_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_transp_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_transp_type +msgid "Transp Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe_modal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe_modal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe_modal +msgid "Transport Modal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_transporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_transporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_transporta +msgid "Transporter" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__rodo_vehicle_state_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__rodo_vehicle_state_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__rodo_vehicle_state_id +msgid "UF do Veículo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_UFSaidaPais +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_UFSaidaPais +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_UFSaidaPais +msgid "UFSaidaPais" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__uom_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__uom_id +msgid "UOM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__user_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__user_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__user_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__user_id +msgid "User" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_form +msgid "Validate" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSMonoRet +msgid "Valor" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vISSRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vISSRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vISSRet +msgid "Valor Total Retenção ISS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vFCP +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vFCP +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vFCP +msgid "Valor Total do FCP" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPSTRet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vFCPSTRet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vFCPSTRet +msgid "" +"Valor Total do FCP (Fundo de Combate à Pobreza) retido anteriormente por " +"substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vFCP +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vFCP +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vFCP +msgid "Valor Total do FCP (Fundo de Combate à Pobreza)." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPSTRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vFCPSTRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vFCPSTRet +msgid "Valor Total do FCP (vFCPSTRet)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSDeson +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSDeson +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSDeson +msgid "Valor Total do ICMS desonerado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vIPIDevol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vIPIDevol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vIPIDevol +msgid "Valor Total do IPI devolvido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vIPIDevol +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vIPIDevol +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vIPIDevol +msgid "" +"Valor Total do IPI devolvido. Deve ser informado quando preenchido o Grupo " +"Tributos Devolvidos na emissão de nota finNFe=4 (devolução) nas operações " +"com não contribuintes do IPI. Corresponde ao total da soma dos campos id: " +"UA04." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vISS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vISS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vISS +msgid "Valor Total do ISS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vServ +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vServ +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vServ +msgid "" +"Valor Total dos Serviços sob não-incidência ou não tributados pelo ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBC +msgid "Valor da BC do COFINS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCFCPST +msgid "Valor da Base de cálculo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCFCPST +msgid "Valor da Base de cálculo do FCP retido por substituicao tributaria." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_vCargaAverb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_vCargaAverb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_vCargaAverb +msgid "Valor da Carga para efeito de averbação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_vCargaAverb +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_vCargaAverb +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_vCargaAverb +msgid "" +"Valor da Carga para efeito de averbação\n" +"Normalmente igual ao valor declarado da mercadoria, diferente por exemplo, quando a mercadoria transportada é isenta de tributos nacionais para exportação, onde é preciso averbar um valor maior, pois no caso de indenização, o valor a ser pago será maior" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vRetPrev +msgid "Valor da Retenção da Previdêncica Social" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_aereo_vTar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_aereo_vTar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_aereo_vTar +msgid "Valor da Tarifa" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_aereo_vTar +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_aereo_vTar +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_aereo_vTar +msgid "" +"Valor da Tarifa\n" +"Valor da tarifa por kg quando for o caso." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCEfet +msgid "Valor da base de cálculo efetiva" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_vTar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_vTar +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_vTar +msgid "Valor da tarifa" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vDeducao +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vDeducao +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vDeducao +msgid "Valor dedução para redução da base de cálculo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vDescCond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vDescCond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vDescCond +msgid "Valor desconto condicionado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vDescIncond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vDescIncond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vDescIncond +msgid "Valor desconto incondicionado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSSubstituto +msgid "Valor do ICMS Próprio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__icms_substitute +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSSubstituto +msgid "Valor do ICMS Próprio do Substituto cobrado em operação anterior" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSEfet +msgid "Valor do ICMS efetivo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vICMSMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vICMSMonoRet +msgid "Valor do ICMS monofásico retido anteriormente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vFCPSTRet +msgid "" +"Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) retido por " +"substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vFCPSTRet +msgid "Valor do ICMS relativo ao Fundo de Combate à Pobreza Retido por ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_devol_value +msgid "Valor do IPI devolvido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vTroco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vTroco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vTroco +msgid "Valor do Troco" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vUnid +msgid "Valor por Unidade Tributável" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vUnid +msgid "" +"Valor por Unidade Tributável. Informar o valor do imposto Pauta por unidade " +"de medida." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_vCarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_vCarga +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_vCarga +msgid "Valor total da carga" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_vCarga +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_vCarga +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_vCarga +msgid "" +"Valor total da carga\n" +"Dever ser informado para todos os modais, com exceção para o Dutoviário." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_qBCMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_qBCMono +msgid "Valor total da quantidade tributada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMono +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_qBCMono +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_qBCMono +msgid "Valor total da quantidade tributada do ICMS monofásico próprio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_qBCMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_qBCMonoRet +msgid "" +"Valor total da quantidade tributada do ICMS monofásico retido anteriormente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_qBCMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_qBCMonoReten +msgid "" +"Valor total da quantidade tributada do ICMS monofásico sujeito a retenção" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSMono +msgid "Valor total do ICMS monofásico próprio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSMonoReten +msgid "Valor total do ICMS monofásico sujeito" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vICMSMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vICMSMonoReten +msgid "Valor total do ICMS monofásico sujeito a retenção" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vItem +msgid "Valor total do Item" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vItem +msgid "" +"Valor total do Item, correspondente à sua participação no total da nota. A " +"soma dos itens deverá corresponder ao total da nota." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_vTotDFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_vTotDFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_vTotDFe +msgid "Valor total do documento fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_vTotDFe +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_vTotDFe +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_vTotDFe +msgid "" +"Valor total do documento fiscal \n" +"(vTPrest + total do IBS + total da CBS)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_IBSCBSTot +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_IBSCBSTot +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_IBSCBSTot +msgid "Valores totais da NF com IBS / CBS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_ISTot +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_ISTot +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_ISTot +msgid "Valores totais da NF com Imposto Seletivo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__verify_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__verify_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__verify_code +msgid "Verify Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_version +msgid "Version" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_versao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_versao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_versao +msgid "Versão do leiaute" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_versao +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_versao +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_versao +msgid "" +"Versão do leiaute\n" +"Ex: '3.00'" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_versaoModal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_versaoModal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_versaoModal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_versaoModal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_versaoModal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_versaoModal +msgid "Versão do leiaute específico" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_versaoModal +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_versaoModal +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_versaoModal +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_versaoModal +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_versaoModal +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_versaoModal +msgid "Versão do leiaute específico para o Modal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__mdfe30_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__mdfe30_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__mdfe30_verProc +msgid "Versão do processo de emissão" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__cte40_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__cte40_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__cte40_verProc +msgid "" +"Versão do processo de emissão\n" +"Iinformar a versão do aplicativo emissor de CT-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__mdfe30_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__mdfe30_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__mdfe30_verProc +msgid "" +"Versão do processo de emissão\n" +"Informar a versão do aplicativo emissor de MDF-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_veicProd +msgid "Veículos novos" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_form +msgid "Voltar para Digitação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_document_import_wizard_mixin +msgid "Wizard Import Document Mixin" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__xml_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__xml_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__xml_error_message +msgid "XML validation errors" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"You can't set this document number: {} to draft because this document is " +"cancelled in SEFAZ" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/document.py:0 +#, python-format +msgid "You cannot delete a fiscal document which is not in draft state!" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "You cannot set a document type when the move has no Fiscal Document!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cBarraTrib +msgid "cBarraTrib" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cDV +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cDV +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cDV +msgid "cDV" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cana +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cana +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cana +msgid "cana" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_comb +msgid "comb" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_dhCont +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_dhCont +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_dhCont +msgid "" +"data e hora de entrada em contingência contingência no formato (AAAA-MM-" +"DDThh:mm:ssTZD) ex.: 2012-09-01T13:00:00-03:00." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_detPag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_detPag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_detPag +msgid "detPag" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dhCont +msgid "dhCont" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dhSaiEnt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dhSaiEnt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dhSaiEnt +msgid "dhSaiEnt" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_med +msgid "grupo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_med +msgid "" +"grupo do detalhamento de Medicamentos e de matérias-primas farmacêuticas" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_idDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_idDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_idDest +msgid "idDest" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_impostoDevol +msgid "impostoDevol" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indBemMovelUsado +msgid "indBemMovelUsado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indEscala +msgid "indEscala" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_infProdEmb +msgid "infProdEmb" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infSolicNFF +msgid "infSolicNFF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cte40_veicNovos +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cte40_veicNovos +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cte40_veicNovos +msgid "informações dos veículos transportados" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cMunFGIBS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cMunFGIBS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cMunFGIBS +msgid "município de ocorrência do fato gerador" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cMunFGIBS +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cMunFGIBS +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cMunFGIBS +msgid "" +"município de ocorrência do fato gerador do fato gerador do IBS / CBS.\n" +"Campo preenchido somente quando “indPres = 5 (Operação presencial, fora do estabelecimento) ”, e não tiver endereço do destinatário (Grupo: E05) ou local de entrega (Grupo: G01)." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pFCPST +msgid "pFCPST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pFCPSTRet +msgid "pFCPSTRet" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pRedBCEfet +msgid "pRedBCEfet" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_qBCMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_qBCMonoRet +msgid "qBCMonoRet" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_qBCMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_qBCMonoReten +msgid "qBCMonoReten" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qUnid +msgid "qUnid" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_rastro +msgid "rastro" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vBCRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vBCRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vBCRetPrev +msgid "vBCRetPrev" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vDeducao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vDeducao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vDeducao +msgid "vDeducao" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSSTDest +msgid "vICMSSTDest" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vServ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vServ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vServ +msgid "vServ" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCSTRet +msgid "valor da BC" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCSTDest +msgid "valor da BC do ICMS ST da UF destino" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSSTDest +msgid "valor da BC do ICMS ST da UF destino (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCSTRet +msgid "valor da BC do ICMS ST retido na UF remetente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCFCPSTRet +msgid "valor da Base de Cálculo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCFCPSTRet +msgid "valor da Base de Cálculo do FCP retido anteriormente por ST." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSSTRet +msgid "valor do ICMS ST retido na UF remetente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSSTRet +msgid "valor do ICMS ST retido na UF remetente (iv2.0))" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_verProc +msgid "versão do aplicativo utilizado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_verProc +msgid "" +"versão do aplicativo utilizado no processo de\n" +"emissão" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_xLocExporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_xLocExporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_xLocExporta +msgid "xLocExporta" +msgstr "" diff --git a/l10n_br_account/i18n/pt_BR.po b/l10n_br_account/i18n/pt_BR.po new file mode 100644 index 000000000000..9d0bc80d4646 --- /dev/null +++ b/l10n_br_account/i18n/pt_BR.po @@ -0,0 +1,5062 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_br_account +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-07 09:02+0000\n" +"PO-Revision-Date: 2024-09-17 20:06+0000\n" +"Last-Translator: Marcel Savegnago \n" +"Language-Team: \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: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "(-) Discount" +msgstr "(-) Desconto" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "(-) Tax Withholding" +msgstr "(-) Retenção de Imposto" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move_line.py:0 +#, python-format +msgid "(Discount)" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Details" +msgstr "Detalhes Fiscais" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_operation_form +msgid "Account" +msgstr "Conta" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_chart_template +msgid "Account Chart Template" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation__journal_id +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_operation_search +msgid "Account Journal" +msgstr "Diário de Conta" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_move_reversal +msgid "Account Move Reversal" +msgstr "Reversão de Movimento Contábil" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_tree +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "Account Number" +msgstr "Número de Conta" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_line_form +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Accounting" +msgstr "Contabilidade" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__additional_data +msgid "Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__manual_additional_data +msgid "Additional data manually entered by user" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pST +msgid "Aliquota suportada pelo consumidor final" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields.selection,name:l10n_br_account.selection__account_move__fiscal_operation_type__all +msgid "All" +msgstr "Todos" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_all_action +#: model:ir.ui.menu,name:l10n_br_account.document_all_menu +msgid "All Documents" +msgstr "Todos os Documentos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__allow_csll_irpj +msgid "Allow Csll Irpj" +msgstr "Permitir Csll Irpj" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vAliqProd +msgid "Alíquota do COFINS (em reais) (NT2011/004)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vAliqProd +msgid "Alíquota do COFINS ST(em reais)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSEfet +msgid "Alíquota do ICMS efetivo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vAliq +msgid "Alíquota do ISSQN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSInter +msgid "Alíquota interestadual" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pICMSInter +msgid "" +"Alíquota interestadual das UF envolvidas: - 4% alíquota interestadual para " +"produtos importados; - 7% para os Estados de origem do Sul e Sudeste (exceto " +"ES), destinado para os Estados do Norte e Nordeste ou ES; - 12% para os " +"demais casos." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_discount_value +msgid "Amount Discount" +msgstr "Total do Desconto" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_estimate_tax +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_estimate_tax +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_estimate_tax +msgid "Amount Estimate Tax" +msgstr "Total Estimado de Impostos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_financial_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_financial_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__financial_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_financial_total +msgid "Amount Financial" +msgstr "Total Financeiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_financial_total_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_financial_total_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_financial_total_gross +msgid "Amount Financial Gross" +msgstr "Total Financeiro Bruto" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_fiscal +msgid "Amount Fiscal" +msgstr "Total Fiscal" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_price_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_price_gross +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_price_gross +msgid "Amount Gross" +msgstr "Total Bruto" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax +msgid "Amount Tax" +msgstr "Total de Imposto" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax_included +msgid "Amount Tax Included" +msgstr "Total Impostos Inclusos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax_not_included +msgid "Amount Tax Not Included" +msgstr "Total Não incluído Impostos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_taxed +msgid "Amount Taxed" +msgstr "Total Tributado" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_total +msgid "Amount Total" +msgstr "Valor Total" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_untaxed +msgid "Amount Untaxed" +msgstr "Total sem Impostos" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__amount_price_gross +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vProd +#: model:ir.model.fields,help:l10n_br_account.field_account_move__amount_price_gross +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vProd +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__amount_price_gross +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vProd +msgid "Amount without discount." +msgstr "Total sem desconto." + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Amounts" +msgstr "Totais" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_line_form +msgid "Analytic" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_arma +msgid "Armamentos" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__authorization_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__authorization_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__authorization_event_id +msgid "Authorization Event" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__authorization_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__authorization_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__authorization_file_id +msgid "Authorization File XML" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__authorization_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__authorization_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__authorization_date +msgid "Authorization Protocol Date" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__authorization_protocol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__authorization_protocol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__authorization_protocol +msgid "Authorization Protocol Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vBC +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vBC +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vBC +msgid "BC do ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vBCST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vBCST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vBCST +msgid "BC do ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vBCRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vBCRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vBCRetPrev +msgid "Base de Cálculo da Retenção" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vBCRetPrev +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vBCRetPrev +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vBCRetPrev +msgid "Base de Cálculo da Retenção da Previdêncica Social" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vBCIRRF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vBCIRRF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vBCIRRF +msgid "Base de Cálculo do IRRF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_ipitrib +msgid "Base vBC/pIPI/qUnid/vUnid" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.l10n_br_account_partner_form +msgid "Brazilian Instant Payment Keys (PIX)" +msgstr "Chave de Pagamento Instantâneo Brasileiro (PIX)" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.l10n_br_account_tax_form +#: model_terms:ir.ui.view,arch_db:l10n_br_account.l10n_br_account_tax_template_form +msgid "Brazilian Tax" +msgstr "Impostos Brasileiros" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__ind_pres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__ind_pres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__ind_pres +msgid "Buyer Presence" +msgstr "Presença do Comprador" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cest_id +msgid "CEST" +msgstr "CEST" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cfop_id +msgid "CFOP" +msgstr "CFOP" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cfop_destination +msgid "CFOP Destination" +msgstr "CFOP Destino" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cnae_id +msgid "CNAE Code" +msgstr "Código CNAE" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_cnpj_cpf +msgid "CNPJ" +msgstr "CNPJ" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CNPJFab +msgid "CNPJ do Fabricante da Mercadoria" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_CNPJFab +msgid "" +"CNPJ do Fabricante da Mercadoria, obrigatório para produto em escala NÃO " +"relevante." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CNPJProd +msgid "CNPJ do produtor da mercadoria" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_CNPJProd +msgid "" +"CNPJ do produtor da mercadoria, quando diferente do emitente. Somente para " +"os casos de exportação direta ou indireta." +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "CNPJ/CPF" +msgstr "CNPJ/CPF" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_percent +msgid "COFINS %" +msgstr "% COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_reduction +msgid "COFINS % Reduction" +msgstr "% Redução COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_base +msgid "COFINS Base" +msgstr "Base para COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_base_id +msgid "COFINS Base Code" +msgstr "COFINS Código da Base" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_base_type +msgid "COFINS Base Type" +msgstr "COFINS Tipo da Base" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_cst_code +msgid "COFINS CST Code" +msgstr "Código CST de COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_credit_id +msgid "COFINS Credit Code" +msgstr "Código de Crédito de COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_percent +msgid "COFINS RET %" +msgstr "% RET COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_reduction +msgid "COFINS RET % Reduction" +msgstr "% Redução de RETENÇÃO de COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_base +msgid "COFINS RET Base" +msgstr "Base para RET COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_value +msgid "COFINS RET Value" +msgstr "Valor RET COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_wh_base +msgid "COFINS Ret Base" +msgstr "Base para RET COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_wh_value +msgid "COFINS Ret Value" +msgstr "Valor RET COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_percent +msgid "COFINS ST %" +msgstr "% ST COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_reduction +msgid "COFINS ST % Reduction" +msgstr "% Redução ST COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofinsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofinsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofinsst_base +msgid "COFINS ST Base" +msgstr "Base para ST COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_base_type +msgid "COFINS ST Base Type" +msgstr "Tipo de Base ST COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_cst_code +msgid "COFINS ST CST Code" +msgstr "Código CST ST COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofinsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofinsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofinsst_value +msgid "COFINS ST Value" +msgstr "Valor de ST do COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_cofins_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_cofins_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_cofins_value +msgid "COFINS Value" +msgstr "Valor do COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_base_type +msgid "COFINS WH Base Type" +msgstr "Tipo de Base COFINS WH" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_cofins +msgid "COFINSAliq/COFINSQtde/COFINSNT/COFINSOutr" +msgstr "COFINSAliq/COFINSQtde/COFINSNT/COFINSOutr" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_percent +msgid "CSLL %" +msgstr "% CSLL" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_reduction +msgid "CSLL % Reduction" +msgstr "% de Redução do CSLL" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_base +msgid "CSLL Base" +msgstr "Base para CSLL" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_percent +msgid "CSLL RET %" +msgstr "% CSLL RET" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_reduction +msgid "CSLL RET % Reduction" +msgstr "% de Redução CSLL RET" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_base +msgid "CSLL RET Base" +msgstr "Base para CSLL RET" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_value +msgid "CSLL RET Value" +msgstr "Valor RET CSLL" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_wh_base +msgid "CSLL Ret Base" +msgstr "Base para CSLL RET" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_wh_value +msgid "CSLL Ret Value" +msgstr "Valor RET CSLL" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_csll_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_csll_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_csll_value +msgid "CSLL Value" +msgstr "Valor CSLL" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_cst_id +msgid "CST COFINS" +msgstr "CST COFINS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_cst_id +msgid "CST COFINS ST" +msgstr "CST COFINS ST" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_cst_id +msgid "CST ICMS" +msgstr "CST ICMS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_cst_id +msgid "CST IPI" +msgstr "CST IPI" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_cst_id +msgid "CST PIS" +msgstr "CST PIS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_cst_id +msgid "CST PIS ST" +msgstr "CST PIS ST" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_obsFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_obsFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_obsFisco +msgid "Campo de uso exclusivo do Fisco" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_obsFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_obsFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_obsFisco +msgid "" +"Campo de uso exclusivo do Fisco\n" +"informar o nome do campo no atributo xCampo\n" +"e o conteúdo do campo no xTexto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_obsCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_obsCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_obsCont +msgid "Campo de uso livre do contribuinte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_obsCont +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_obsCont +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_obsCont +msgid "" +"Campo de uso livre do contribuinte\n" +"informar o nome do campo no atributo xCampo\n" +"e o conteúdo do campo no xTexto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cancel_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cancel_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cancel_event_id +msgid "Cancel Event" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cancel_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cancel_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cancel_file_id +msgid "Cancel File XML" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cancel_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cancel_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cancel_date +msgid "Cancel Protocol Date" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cancel_protocol_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cancel_protocol_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cancel_protocol_number +msgid "Cancel Protocol Protocol" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__cancel_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__cancel_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__cancel_reason +msgid "Cancel Reason" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/document.py:0 +#, python-format +msgid "Canceled due to the denial of document %(document_number)s" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Cannot import in non draft Account Move!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CFOP +msgid "Cfop" +msgstr "Cfop" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move__partner_is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "Verifique se o conta é uma empresa, senão é uma pessoa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__city_taxation_code_id +msgid "City Taxation Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__civil_construction_art +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__civil_construction_art +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__civil_construction_art +msgid "Civil Construction ART" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__civil_construction_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__civil_construction_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__civil_construction_code +msgid "Civil Construction Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__close_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__close_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__close_id +msgid "Close ID" +msgstr "ID do Fechamento Fiscal" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cBarra +msgid "Codigo de barras diferente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cBarra +msgid "Codigo de barras diferente do padrão GTIN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CEST +msgid "Codigo especificador" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_CEST +msgid "" +"Codigo especificador da Substuicao Tributaria - CEST, que identifica a " +"mercadoria sujeita aos regimes de substituicao tributária e de antecipação " +"do recolhimento do imposto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__comment_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__comment_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__comment_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__comment_ids +msgid "Comments" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_id +msgid "Company" +msgstr "Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_cnpj_cpf +msgid "Company CNPJ" +msgstr "CNPJ da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_city_id +msgid "Company City" +msgstr "Cidade da empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_country_id +msgid "Company Country" +msgstr "País da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_district +msgid "Company District" +msgstr "Bairro da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_legal_name +msgid "Company Legal Name" +msgstr "Razão Social da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_cnae_main_id +msgid "Company Main CNAE" +msgstr "CNAE Principal da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_inscr_mun +msgid "Company Municipal Tax Number" +msgstr "Número de Inscrição Municipal da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_name +msgid "Company Name" +msgstr "Nome da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_number +msgid "Company Number" +msgstr "Número da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_phone +msgid "Company Phone" +msgstr "Telefone da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_l10n_br_ie_code_st +msgid "Company ST State Tax Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_state_id +msgid "Company State" +msgstr "Estado da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_l10n_br_ie_code +msgid "Company State Tax Number" +msgstr "Número da Inscrição Estadual da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_street +msgid "Company Street" +msgstr "Rua da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_street2 +msgid "Company Street2" +msgstr "Completo do Endereço da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_suframa +msgid "Company Suframa" +msgstr "Suframa da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_tax_framework +msgid "Company Tax Framework" +msgstr "Estrutura Tributária da Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__partner_company_type +msgid "Company Type" +msgstr "Tipo de Empresa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__company_zip +msgid "Company ZIP" +msgstr "Cep da Empresa" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Company mismatch!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_ind_ie_dest +msgid "Contribuinte do ICMS" +msgstr "Contribuinte do ICMS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_indIEDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_indIEDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_indIEDest +msgid "Contribuinte do ICMS (NFe)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__correction_event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__correction_event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__correction_event_ids +msgid "Correction Events" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__correction_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__correction_reason +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__correction_reason +msgid "Correction Reason" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_all_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_in_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_out_action +msgid "Create a new Document" +msgstr "Criar um novo documento" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfe_action +msgid "Create a new NF-e" +msgstr "Criar uma nova NF-e" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfse_action +msgid "Create a new NFS-e" +msgstr "Criar uma nova NFS-e" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__customer_additional_data +msgid "Customer Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__manual_customer_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_move__manual_customer_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__manual_customer_additional_data +msgid "Customer Additional data manually entered by user" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ii_customhouse_charges +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ii_customhouse_charges +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ii_customhouse_charges +msgid "Customhouse Charges" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_EXTIPI +msgid "Código EX TIPI (3 posições)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_NCM +msgid "Código NCM (8 posições)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_NCM +msgid "" +"Código NCM (8 posições), será permitida a informação do gênero (posição do " +"capítulo do NCM) quando a operação não for de comércio exterior (importação/" +"exportação) ou o produto não seja tributado pelo IPI. Em caso de item de " +"serviço ou item que não tenham produto (Ex. transferência de crédito, " +"crédito do ativo imobilizado, etc.), informar o código 00 (zeros) (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cEnq +msgid "Código de Enquadramento Legal do IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cEnq +msgid "Código de Enquadramento Legal do IPI (tabela a ser criada pela RFB)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cPais +msgid "Código de Pais" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_CRT +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_CRT +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_CRT +msgid "Código de Regime Tributário (NFe)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_CST +msgid "Código de Situação Tributária do COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_CST +msgid "" +"Código de Situação Tributária do COFINS:\n" +"49 - Outras Operações de Saída\n" +"50 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita " +"Tributada no Mercado Interno\n" +"51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não " +"Tributada no Mercado Interno\n" +"52 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de " +"Exportação\n" +"53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-" +"Tributadas no Mercado Interno\n" +"54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas no " +"Mercado Interno e de Exportação\n" +"55 - Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no " +"Mercado Interno e de Exportação\n" +"56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-" +"Tributadas no Mercado Interno, e de Exportação\n" +"60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a " +"Receita Tributada no Mercado Interno\n" +"61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a " +"Receita Não-Tributada no Mercado Interno\n" +"62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a " +"Receita de Exportação\n" +"63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas " +"Tributadas e Não-Tributadas no Mercado Interno\n" +"64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas " +"Tributadas no Mercado Interno e de Exportação\n" +"65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-" +"Tributadas no Mercado Interno e de Exportação\n" +"66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas " +"Tributadas e Não-Tributadas no Mercado Interno, e de Exportação\n" +"67 - Crédito Presumido - Outras Operações\n" +"70 - Operação de Aquisição sem Direito a Crédito\n" +"71 - Operação de Aquisição com Isenção\n" +"72 - Operação de Aquisição com Suspensão\n" +"73 - Operação de Aquisição a Alíquota Zero\n" +"74 - Operação de Aquisição sem Incidência da Contribuição\n" +"75 - Operação de Aquisição por Substituição Tributária\n" +"98 - Outras Operações de Entrada\n" +"99 - Outras Operações." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cBarraTrib +msgid "Código de barras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cBarraTrib +msgid "Código de barras da unidade tributável diferente do padrão GTIN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cMun +msgid "Código do Município de Incidência" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cMun +msgid "Código do Município de Incidência do Imposto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cMunFG +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cMunFG +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cMunFG +msgid "Código do Município de Ocorrência" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cMunFG +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cMunFG +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cMunFG +msgid "" +"Código do Município de Ocorrência do Fato Gerador (utilizar a tabela do IBGE)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cProd +msgid "Código do produto ou serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cProd +msgid "" +"Código do produto ou serviço. Preencher com CFOP caso se trate de itens não " +"relacionados com mercadorias/produto e que o contribuinte não possua " +"codificação própria\n" +"Formato ”CFOP9999”." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cRegTrib +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cRegTrib +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cRegTrib +msgid "Código do regime especial de tributação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cSelo +msgid "Código do selo de controle do IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cServico +msgid "Código do serviço prestado dentro" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cServico +msgid "Código do serviço prestado dentro do município" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cNF +msgid "Código numérico que compõe a Chave" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cNF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cNF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cNF +msgid "" +"Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo " +"emitente para cada NF-e." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__dfe_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__dfe_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__dfe_id +msgid "DF-e Consult" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_retTransp +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_retTransp +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_retTransp +msgid "Dados da retenção ICMS do Transporte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_retTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_retTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_retTransp +msgid "Dados da retenção ICMS do Transporte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dup +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dup +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dup +msgid "Dados das duplicatas NT 2011/004" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_reboque +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_reboque +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_reboque +msgid "Dados do reboque/Dolly (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_transporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_transporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_transporta +msgid "Dados do transportador" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_veicTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_veicTransp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_veicTransp +msgid "Dados do veículo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_det +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_det +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_det +msgid "Dados dos detalhes da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vol +msgid "Dados dos volumes" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__danfe_layout +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__danfe_layout +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__danfe_layout +msgid "Danfe Layout" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dCompet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dCompet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dCompet +msgid "Data da prestação do serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_dCompet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_dCompet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_dCompet +msgid "Data da prestação do serviço (AAAA-MM-DD)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dhSaiEnt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dhSaiEnt +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dhSaiEnt +msgid "Data e Hora da saída ou de entrada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_dhSaiEnt +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_dhSaiEnt +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_dhSaiEnt +msgid "" +"Data e Hora da saída ou de entrada da mercadoria / produto (AAAA-MM-DDTHH:mm:" +"ssTZD)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dhEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dhEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dhEmi +msgid "Data e Hora de emissão" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_dhEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_dhEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_dhEmi +msgid "" +"Data e Hora de emissão do Documento Fiscal (AAAA-MM-DDThh:mm:ssTZD) ex.: " +"2012-09-01T13:00:00-03:00" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__date_in_out +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__date_in_out +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__date_in_out +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__date_in_out +msgid "Date IN/OUT" +msgstr "Data de Entrada/Saída" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation__deductible_taxes +msgid "Deductible Taxes" +msgstr "Impostos Dedutíveis" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__delivery_costs +#: model:ir.model.fields,help:l10n_br_account.field_account_move__delivery_costs +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__delivery_costs +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__delivery_costs +msgid "" +"Define if costs of Insurance, Freight and Other Costs should be informed by " +"Line or by Total." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_DI +msgid "Delcaração de Importação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_DI +msgid "" +"Delcaração de Importação\n" +"(NT 2011/004)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__delivery_costs +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__delivery_costs +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__delivery_costs +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__delivery_costs +msgid "Delivery Costs" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_natOp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_natOp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_natOp +msgid "Descrição da Natureza da Operação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_xLocDespacho +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_xLocDespacho +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_xLocDespacho +msgid "Descrição do local de despacho" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_xProd +msgid "Descrição do produto ou serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_customhouse_charges +msgid "Despesas Aduaneiras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dest +msgid "Dest" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_detExport +msgid "Detalhe da exportação" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_form +msgid "Devolver" +msgstr "Devolver" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cDV +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cDV +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cDV +msgid "Digito Verificador da Chave de Acesso" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cDV +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cDV +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cDV +msgid "Digito Verificador da Chave de Acesso da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__discount +msgid "Discount (%)" +msgstr "Desconto (%)" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__discount_value +msgid "Discount Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__document_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_det_infNFe_id +msgid "Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_date +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__document_date +msgid "Document Date" +msgstr "Data do Documento" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__fiscal_line_ids +msgid "Document Lines" +msgstr "Linhas de documentos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_number +msgid "Document Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__file_report_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__file_report_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__file_report_id +msgid "Document Report" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_serie_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_serie_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_serie_id +msgid "Document Serie" +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.wizard_document_status_act_multi +msgid "Document Status" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_subsequent_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_subsequent_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_subsequent_ids +msgid "Document Subsequent" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_type_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__document_type_id +msgid "Document Type" +msgstr "Tipo do Documento" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_type +msgid "Document Type Code" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"Document without Return Fiscal Operation! \n" +" Force one!" +msgstr "" +"Documento sem Operação Fiscal de Retorno! \n" +" Force uma!" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__edoc_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__edoc_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__edoc_error_message +msgid "Edoc Error Message" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_electronic +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_electronic +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_electronic +msgid "Electronic?" +msgstr "Eletrônico?" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_avulsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_avulsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_avulsa +msgid "Emissão de avulsa" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_avulsa +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_avulsa +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_avulsa +msgid "Emissão de avulsa, informar os dados do Fisco emitente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_emit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_emit +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_emit +msgid "Emit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_entrega +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_entrega +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_entrega +msgid "Entrega" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indTot +msgid "Este campo deverá ser preenchido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indTot +msgid "" +"Este campo deverá ser preenchido com:\n" +" 0 – o valor do item (vProd) não compõe o valor total da NF-e (vProd)\n" +" 1 – o valor do item (vProd) compõe o valor total da NF-e (vProd)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__estimate_tax +msgid "Estimate Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__event_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__event_ids +msgid "Events" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indISS +msgid "Exibilidade" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indISS +msgid "" +"Exibilidade do ISS:1-Exigível;2-Não incidente;3-Isenção;4-Exportação;5-" +"Imunidade;6-Exig.Susp. Judicial;7-Exig.Susp. ADM" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Extra Info" +msgstr "Informação Extra" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_value_wh +msgid "FCP WH" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_wh_percent +msgid "FCP WH %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_base_wh +msgid "FCP WH Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__ind_final +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__ind_final +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ind_final +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__ind_final +msgid "Final Consumption Operation" +msgstr "Operação de Consumo Final" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__edoc_purpose +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__edoc_purpose +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__edoc_purpose +msgid "Finalidade" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_finNFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_finNFe +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_finNFe +msgid "Finalidade da emissão da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_finNFe +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_finNFe +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_finNFe +msgid "" +"Finalidade da emissão da NF-e:\n" +"1 - NFe normal\n" +"2 - NFe complementar\n" +"3 - NFe de ajuste\n" +"4 - Devolução/Retorno" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_financial_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_financial_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__financial_discount_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_financial_discount_value +msgid "Financial Discount Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__financial_total_gross +msgid "Financial Gross Amount" +msgstr "Valor Bruto Financeiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_additional_data +msgid "Fiscal Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__manual_fiscal_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_move__manual_fiscal_additional_data +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__manual_fiscal_additional_data +msgid "Fiscal Additional data manually entered by user" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_proxy_company_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_proxy_company_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_proxy_company_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__fiscal_proxy_company_id +msgid "Fiscal Company" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_proxy_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_proxy_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_proxy_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__fiscal_proxy_currency_id +msgid "Fiscal Currency" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_deductions_value +msgid "Fiscal Deductions" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_document +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_document_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_document_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_document_id +msgid "Fiscal Document" +msgstr "Documento Fiscal" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_document_line +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_document_line_id +msgid "Fiscal Document Line" +msgstr "Linha do Documento Fiscal" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Document Line to import..." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_related_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_related_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_related_ids +msgid "Fiscal Document Related" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Document to import..." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_document_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_document_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_document_ids +msgid "Fiscal Documents" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__incoterm_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__incoterm_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__incoterm_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__incoterm_id +msgid "Fiscal Inconterm" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_operation +msgid "Fiscal Operation" +msgstr "Operação Fiscal" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_operation_line +msgid "Fiscal Operation Line" +msgstr "Linha de Operação Fiscal" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_operation_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_operation_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_operation_type +msgid "Fiscal Operation Type" +msgstr "Tipo de Operação Fiscal" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Fiscal Operation Type mismatch!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_proxy_partner_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_proxy_partner_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_proxy_partner_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__fiscal_proxy_partner_id +msgid "Fiscal Partner" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation__fiscal_position_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_operation_line__fiscal_position_id +msgid "Fiscal Position" +msgstr "Posição Fiscal" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_price +msgid "Fiscal Price" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_genre_id +msgid "Fiscal Product Genre" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_genre_code +msgid "Fiscal Product Genre Code" +msgstr "Código do Gênero Fiscal do Produto" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_proxy_name +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__fiscal_proxy_name +msgid "Fiscal Proxy Name" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_proxy_price_unit +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__fiscal_proxy_price_unit +msgid "Fiscal Proxy Price Unit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_proxy_product_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__fiscal_proxy_product_id +msgid "Fiscal Proxy Product" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_proxy_quantity +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__fiscal_proxy_quantity +msgid "Fiscal Proxy Quantity" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_quantity +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Fiscal Quantity" +msgstr "Quantidade Fiscal" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_tax +msgid "Fiscal Tax" +msgstr "Impostos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_tax_group__fiscal_tax_group_id +msgid "Fiscal Tax Group" +msgstr "Grupos de impostos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_tax_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_tax__fiscal_tax_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_tax_template__fiscal_tax_ids +msgid "Fiscal Taxes" +msgstr "Impostos Fiscais" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_type +msgid "Fiscal Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_proxy_user_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_proxy_user_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_proxy_user_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__fiscal_proxy_user_id +msgid "Fiscal User" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__force_compute_delivery_costs_by_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__force_compute_delivery_costs_by_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__force_compute_delivery_costs_by_total +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__force_compute_delivery_costs_by_total +msgid "Force Compute Delivery Costs By Total" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_reversal__force_fiscal_operation_id +msgid "Force Fiscal Operation" +msgstr "Forçar Operação Fiscal" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpEmis +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpEmis +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpEmis +msgid "Forma de emissão da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_tpEmis +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_tpEmis +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_tpEmis +msgid "" +"Forma de emissão da NF-e\n" +"1 - Normal;\n" +"2 - Contingência FS\n" +"3 - Regime Especial NFF (NT 2021.002)\n" +"4 - Contingência DPEC\n" +"5 - Contingência FSDA\n" +"6 - Contingência SVC - AN\n" +"7 - Contingência SVC - RS\n" +"9 - Contingência off-line NFC-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpImp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpImp +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpImp +msgid "Formato de impressão do DANFE" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_tpImp +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_tpImp +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_tpImp +msgid "" +"Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe " +"Paisagem;3-DANFe Simplificado;\n" +"\t\t\t\t\t\t\t\t\t\t\t4-DANFe NFC-e;5-DANFe NFC-e em mensagem eletrônica)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_freight_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_freight_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__freight_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_freight_value +msgid "Freight Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cEAN +msgid "GTIN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cEANTrib +msgid "" +"GTIN (Global Trade Item Number) da unidade tributável, antigo código EAN ou " +"código de barras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cEAN +msgid "" +"GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de " +"barras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cEANTrib +msgid "GTIN (cEANTrib)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__price_gross +msgid "Gross Product/Service Amount" +msgstr "Valor bruto do produto/serviço" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infIntermed +msgid "Grupo de Informações do Intermediador" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infIntermed +msgid "Grupo de Informações do Intermediador da Transação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_detPag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_detPag +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_detPag +msgid "Grupo de detalhamento da forma" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_detPag +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_detPag +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_detPag +msgid "Grupo de detalhamento da forma de pagamento." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_procRef +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_procRef +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_procRef +msgid "Grupo de informações" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_procRef +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_procRef +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_procRef +msgid "Grupo de informações do processo referenciado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_gCred +msgid "Grupo de informações sobre" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_gCred +msgid "Grupo de informações sobre o CréditoPresumido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_NFref +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_NFref +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_NFref +msgid "Grupo de infromações da NF referenciada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_obsItem +msgid "Grupo de observações de uso livre" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_obsItem +msgid "Grupo de observações de uso livre (para o item da NF-e)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infSolicNFF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infSolicNFF +msgid "Grupo para informações da solicitação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infSolicNFF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infSolicNFF +msgid "Grupo para informações da solicitação da NFF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_percent +msgid "ICMS %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_reduction +msgid "ICMS % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_base +msgid "ICMS Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_base_type +msgid "ICMS Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_cst_code +msgid "ICMS CST Code" +msgstr "Código CST do ICMS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_destination_value +msgid "ICMS Dest. Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_destination_base +msgid "ICMS Destination Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_destination_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_destination_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_destination_value +msgid "ICMS Destination Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_value +msgid "ICMS Effective" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_percent +msgid "ICMS Effective %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_reduction +msgid "ICMS Effective % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_effective_base +msgid "ICMS Effective Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_destination_percent +msgid "ICMS External %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_percent +msgid "ICMS FCP %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsfcp_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsfcp_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsfcp_base +msgid "ICMS FCP Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_percent +msgid "ICMS FCP ST %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_base +msgid "ICMS FCP ST Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsfcpst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsfcpst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsfcpst_value +msgid "ICMS FCP ST Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsfcp_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsfcp_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsfcp_value +msgid "ICMS FCP Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_origin_percent +msgid "ICMS Internal %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_origin +msgid "ICMS Origin" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_origin_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_origin_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_origin_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_origin_value +msgid "ICMS Origin Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_relief_id +msgid "ICMS Relief" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_relief_value +msgid "ICMS Relief Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_percent +msgid "ICMS SN %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_base +msgid "ICMS SN Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_credit_value +msgid "ICMS SN Credit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vCredICMSSN +msgid "ICMS SN Crédito" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_reduction +msgid "ICMS SN Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_percent +msgid "ICMS ST %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_reduction +msgid "ICMS ST % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsst_base +msgid "ICMS ST Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_base_type +msgid "ICMS ST Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_mva_percent +msgid "ICMS ST MVA %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmsst_value +msgid "ICMS ST Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_wh_percent +msgid "ICMS ST WH %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_wh_base +msgid "ICMS ST WH Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_wh_value +msgid "ICMS ST WH Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_sharing_percent +msgid "ICMS Sharing %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_substitute +msgid "ICMS Substitute" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icms_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icms_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icms_value +msgid "ICMS Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__tax_icms_or_issqn +msgid "ICMS or ISSQN Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_imposto +msgid "ICMS/II/IPI ou ISSQN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_icmssn_credit_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_icmssn_credit_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_icmssn_credit_value +msgid "ICMSSN Credit Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_percent +msgid "II %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ii_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ii_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ii_base +msgid "II Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ii_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ii_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ii_value +msgid "II Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_percent +msgid "INSS %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_reduction +msgid "INSS % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_base +msgid "INSS Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_percent +msgid "INSS RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_reduction +msgid "INSS RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_base +msgid "INSS RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_value +msgid "INSS RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_wh_base +msgid "INSS Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_wh_value +msgid "INSS Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_inss_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_inss_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_inss_value +msgid "INSS Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_iof_value +msgid "IOF Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_percent +msgid "IPI %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_reduction +msgid "IPI % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ipi_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ipi_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ipi_base +msgid "IPI Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_base_type +msgid "IPI Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_cst_code +msgid "IPI CST Code" +msgstr "Código CST de IPI" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_guideline_id +msgid "IPI Guideline" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_ipi_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_ipi_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_ipi_value +msgid "IPI Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_tipi +msgid "IPITrib ou IPINT" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_percent +msgid "IRPJ %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_reduction +msgid "IRPJ % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_base +msgid "IRPJ Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_percent +msgid "IRPJ RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_reduction +msgid "IRPJ RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_base +msgid "IRPJ RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_value +msgid "IRPJ RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_wh_base +msgid "IRPJ Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_wh_value +msgid "IRPJ Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_irpj_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_irpj_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_irpj_value +msgid "IRPJ Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_percent +msgid "ISSQN %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_reduction +msgid "ISSQN % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_base +msgid "ISSQN Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_fg_city_id +msgid "ISSQN City" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_deduction_amount +msgid "ISSQN Deduction Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_desc_cond_amount +msgid "ISSQN Discount Cond" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_desc_incond_amount +msgid "ISSQN Discount Incond" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_eligibility +msgid "ISSQN Eligibility" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_incentive +msgid "ISSQN Incentive" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_other_amount +msgid "ISSQN Other Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_percent +msgid "ISSQN RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_reduction +msgid "ISSQN RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_base +msgid "ISSQN RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_value +msgid "ISSQN RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_wh_base +msgid "ISSQN Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_wh_value +msgid "ISSQN Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_issqn_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_issqn_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_issqn_value +msgid "ISSQN Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_idDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_idDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_idDest +msgid "Identificador de Local de destino" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_idDest +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_idDest +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_idDest +msgid "" +"Identificador de Local de destino da operação (1-Interna;2-Interestadual;3-" +"Exterior)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_balsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_balsa +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_balsa +msgid "Identificação da balsa (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpAmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpAmb +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpAmb +msgid "Identificação do Ambiente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_tpAmb +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_tpAmb +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_tpAmb +msgid "" +"Identificação do Ambiente:\n" +"1 - Produção\n" +"2 - Homologação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_entrega +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_entrega +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_entrega +msgid "" +"Identificação do Local de Entrega (informar apenas quando for diferente do " +"endereço do destinatário)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_retirada +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_retirada +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_retirada +msgid "Identificação do Local de Retirada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_retirada +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_retirada +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_retirada +msgid "" +"Identificação do Local de Retirada (informar apenas quando for diferente do " +"endereço do remetente)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vagao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vagao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vagao +msgid "Identificação do vagão (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__cfop_destination +msgid "Identifies the operation destination." +msgstr "Identifica o destino da operação." + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Import Fiscal Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__imported_document +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__imported_document +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__imported_document +msgid "Imported" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields.selection,name:l10n_br_account.selection__account_move__fiscal_operation_type__in +msgid "In" +msgstr "Entrada" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__fiscal_document_ids +#: model:ir.model.fields,help:l10n_br_account.field_account_move__fiscal_document_ids +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__fiscal_document_ids +msgid "" +"In some rare cases (NFS-e, CT-e...) a single account.move\n" +" may have several different fiscal documents related to its account." +"move.lines.\n" +" " +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_in_action +msgid "Incomming Document" +msgstr "Documento de Entrada" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_incoterms +msgid "Incoterms" +msgstr "Incoterms" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_indFinal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_indFinal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_indFinal +msgid "Indica operação com consumidor final" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_indFinal +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_indFinal +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_indFinal +msgid "Indica operação com consumidor final (0-Não;1-Consumidor Final)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indSomaCOFINSST +msgid "Indica se o valor da COFINS ST compõe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indSomaCOFINSST +msgid "Indica se o valor da COFINS ST compõe o valor total da NFe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indSomaPISST +msgid "Indica se o valor do PISST compõe" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indSomaPISST +msgid "Indica se o valor do PISST compõe o valor total da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indIncentivo +msgid "Indicador de Incentivo Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_indIncentivo +msgid "Indicador de Incentivo Fiscal. 1=Sim; 2=Não" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_indIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_indIntermed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_indIntermed +msgid "Indicador de intermediador/marketplace" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_indIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_indIntermed +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_indIntermed +msgid "" +"Indicador de intermediador/marketplace \n" +"\t\t\t\t\t\t\t\t\t\t\t0=Operação sem intermediador (em site ou plataforma " +"própria) \n" +"\t\t\t\t\t\t\t\t\t\t\t1=Operação em site ou plataforma de terceiros " +"(intermediadores/marketplace)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_indPres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_indPres +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_indPres +msgid "Indicador de presença do comprador" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_indPres +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_indPres +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_indPres +msgid "" +"Indicador de presença do comprador no estabelecimento comercial no momento " +"da oepração\n" +"\t\t\t\t\t\t\t\t\t\t\t(0-Não se aplica (ex.: Nota Fiscal complementar ou de " +"ajuste;1-Operação presencial;2-Não presencial, internet;3-Não presencial, " +"teleatendimento;4-NFC-e entrega em domicílio;5-Operação presencial, fora do " +"estabelecimento;9-Não presencial, outros)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__partner_is_public_entity +msgid "" +"Indicates whether the entity in question is a public organization or " +"government-related entity. It encompasses a range of entities such as " +"municipal governments, state-owned enterprises (where the government is the " +"largest shareholder), and other government-controlled organizations." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_comb +msgid "Informar apenas para operações" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_comb +msgid "Informar apenas para operações com combustíveis líquidos" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infAdFisco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infAdFisco +msgid "Informações adicionais de interesse" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infAdFisco +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infAdFisco +msgid "Informações adicionais de interesse do Fisco (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_infAdProd +msgid "Informações adicionais do produto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_infAdProd +msgid "" +"Informações adicionais do produto (norma referenciada, informações " +"complementares, etc)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infCpl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infCpl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infCpl +msgid "Informações complementares de interesse" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infCpl +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infCpl +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infCpl +msgid "Informações complementares de interesse do Contribuinte" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_compra +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_compra +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_compra +msgid "Informações de compras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_compra +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_compra +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_compra +msgid "Informações de compras (Nota de Empenho, Pedido e Contrato)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cana +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cana +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cana +msgid "Informações de registro aquisições" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_cana +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_cana +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_cana +msgid "Informações de registro aquisições de cana" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infRespTec +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infRespTec +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infRespTec +msgid "Informações do Responsável Técnico" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_infRespTec +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_infRespTec +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_infRespTec +msgid "Informações do Responsável Técnico pela emissão do DF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_infProdNFF +msgid "Informações mais detalhadas do produto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_infProdEmb +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_infProdNFF +msgid "Informações mais detalhadas do produto (usada na NFF)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_insurance_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_insurance_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__insurance_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_insurance_value +msgid "Insurance Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__incoterm_id +#: model:ir.model.fields,help:l10n_br_account.field_account_move__incoterm_id +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__incoterm_id +#: model:ir.model.fields,help:l10n_br_account.field_l10n_br_fiscal_document__incoterm_id +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" +"International Commercial Terms são uma série de termos comerciais " +"predefinidos utilizados em transações internacionais." + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__invalidate_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__invalidate_event_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__invalidate_event_id +msgid "Invalidate Event" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__invalidate_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__invalidate_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__invalidate_file_id +msgid "Invalidate File XML" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__invalidate_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__invalidate_date +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__invalidate_date +msgid "Invalidate Protocol Date" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__invalidate_protocol_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__invalidate_protocol_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__invalidate_protocol_number +msgid "Invalidate Protocol Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__account_line_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__account_line_ids +msgid "Invoice Lines" +msgstr "Linhas da Fatura" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__move_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__move_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__move_ids +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document__move_ids +msgid "Invoices" +msgstr "Faturas" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__is_edoc_printed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__is_edoc_printed +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__is_edoc_printed +msgid "Is Printed?" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__issuer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__issuer +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__issuer +msgid "Issuer" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cListServ +msgid "Item da lista de serviços da LC 116/03" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cListServ +msgid "Item da lista de serviços da LC 116/03 em que se classifica o serviço." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_move +msgid "Journal Entry" +msgstr "Lançamento de Diário" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_move_line +msgid "Journal Item" +msgstr "Item de Diário" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_xJust +msgid "Justificativa da entrada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_key +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_key +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_key +msgid "Key" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_legal_name +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "Legal Name" +msgstr "Razão Social" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"Line without Return Fiscal Operation! \n" +"\n" +" Please force one! \n" +"%(name)s" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_xLocExporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_xLocExporta +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_xLocExporta +msgid "Local de Embarque ou de transposição" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_xLocExporta +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_xLocExporta +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_xLocExporta +msgid "Local de Embarque ou de transposição de fronteira" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_cnae_main_id +msgid "Main CNAE" +msgstr "CNAE Principal" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__manual_additional_data +msgid "Manual Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__manual_customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__manual_customer_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__manual_customer_additional_data +msgid "Manual Customer Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__manual_fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__manual_fiscal_additional_data +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__manual_fiscal_additional_data +msgid "Manual Fiscal Additional Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_modBC +msgid "Modalidade de determinação da BC" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_modBCST +msgid "" +"Modalidade de determinação da BC do ICMS ST:\n" +"0 – Preço tabelado ou máximo sugerido;\n" +"1 - Lista Negativa (valor);\n" +"2 - Lista Positiva (valor);\n" +"3 - Lista Neutra (valor);\n" +"4 - Margem Valor Agregado (%);\n" +"5 - Pauta (valor).\n" +"6 - Valor da Operação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_modBC +msgid "" +"Modalidade de determinação da BC do ICMS: \n" +"0 - Margem Valor Agregado (%);\n" +"1 - Pauta (valor);\n" +"2 - Preço Tabelado Máximo (valor);\n" +"3 - Valor da Operação." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_modFrete +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_modFrete +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_modFrete +msgid "Modalidade do frete" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_modFrete +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_modFrete +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_modFrete +msgid "" +"Modalidade do frete\n" +"0- Contratação do Frete por conta do Remetente (CIF);\n" +"1- Contratação do Frete por conta do destinatário/remetente (FOB);\n" +"2- Contratação do Frete por conta de terceiros;\n" +"3- Transporte próprio por conta do remetente;\n" +"4- Transporte próprio por conta do destinatário;\n" +"9- Sem Ocorrência de transporte." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_ir_model_data +msgid "Model Data" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__brl_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__brl_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__brl_currency_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__brl_currency_id +msgid "Moeda" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vDesc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vDesc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vDesc +msgid "Montante de Desconto" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"More than 1 fiscal document!You should open the fiscal viewand perform the " +"action on each document!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_inscr_mun +msgid "Municipal Tax Number" +msgstr "Numero Inscrição Municipal" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nbm_id +msgid "NBM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nbs_id +msgid "NBS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ncm_id +msgid "NCM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_nfe_action +msgid "NF-e" +msgstr "NF-e" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_nfse_action +msgid "NFS-e" +msgstr "NFS-e" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfse_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfse_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfse_environment +msgid "NFSe Environment" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_environment +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_environment +msgid "NFe Environment" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_transmission +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_transmission +msgid "NFe Transmission" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_version +msgid "NFe Version" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__simple_value +msgid "National Simple Taxes" +msgstr "Impostos do Simples Nacional" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__simple_without_icms_value +msgid "National Simple Taxes without ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_dhCont +msgid "Nfe Dhcont" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe_xJust +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe_xJust +msgid "Nfe Xjust" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_infNFeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_infNFeSupl +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_infNFeSupl +msgid "Nfe40 Infnfesupl" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSInterPart +msgid "Nfe40 Picmsinterpart" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSUFDest +msgid "Nfe40 Picmsufdest" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "No new Fiscal Document Line to import!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_NVE +msgid "Nomenclatura de Valor aduaneio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_NVE +msgid "Nomenclatura de Valor aduaneio e Estatístico" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_nFat +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_nFat +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_nFat +msgid "Número da fatura" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nFCI +msgid "Número de controle da FCI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_nFCI +msgid "Número de controle da FCI - Ficha de Conteúdo de Importação." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_nNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_nNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_nNF +msgid "Número do Documento Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nItemPed +msgid "Número do Item do Pedido de Compra" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_nItemPed +msgid "" +"Número do Item do Pedido de Compra - Identificação do número do item do " +"pedido de Compra" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nProcesso +msgid "Número do Processo administrativo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_nProcesso +msgid "Número do Processo administrativo ou judicial de suspenção do processo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nRECOPI +msgid "Número do RECOPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_nItem +msgid "Número do item do NF" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_all_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_in_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfe_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_nfse_action +#: model_terms:ir.actions.act_window,help:l10n_br_account.fiscal_invoice_out_action +msgid "" +"Odoo helps you easily track all activities\n" +" related to a fiscal operation." +msgstr "" +"Odoo ajuda você rastrear facilmente todas as atividades\n" +" relacionadas com a operação fiscal." + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_tree +msgid "Open Fiscal Document" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__fiscal_operation_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__fiscal_operation_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_operation_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__fiscal_operation_id +msgid "Operation" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_operation_line_id +msgid "Operation Line" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__operation_name +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__operation_name +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__operation_name +msgid "Operation Name" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__operation_nature +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__operation_nature +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__operation_nature +msgid "Operation Nature" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__fiscal_operation_type +msgid "Operation Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_other_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_other_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_other_value +msgid "Other Costs" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__other_retentions_value +msgid "Other Retentions" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__other_value +msgid "Other Value" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Others" +msgstr "Outros" + +#. module: l10n_br_account +#: model:ir.model.fields.selection,name:l10n_br_account.selection__account_move__fiscal_operation_type__out +msgid "Out" +msgstr "Saída" + +#. module: l10n_br_account +#: model:ir.actions.act_window,name:l10n_br_account.fiscal_invoice_out_action +msgid "Outgoing Document" +msgstr "Documento de Saída" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vOutro +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vOutro +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vOutro +msgid "Outros Custos" +msgstr "Outros Custos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_percent +msgid "PIS %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_reduction +msgid "PIS % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_base +msgid "PIS Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_base_id +msgid "PIS Base Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_base_type +msgid "PIS Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_cst_code +msgid "PIS CST Code" +msgstr "Código CST do PIS" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_credit_id +msgid "PIS Credit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_percent +msgid "PIS RET %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_reduction +msgid "PIS RET % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_base +msgid "PIS RET Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_value +msgid "PIS RET Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_wh_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_wh_base +msgid "PIS Ret Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_wh_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_wh_value +msgid "PIS Ret Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_percent +msgid "PIS ST %" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_reduction +msgid "PIS ST % Reduction" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pisst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pisst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_base +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pisst_base +msgid "PIS ST Base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_base_type +msgid "PIS ST Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_cst_code +msgid "PIS ST CST Code" +msgstr "Código CST do PIS ST" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pisst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pisst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pisst_value +msgid "PIS ST Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_pis_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_pis_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_value +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_pis_value +msgid "PIS Value" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_base_type +msgid "PIS WH Base Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_pis +msgid "PISAliq/PISQtde/PISNT/PISOutr" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_Id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_Id +msgid "PL_005d - 11/08/09 - validação do Id" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_id +msgid "Partner" +msgstr "Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_city_id +msgid "Partner City" +msgstr "Cidade do Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_country_id +msgid "Partner Country" +msgstr "País Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_district +msgid "Partner District" +msgstr "Bairro do Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_is_company +msgid "Partner Is Company?" +msgstr "Parceiro é Empresa?" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_name +msgid "Partner Name" +msgstr "Nome do Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_number +msgid "Partner Number" +msgstr "Número do parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__partner_order +msgid "Partner Order (xPed)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__partner_order_line +msgid "Partner Order Line (nItemPed)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_phone +msgid "Partner Phone" +msgstr "Telefone Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_state_id +msgid "Partner State" +msgstr "Estado do Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_street +msgid "Partner Street" +msgstr "Rua do Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_street2 +msgid "Partner Street2" +msgstr "Complemento da Rua do Parceiro" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_zip +msgid "Partner Zip" +msgstr "Cep do Parceiro" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "Partner mismatch!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__payment_term_number +msgid "Payment Term Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pFCPUFDest +msgid "Percentual adicional inserido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pFCPUFDest +msgid "" +"Percentual adicional inserido na alíquota interna da UF de destino, relativo " +"ao Fundo de Combate à Pobreza (FCP) naquela UF." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pMVAST +msgid "Percentual da Margem de Valor Adicionado ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pFCPST +msgid "Percentual de FCP retido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pFCPST +msgid "Percentual de FCP retido por substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pRedBC +msgid "Percentual de redução da BC" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pRedBCEfet +msgid "Percentual de redução da base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pRedBCEfet +msgid "Percentual de redução da base de cálculo efetiva." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pBCOp +msgid "Percentual para determinação do valor" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pBCOp +msgid "" +"Percentual para determinação do valor da Base de Cálculo da operação " +"própria." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pFCPSTRet +msgid "Percentual relativo ao Fundo de Combate" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_pFCPSTRet +msgid "" +"Percentual relativo ao Fundo de Combate à Pobreza (FCP) retido por " +"substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_autXML +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_autXML +msgid "Pessoas autorizadas para o download" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_autXML +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_autXML +msgid "Pessoas autorizadas para o download do XML da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__processador_edoc +msgid "Processador documentos eletrônicos" +msgstr "Processador documentos eletrônicos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_procEmi +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_procEmi +msgid "Processo de emissão utilizado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_procEmi +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_procEmi +msgid "" +"Processo de emissão utilizado com a seguinte codificação:\n" +"0 - emissão de NF-e com aplicativo do contribuinte;\n" +"1 - emissão de NF-e avulsa pelo Fisco;\n" +"2 - emissão de NF-e avulsa, pelo contribuinte com seu certificado digital, " +"através do site\n" +"do Fisco;\n" +"3- emissão de NF-e pelo contribuinte com aplicativo fornecido pelo Fisco." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__partner_is_public_entity +msgid "Public Entity" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_qCom +msgid "" +"Quantidade Comercial do produto, alterado para aceitar de 0 a 4 casas " +"decimais e 11 inteiros." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_qTrib +msgid "" +"Quantidade Tributável - alterado para aceitar de 0 a 4 casas decimais e 11 " +"inteiros" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qBCProd +msgid "Quantidade Vendida" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_qBCProd +msgid "Quantidade Vendida (NT2011/004)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qSelo +msgid "Quantidade de selo de controle do IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qUnid +msgid "Quantidade total na unidade padrão" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_qUnid +msgid "Quantidade total na unidade padrão para tributação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__rps_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__rps_number +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__rps_number +msgid "RPS Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__rps_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__rps_type +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__rps_type +msgid "Rps Type" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__send_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__send_file_id +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__send_file_id +msgid "Send Document File XML" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_serie +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_serie +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_serie +msgid "Serie Number" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__service_type_id +msgid "Service Type LC 166" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_UFSaidaPais +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_UFSaidaPais +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_UFSaidaPais +msgid "Sigla da UF de Embarque" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_UFSaidaPais +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_UFSaidaPais +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_UFSaidaPais +msgid "Sigla da UF de Embarque ou de transposição de fronteira" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_UFST +msgid "Sigla da UF para qual é devido o ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_UFST +msgid "Sigla da UF para qual é devido o ICMS ST da operação." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_range_id +msgid "Simplified Range Tax" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__state_fiscal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__state_fiscal +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__state_fiscal +msgid "Situação Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__state_edoc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__state_edoc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__state_edoc +msgid "Situação e-doc" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_l10n_br_ie_code +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_search +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_search +msgid "State Tax Number" +msgstr "Número da Inscrição Estadual" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__status_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__status_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__status_code +msgid "Status Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__status_description +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__status_description +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__status_description +msgid "Status Description" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__status_name +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__status_name +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__status_name +msgid "Status Name" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__payment_term_number +msgid "" +"Stores the installment number in the format 'current-total'. For example, " +"'1-3' for the first of three installments, '2-3' for the second, and '3-3' " +"for the last installment." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_subsequent_generated +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_subsequent_generated +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_subsequent_generated +msgid "Subsequent documents generated?" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_suframa +msgid "Suframa" +msgstr "Suframa" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_serie +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_serie +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_serie +msgid "Série do Documento Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_serie +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_serie +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_serie +msgid "" +"Série do Documento Fiscal\n" +"série normal 0-889\n" +"Avulsa Fisco 890-899\n" +"SCAN 900-999" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_tax +msgid "Tax" +msgstr "Imposto" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_tax_benefit_id +msgid "Tax Benefit" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_tax_benefit_code +msgid "Tax Benefit Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_tax_id +msgid "Tax COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofins_wh_tax_id +msgid "Tax COFINS RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__cofinsst_tax_id +msgid "Tax COFINS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_tax_id +msgid "Tax CSLL" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__csll_wh_tax_id +msgid "Tax CSLL RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__partner_tax_framework +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__tax_framework +msgid "Tax Framework" +msgstr "Estrutura Tributária" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_tax_group +#: model:ir.model,name:l10n_br_account.model_l10n_br_fiscal_tax_group +msgid "Tax Group" +msgstr "Grupo de Imposto" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icms_tax_id +msgid "Tax ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcp_tax_id +msgid "Tax ICMS FCP" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsfcpst_tax_id +msgid "Tax ICMS FCP ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmssn_tax_id +msgid "Tax ICMS SN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__icmsst_tax_id +msgid "Tax ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ii_tax_id +msgid "Tax II" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_tax_id +msgid "Tax INSS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__inss_wh_tax_id +msgid "Tax INSS RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__ipi_tax_id +msgid "Tax IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_tax_id +msgid "Tax IRPJ" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__irpj_wh_tax_id +msgid "Tax IRPJ RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_tax_id +msgid "Tax ISSQN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__issqn_wh_tax_id +msgid "Tax ISSQN RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_tax_id +msgid "Tax PIS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pis_wh_tax_id +msgid "Tax PIS RET" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__pisst_tax_id +msgid "Tax PIS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__uot_id +msgid "Tax UoM" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__amount_tax_withholding +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__amount_tax_withholding +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__amount_tax_withholding +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__amount_tax_withholding +msgid "Tax Withholding" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__taxation_special_regime +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__taxation_special_regime +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__taxation_special_regime +msgid "Taxation Special Regime" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.invoice_form +msgid "Taxes" +msgstr "Impostos" + +#. module: l10n_br_account +#: model:ir.model,name:l10n_br_account.model_account_tax_template +msgid "Templates for Taxes" +msgstr "Modelos para Impostos" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_icms +msgid "Tipo de ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_prod +msgid "Tipo de Produto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_cofinsoutr +msgid "Tipo de Tributação do COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_choice_pisoutr +msgid "Tipo de Tributação do PIS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_tpNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_tpNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_tpNF +msgid "Tipo do Documento Fiscal" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_tpNF +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_tpNF +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_tpNF +msgid "Tipo do Documento Fiscal (0 - entrada; 1 - saída)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__financial_total_gross +msgid "Total amount before any discounts are applied." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vProd +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__price_gross +msgid "" +"Total value of products or services (quantity x unit price)before any " +"discounts." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__uom_id +#: model:ir.model.fields,field_description:l10n_br_account.field_l10n_br_fiscal_document_line__uom_id +msgid "UOM" +msgstr "UDM" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_uTrib +msgid "Unidade Tributável" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_uCom +msgid "Unidade comercial" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move__company_legal_name +#: model:ir.model.fields,help:l10n_br_account.field_account_move__partner_legal_name +msgid "Used in fiscal documents" +msgstr "Usado em documentos fiscais" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_form +msgid "Validate" +msgstr "Validar" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vIOF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSMonoRet +msgid "Valor" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vISSRet +msgid "Valor Retenção ISS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vRetCOFINS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vRetCOFINS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vRetCOFINS +msgid "Valor Retido de COFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vRetCSLL +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vRetCSLL +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vRetCSLL +msgid "Valor Retido de CSLL" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vIRRF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vIRRF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vIRRF +msgid "Valor Retido de IRRF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vRetPIS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vRetPIS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vRetPIS +msgid "Valor Retido de PIS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vServ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vServ +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vServ +msgid "Valor Total" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vISSRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vISSRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vISSRet +msgid "Valor Total Retenção ISS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vNF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vNF +msgid "Valor Total da NF-e" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vFCP +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vFCP +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vFCP +msgid "Valor Total do FCP" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPSTRet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vFCPSTRet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vFCPSTRet +msgid "" +"Valor Total do FCP (Fundo de Combate à Pobreza) retido anteriormente por " +"substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPST +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vFCPST +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vFCPST +msgid "" +"Valor Total do FCP (Fundo de Combate à Pobreza) retido por substituição " +"tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vFCP +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vFCP +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vFCP +msgid "Valor Total do FCP (Fundo de Combate à Pobreza)." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vFCPST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vFCPST +msgid "Valor Total do FCP (vFCPST)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPSTRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vFCPSTRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vFCPSTRet +msgid "Valor Total do FCP (vFCPSTRet)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vFrete +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vFrete +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vFrete +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vFrete +msgid "Valor Total do Frete" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMS +msgid "Valor Total do ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vST +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vST +msgid "Valor Total do ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSDeson +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSDeson +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSDeson +msgid "Valor Total do ICMS desonerado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vII +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vII +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vII +msgid "Valor Total do II" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vIPI +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vIPI +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vIPI +msgid "Valor Total do IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vIPIDevol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vIPIDevol +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vIPIDevol +msgid "Valor Total do IPI devolvido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vIPIDevol +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vIPIDevol +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vIPIDevol +msgid "" +"Valor Total do IPI devolvido. Deve ser informado quando preenchido o Grupo " +"Tributos Devolvidos na emissão de nota finNFe=4 (devolução) nas operações " +"com não contribuintes do IPI. Corresponde ao total da soma dos campos id: " +"UA04." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vISS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vISS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vISS +msgid "Valor Total do ISS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vSeg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vSeg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vSeg +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vSeg +msgid "Valor Total do Seguro" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vServ +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vServ +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vServ +msgid "Valor Total dos Serviços sob não-incidência ou não tributados pelo ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vProd +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vProd +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vProd +msgid "Valor Total dos produtos e serviços" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vProd +msgid "Valor bruto do produto ou serviço" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBC +msgid "Valor da BC do COFINS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCST +msgid "Valor da BC do ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCFCPUFDest +msgid "Valor da Base de Cálculo do FCP na UF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCFCPUFDest +msgid "Valor da Base de Cálculo do FCP na UF do destinatário." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCUFDest +msgid "Valor da Base de Cálculo do ICMS na UF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCUFDest +msgid "Valor da Base de Cálculo do ICMS na UF do destinatário." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCFCPST +msgid "Valor da Base de cálculo do FCP retido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCFCPST +msgid "Valor da Base de cálculo do FCP retido por substituicao tributaria." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vRetPrev +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vRetPrev +msgid "Valor da Retenção da Previdêncica Social" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCEfet +msgid "Valor da base de cálculo efetiva" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vISSQN +msgid "Valor da do ISSQN" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vDespAdu +msgid "Valor das despesas aduaneiras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vDeducao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vDeducao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vDeducao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vDeducao +msgid "Valor dedução para redução da base" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vDeducao +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vDeducao +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vDeducao +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vDeducao +msgid "Valor dedução para redução da base de cálculo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vDescCond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vDescCond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vDescCond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vDescCond +msgid "Valor desconto condicionado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vDescIncond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vDescIncond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vDescIncond +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vDescIncond +msgid "Valor desconto incondicionado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vCOFINS +msgid "Valor do COFINS (NFe)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vDesc +msgid "Valor do Desconto" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vFCPST +msgid "Valor do FCP retido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vFCPST +msgid "Valor do FCP retido por substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMS +msgid "Valor do ICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSSubstituto +msgid "Valor do ICMS Próprio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__icms_substitute +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSSubstituto +msgid "Valor do ICMS Próprio do Substituto cobrado em operação anterior" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSST +msgid "Valor do ICMS ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSUFDest +msgid "Valor do ICMS de partilha para a UF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSUFDest +msgid "Valor do ICMS de partilha para a UF do destinatário." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSUFRemet +msgid "" +"Valor do ICMS de partilha para a UF do remetente. Nota: A partir de 2019, " +"este valor será zero." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSEfet +msgid "Valor do ICMS efetivo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vICMSMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vICMSMonoRet +msgid "Valor do ICMS monofásico retido anteriormente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vFCPUFDest +msgid "Valor do ICMS relativo ao Fundo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vFCPUFDest +msgid "" +"Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) da UF de destino." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vFCPSTRet +msgid "" +"Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) retido por " +"substituição tributária." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vFCPSTRet +msgid "Valor do ICMS relativo ao Fundo de Combate à Pobreza Retido por ST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vIPI +msgid "Valor do IPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vII +msgid "Valor do Imposto de Importação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vIOF +msgid "Valor do Imposto sobre Operações Financeiras" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vPIS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vPIS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vPIS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vPIS +msgid "Valor do PIS (NFe)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vTroco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vTroco +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vTroco +msgid "Valor do Troco" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vTotTrib +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vTotTrib +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vTotTrib +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vTotTrib +msgid "Valor estimado total" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vTotTrib +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vTotTrib +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vTotTrib +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vTotTrib +msgid "Valor estimado total de impostos federais, estaduais e municipais" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vLiq +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vLiq +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vLiq +msgid "Valor líquido da fatura" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vOrig +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vOrig +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vOrig +msgid "Valor original da fatura" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vOutro +msgid "Valor outras retenções" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vUnid +msgid "Valor por Unidade Tributável" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vUnid +msgid "" +"Valor por Unidade Tributável. Informar o valor do imposto Pauta por unidade " +"de medida." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_qBCMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_qBCMono +msgid "Valor total da quantidade tributada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMono +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_qBCMono +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_qBCMono +msgid "Valor total da quantidade tributada do ICMS monofásico próprio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_qBCMonoRet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_qBCMonoRet +msgid "" +"Valor total da quantidade tributada do ICMS monofásico retido anteriormente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_qBCMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_qBCMonoReten +msgid "" +"Valor total da quantidade tributada do ICMS monofásico sujeito a retenção" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSUFDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSUFDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSUFDest +msgid "Valor total do ICMS de partilha" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSUFDest +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vICMSUFDest +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vICMSUFDest +msgid "Valor total do ICMS de partilha para a UF do destinatário" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSUFRemet +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vICMSUFRemet +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vICMSUFRemet +msgid "Valor total do ICMS de partilha para a UF do remetente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSMono +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSMono +msgid "Valor total do ICMS monofásico próprio" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSMonoReten +msgid "Valor total do ICMS monofásico sujeito" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vICMSMonoReten +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vICMSMonoReten +msgid "Valor total do ICMS monofásico sujeito a retenção" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPUFDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vFCPUFDest +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vFCPUFDest +msgid "Valor total do ICMS relativo ao Fundo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_vFCPUFDest +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_vFCPUFDest +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_vFCPUFDest +msgid "" +"Valor total do ICMS relativo ao Fundo de Combate à Pobreza (FCP) para a UF " +"de destino." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vUnCom +msgid "Valor unitário de comercialização" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vUnCom +msgid "" +"Valor unitário de comercialização - alterado para aceitar 0 a 10 casas " +"decimais e 11 inteiros" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vUnTrib +msgid "Valor unitário de tributação" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vUnTrib +msgid "" +"Valor unitário de tributação - - alterado para aceitar 0 a 10 casas decimais " +"e 11 inteiros" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__verify_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__verify_code +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__verify_code +msgid "Verify Code" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__document_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__document_version +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__document_version +msgid "Version" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_versao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_versao +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_versao +msgid "Versão do leiaute (v4.00)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_veicProd +msgid "Veículos novos" +msgstr "" + +#. module: l10n_br_account +#: model_terms:ir.ui.view,arch_db:l10n_br_account.fiscal_invoice_form +msgid "Voltar para Digitação" +msgstr "Voltar para Digitação" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__xml_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__xml_error_message +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__xml_error_message +msgid "XML validation errors" +msgstr "" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "" +"You can't set this document number: {} to draft because this document is " +"cancelled in SEFAZ" +msgstr "" +"Você não pode definir este número de documento: {} para rascunho pois este " +"documento está cancelado no SEFAZ" + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/document.py:0 +#, python-format +msgid "You cannot delete a fiscal document which is not draft state." +msgstr "" +"Você não pode excluir um documento fiscal que não esteja no estado de " +"rascunho." + +#. module: l10n_br_account +#. odoo-python +#: code:addons/l10n_br_account/models/account_move.py:0 +#, python-format +msgid "You cannot set a document type when the move has no Fiscal Document!" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cBenef +msgid "cBenef" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_dhCont +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_dhCont +msgid "data e hora de entrada" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_dhCont +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_dhCont +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_dhCont +msgid "" +"data e hora de entrada em contingência contingência no formato (AAAA-MM-" +"DDThh:mm:ssTZD) ex.: 2012-09-01T13:00:00-03:00." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_med +msgid "grupo do detalhamento de Medicamentos" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_med +msgid "" +"grupo do detalhamento de Medicamentos e de matérias-primas farmacêuticas" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_impostoDevol +msgid "impostoDevol" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_indEscala +msgid "indEscala" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_infProdEmb +msgid "infProdEmb" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_modBCST +msgid "modBCST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_cMunFG +msgid "município de ocorrência do fato gerador" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_cMunFG +msgid "" +"município de ocorrência do fato gerador do ISSQN. Utilizar a Tabela do IBGE " +"(Anexo VII - Tabela de UF, Município e País). “Atenção, não vincular com os " +"campos B12, C10 ou E10” v2.0" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qCom +msgid "nfe40 qCom" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_cUF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_cUF +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_cUF +msgid "nfe40_cUF" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_mod +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_mod +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_mod +msgid "nfe40_mod" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pCOFINS +msgid "nfe40_pCOFINS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pPIS +msgid "nfe40_pPIS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_qTrib +msgid "nfe40_qTrib" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_orig +msgid "origem da mercadoria: 0 - Nacional" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_orig +msgid "" +"origem da mercadoria: 0 - Nacional \n" +"1 - Estrangeira - Importação direta \n" +"2 - Estrangeira - Adquirida no mercado interno" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMS +msgid "pICMS" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pICMSST +msgid "pICMSST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pIPI +msgid "pIPI" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pMVAST +msgid "pMVAST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_pRedBCST +msgid "pRedBCST" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_xPed +msgid "pedido de compra" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_xPed +msgid "" +"pedido de compra - Informação de interesse do emissor para controle do B2B." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_qBCMonoRet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_qBCMonoRet +msgid "qBCMonoRet" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_qBCMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_qBCMonoReten +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_qBCMonoReten +msgid "qBCMonoReten" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_rastro +msgid "rastro" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSSTDest +msgid "vICMSSTDest" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vICMSUFRemet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vICMSUFRemet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSUFRemet +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vICMSUFRemet +msgid "vICMSUFRemet" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCSTDest +msgid "valor da BC do ICMS ST da UF destino" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSSTDest +msgid "valor da BC do ICMS ST da UF destino (v2.0)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCSTRet +msgid "valor da BC do ICMS ST retido" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCSTRet +msgid "valor da BC do ICMS ST retido na UF remetente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vBCFCPSTRet +msgid "valor da Base de Cálculo" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vBCFCPSTRet +msgid "valor da Base de Cálculo do FCP retido anteriormente por ST." +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_vCOFINS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_vCOFINS +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_vCOFINS +msgid "valor do COFINS (NFe)" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move_line__nfe40_vICMSSTRet +msgid "valor do ICMS ST retido na UF remetente" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_move_line__nfe40_vICMSSTRet +msgid "valor do ICMS ST retido na UF remetente (iv2.0))" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,field_description:l10n_br_account.field_account_bank_statement_line__nfe40_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_move__nfe40_verProc +#: model:ir.model.fields,field_description:l10n_br_account.field_account_payment__nfe40_verProc +msgid "versão do aplicativo utilizado" +msgstr "" + +#. module: l10n_br_account +#: model:ir.model.fields,help:l10n_br_account.field_account_bank_statement_line__nfe40_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_move__nfe40_verProc +#: model:ir.model.fields,help:l10n_br_account.field_account_payment__nfe40_verProc +msgid "" +"versão do aplicativo utilizado no processo de\n" +"emissão" +msgstr "" + +#~ msgid "Type" +#~ msgstr "Tipo" + +#~ msgid "Invalidate Number Wizard" +#~ msgstr "Assistente de Número Invalidado" + +#~ msgid "Display Name" +#~ msgstr "Nome Exibido" + +#, fuzzy +#~ msgid "Fiscal Base Wizard Mixin" +#~ msgstr "Assistente de Base Fiscal Mixin" + +#~ msgid "Fiscal Document Cancel Wizard" +#~ msgstr "Assistente de Cancelamento de Documento Fiscal" + +#~ msgid "Fiscal Document Correction Wizard" +#~ msgstr "Assistente de Correção de Documento Fiscal" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Indicates that this journal item is a tax line" +#~ msgstr "Indica que este item de diário é uma linha de imposto" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificação em" + +#, python-format +#~ msgid "" +#~ "Line without Return Fiscal Operation! \n" +#~ "\n" +#~ " Please force one! \n" +#~ "{}" +#~ msgstr "" +#~ "Linha sem Operação Fiscal de Retorno! \n" +#~ "\n" +#~ " Por favor force uma! \n" +#~ "{}" + +#, fuzzy +#~ msgid "Originator Fiscal Tax" +#~ msgstr "Origem do tributo fiscal" + +#~ msgid "WH Account Move Line" +#~ msgstr "Linha de Movimento Contábil RET" + +#, python-format +#~ msgid "You cannot edit an invoice related to a withholding entry" +#~ msgstr "" +#~ "Você não pode editar um documento relacionado a um lançamento de retenção" + +#~ msgid "Currency" +#~ msgstr "Moeda" + +#~ msgid "Incoterm" +#~ msgstr "Incoterm" + +#~ msgid "Name" +#~ msgstr "Nome" + +#~ msgid "Price Unit" +#~ msgstr "Preço Unitário" + +#~ msgid "Product" +#~ msgstr "Produto" + +#~ msgid "Quantity" +#~ msgstr "Quantidade" + +#~ msgid "Shipping Address" +#~ msgstr "Endereço de Entrega" + +#~ msgid "User" +#~ msgstr "Usuário" + +#~ msgid "Account Document Line Mixin" +#~ msgstr "Mixin de Linha de Documento da Conta" + +#~ msgid "Active" +#~ msgstr "Ativo" + +#~ msgid "Companies" +#~ msgstr "Empresas" + +#, python-format +#~ msgid "" +#~ "Document line dummy not found. Please contact your system administrator." +#~ msgstr "" +#~ "Linha do documento fictício não encontrada. Entre em contato com o " +#~ "administrador do sistema." + +#~ msgid "Fiscal Dummy Document" +#~ msgstr "Documento Fictício Fiscal" + +#~ msgid "Adapted Legal Name" +#~ msgstr "Razão Social" + +#~ msgid "Adapted State Tax Number" +#~ msgstr "Inscrição Estadual" + +#~ msgid "Document Code" +#~ msgstr "Código do Documento" + +#~ msgid "Credit Note" +#~ msgstr "Anotação de crédito" + +#~ msgid "Document line without Operation !" +#~ msgstr "Linha do documento s/ Operação !" + +#~ msgid "Document without Operation !" +#~ msgstr "Documento s/ Operação!" + +#~ msgid "Fiscal Operation: There is not Return Operation for %s !" +#~ msgstr "" +#~ "Operação Fiscal: Não esta definida a operação de devolução para %s !" + +#~ msgid "Invoice Line" +#~ msgstr "Linha da Fatura" + +#~ msgid "Tax Account" +#~ msgstr "Conta de imposto" + +#~ msgid "Tax Account on Credit Notes" +#~ msgstr "Conta de Impostos em Notas de Crédito" + +#~ msgid "l10n_br_account.tax.template" +#~ msgstr "l10n_br_account.tax.template" + +#~ msgid "Inscr. Estadual" +#~ msgstr "Inscr. Estadual" + +#~ msgid "Razão Social" +#~ msgstr "Razão Social" + +#~ msgid "Fiscal Doc Discount Value" +#~ msgstr "Valor do desconto do documento fiscal" + +#~ msgid "Fiscal Doc Company" +#~ msgstr "Empresa do documento fiscal" + +#~ msgid "Fiscal Doc Currency" +#~ msgstr "Moeda do documento fiscal" + +#~ msgid "Fiscal Doc Date" +#~ msgstr "Data do documento fiscal" + +#~ msgid "Fiscal Doc Name" +#~ msgstr "Nome do documento fiscal" + +#~ msgid "Fiscal Doc Partner" +#~ msgstr "Parceiro do documento fiscal" + +#~ msgid "Fiscal Doc Price Unit" +#~ msgstr "Preço unitário do documento fiscal" + +#~ msgid "Fiscal Doc Product" +#~ msgstr "Produto do documento fiscal" + +#~ msgid "Fiscal Doc Quantity" +#~ msgstr "Quantidade do documento fiscal" + +#~ msgid "Fiscal Doc State" +#~ msgstr "Situação do documento fiscal" + +#~ msgid "Fiscal Doc UOM" +#~ msgstr "UOM do documento fiscal" diff --git a/l10n_br_account/images/l10n_br-hover.png b/l10n_br_account/images/l10n_br-hover.png new file mode 100644 index 000000000000..4d33b9bb7c63 Binary files /dev/null and b/l10n_br_account/images/l10n_br-hover.png differ diff --git a/l10n_br_account/images/l10n_br.png b/l10n_br_account/images/l10n_br.png new file mode 100644 index 000000000000..d65fda9da278 Binary files /dev/null and b/l10n_br_account/images/l10n_br.png differ diff --git a/l10n_br_account/models/__init__.py b/l10n_br_account/models/__init__.py new file mode 100644 index 000000000000..c7f7458b1445 --- /dev/null +++ b/l10n_br_account/models/__init__.py @@ -0,0 +1,17 @@ +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html +from . import account_tax_group +from . import fiscal_tax_group +from . import account_tax +from . import fiscal_tax +from . import fiscal_operation +from . import fiscal_operation_line +from . import fiscal_decorator_mixin +from . import account_move +from . import account_move_line +from . import document +from . import document_line +from . import account_incoterms +from . import ir_model_data +from . import account_journal +from . import template_br_oca +from . import ir_rule diff --git a/l10n_br_account/models/account_incoterms.py b/l10n_br_account/models/account_incoterms.py new file mode 100644 index 000000000000..17a68599aa58 --- /dev/null +++ b/l10n_br_account/models/account_incoterms.py @@ -0,0 +1,26 @@ +# Copyright (C) 2021-Today - Akretion (). +# @author Magno Costa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class AccountIncoterms(models.Model): + _inherit = "account.incoterms" + + def name_get(self): + # No Brasil muitas pessoas conhecem os tipos de frete mais pelo + # Codigo do que pela descrição, por isso aqui está sendo feito + # "Codigo - Descrição" ex.: + # CIF - Custo, Seguro e Frete; FOB - Gratis a Bordo, etc + result = [] + for record in self: + name = record.name + # Caso o name seja muito grande ao mostrar o campo na + # visão acaba ficando fora da tela o que dificulta a + # visualização, ao clicar em Pesquisar é mostrado o + # name completo + if len(record.name) > 150: + name = record.name[:150] + " ..." + result.append((record.id, f"{record.code} - {name}")) + return result diff --git a/l10n_br_account/models/account_journal.py b/l10n_br_account/models/account_journal.py new file mode 100644 index 000000000000..c75acf35dafb --- /dev/null +++ b/l10n_br_account/models/account_journal.py @@ -0,0 +1,18 @@ +# Copyright 2023 Akretion (Raphaẽl Valyi ) +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import models + + +class AccountJournal(models.Model): + _inherit = "account.journal" + + def create_document_from_attachment(self, attachment_ids=None): + if self.env.company.country_id.code != "BR" or len(attachment_ids) < 1: + return super().create_document_from_attachment( + attachment_ids=attachment_ids + ) + attachments = self.env["ir.attachment"].browse(attachment_ids) + return self.env["l10n_br_fiscal.document.import.wizard"]._get_importer_action( + attachments + ) diff --git a/l10n_br_account/models/account_move.py b/l10n_br_account/models/account_move.py new file mode 100644 index 000000000000..0ccde2990ce6 --- /dev/null +++ b/l10n_br_account/models/account_move.py @@ -0,0 +1,726 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# Copyright (C) 2019 - TODAY Raphaël Valyi - Akretion +# Copyright (C) 2020 - TODAY Luis Felipe Mileo - KMEE +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + + +import logging +from contextlib import contextmanager + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.tests.common import Form +from odoo.tools import frozendict + +_logger = logging.getLogger(__name__) + +from odoo.addons.l10n_br_fiscal.constants.fiscal import ( + DOCUMENT_ISSUER_COMPANY, + DOCUMENT_ISSUER_PARTNER, + FISCAL_IN_OUT_ALL, + FISCAL_OUT, + MODELO_FISCAL_NFE, + SITUACAO_EDOC_CANCELADA, + SITUACAO_EDOC_EM_DIGITACAO, +) + +from .constants import ( + MOVE_TO_OPERATION, +) + + +class AccountMove(models.Model): + _name = "account.move" + _fiscal_decorator_model = "l10n_br_fiscal.document" + _inherit = [ + _name, + "l10n_br_account.decorator.mixin", + ] + + # an account.move has normally 0 or 1 related fiscal document: + # - 0 when it is not related to a Brazilian company for instance. + # - 1 otherwise (usually). In this case the _inherits system + # makes it easy to edit all the fiscal document (lines) fields + # through the account.move form. + # in some rare cases an account.move may have several fiscal + # documents (1 on each account.move.line). In this case + # fiscal_document_id might be used only to sync the "main" fiscal + # document (or the one currently imported or edited). In this case, + # fiscal_document_ids contains all the line fiscal documents. + _inherits = {_fiscal_decorator_model: "fiscal_document_id"} + + _order = "date DESC, name DESC" + + document_electronic = fields.Boolean( + related="document_type_id.electronic", + string="Electronic?", + ) + + fiscal_document_id = fields.Many2one( + comodel_name="l10n_br_fiscal.document", + string="Fiscal Document", + copy=False, + ondelete="cascade", + store=True, + readonly=False, + ) + + fiscal_document_ids = fields.One2many( + comodel_name="l10n_br_fiscal.document", + string="Fiscal Documents", + compute="_compute_fiscal_document_ids", + help="""In some rare cases (NFS-e, CT-e...) a single account.move + may have several different fiscal documents related to its account.move.lines. + """, + ) + + fiscal_operation_type = fields.Selection( + selection=FISCAL_IN_OUT_ALL, + related=None, + compute="_compute_fiscal_operation_type", + ) + + @api.onchange("user_id") + def _inverse_user_id(self): + for line in self: + line.proxy_user_id = line.user_id + + @api.onchange("company_id") + def _onchange_company_id_br(self): + if self.fiscal_document_id: + self.fiscal_document_id.company_id = self.company_id + + @api.onchange("partner_id") + def _onchange_partner_id_br(self): + if self.fiscal_document_id: + self.fiscal_document_id.partner_id = self.partner_id + + @api.constrains("fiscal_document_id", "document_type_id") + def _check_fiscal_document_type(self): + for rec in self: + if rec.document_type_id and not rec.fiscal_document_id: + raise UserError( + _( + "You cannot set a document type when the move has no" + " Fiscal Document!" + ) + ) + + @api.depends("line_ids", "fiscal_document_id") + def _compute_fiscal_document_ids(self): + for move in self: + docs = move.fiscal_document_id + for line in move.invoice_line_ids: + docs |= line.document_id + move.fiscal_document_ids = docs + + @api.depends("move_type", "fiscal_operation_id") + def _compute_fiscal_operation_type(self): + for inv in self: + if inv.move_type == "entry": + # if it is a Journal Entry there is nothing to do. + inv.fiscal_operation_type = False + continue + if inv.fiscal_operation_id: + inv.fiscal_operation_type = ( + inv.fiscal_operation_id.fiscal_operation_type + ) + else: + inv.fiscal_operation_type = MOVE_TO_OPERATION[inv.move_type] + + @api.model + def _get_fiscal_lines_field_name(self): + return "invoice_line_ids" + + def ensure_one_doc(self): + self.ensure_one() + if len(self.fiscal_document_ids) > 1: + raise UserError( + _( + "More than 1 fiscal document!" + "You should open the fiscal view" + "and perform the action on each document!" + ) + ) + + @api.model + def default_get(self, fields_list): + defaults = super().default_get(fields_list) + move_type = self.env.context.get("default_move_type", "out_invoice") + if move_type and move_type != "entry": + defaults["fiscal_operation_type"] = MOVE_TO_OPERATION[move_type] + if defaults["fiscal_operation_type"] == FISCAL_OUT: + defaults["issuer"] = DOCUMENT_ISSUER_COMPANY + else: + defaults["issuer"] = DOCUMENT_ISSUER_PARTNER + return defaults + + @api.model + def _get_view(self, view_id=None, view_type="form", **options): + arch, view = super()._get_view(view_id, view_type, **options) + if self.env.company.country_id.code != "BR" or view_type != "form": + return arch, view + if view_type == "form" and self.env.company.country_id.code == "BR": + arch = self.env["l10n_br_fiscal.document.line"].inject_fiscal_fields(arch) + + for tax_totals_node in arch.xpath( + "//field[@name='tax_totals'][@widget='account-tax-totals-field']" + ): + tax_totals_node.set("attrs", "{'invisible': True}") + + if view_type == "form" and ( + self.user_has_groups("l10n_br_account.group_line_fiscal_detail") + or self.env.context.get("force_line_fiscal_detail") + ): + for sub_tree_node in arch.xpath("//field[@name='invoice_line_ids']/tree"): + sub_tree_node.attrib["editable"] = "" + + return arch, view + + @api.depends( + "line_ids.matched_debit_ids.debit_move_id.move_id.payment_id.is_matched", + "line_ids.matched_debit_ids.debit_move_id.move_id.line_ids.amount_residual", + "line_ids.matched_debit_ids.debit_move_id.move_id.line_ids.amount_residual_currency", + "line_ids.matched_credit_ids.credit_move_id.move_id.payment_id.is_matched", + "line_ids.matched_credit_ids.credit_move_id.move_id.line_ids.amount_residual", + "line_ids.matched_credit_ids.credit_move_id.move_id.line_ids.amount_residual_currency", + "line_ids.balance", + "line_ids.currency_id", + "line_ids.amount_currency", + "line_ids.amount_residual", + "line_ids.amount_residual_currency", + "line_ids.payment_id.state", + "line_ids.full_reconcile_id", + "state", + "direction_sign", + "fiscal_operation_id", + "fiscal_line_ids.cfop_id", + "fiscal_line_ids.fiscal_amount_untaxed", + "fiscal_line_ids.fiscal_amount_tax", + ) + def _compute_amount(self): + if "force_fiscal_amount_recompute" in self._context: + for move in self.filtered(lambda m: m.fiscal_operation_id): + # this is a ugly hack required for importing composite + # fiscal documents for instance. It should be used + # exceptionnaly as it breaks the dependency chain and + # can leave fields such as payment_state inconsistent. + move._compute_fiscal_amount() + + result = super()._compute_amount() + for move in self.filtered(lambda m: m.fiscal_operation_id): + sign = -move.direction_sign + inv_line_ids = move.line_ids.filtered( + lambda line: line.display_type == "product" + and (not line.cfop_id or line.cfop_id.finance_move) + ) + move.amount_untaxed = sum(inv_line_ids.mapped("fiscal_amount_untaxed")) + move.amount_tax = sum(inv_line_ids.mapped("fiscal_amount_tax")) + move.amount_untaxed_signed = sign * sum( + inv_line_ids.mapped("fiscal_amount_untaxed") + ) + move.amount_tax_signed = sign * sum( + inv_line_ids.mapped("fiscal_amount_tax") + ) + move.amount_total = sum(inv_line_ids.mapped("fiscal_amount_total")) + + return result + + def _compute_imported_terms(self): + self.ensure_one() + pass # meant to be overriden + + @api.depends( + "invoice_payment_term_id", + "invoice_date", + "currency_id", + "amount_total_in_currency_signed", + "invoice_date_due", + "invoice_line_ids.cfop_id", + "amount_financial_total", + ) + def _compute_needed_terms(self): + """ + Similar to the _compute_needed_terms super method in the account module, + but ensure moves are balanced in Brazil when there is a fiscal_operation_id. + """ + res = None + invoices_with_fiscal_op = self.filtered(lambda inv: inv.fiscal_operation_id) + invoices_without_fiscal_op = self - invoices_with_fiscal_op + if invoices_without_fiscal_op: + res = super(AccountMove, invoices_without_fiscal_op)._compute_needed_terms() + + for invoice in invoices_with_fiscal_op: + is_draft = invoice.id != invoice._origin.id + invoice.needed_terms = {} + invoice.needed_terms_dirty = True + sign = 1 if invoice.is_inbound(include_receipts=True) else -1 + if invoice.is_invoice(True) and invoice.invoice_line_ids: + if invoice.imported_document: + invoice._compute_imported_terms() + elif invoice.invoice_payment_term_id: + if is_draft: + tax_amount_currency = 0.0 + untaxed_amount_currency = 0.0 + for line in invoice.invoice_line_ids: + if line.cfop_id and not line.cfop_id.finance_move: + pass + else: + untaxed_amount_currency += line.price_subtotal + untaxed_amount = untaxed_amount_currency + tax_amount = tax_amount_currency + else: + tax_amount_currency = tax_amount = 0.0 + untaxed_amount_currency = invoice.amount_financial_total * sign + untaxed_amount = invoice.amount_financial_total * sign + invoice_payment_terms = ( + invoice.invoice_payment_term_id._compute_terms( + date_ref=invoice.invoice_date + or invoice.date + or fields.Date.context_today(invoice), + currency=invoice.currency_id, + tax_amount_currency=tax_amount_currency, + tax_amount=tax_amount, + untaxed_amount_currency=untaxed_amount_currency, + untaxed_amount=untaxed_amount, + company=invoice.company_id, + sign=sign, + ) + ) + for term in invoice_payment_terms["line_ids"]: + key = frozendict( + { + "move_id": invoice.id, + "date_maturity": fields.Date.to_date(term.get("date")), + "discount_date": invoice_payment_terms.get( + "discount_date" + ), + # "discount_percentage": invoice_payment_terms.get( + # "discount_percentage" + # ), + } + ) + values = { + "balance": term.get("company_amount"), + "amount_currency": term.get("foreign_amount"), + "discount_amount_currency": term.get( + "discount_amount_currency" + ) + or 0.0, + "discount_balance": invoice_payment_terms.get( + "discount_balance" + ) + or 0.0, + "discount_date": invoice_payment_terms.get("discount_date"), + # "discount_percentage": invoice_payment_terms.get( + # "discount_percentage" + # ), + } + if key not in invoice.needed_terms: + invoice.needed_terms[key] = values + else: + invoice.needed_terms[key]["balance"] += values["balance"] + invoice.needed_terms[key]["amount_currency"] += values[ + "amount_currency" + ] + if not invoice.needed_terms: + invoice.needed_terms[ + frozendict( + { + "move_id": invoice.id, + "date_maturity": fields.Date.to_date( + invoice.invoice_date_due + ), + "discount_date": False, + # "discount_percentage": 0, + } + ) + ] = { + "balance": invoice.amount_total_signed, + "amount_currency": invoice.amount_total_in_currency_signed, + } + return res + + def _get_protected_vals(self, vals, records): + """ + Overriden to deal with _inherits and the fiscal document(.line) + WARNING: override is not calling the super method! (TODO fix if possible) + """ + protected = set() + for fname in vals: + if ( + records._name == "account.move" + and records.fiscal_document_id + and records.fiscal_document_id._fields.get(fname) + ): + continue + elif ( + records._name == "account.move.line" + and records.fiscal_document_line_id + and records.fiscal_document_line_id._fields.get(fname) + ): + continue + field = records._fields[fname] + if field.inverse or (field.compute and not field.readonly): + protected.update(self.pool.field_computed.get(field, [field])) + return [(protected, rec) for rec in records] if protected else [] + + @contextmanager + def _sync_dynamic_lines(self, container): + with self._disable_recursion(container, "skip_invoice_sync") as disabled: + if disabled: + yield + return + with super()._sync_dynamic_lines(container): + yield + self.update_payment_term_number() + + def update_payment_term_number(self): + payment_term_lines = self.line_ids.filtered( + lambda line: line.display_type == "payment_term" + ) + payment_term_lines_sorted = payment_term_lines.sorted( + key=lambda line: line.date_maturity + ) + for idx, line in enumerate(payment_term_lines_sorted, start=1): + line.with_context(skip_invoice_sync=True).write( + { + "payment_term_number": f"{idx}-{len(payment_term_lines_sorted)}", + } + ) + + def unlink(self): + """Allow to delete draft or cancelled invoices""" + unlink_moves = self.env["account.move"] + unlink_documents = self.env["l10n_br_fiscal.document"] + for move in self: + if not move.exists(): + continue + if move.fiscal_document_id and move.fiscal_document_id: + unlink_documents |= move.fiscal_document_id + unlink_moves |= move + result = super(AccountMove, unlink_moves).unlink() + unlink_documents.unlink() + self.env.registry.clear_cache() + return result + + @api.depends("move_type", "fiscal_operation_id") + def _compute_journal_id(self): + fisc_operation_driven = self.filtered( + lambda move: move.fiscal_operation_id + and move.fiscal_operation_id.journal_id + ) + for move in fisc_operation_driven: + move.journal_id = self.fiscal_operation_id.journal_id + return super(AccountMove, self - fisc_operation_driven)._compute_journal_id() + + def open_fiscal_document(self): + """ + If there is only 1 fiscal document (usual case), open + the fiscal form view for it. + Open the tree view in the case of several fiscal documents. + """ + self.ensure_one() + + # doubt: is this in/out/all action selection relevant? + if self.env.context.get("move_type") == "out_invoice": + xmlid = "l10n_br_fiscal.document_out_action" + elif self.env.context.get("move_type") == "in_invoice": + xmlid = "l10n_br_fiscal.document_in_action" + else: + xmlid = "l10n_br_fiscal.document_all_action" + action = self.env["ir.actions.act_window"]._for_xml_id(xmlid) + + if len(self.fiscal_document_ids) == 1: + form_view = [(self.env.ref("l10n_br_fiscal.document_form").id, "form")] + if "views" in action: + action["views"] = form_view + [ + (state, view) for state, view in action["views"] if view != "form" + ] + else: + action["views"] = form_view + action["res_id"] = self.fiscal_document_ids[0].id + else: + action["domain"] = [("id", "in", self.fiscal_document_ids.ids)] + return action + + def button_draft(self): + for move in self.filtered(lambda d: d.document_type_id): + if move.state_edoc == SITUACAO_EDOC_CANCELADA: + if move.issuer == DOCUMENT_ISSUER_COMPANY: + raise UserError( + _( + "You can't set this document number: {} to draft " + "because this document is cancelled in SEFAZ" + ).format(move.document_number) + ) + move.fiscal_document_ids.filtered( + lambda d: d.state_edoc != SITUACAO_EDOC_EM_DIGITACAO + ).action_document_back2draft() + return super().button_draft() + + def action_document_send(self): + for invoice in self.filtered(lambda d: d.document_type_id): + invoice.fiscal_document_ids.action_document_send() + # FIXME: na migração para a v14 foi permitido o post antes do envio + # para destravar a migração, mas poderia ser cogitado de obrigar a + # transmissão antes do post novamente como na v12. + # for invoice in invoices: + # invoice.move_id.post(invoice=invoice) + + def action_document_cancel(self): + for move in self.filtered(lambda d: d.document_type_id): + move.ensure_one_doc() + return move.fiscal_document_id.action_document_cancel() + + def action_document_correction(self): + for move in self.filtered(lambda d: d.document_type_id): + move.ensure_one_doc() + return move.fiscal_document_id.action_document_correction() + + def action_document_invalidate(self): + for move in self.filtered(lambda d: d.document_type_id): + move.ensure_one_doc() + return move.fiscal_document_id.action_document_invalidate() + + def action_document_back2draft(self): + """Sets fiscal document to draft state and cancel and set to draft + the related invoice for both documents remain equivalent state.""" + for move in self.filtered(lambda d: d.document_type_id): + move.button_cancel() + move.button_draft() + + def action_view_invoice(self): + for move in self.filtered(lambda d: d.document_type_id): + move.ensure_one_doc() + return move.fiscal_document_id.action_view_invoice() + + def _post(self, soft=True): + for move in self.with_context(skip_post=True): + move.fiscal_document_ids.filtered( + lambda d: d.document_type_id + ).action_document_confirm() + return super()._post(soft=soft) + + def view_xml(self): + self.ensure_one_doc() + return self.fiscal_document_id.view_xml() + + def view_pdf(self): + self.ensure_one_doc() + return self.fiscal_document_id.view_pdf() + + def action_send_email(self): + self.ensure_one_doc() + return self.fiscal_document_id.action_send_email() + + def write(self, vals): + # Ensure delegate exists if writing delegated fields and not already present. + # This can happen when an invoice is created without fiscal info and then + # repaired, or in some test scenarios. + fiscal_fields = self.env["l10n_br_fiscal.document"]._fields + if any(f in vals for f in fiscal_fields): + for move in self: + if not move.fiscal_document_id and move.document_type_id: + move.fiscal_document_id = ( + self.env["l10n_br_fiscal.document"] + .sudo() + .create( + { + "company_id": move.company_id.id, + "partner_id": move.partner_id.id, + "move_type": move.move_type, + } + ) + ) + return super().write(vals) + + def copy_data(self, default=None): + res = super().copy_data(default=default) + for move, values in zip(self, res): + if not values.get("fiscal_operation_id"): + values["fiscal_operation_id"] = move.fiscal_operation_id.id + if not values.get("document_type_id"): + values["document_type_id"] = move.document_type_id.id + _logger.info("DEBUG copy_data values: %s", values) + return res + + def _reverse_moves(self, default_values_list=None, cancel=False): + _logger.info("DEBUG _reverse_moves starting") + new_moves = super()._reverse_moves( + default_values_list=default_values_list, cancel=cancel + ) + _logger.info("DEBUG _reverse_moves new_moves: %s", new_moves.mapped('name')) + force_fiscal_operation_id = False + if self.env.context.get("force_fiscal_operation_id"): + force_fiscal_operation_id = self.env["l10n_br_fiscal.operation"].browse( + self.env.context.get("force_fiscal_operation_id") + ) + for record in new_moves: + _logger.info("DEBUG processing record %s document_type_id %s", record.name, record.document_type_id) + if not record.document_type_id: + continue + + source_move = record.reversed_entry_id + _logger.info("DEBUG source_move: %s", source_move.name if source_move else 'None') + if not source_move: + continue + + # Fallback to source move's operation if not copied + source_op = source_move.fiscal_operation_id + _logger.info("DEBUG source_op: %s", source_op) + if not source_op: + _logger.info("DEBUG RAISING Document without Fiscal Operation") + raise UserError( + _("""Document without Fiscal Operation! \n Force one!""") + ) + + if not force_fiscal_operation_id and not source_op.return_fiscal_operation_id: + raise UserError( + _("""Document without Return Fiscal Operation! \n Force one!""") + ) + + record.fiscal_operation_id = ( + force_fiscal_operation_id or source_op.return_fiscal_operation_id + ) + + _logger.info("DEBUG record.invoice_line_ids count: %s", len(record.invoice_line_ids)) + # Match lines between reversed move and source move + # In reversal, order is usually preserved. + if len(record.invoice_line_ids) == len(source_move.invoice_line_ids): + matched_lines = zip( + record.invoice_line_ids, source_move.invoice_line_ids + ) + else: + # Fallback to empty source lines if count mismatch (unlikely) + matched_lines = [(line, self.env["account.move.line"]) for line in record.invoice_line_ids] + + for line, source_line in matched_lines: + line_source_op = source_line.fiscal_operation_id + + if ( + not force_fiscal_operation_id + and not line_source_op.return_fiscal_operation_id + ): + raise UserError( + _( + """Line without Return Fiscal Operation! \n + Please force one! \n%(name)s""", + name=line.name, + ) + ) + + line.fiscal_operation_id = ( + force_fiscal_operation_id + or line_source_op.return_fiscal_operation_id + ) + + # This method is in l10n_br_fiscal_subsequent_document module, the IF + # is necessary to avoid a 'glue module' or direct dependence. + if hasattr(record.fiscal_document_id, "_document_reference"): + # Add the related document to the NF-e. + # this is required for correct xml validation + if record.document_type_id and record.document_type_id.code in ( + MODELO_FISCAL_NFE + ): + record.fiscal_document_id._document_reference( + record.reversed_entry_id.fiscal_document_id + ) + + return new_moves + + def button_cancel(self): + for doc in self.filtered(lambda d: d.document_type_id): + doc.fiscal_document_id.action_document_cancel() + return super().button_cancel() + + def button_import_fiscal_document(self): + """ + Import move fields and invoice lines from + the fiscal_document_id record if there is any new line + to import. + You can typically set fiscal_document_id to some l10n_br_fiscal.document + record that was imported previously and import its lines into the + current move. + """ + for move in self: + if move.state != "draft": + raise UserError(_("Cannot import in non draft Account Move!")) + elif ( + move.partner_id + and move.partner_id != move.fiscal_document_id.partner_id + ): + raise UserError(_("Partner mismatch!")) + elif ( + MOVE_TO_OPERATION[move.move_type] + != move.fiscal_document_id.fiscal_operation_type + ): + raise UserError(_("Fiscal Operation Type mismatch!")) + elif move.company_id != move.fiscal_document_id.company_id: + raise UserError(_("Company mismatch!")) + + move_fiscal_lines = set( + move.invoice_line_ids.mapped("fiscal_document_line_id") + ) + fiscal_doc_lines = set(move.fiscal_document_id.fiscal_line_ids) + if move_fiscal_lines == fiscal_doc_lines: + raise UserError(_("No new Fiscal Document Line to import!")) + + self.import_fiscal_document(move.fiscal_document_id, move_id=move.id) + + @api.model + def import_fiscal_document( + self, + fiscal_document, + move_id=None, + move_type="in_invoice", + ): + """ + Import the data from an existing fiscal document into a new + invoice or into an existing invoice. + First it transfers the "shadowed" fields and fill the other + mandatory invoice fields. + The account.move onchanges of these fields are properly + triggered as if the invoice was filled manually. + Then it creates each account.move.line and fill them using + their fiscal_document_id onchange. + """ + if move_id: + move = self.env["account.move"].browse(move_id) + else: + move = self.env["account.move"] + move_form = Form( + move.with_context( + default_move_type=move_type, + account_predictive_bills_disable_prediction=True, + force_fiscal_amount_recompute=True, + ) + ) + if not move_id or not move.fiscal_document_id: + move_form.partner_id = fiscal_document.partner_id + move_form.invoice_date = fiscal_document.document_date + move_form.date = fiscal_document.document_date + move_form.document_type_id = fiscal_document.document_type_id + move_form.fiscal_document_id = fiscal_document + move_form.fiscal_operation_id = fiscal_document.fiscal_operation_id + move_form.document_serie = fiscal_document.document_serie + + unit_and_prices = [] # save units to force them later + for line in fiscal_document.fiscal_line_ids: + with move_form.invoice_line_ids.new() as line_form: + line_form.cfop_id = ( + line.cfop_id + ) # required if we disable some fiscal tax updates + line_form.fiscal_operation_id = self.fiscal_operation_id + line_form.fiscal_document_line_id = line + # for some reason trying to set the product_uom_id + # here results in strange bugs like unbalanced move + # so we will force product_uom_id later + # we also save price_unit to reset unit factor effect + unit_and_prices.append((line.uot_id.id, line.price_unit)) + move_form.save() + move = self.env["account.move"].browse(move_form.id) + for index, item in enumerate(unit_and_prices): + move.invoice_line_ids[index].product_uom_id = item[0] + move.invoice_line_ids[index].price_unit = item[1] + return move_form diff --git a/l10n_br_account/models/account_move_line.py b/l10n_br_account/models/account_move_line.py new file mode 100644 index 000000000000..aa0137d1a166 --- /dev/null +++ b/l10n_br_account/models/account_move_line.py @@ -0,0 +1,624 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# Copyright (C) 2019 - TODAY Raphaël Valyi - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from contextlib import contextmanager + +from odoo import Command, _, api, fields, models +from odoo.tools import frozendict + +from odoo.addons.l10n_br_fiscal.constants.fiscal import FISCAL_TAX_ID_FIELDS + + +class AccountMoveLine(models.Model): + _name = "account.move.line" + _fiscal_decorator_model = "l10n_br_fiscal.document.line" + _inherit = [ + _name, + "l10n_br_account.decorator.mixin", + ] + _inherits = {_fiscal_decorator_model: "fiscal_document_line_id"} + + @api.model + def default_get(self, fields_list): + defaults = super().default_get(fields_list) + if "document_id" not in defaults and self.env.context.get("default_document_id"): + defaults["document_id"] = self.env.context["default_document_id"] + return defaults + + fiscal_document_line_id = fields.Many2one( + comodel_name="l10n_br_fiscal.document.line", + string="Fiscal Document Line", + copy=False, + ondelete="cascade", + ) + + document_type_id = fields.Many2one( + comodel_name="l10n_br_fiscal.document.type", + related="move_id.document_type_id", + ) + + discount = fields.Float( + compute="_compute_discounts", + store=True, + ) + + payment_term_number = fields.Char( + help="Stores the installment number in the format 'current-total'. " + "For example, '1-3' for the first of three installments, '2-3' for the second," + " and '3-3' for the last installment.", + ) + + # ------------------------------------------------------------------------- + # SHADOWED FIELDS SYNC + # These fields have the same name in account.move.line + # and l10n_br_fiscal.document.line. So they wouldn't get updated + # by the _inherits system. An alternative would be changing their name + # in l10n_br_fiscal but that would make the code unreadable and fiscal mixin + # methods would fail to do what we expect from them in the Odoo objects. + # ------------------------------------------------------------------------- + + name = fields.Char(inverse="_inverse_name") + quantity = fields.Float(inverse="_inverse_quantity") + price_unit = fields.Float(inverse="_inverse_price_unit") + product_uom_id = fields.Many2one(inverse="_inverse_product_uom_id") + + @api.onchange("product_id") + def _inverse_product_id(self): + for line in self: + # we use proxy_product_id to avoid triggering _compute_product_fiscal_fields + # which would erase custom values such as custom ncm_id + line.proxy_product_id = line.product_id + return super()._inverse_product_id() + + @api.onchange("name") + def _inverse_name(self): + for line in self: + line.proxy_name = line.name + + @api.onchange("quantity") + def _inverse_quantity(self): + for line in self: + line.proxy_quantity = line.quantity + + @api.onchange("price_unit") + def _inverse_price_unit(self): + for line in self: + line.proxy_price_unit = line.price_unit + + @api.onchange("product_uom_id") + def _inverse_product_uom_id(self): + for line in self: + line.uom_id = line.product_uom_id + + @api.depends( + "quantity", + "price_unit", + "discount_value", + ) + def _compute_discounts(self): + for line in self: + line.discount = (line.discount_value * 100) / ( + line.quantity * line.price_unit or 1 + ) + + @api.depends("product_id", "payment_term_number") + def _compute_name(self): + """ + Override to set 'name' with 'document_number/payment_term_number' for + payment term lines. For other lines, it calls the superclass method. + """ + payment_term_lines = self.filtered( + lambda line: line.display_type == "payment_term" + and line.document_type_id + and line.move_id.document_number + and line.payment_term_number + ) + for line in payment_term_lines: + # set label for payment term lines. Ex: '0001/1-3' + line.name = f"{line.move_id.document_number}/{line.payment_term_number}" + + other_lines = self - payment_term_lines + if other_lines: + return super()._compute_name() + return True + + @api.model + def _sync_proxy_fields_vals(self, vals): + if "proxy_quantity" not in vals and "quantity" in vals: + vals["proxy_quantity"] = vals["quantity"] + if "proxy_price_unit" not in vals and "price_unit" in vals: + vals["proxy_price_unit"] = vals["price_unit"] + if "proxy_name" not in vals and "name" in vals: + vals["proxy_name"] = vals["name"] + if "proxy_product_id" not in vals and "product_id" in vals: + vals["proxy_product_id"] = vals["product_id"] + + def write(self, values): + self._sync_proxy_fields_vals(values) + + # Ensure delegate exists if writing delegated fields and not already present. + # This can happen when an invoice is created without fiscal info and then + # repaired, or in some test scenarios. + fiscal_fields = self.env["l10n_br_fiscal.document.line"]._fields + if any(f in values for f in fiscal_fields): + for line in self: + if not line.fiscal_document_line_id and line.move_id.document_type_id: + move = line.move_id + fiscal_doc = move.fiscal_document_id + if fiscal_doc: + line.fiscal_document_line_id = ( + self.env["l10n_br_fiscal.document.line"] + .sudo() + .create( + { + "document_id": fiscal_doc.id or fiscal_doc, + "product_id": ( + values.get("product_id") or line.product_id.id + ), + "quantity": values.get("quantity") or line.quantity, + "price_unit": ( + values.get("price_unit") or line.price_unit + ), + } + ) + ) + + res = super().write(values) + return res + + @api.model_create_multi + def create(self, vals_list): + for values in vals_list: + self._sync_proxy_fields_vals(values) + if values.get("fiscal_document_line_id"): + continue + + move_id = self.env["account.move"].browse(values["move_id"]) + fiscal_doc = move_id.fiscal_document_id + if not fiscal_doc: + continue + values["document_id"] = fiscal_doc.id or fiscal_doc + # This reordering bellow is crucial to ensure accurate linkage between + # account.move.line (aml) and the fiscal document line. In the fiscal create a + # fiscal document line, leaving only those that should be created. Proper + # ordering is essential as mismatches between the order of amls and the + # manipulated vals_list of fiscal documents can lead to incorrect linkages. + # For example, if vals_list[0] in amls does not match vals_list[0] in the + # fiscal document (which is a manipulated vals_list), it results in erroneous + # associations. + + # Add index to each dictionary in vals_list + indexed_vals_list = [(idx, val) for idx, val in enumerate(vals_list)] + + # Reorder vals_list so lines with fiscal_operation_line_id will + # be created first + sorted_indexed_vals_list = sorted( + indexed_vals_list, + key=lambda x: not x[1].get("fiscal_operation_line_id"), + ) + original_indexes = [idx for idx, _ in sorted_indexed_vals_list] + vals_list = [val for _, val in sorted_indexed_vals_list] + + # Create the records + result = super().create(vals_list) + + # Initialize the inverted index list with the same length as the original list + inverted_index = [0] * len(original_indexes) + + # Iterate over the original_indexes list and fill the inverted_index list + # accordingly + for i, val in enumerate(original_indexes): + inverted_index[val] = i + + # Re-order the result according to the initial vals_list order + sorted_result = self.env["account.move.line"] + for idx in inverted_index: + sorted_result |= result[idx] + + # Force recompute of fiscal taxes to ensure they pick up the correct company_id + # which depends on document_id (linked above) + sorted_result.mapped("fiscal_document_line_id")._compute_fiscal_tax_ids() + + return sorted_result + + def copy_data(self, default=None): + res = super().copy_data(default=default) + for line, values in zip(self, res): + if not values.get("fiscal_operation_id"): + values["fiscal_operation_id"] = line.fiscal_operation_id.id + if not values.get("fiscal_operation_line_id"): + values["fiscal_operation_line_id"] = line.fiscal_operation_line_id.id + return res + + def unlink(self): + to_unlink = self.exists().fiscal_document_line_id + result = super().unlink() + to_unlink.unlink() + + return result + + @contextmanager + def _sync_invoice(self, container): + """ + Almost the same as the super method from the account module. + The changes are after the comment "# BRAZIL CASE:" + WARNING: sadly it seems we may not be able to call the super method... + """ + if container["records"].env.context.get("skip_invoice_line_sync"): + yield + return # avoid infinite recursion + + def existing(): + return { + line: { + "amount_currency": line.currency_id.round(line.amount_currency), + "balance": line.company_id.currency_id.round(line.balance), + "currency_rate": line.currency_rate, + "price_subtotal": line.currency_id.round(line.price_subtotal), + "move_type": line.move_id.move_type, + } + for line in container["records"] + .with_context( + skip_invoice_line_sync=True, + ) + .filtered(lambda line: line.move_id.is_invoice(True)) + } + + def changed(fname): + return line not in before or before[line][fname] != after[line][fname] + + before = existing() + yield + after = existing() + for line in after: + if ( + line.display_type == "product" + and not self.env.is_protected(self._fields["amount_currency"], line) + and (not changed("amount_currency") or line not in before) + ): + if not line.move_id.fiscal_operation_id: + unsigned_amount_currency = line.currency_id.round( + line.price_subtotal + ) + else: # BRAZIL CASE: + if line.cfop_id and not line.cfop_id.finance_move: + unsigned_amount_currency = 0 + if not line.move_id.fiscal_operation_id.deductible_taxes: + # When there is no financial amount but there are non + # dectutible taxes, then we should take the total tax + # amount into account here to keep the move balanced. + # (In v14 that was done automatically in the payment terms) + unsigned_amount_currency = -( + line.amount_tax_included + + line.amount_tax_not_included + - line.amount_tax_withholding + ) + else: + if line.move_id.fiscal_operation_id.deductible_taxes: + unsigned_amount_currency = ( + line.fiscal_amount_total + line.amount_tax_withholding + ) + else: + amount_total = ( + line.fiscal_amount_total + line.amount_tax_withholding + ) + unsigned_amount_currency = line.currency_id.round( + amount_total + - line.amount_tax_included + - line.amount_tax_not_included + if line.tax_ids + else amount_total + ) + + amount_currency = unsigned_amount_currency * line.move_id.direction_sign + + if line.amount_currency != amount_currency or line not in before: + line.amount_currency = amount_currency + if line.currency_id == line.company_id.currency_id: + line.balance = amount_currency + + after = existing() + for line in after: + if ( + ( + changed("amount_currency") + or changed("currency_rate") + or changed("move_type") + ) + and not self.env.is_protected(self._fields["balance"], line) + and ( + not changed("balance") or (line not in before and not line.balance) + ) + ): + balance = line.company_id.currency_id.round( + line.amount_currency / line.currency_rate + ) + line.balance = balance + + # Since this method is called during the sync, + # inside of `create`/`write`, these fields + # already have been computed and marked as so. + # But this method should re-trigger it since + # it changes the dependencies. + self.env.add_to_compute(self._fields["debit"], container["records"]) + self.env.add_to_compute(self._fields["credit"], container["records"]) + + @api.depends( + "quantity", + "discount", + "price_unit", + "tax_ids", + "currency_id", + "discount", + "fiscal_tax_ids", + "fiscal_operation_line_id", + "cfop_id", + "ncm_id", + "nbs_id", + "nbm_id", + "cest_id", + "discount_value", + "insurance_value", + "other_value", + "ii_customhouse_charges", + "freight_value", + "fiscal_price", + "fiscal_quantity", + "uot_id", + "icmssn_range_id", + "icms_origin", + "ind_final", + "icms_relief_value", + ) + def _compute_totals(self): + """ + Overriden to pass all the Brazilian parameters we need + to the account.tax#compute_all method. + """ + if not self.move_id.fiscal_operation_id: + result = super()._compute_totals() + return result + + for line in self: + if line.display_type != "product": + continue # handled in super method + + line_discount_price_unit = line.price_unit * (1 - (line.discount / 100.0)) + + # Compute 'price_total'. + if line.tax_ids: + taxes_res = line.tax_ids._origin.with_context().compute_all( + line_discount_price_unit, + currency=line.currency_id, + quantity=line.quantity, + product=line.product_id, + partner=line.partner_id, + is_refund=line.move_type in ("out_refund", "in_refund"), + handle_price_include=True, # sure? + fiscal_taxes=line.fiscal_tax_ids, + operation_line=line.fiscal_operation_line_id, + cfop=line.cfop_id or None, + ncm=line.ncm_id, + nbs=line.nbs_id, + nbm=line.nbm_id, + cest=line.cest_id, + discount_value=line.discount_value, + insurance_value=line.insurance_value, + other_value=line.other_value, + ii_customhouse_charges=line.ii_customhouse_charges, + freight_value=line.freight_value, + fiscal_price=line.fiscal_price, + fiscal_quantity=line.fiscal_quantity, + uot_id=line.uot_id, + icmssn_range=line.icmssn_range_id, + icms_origin=line.icms_origin, + ind_final=line.ind_final, + ) + + line.price_subtotal = taxes_res["total_excluded"] + line.price_total = taxes_res["total_included"] + + line.price_total += ( + line.insurance_value + + line.other_value + + line.freight_value + - line.icms_relief_value + ) + else: + # If no tax, just compute the total based on price_unit and quantity + subtotal = line.quantity * line_discount_price_unit + line.price_total = line.price_subtotal = subtotal + + @api.depends( + "tax_ids", + "currency_id", + "partner_id", + "analytic_distribution", + "balance", + "partner_id", + "move_id.partner_id", + "price_unit", + "fiscal_tax_ids", + "fiscal_operation_line_id", + "cfop_id", + "ncm_id", + "nbm_id", + "nbs_id", + "cest_id", + "discount_value", + "insurance_value", + "other_value", + "ii_customhouse_charges", + "freight_value", + "fiscal_price", + "fiscal_quantity", + "uot_id", + "icmssn_range_id", + "icms_origin", + "ind_final", + ) + def _compute_all_tax(self): + """ + Overriden to pass all the extra Brazilian parameters we need + to the account.tax#compute_all method. + """ + if not self.move_id.fiscal_operation_id: + return super()._compute_all_tax() + + for line in self: + sign = line.move_id.direction_sign + if line.display_type == "tax": + line.compute_all_tax = {} + line.compute_all_tax_dirty = False + continue + if line.display_type == "product" and line.move_id.is_invoice(True): + amount_currency = sign * line.price_unit * (1 - line.discount / 100) + handle_price_include = True + quantity = line.quantity + else: + amount_currency = line.amount_currency + handle_price_include = False + quantity = 1 + compute_all_currency = line.tax_ids.compute_all( + amount_currency, + currency=line.currency_id, + quantity=quantity, + product=line.product_id, + partner=line.move_id.partner_id or line.partner_id, + is_refund=line.is_refund, + handle_price_include=handle_price_include, + include_caba_tags=line.move_id.always_tax_exigible, + fixed_multiplicator=sign, + fiscal_taxes=line.fiscal_tax_ids, + operation_line=line.fiscal_operation_line_id, + cfop=line.cfop_id or None, + ncm=line.ncm_id, + nbs=line.nbs_id, + nbm=line.nbm_id, + cest=line.cest_id, + discount_value=line.discount_value, + insurance_value=line.insurance_value, + other_value=line.other_value, + ii_customhouse_charges=line.ii_customhouse_charges, + freight_value=line.freight_value, + fiscal_price=line.fiscal_price, + fiscal_quantity=line.fiscal_quantity, + uot_id=line.uot_id, + icmssn_range=line.icmssn_range_id, + icms_origin=line.icms_origin, + ind_final=line.ind_final, + ) + rate = ( + line.amount_currency / line.balance + if (line.balance and line.amount_currency) + else 1 + ) + line.compute_all_tax_dirty = True + line.compute_all_tax = { + frozendict( + { + "tax_repartition_line_id": tax["tax_repartition_line_id"], + "group_tax_id": tax["group"] and tax["group"].id or False, + "account_id": tax["account_id"] or line.account_id.id, + "currency_id": line.currency_id.id, + "analytic_distribution": ( + tax["analytic"] or not tax["use_in_tax_closing"] + ) + and line.analytic_distribution, + "tax_ids": [Command.set(tax["tax_ids"])], + "tax_tag_ids": [Command.set(tax["tag_ids"])], + "partner_id": line.move_id.partner_id.id or line.partner_id.id, + "move_id": line.move_id.id, + "display_type": line.display_type, + } + ): { + "name": tax["name"] + + (" " + _("(Discount)") if line.display_type == "epd" else ""), + "balance": tax["amount"] / rate, + "amount_currency": tax["amount"], + "tax_base_amount": tax["base"] + / rate + * (-1 if line.tax_tag_invert else 1), + } + for tax in compute_all_currency["taxes"] + if tax["amount"] + } + if not line.tax_repartition_line_id: + line.compute_all_tax[frozendict({"id": line.id})] = { + "tax_tag_ids": [Command.set(compute_all_currency["base_tags"])], + } + + @api.onchange( + "icms_base", + "icms_percent", + "icms_reduction", + "icms_value", + "icms_destination_base", + "icms_origin_percent", + "icms_destination_percent", + "icms_sharing_percent", + "icms_origin_value", + "icms_tax_benefit_id", + ) + def _onchange_icms_fields(self): + if self.fiscal_document_line_id: + self.fiscal_document_line_id._onchange_icms_fields() + + @api.onchange(*FISCAL_TAX_ID_FIELDS) + def _onchange_fiscal_taxes(self): + taxes = self.env["l10n_br_fiscal.tax"] + for fiscal_tax_field in FISCAL_TAX_ID_FIELDS: + taxes |= self[fiscal_tax_field] + + for line in self: + taxes_groups = line.fiscal_tax_ids.mapped("tax_domain") + fiscal_taxes = line.fiscal_tax_ids.filtered( + lambda ft, taxes_groups=taxes_groups: ft.tax_domain not in taxes_groups + ) + line.fiscal_tax_ids = fiscal_taxes + taxes + + @api.depends( + "product_id", + "product_uom_id", + "fiscal_tax_ids", + "fiscal_operation_id", + ) + def _compute_tax_ids(self): + # Adding 'fiscal_tax_ids' as a dependency to ensure that the taxes + # are recalculated when this field changes. + return super()._compute_tax_ids() + + def _get_computed_taxes(self): + """ + Override the native method to load taxes from the fiscal module. + """ + self.ensure_one() + + # If no fiscal operation is defined, fallback to the default implementation. + if not self.fiscal_operation_id: + return super()._get_computed_taxes() + + # Determine the user type based on the document type. + user_type = None + if self.move_id.is_sale_document(include_receipts=True): + user_type = "sale" + elif self.move_id.is_purchase_document(include_receipts=True): + user_type = "purchase" + + return self.fiscal_tax_ids.account_taxes( + user_type=user_type, + fiscal_operation=self.fiscal_operation_id, + company=self.company_id, + ) + + @api.constrains("product_uom_id") + def _check_product_uom_category_id(self): + not_imported = self.filtered( + lambda line: not line.fiscal_document_line_id._is_imported() + ) + return super(AccountMoveLine, not_imported)._check_product_uom_category_id() + + @api.model + def _get_total_for_tax_totals(self): + return self.move_id.amount_total diff --git a/l10n_br_account/models/account_tax.py b/l10n_br_account/models/account_tax.py new file mode 100644 index 000000000000..1b8b4763fda1 --- /dev/null +++ b/l10n_br_account/models/account_tax.py @@ -0,0 +1,343 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import Command, api, fields, models +from odoo.tools.misc import formatLang + +from odoo.addons.l10n_br_fiscal.constants.fiscal import FINAL_CUSTOMER_NO + + +class AccountTax(models.Model): + _inherit = "account.tax" + + fiscal_tax_ids = fields.One2many( + comodel_name="l10n_br_fiscal.tax", + related="tax_group_id.fiscal_tax_group_id.tax_ids", + string="Fiscal Taxes", + ) + + def compute_all( + self, + price_unit, + currency=None, + quantity=1.0, + product=None, + partner=None, + is_refund=False, + handle_price_include=True, + include_caba_tags=False, + fixed_multiplicator=1, + fiscal_taxes=None, + operation_line=False, + ncm=None, + nbs=None, + nbm=None, + cest=None, + cfop=None, + discount_value=None, + insurance_value=None, + other_value=None, + ii_customhouse_charges=None, + freight_value=None, + fiscal_price=None, + fiscal_quantity=None, + uot_id=None, + icmssn_range=None, + icms_origin=None, + ind_final=FINAL_CUSTOMER_NO, + ): + """Returns all information required to apply taxes + (in self + their children in case of a tax goup). + We consider the sequence of the parent for group of taxes. + Eg. considering letters as taxes and alphabetic order + as sequence : + [G, B([A, D, F]), E, C] will be computed as [A, D, F, C, E, G] + RETURN: { + 'total_excluded': 0.0, # Total without taxes + 'total_included': 0.0, # Total with taxes + 'taxes': [{ # One dict for each tax in self + # and their children + 'id': int, + 'name': str, + 'amount': float, + 'sequence': int, + 'account_id': int, + 'refund_account_id': int, + 'analytic': boolean, + }] + }""" + + taxes_results = super().compute_all( + price_unit, + currency, + quantity, + product, + partner, + is_refund, + handle_price_include, + include_caba_tags, + fixed_multiplicator, + ) + + if not fiscal_taxes: + fiscal_taxes = self.env["l10n_br_fiscal.tax"] + + product = product or self.env["product.product"] + + if len(self) == 0: + company = self.env.company + if self.env.context.get("default_company_id") or self.env.context.get( + "allowed_company_ids" + ): + company = self.env["res.company"].browse( + self.env.context.get("default_company_id") + or self.env.context.get("allowed_company_ids")[0] + ) + else: + company = self[0].company_id + + fiscal_taxes_results = fiscal_taxes.compute_taxes( + company=company, + partner=partner, + product=product, + price_unit=price_unit, + quantity=quantity, + uom_id=product.uom_id, + fiscal_price=fiscal_price or price_unit, + fiscal_quantity=fiscal_quantity or quantity, + uot_id=uot_id or product.uot_id, + ncm=ncm or product.ncm_id, + nbs=nbs or product.nbs_id, + nbm=nbm or product.nbm_id, + cest=cest or product.cest_id, + cfop=cfop, + discount_value=discount_value, + insurance_value=insurance_value, + other_value=other_value, + ii_customhouse_charges=ii_customhouse_charges, + freight_value=freight_value, + operation_line=operation_line, + icmssn_range=icmssn_range, + icms_origin=icms_origin or product.icms_origin, + ind_final=ind_final, + ) + + taxes_results["amount_tax_included"] = fiscal_taxes_results["amount_included"] + taxes_results["amount_tax_not_included"] = fiscal_taxes_results[ + "amount_not_included" + ] + taxes_results["amount_tax_withholding"] = fiscal_taxes_results[ + "amount_withholding" + ] + taxes_results["amount_estimate_tax"] = fiscal_taxes_results["estimate_tax"] + + account_taxes_by_domain = {} + + sign = -1 if fixed_multiplicator < 0 else 1 + + for tax in self: + tax_domain = tax.tax_group_id.fiscal_tax_group_id.tax_domain + account_taxes_by_domain.update({tax.id: tax_domain}) + + for account_tax in taxes_results["taxes"]: + tax = self.filtered(lambda t: t.id == account_tax.get("id")) # noqa: B023 + fiscal_tax = fiscal_taxes_results["taxes"].get( + account_taxes_by_domain.get(tax.id) + ) + + account_tax.update( + { + "tax_group_id": tax.tax_group_id.id, + "deductible": tax.deductible, + } + ) + + tax_repartition_lines = ( + is_refund + and tax.refund_repartition_line_ids + or tax.invoice_repartition_line_ids + ).filtered(lambda x: x.repartition_type == "tax") + + sum_repartition_factor = sum(tax_repartition_lines.mapped("factor")) + + if fiscal_tax: + if fiscal_tax.get("base") < 0: + sign = -1 + fiscal_tax["base"] = -fiscal_tax.get("base") + + if not fiscal_tax.get("tax_include") and not tax.deductible: + taxes_results["total_included"] += fiscal_tax.get("tax_value") + + fiscal_group = tax.tax_group_id.fiscal_tax_group_id + tax_amount = fiscal_tax.get("tax_value", 0.0) * sum_repartition_factor + tax_base = fiscal_tax.get("base") * sum_repartition_factor + if tax.deductible or fiscal_group.tax_withholding: + tax_amount = ( + fiscal_tax.get("tax_value", 0.0) * sum_repartition_factor + ) + + account_tax.update( + { + "id": account_tax.get("id"), + "name": fiscal_group.name, + "fiscal_name": fiscal_tax.get("name"), + "base": tax_base * sign, + "tax_include": fiscal_tax.get("tax_include"), + "amount": tax_amount * sign, + "fiscal_tax_id": fiscal_tax.get("fiscal_tax_id"), + "tax_withholding": fiscal_group.tax_withholding, + } + ) + + return taxes_results + + @api.model + def _compute_taxes_for_single_line( + self, + base_line, + handle_price_include=True, + include_caba_tags=False, + early_pay_discount_computation=None, + early_pay_discount_percentage=None, + ): + """ + Similar to the _compute_taxes_for_single_line super method in the account module + but overriden to pass extra parameters to the account.tax compule_all method + to compute taxes properly in Brazil. + """ + taxes = base_line["taxes"]._origin + line = base_line.get("record") + if not taxes or not line or not line.fiscal_tax_ids: + return super()._compute_taxes_for_single_line( + base_line, + handle_price_include=True, + include_caba_tags=False, + early_pay_discount_computation=None, + early_pay_discount_percentage=None, + ) + + orig_price_unit_after_discount = base_line["price_unit"] * ( + 1 - (base_line["discount"] / 100.0) + ) + price_unit_after_discount = orig_price_unit_after_discount + # taxes = base_line["taxes"]._origin + currency = base_line["currency"] or self.env.company.currency_id + rate = base_line["rate"] + + if early_pay_discount_computation in ("included", "excluded"): + remaining_part_to_consider = (100 - early_pay_discount_percentage) / 100.0 + price_unit_after_discount = ( + remaining_part_to_consider * price_unit_after_discount + ) + + if taxes: + taxes_res = taxes.with_context(**base_line["extra_context"]).compute_all( + price_unit_after_discount, + currency=currency, + quantity=base_line["quantity"], + product=base_line["product"], + partner=base_line["partner"], + is_refund=base_line["is_refund"], + handle_price_include=base_line["handle_price_include"], + include_caba_tags=include_caba_tags, + ) + + to_update_vals = { + "tax_tag_ids": [Command.set(taxes_res["base_tags"])], + "price_subtotal": taxes_res["total_excluded"], + "price_total": taxes_res["total_included"], + } + + if early_pay_discount_computation == "excluded": + new_taxes_res = taxes.with_context( + **base_line["extra_context"] + ).compute_all( + orig_price_unit_after_discount, + currency=currency, + quantity=base_line["quantity"], + product=base_line["product"], + partner=base_line["partner"], + is_refund=base_line["is_refund"], + handle_price_include=base_line["handle_price_include"], + include_caba_tags=include_caba_tags, + fiscal_taxes=line.fiscal_tax_ids, + operation_line=line.fiscal_operation_line_id, + cfop=line.cfop_id or None, + ncm=line.ncm_id, + nbs=line.nbs_id, + nbm=line.nbm_id, + cest=line.cest_id, + discount_value=line.discount_value, + insurance_value=line.insurance_value, + other_value=line.other_value, + ii_customhouse_charges=line.ii_customhouse_charges, + freight_value=line.freight_value, + fiscal_price=line.fiscal_price, + fiscal_quantity=line.fiscal_quantity, + uot_id=line.uot_id, + icmssn_range=line.icmssn_range_id, + icms_origin=line.icms_origin, + ind_final=line.ind_final, + ) + for tax_res, new_taxes_res in zip( + taxes_res["taxes"], new_taxes_res["taxes"] + ): + delta_tax = new_taxes_res["amount"] - tax_res["amount"] + tax_res["amount"] += delta_tax + to_update_vals["price_total"] += delta_tax + + tax_values_list = [] + for tax_res in taxes_res["taxes"]: + tax_amount = tax_res["amount"] / rate + if self.company_id.tax_calculation_rounding_method == "round_per_line": + tax_amount = currency.round(tax_amount) + tax_rep = self.env["account.tax.repartition.line"].browse( + tax_res["tax_repartition_line_id"] + ) + tax_values_list.append( + { + **tax_res, + "tax_repartition_line": tax_rep, + "base_amount_currency": tax_res["base"], + "base_amount": currency.round(tax_res["base"] / rate), + "tax_amount_currency": tax_res["amount"], + "tax_amount": tax_amount, + } + ) + + else: + price_subtotal = currency.round( + price_unit_after_discount * base_line["quantity"] + ) + to_update_vals = { + "tax_tag_ids": [Command.clear()], + "price_subtotal": price_subtotal, + "price_total": price_subtotal, + } + tax_values_list = [] + + return to_update_vals, tax_values_list + + @api.model + def _prepare_tax_totals( + self, base_lines, currency, tax_lines=None, is_company_currency_requested=False + ): + res = super()._prepare_tax_totals( + base_lines, currency, tax_lines, is_company_currency_requested + ) + amount_total = res["amount_total"] + + for line in base_lines: + if line.get("record") and hasattr( + line["record"], "fiscal_operation_line_id" + ): + amount_total = line["record"]._get_total_for_tax_totals() + break + + res["formatted_amount_total"] = formatLang( + self.env, + amount_total, + currency_obj=currency, + ) + + return res diff --git a/l10n_br_account/models/account_tax_group.py b/l10n_br_account/models/account_tax_group.py new file mode 100644 index 000000000000..ebab76168225 --- /dev/null +++ b/l10n_br_account/models/account_tax_group.py @@ -0,0 +1,24 @@ +# Copyright (C) 2009 Renato Lima - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import fields, models + + +class AccountTaxGroup(models.Model): + _inherit = "account.tax.group" + + fiscal_tax_group_id = fields.Many2one( + comodel_name="l10n_br_fiscal.tax.group", + string="Fiscal Tax Group", + ) + + def deductible_tax(self, type_tax_use="sale"): + return self.env["account.tax"].search( + [ + ("type_tax_use", "=", type_tax_use), + ("tax_group_id", "=", self.id), + ("deductible", "=", True), + ("company_id", "=", self.env.company.id), + ], + limit=1, + ) diff --git a/l10n_br_account/models/constants.py b/l10n_br_account/models/constants.py new file mode 100644 index 000000000000..b6b6080c1dfb --- /dev/null +++ b/l10n_br_account/models/constants.py @@ -0,0 +1,8 @@ +MOVE_TO_OPERATION = { + "out_invoice": "out", + "in_invoice": "in", + "out_refund": "in", + "in_refund": "out", + "out_receipt": "out", + "in_receipt": "in", +} diff --git a/l10n_br_account/models/document.py b/l10n_br_account/models/document.py new file mode 100644 index 000000000000..04cb67f29ac7 --- /dev/null +++ b/l10n_br_account/models/document.py @@ -0,0 +1,321 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from datetime import datetime, time + +from pytz import UTC, timezone + +from odoo import _, api, fields, models +from odoo.exceptions import UserError + +from odoo.addons.l10n_br_fiscal.constants.fiscal import ( + DOCUMENT_ISSUER_COMPANY, + DOCUMENT_ISSUER_PARTNER, + MODELO_FISCAL_CTE, + MODELO_FISCAL_NFE, + SITUACAO_EDOC_EM_DIGITACAO, +) + + +class FiscalDocument(models.Model): + _inherit = "l10n_br_fiscal.document" + + move_ids = fields.One2many( + comodel_name="account.move", + inverse_name="fiscal_document_id", + string="Invoices", + ) + + move_count = fields.Integer( + string="Invoice count", + compute="_compute_move_count", + readonly=True, + ) + + # ------------------------------------------------------------------------- + # SHADOWED FIELDS SYNC + # ------------------------------------------------------------------------- + + company_id = fields.Many2one( + compute="_compute_shadowed_fields", + inverse="_inverse_company_id", + store=True, + precompute=True, + readonly=False, + ) + partner_id = fields.Many2one( + compute="_compute_shadowed_fields", + inverse="_inverse_partner_id", + store=True, + precompute=True, + readonly=False, + ) + user_id = fields.Many2one( + compute="_compute_shadowed_fields", + inverse="_inverse_user_id", + store=True, + precompute=True, + readonly=False, + ) + partner_shipping_id = fields.Many2one( + compute="_compute_shadowed_fields", + inverse="_inverse_partner_shipping_id", + store=True, + precompute=True, + readonly=False, + ) + + @api.depends( + "move_ids.partner_id", + "move_ids.user_id", + "move_ids.partner_shipping_id", + ) + def _compute_shadowed_fields(self): + for doc in self: + if doc.move_ids: + doc.partner_id = doc.move_ids.partner_id + doc.company_id = doc.move_ids.company_id + doc.user_id = doc.move_ids.user_id + doc.partner_shipping_id = doc.move_ids.partner_shipping_id + + @api.onchange("company_id") + def _inverse_company_id(self): + for doc in self: + for move in doc.move_ids: + if move.company_id != doc.company_id: + move.company_id = doc.company_id + + @api.onchange("partner_id") + def _inverse_partner_id(self): + for doc in self: + for move in doc.move_ids: + if move.partner_id != doc.partner_id: + move.partner_id = doc.partner_id + + @api.onchange("user_id") + def _inverse_user_id(self): + for doc in self: + for move in doc.move_ids: + if move.user_id != doc.user_id: + move.user_id = doc.user_id + + @api.onchange("partner_shipping_id") + def _inverse_partner_shipping_id(self): + for doc in self: + for move in doc.move_ids: + if move.partner_shipping_id != doc.partner_shipping_id: + move.partner_shipping_id = doc.partner_shipping_id + + fiscal_line_ids = fields.One2many( + copy=False, + ) + + # For some reason, perhaps limitation of _inhertis, + # the related directly in the account.move does not work correctly. + incoterm_id = fields.Many2one( + comodel_name="account.incoterms", + string="Fiscal Inconterm", + compute="_compute_incoterm_id", + inverse="_inverse_incoterm_id", + ) + + document_date = fields.Datetime( + compute="_compute_document_date", inverse="_inverse_document_date", store=True + ) + + date_in_out = fields.Datetime( + compute="_compute_date_in_out", inverse="_inverse_date_in_out", store=True + ) + + proxy_user_id = fields.Many2one( + comodel_name="res.users", + string="User (proxy)", + help="Technical Field.", + ) + + user_id = fields.Many2one( + related="proxy_user_id", + store=True, + precompute=True, + readonly=False, + ) + + @api.depends("issuer", "move_ids.invoice_date") + def _compute_document_date(self): + for record in self: + if record.move_ids and record.issuer == DOCUMENT_ISSUER_PARTNER: + move_id = record.move_ids[0] + if move_id.invoice_date: + user_tz = timezone(self.env.user.tz or "UTC") + doc_date = datetime.combine(move_id.invoice_date, time.min) + record.document_date = ( + user_tz.localize(doc_date).astimezone(UTC).replace(tzinfo=None) + ) + + def _inverse_document_date(self): + for record in self: + if record.move_ids and record.issuer == DOCUMENT_ISSUER_PARTNER: + move_id = record.move_ids[0] + if record.document_date: + move_id.invoice_date = record.document_date.date() + + @api.depends("issuer", "move_ids.date") + def _compute_date_in_out(self): + for record in self: + if record.move_ids and record.issuer == DOCUMENT_ISSUER_PARTNER: + move_id = record.move_ids[0] + if move_id.date: + user_tz = timezone(self.env.user.tz or "UTC") + doc_date = datetime.combine(move_id.date, time.min) + record.date_in_out = ( + user_tz.localize(doc_date).astimezone(UTC).replace(tzinfo=None) + ) + + def _inverse_date_in_out(self): + for record in self: + if record.move_ids and record.issuer == DOCUMENT_ISSUER_PARTNER: + move_id = record.move_ids[0] + if record.date_in_out: + move_id.date = record.date_in_out.date() + + @api.depends("move_ids.invoice_incoterm_id") + def _compute_incoterm_id(self): + for record in self: + for move in record.move_ids: + if move.invoice_incoterm_id: + record.incoterm_id = move.invoice_incoterm_id + else: + record.incoterm_id = False + + def _inverse_incoterm_id(self): + for record in self: + if record.move_ids: + record.move_ids.invoice_incoterm_id = record.incoterm_id + + @api.depends("move_ids") + def _compute_move_count(self): + for record in self: + record.move_count = len(record.move_ids) + + def unlink(self): + non_draft_documents = self.filtered( + lambda d: d.state != SITUACAO_EDOC_EM_DIGITACAO + ) + + if non_draft_documents: + UserError( + _("You cannot delete a fiscal document which is not in draft state!") + ) + return super().unlink() + + @api.model_create_multi + def create(self, vals_list): + """ + It's not allowed to create a fiscal document line without a document_type_id + anyway. But instead of letting Odoo crash in this case we simply avoid creating + the record. This makes it possible to create an account.move without a + fiscal_document_id despite the _inherits system: + Odoo will write NULL as the value in this case. + """ + if self._context.get("create_from_account"): + filtered_vals_list = [] + for values in vals_list: + if values.get("document_type_id") or values.get("document_serie_id"): + # we also disable the fiscal_line_ids creation here to + # let the ORM create them later from the account.move.line records + values.update({"fiscal_line_ids": False}) + filtered_vals_list.append(values) + return super().create(filtered_vals_list) + else: + return super().create(vals_list) + + def _update_cache(self, values, validate=True): + """ + Overriden to avoid raising error with ensure_one() in super() + when called from some account.move onchange + as we allow empty fiscal document in account.move. + """ + if len(self) == 0: + return + return super()._update_cache(values, validate) + + @api.returns("mail.message", lambda value: value.id) + def message_post(self, **kwargs): + """ + broadcast message_post to all related account.move so + messages in a fiscal document chatter are visible in the + related account moves. + """ + res = super().message_post(**kwargs) + for doc in self: + for move in doc.move_ids: + move.message_post(**kwargs) + return res + + def cancel_move_ids(self): + for record in self: + if record.move_ids: + self.move_ids.button_cancel() + + def _document_cancel(self, justificative): + result = super()._document_cancel(justificative) + msg = f"Cancelamento: {justificative}" + self.cancel_move_ids() + self.message_post(body=msg) + return result + + def _document_correction(self, justificative): + result = super()._document_correction(justificative) + msg = f"Carta de correção: {justificative}" + self.message_post(body=msg) + return result + + def _document_deny(self): + msg = _( + "Canceled due to the denial of document %(document_number)s", + document_number=self.document_number, + ) + self.cancel_move_ids() + self.message_post(body=msg) + + def action_document_confirm(self): + result = super().action_document_confirm() + if not self._context.get("skip_post"): + move_ids = self.move_ids.filtered(lambda move: move.state == "draft") + move_ids._post() + return result + + def action_document_back2draft(self): + result = super().action_document_back2draft() + if self.move_ids: + self.move_ids.button_draft() + return result + + def action_view_invoice(self): + self.ensure_one() + form_view_name = "account.view_move_form" + + if not self.move_ids or not self.move_ids[0].move_type: + return + move_type = self.move_ids[0].move_type + xmlid = f"account.action_move_{move_type}_type" + action = self.env["ir.actions.act_window"]._for_xml_id(xmlid) + + if len(self.move_ids) > 1: + action["domain"] = "[('id', 'in', %s)]" % self.move_ids.ids + else: + form_view = self.env.ref(form_view_name) + action["views"] = [(form_view.id, "form")] + action["res_id"] = self.move_ids.id + + return action + + def exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state): + self.ensure_one() + models_cancel_on_deny = [MODELO_FISCAL_NFE, MODELO_FISCAL_CTE] + if ( + self.document_type_id.code in models_cancel_on_deny + and self.issuer == DOCUMENT_ISSUER_COMPANY + ): + self._document_deny() + return super().exec_after_SITUACAO_EDOC_DENEGADA(old_state, new_state) diff --git a/l10n_br_account/models/document_line.py b/l10n_br_account/models/document_line.py new file mode 100644 index 000000000000..beccc48f944e --- /dev/null +++ b/l10n_br_account/models/document_line.py @@ -0,0 +1,252 @@ +# Copyright (C) 2021 - TODAY Gabriel Cardoso de Faria - Kmee +# Copyright (C) 2023 - TODAY Raphaël Valyi - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import api, fields, models +from odoo.tools import float_compare + + +class FiscalDocumentLine(models.Model): + _inherit = "l10n_br_fiscal.document.line" + + account_line_ids = fields.One2many( + comodel_name="account.move.line", + inverse_name="fiscal_document_line_id", + string="Invoice Lines", + ) + + move_id = fields.Many2one( + comodel_name="account.move", + related="account_line_ids.move_id", + store=True, + precompute=True, + string="Invoice", + ) + + document_id = fields.Many2one( + comodel_name="l10n_br_fiscal.document", + string="Fiscal Document", + compute="_compute_document_id", + store=True, + readonly=False, + precompute=True, + index=True, + check_company=True, + ondelete="cascade", + ) + + # ------------------------------------------------------------------------- + # PROXY FIELDS FOR _inherits SHADOWED NAMES + # ------------------------------------------------------------------------- + # When using _inherits (delegation), fields with identical names on both the + # child and delegated model may not synchronize correctly. To avoid ORM sync + # issues, we define proxy_* fields related to the delegated document fields. + # Then the child "original" fields point to the proxies, ensuring consistency + # and editability. + + proxy_company_id = fields.Many2one( + related="document_id.company_id", + comodel_name="res.company", + string="Company (proxy)", + help="Technical Field.", + readonly=False, + store=True, + precompute=True, + ) + proxy_partner_id = fields.Many2one( + comodel_name="res.partner", + string="Partner (proxy)", + help="Technical Field.", + ) + proxy_product_id = fields.Many2one( + comodel_name="product.product", + string="Product (proxy)", + ) + proxy_name = fields.Char( + string="Name (proxy)", + help="Technical Field.", + ) + proxy_quantity = fields.Float( + string="Quantity (proxy)", + help="Technical Field.", + ) + proxy_price_unit = fields.Float( + string="Unit Price (proxy)", + help="Technical mirror.", + ) + + # ------------------------------------------------------------------------- + # SHADOWED FIELDS SYNC + # ------------------------------------------------------------------------- + + company_id = fields.Many2one( + related="proxy_company_id", + comodel_name="res.company", + string="Company", + store=True, + readonly=False, + precompute=True, + ) + product_id = fields.Many2one( + related="proxy_product_id", + comodel_name="product.product", + string="Product", + store=True, + precompute=True, + readonly=False, + ) + uom_id = fields.Many2one(inverse="_inverse_uom_id") + name = fields.Char( + compute="_compute_name", + store=True, + precompute=True, + readonly=False, + ) + quantity = fields.Float( + related="proxy_quantity", + string="Quantity", + store=True, + precompute=True, + readonly=False, + ) + + @api.depends("product_id", "proxy_name") + def _compute_name(self): + for line in self: + line.name = line.proxy_name or line.product_id.display_name or False + + # Do not depend on `document_id.partner_id`, the inverse is taking care of that + @api.depends("proxy_partner_id") + def _compute_partner_id(self): + for line in self: + line.partner_id = line.proxy_partner_id or line.document_id.partner_id + + @api.depends("product_id", "fiscal_operation_id", "proxy_price_unit") + def _compute_price_unit_fiscal(self): # pylint: disable=missing-return + lines_from_account = self._records_from_account() + lines_from_fiscal = self - lines_from_account + if lines_from_fiscal: + super(FiscalDocumentLine, lines_from_fiscal)._compute_price_unit_fiscal() + for line in lines_from_account: + line.price_unit = line.proxy_price_unit + + def _records_from_account(self): + account_flag = self._context.get("create_from_account") + return self.filtered(lambda r: r.account_line_ids or account_flag) + + @api.depends("move_id.fiscal_document_id") + def _compute_document_id(self): + """ + Ensures that the `document_id` field is updated even when the document line is + a new record (NewId) and has not yet been saved. + """ + for line in self: + is_draft = line.id != line._origin.id + if ( + is_draft + and line.move_id + and line.move_id.fiscal_document_id + and not line.document_id + ): + line.document_id = line.move_id.fiscal_document_id + + @api.onchange("product_id") + def _inverse_product_id(self): + for line in self: + for aml in line.account_line_ids: + if aml.product_id != line.product_id: + aml.product_id = line.product_id.id + + @api.onchange("name") + def _inverse_name(self): + for line in self: + for aml in line.account_line_ids: + if aml.name != line.name: + aml.name = line.name + + @api.onchange("quantity") + def _inverse_quantity(self): + for line in self: + for aml in line.account_line_ids: + if ( + float_compare( + aml.quantity, + line.quantity, + self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ), + ) + != 0 + ): + aml.quantity = line.quantity + + @api.onchange("price_unit") + def _inverse_price_unit(self): + for line in self: + for aml in line.account_line_ids: + if ( + aml.currency_id.compare_amounts(aml.price_unit, line.price_unit) + != 0 + ): + aml.price_unit = line.price_unit + + @api.onchange("uom_id") + def _inverse_uom_id(self): + for line in self: + for aml in line.account_line_ids: + if aml.product_uom_id != line.uom_id: + aml.product_uom_id = line.uom_id + + @api.model + def _sync_shadow_fields(self, vals): + if "quantity" not in vals and "proxy_quantity" in vals: + vals["quantity"] = vals["proxy_quantity"] + if "price_unit" not in vals and "proxy_price_unit" in vals: + vals["price_unit"] = vals["proxy_price_unit"] + if "name" not in vals and "proxy_name" in vals: + vals["name"] = vals["proxy_name"] + if "product_id" not in vals and "proxy_product_id" in vals: + vals["product_id"] = vals["proxy_product_id"] + + @api.model_create_multi + def create(self, vals_list): + """ + Override the create method to ensure it filters out account.move.line records + that lack a valid document_id or fiscal_operation_line_id. Prevent the + creation of fiscal document lines without these mandatory fields to avoid + system crashes due to invalid records. If the conditions are not met, return an + empty list instead of creating any records. This supports the creation of + account.move.line records with NULL values for fiscal_document_line_id where + necessary. + """ + for vals in vals_list: + self._sync_shadow_fields(vals) + + if self._context.get("create_from_account"): + # Filter out the dictionaries that do not meet the conditions + filtered_vals_list = [ + vals + for vals in vals_list + if vals.get("document_id") + and ( + vals.get("fiscal_operation_id") + or vals.get("fiscal_operation_line_id") + ) + ] + # Stop execution and return empty if no dictionary meets the conditions + if not filtered_vals_list: + return [] + # Assign the filtered list back to the original list for further processing + vals_list = filtered_vals_list + + return super().create(vals_list) + + def _update_cache(self, values, validate=True): + """ + Overriden to avoid raising error with ensure_one() in super() + when called from some account.move.line onchange + as we allow empty fiscal document line in account.move.line. + """ + if len(self) == 0: + return + return super()._update_cache(values, validate) diff --git a/l10n_br_account/models/fiscal_decorator_mixin.py b/l10n_br_account/models/fiscal_decorator_mixin.py new file mode 100644 index 000000000000..b44e0d5fc54c --- /dev/null +++ b/l10n_br_account/models/fiscal_decorator_mixin.py @@ -0,0 +1,52 @@ +# Copyright (C) 2025 - TODAY Raphaël Valyi - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +import logging + +from odoo import api, models +from odoo.tools import mute_logger + +_logger = logging.getLogger(__name__) + + +class InheritsCheckMuteLogger(mute_logger): + """ + Mute the Model#_inherits_check warning + because the _inherits field is not required. + (some account.move may have no fiscal document) + """ + + def filter(self, record): + msg = record.getMessage() + if "Field definition for _inherits reference" in msg: + return 0 + return super().filter(record) + + +class FiscalDecoratorMixin(models.AbstractModel): + _name = "l10n_br_account.decorator.mixin" + _description = """A mixin to decorate l10n_br_fiscal_document(.line) easily. + It specially deals with related and compute fields inherited with _inherits. + """ + _fiscal_decorator_model = None + + @api.model + def _inherits_check(self): + """ + Overriden to avoid the super method to set the fiscal_document(_line)_id + field as required. + """ + with InheritsCheckMuteLogger("odoo.models"): # mute spurious warnings + res = super()._inherits_check() + if self._fiscal_decorator_model is not None: + field_name = self._inherits[self._fiscal_decorator_model] + field = self._fields.get(field_name) + field.required = False # unset the required = True assignement + return res + + @api.model_create_multi + def create(self, vals_list): + return super( + FiscalDecoratorMixin, + self.with_context(create_from_account=True, allow_fiscal_access=True), + ).create(vals_list) diff --git a/l10n_br_account/models/fiscal_operation.py b/l10n_br_account/models/fiscal_operation.py new file mode 100644 index 000000000000..fa5793cb1263 --- /dev/null +++ b/l10n_br_account/models/fiscal_operation.py @@ -0,0 +1,51 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# Copyright (C) 2019 - TODAY Raphaël Valyi - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import fields, models + +# from odoo.addons.account.models.account_invoice import TYPE2JOURNAL + +FISCAL_TYPE_INVOICE = { + "purchase": "in_invoice", + "purchase_refund": "in_refund", + "return_in": "in_refund", + "sale": "out_invoice", + "sale_refund": "out_refund", + "return_out": "out_refund", + "other": "out_invoice", +} + + +class Operation(models.Model): + _inherit = "l10n_br_fiscal.operation" + + journal_id = fields.Many2one( + comodel_name="account.journal", + string="Account Journal", + company_dependent=True, + domain="[('type', 'in', {'out': ['sale', 'general'], 'in': " + "['purchase', 'general'], 'all': ['sale', 'purchase', " + "'general']}.get(fiscal_operation_type, []))]", + ) + + fiscal_position_id = fields.Many2one( + comodel_name="account.fiscal.position", + string="Fiscal Position", + company_dependent=True, + ) + + deductible_taxes = fields.Boolean( + company_dependent=True, + ) + + def _line_domain(self, company, partner, product): + domain = super()._line_domain(company=company, partner=partner, product=product) + + domain += [ + "|", + ("fiscal_position_id", "=", partner.property_account_position_id.id), + ("fiscal_position_id", "=", False), + ] + + return domain diff --git a/l10n_br_account/models/fiscal_operation_line.py b/l10n_br_account/models/fiscal_operation_line.py new file mode 100644 index 000000000000..255adfff9d0a --- /dev/null +++ b/l10n_br_account/models/fiscal_operation_line.py @@ -0,0 +1,15 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# Copyright (C) 2019 - TODAY Raphaël Valyi - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import fields, models + + +class OperationLine(models.Model): + _inherit = "l10n_br_fiscal.operation.line" + + fiscal_position_id = fields.Many2one( + comodel_name="account.fiscal.position", + string="Fiscal Position", + company_dependent=True, + ) diff --git a/l10n_br_account/models/fiscal_tax.py b/l10n_br_account/models/fiscal_tax.py new file mode 100644 index 000000000000..a41dbd01fb19 --- /dev/null +++ b/l10n_br_account/models/fiscal_tax.py @@ -0,0 +1,96 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import Command, api, fields, models + + +class FiscalTax(models.Model): + _inherit = "l10n_br_fiscal.tax" + + def account_taxes(self, user_type="sale", fiscal_operation=False, company=False): + account_taxes = self.env["account.tax"] + for fiscal_tax in self: + taxes = fiscal_tax._account_taxes(company) + # Atualiza os impostos contábeis relacionados aos impostos fiscais + account_taxes |= taxes.filtered( + lambda t: t.type_tax_use == user_type and t.active and not t.deductible + ) + # Caso a operação fiscal esteja definida para usar o impostos + # dedutíveis os impostos contáveis dedutíveis são adicionados na linha + # da movimentação/fatura + if fiscal_operation and fiscal_operation.deductible_taxes: + account_taxes |= taxes.filtered( + lambda t: t.type_tax_use == user_type and t.active and t.deductible + ) + + return account_taxes + + def _account_taxes(self, company=False): + self.ensure_one() + account_tax_group = self.env["account.tax.group"].search( + [ + ("fiscal_tax_group_id", "=", self.tax_group_id.id), + ("company_id", "=", company.id), + ], + limit=1, + ) + if not company: + company = self.env.company + if self.env.context.get("default_company_id") or self.env.context.get( + "allowed_company_ids" + ): + company = self.env["res.company"].browse( + self.env.context.get("default_company_id") + or self.env.context.get("allowed_company_ids")[0] + ) + return self.env["account.tax"].search( + [ + ("tax_group_id", "=", account_tax_group.id), + ("active", "=", True), + ("company_id", "=", company.id), + ] + ) + + def _create_account_tax(self): + for fiscal_tax in self: + account_taxes = fiscal_tax._account_taxes() + if not account_taxes: + tax_users = {"sale": "out", "purchase": "in"} + + for tax_use in tax_users.keys(): + tax_values = { + "name": fiscal_tax.name + " " + tax_users.get(tax_use), + "type_tax_use": tax_use, + "fiscal_tax_ids": [Command.link(fiscal_tax.id)], + "tax_group_id": fiscal_tax.tax_group_id.account_tax_group().id, + "amount": 0.00, + } + + self.env["account.tax"].create(tax_values) + + else: + account_taxes.write({"fiscal_tax_ids": [Command.link(fiscal_tax.id)]}) + + @api.model_create_multi + def create(self, vals_list): + fiscal_taxes = super().create(vals_list) + fiscal_taxes._create_account_tax() + return fiscal_taxes + + def unlink(self): + for fiscal_tax in self: + account_taxes = fiscal_tax._account_taxes() + for account_tax in account_taxes: + account_tax.fiscal_tax_ids -= fiscal_tax + + if not account_tax.fiscal_tax_ids: + active_datetime = fields.Datetime.to_string(fields.Datetime.now()) + + account_tax.write( + { + "name": (account_tax.name + " Inative " + active_datetime), + "fiscal_tax_ids": False, + "active": False, + } + ) + return super().unlink() diff --git a/l10n_br_account/models/fiscal_tax_group.py b/l10n_br_account/models/fiscal_tax_group.py new file mode 100644 index 000000000000..b8b283034947 --- /dev/null +++ b/l10n_br_account/models/fiscal_tax_group.py @@ -0,0 +1,14 @@ +# Copyright (C) 2009 - TODAY Renato Lima - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import models + + +class FiscalTaxGroup(models.Model): + _inherit = "l10n_br_fiscal.tax.group" + + def account_tax_group(self): + self.ensure_one() + return self.env["account.tax.group"].search( + [("fiscal_tax_group_id", "in", self.ids)], limit=1 + ) diff --git a/l10n_br_account/models/ir_model_data.py b/l10n_br_account/models/ir_model_data.py new file mode 100644 index 000000000000..373fc2e72858 --- /dev/null +++ b/l10n_br_account/models/ir_model_data.py @@ -0,0 +1,26 @@ +# Copyright (C) 2023 - TODAY Raphaël Valyi - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import api, models + + +class IrModelData(models.Model): + _inherit = "ir.model.data" + + @api.model + def _update_xmlids(self, data_list, update=False): + """ + Because of the _inherits, Odoo naturally expects XML records + for account.move and account.move.line to have respectively a fiscal_document_id + and a fiscal_document_line_id. But in l10n_br_account we allow account moves + without fiscal documents. This override avoids crashing Odoo here. + """ + filtered_data_list = filter( + lambda data: ( + data["record"]._name + not in ("l10n_br_fiscal.document", "l10n_br_fiscal.document.line") + or data["record"].id + ), + data_list, + ) + return super()._update_xmlids(filtered_data_list, update) diff --git a/l10n_br_account/models/ir_rule.py b/l10n_br_account/models/ir_rule.py new file mode 100644 index 000000000000..1a0713147210 --- /dev/null +++ b/l10n_br_account/models/ir_rule.py @@ -0,0 +1,32 @@ +# Copyright (C) 2026 - TODAY Raphaël Valyi - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import api, models, tools +from odoo.tools import config + + +class IrRule(models.Model): + _inherit = "ir.rule" + + @api.model + @tools.conditional( + "xml" not in config["dev_mode"], + tools.ormcache( + "self.env.uid", + "self.env.su", + "model_name", + "mode", + "tuple(self._compute_domain_context_values())", + ), + ) + def _compute_domain(self, model_name, mode="read"): + if model_name in ("account.move", "account.move.line"): + return super( + IrRule, self.with_context(allow_fiscal_access=True) + )._compute_domain(model_name, mode) + if model_name in ( + "l10n_br_fiscal.document", + "l10n_br_fiscal.document.line", + ) and self._context.get("allow_fiscal_access"): + return [] + return super()._compute_domain(model_name, mode) diff --git a/l10n_br_account/models/template_br_oca.py b/l10n_br_account/models/template_br_oca.py new file mode 100644 index 000000000000..2aec5cbcae5f --- /dev/null +++ b/l10n_br_account/models/template_br_oca.py @@ -0,0 +1,92 @@ +# Copyright 2019-TODAY Akretion - Renato Lima +# Copyright 2025-TODAY Akretion - Raphael Valyi +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class AccountChartTemplate(models.AbstractModel): + _inherit = "account.chart.template" + + def load_fiscal_taxes(self, companies=None): + """ + Create missing account.tax for Brazil. + Add missing account.account for the Brazilian taxes. + Relate account taxes with fiscal taxes to enable the Brazilian + tax engine to kick in with the installed chart of account. + """ + tax_group_data = self._parse_csv( + "br_oca", "account.tax.group", module="l10n_br_coa" + ) + tax_group_data_rel = self._parse_csv( + "br_oca", "account.tax.group", module="l10n_br_account" + ) + tax_data = self._parse_csv("br_oca", "account.tax", module="l10n_br_coa") + + if companies is None: + companies = self.env["res.company"].search( + [("chart_template", "=", "br_oca")] + ) + + for company in companies: + for key, value in tax_group_data.items(): + id_key = f"{company.id}_{key}" + existing_group = self.env.ref( + f"l10n_br_coa.{id_key}", raise_if_not_found=False + ) + if existing_group: + continue + else: + group_vals = { + "name": value["name"], + "company_id": company.id, + } + if key in tax_group_data_rel: + group_vals["fiscal_tax_group_id"] = self.env.ref( + tax_group_data_rel[key]["fiscal_tax_group_id"] + ).id + + tax_group = self.env["account.tax.group"].create(group_vals) + self.env["ir.model.data"].create( + { + "name": id_key, + "module": "l10n_br_coa", + "model": "account.tax.group", + "res_id": tax_group.id, + "noupdate": True, + } + ) + for key, value in tax_data.items(): + id_key = f"{company.id}_{key}" + existing_tax = self.env.ref( + f"l10n_br_coa.{id_key}", raise_if_not_found=False + ) + if existing_tax: # TODO also check record/res_id + continue + else: + tax_vals = { + "name": value["name"], + "company_id": company.id, + "tax_group_id": self.env.ref( + f"l10n_br_coa.{company.id}_{value['tax_group_id']}" + ).id, + "type_tax_use": value["type_tax_use"], + "price_include": value["price_include"], + "deductible": value["deductible"], + "withholdable": value["withholdable"], + } + + account_tax = self.env["account.tax"].create(tax_vals) + self.env["ir.model.data"].create( + { + "name": id_key, + "module": "l10n_br_coa", + "model": "account.tax", + "res_id": account_tax.id, + "noupdate": True, + } + ) + + self.env["account.chart.template"]._populate_default_br_tax_accounts( + company, flavor="cfc", review_suffix="" + ) diff --git a/l10n_br_account/pyproject.toml b/l10n_br_account/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/l10n_br_account/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/l10n_br_account/readme/CONFIGURE.md b/l10n_br_account/readme/CONFIGURE.md new file mode 100644 index 000000000000..7b542961afee --- /dev/null +++ b/l10n_br_account/readme/CONFIGURE.md @@ -0,0 +1,3 @@ +To configure this module, you need to: + +- go to ... diff --git a/l10n_br_account/readme/CONTRIBUTORS.md b/l10n_br_account/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..d598131afc34 --- /dev/null +++ b/l10n_br_account/readme/CONTRIBUTORS.md @@ -0,0 +1,10 @@ +- [Akretion](https://akretion.com/pt-BR): + - Renato Lima \<\> + - Raphaël Valyi \<\> +- [KMEE](https://www.kmee.com.br): + - Luis Felipe Mileo \<\> +- [Escodoo](https://www.escodoo.com.br): + - Marcel Savegnago \<\> +- [Engenere](https://engenere.one): + - Antônio S. Pereira Neto \<\> + - Felipe Motter Pereira \<\> diff --git a/l10n_br_account/readme/DESCRIPTION.md b/l10n_br_account/readme/DESCRIPTION.md new file mode 100644 index 000000000000..e820fbe0f061 --- /dev/null +++ b/l10n_br_account/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module was written to extend the functionality of ... to support +... and allow you to ... diff --git a/l10n_br_account/readme/HISTORY.md b/l10n_br_account/readme/HISTORY.md new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/l10n_br_account/readme/HISTORY.md @@ -0,0 +1 @@ + diff --git a/l10n_br_account/readme/INSTALL.md b/l10n_br_account/readme/INSTALL.md new file mode 100644 index 000000000000..d2eb0a1fe4b0 --- /dev/null +++ b/l10n_br_account/readme/INSTALL.md @@ -0,0 +1,3 @@ +To install this module, you need to: + +- do this ... diff --git a/l10n_br_account/readme/ROADMAP.md b/l10n_br_account/readme/ROADMAP.md new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/l10n_br_account/readme/ROADMAP.md @@ -0,0 +1 @@ + diff --git a/l10n_br_account/readme/USAGE.md b/l10n_br_account/readme/USAGE.md new file mode 100644 index 000000000000..a3bdda837e6c --- /dev/null +++ b/l10n_br_account/readme/USAGE.md @@ -0,0 +1,3 @@ +To use this module, you need to: + +- go to ... diff --git a/l10n_br_account/report/__init__.py b/l10n_br_account/report/__init__.py new file mode 100644 index 000000000000..52e62702b3c9 --- /dev/null +++ b/l10n_br_account/report/__init__.py @@ -0,0 +1 @@ +from . import account_invoice_report diff --git a/l10n_br_account/report/account_invoice_report.py b/l10n_br_account/report/account_invoice_report.py new file mode 100644 index 000000000000..ee804d3e098b --- /dev/null +++ b/l10n_br_account/report/account_invoice_report.py @@ -0,0 +1,127 @@ +# Copyright (C) 2016-Today - Akretion (). +# @author Magno Costa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + +from odoo.addons.l10n_br_fiscal.constants.fiscal import ( + DOCUMENT_ISSUER, + PRODUCT_FISCAL_TYPE, +) + + +class AccountInvoiceReport(models.Model): + _inherit = "account.invoice.report" + + issuer = fields.Selection( + selection=DOCUMENT_ISSUER, + ) + + fiscal_operation_id = fields.Many2one( + comodel_name="l10n_br_fiscal.operation", + string="Operation", + ) + + fiscal_operation_line_id = fields.Many2one( + comodel_name="l10n_br_fiscal.operation.line", + string="Operation Line", + ) + + service_type_id = fields.Many2one( + comodel_name="l10n_br_fiscal.service.type", + ) + + document_type_id = fields.Many2one( + comodel_name="l10n_br_fiscal.document.type", + ) + + document_serie_id = fields.Many2one( + comodel_name="l10n_br_fiscal.document.serie", + ) + + fiscal_type = fields.Selection(selection=PRODUCT_FISCAL_TYPE) + + cfop_id = fields.Many2one( + comodel_name="l10n_br_fiscal.cfop", + string="CFOP", + ) + + icms_value = fields.Float(string="Valor ICMS", digits="Account") + + icmsst_value = fields.Float(string="Valor ICMS ST", digits="Account") + + icms_origin_value = fields.Float(string="Valor Difal Origem", digits="Account") + + icms_destination_value = fields.Float( + string="Valor Difal Destino", + digits="Account", + ) + + icmsfcp_value = fields.Float(string="Valor Difal FCP", digits="Account") + + ipi_value = fields.Float(string="IPI Value", digits="Account") + + pis_value = fields.Float(string="PIS Value", digits="Account") + + cofins_value = fields.Float(string="COFINS Value", digits="Account") + + ii_value = fields.Float(string="II Value", digits="Account") + + issqn_value = fields.Float(digits="Account") + + freight_value = fields.Float(digits="Account") + + insurance_value = fields.Float(digits="Account") + + other_value = fields.Float(digits="Account") + + discount_value = fields.Float(digits="Account") + + cest_id = fields.Many2one(comodel_name="l10n_br_fiscal.cest", string="CEST") + + ncm_id = fields.Many2one(comodel_name="l10n_br_fiscal.ncm", string="NCM") + + nbm_id = fields.Many2one(comodel_name="l10n_br_fiscal.nbm", string="NBM") + + @api.model + def _select(self): + select_str = super()._select() + select_str += """ + , fd.issuer + , fd.document_type_id + , fd.document_serie_id + , fdl.fiscal_operation_id + , fdl.fiscal_operation_line_id + , fdl.service_type_id + , fdl.cfop_id + , fdl.ncm_id + , fdl.nbm_id + , fdl.cest_id + , fdl.fiscal_type + , fdl.icms_value + , fdl.icms_origin_value + , fdl.icms_destination_value + , fdl.icmsfcp_value + , fdl.icmsst_value + , fdl.ipi_value + , fdl.pis_value + , fdl.cofins_value + , fdl.ii_value + , fdl.issqn_value + , fdl.freight_value + , fdl.insurance_value + , fdl.other_value + , fdl.discount_value + """ + return select_str + + @api.model + def _from(self): + from_str = super()._from() + from_str += """ + LEFT JOIN l10n_br_fiscal_document fd ON + fd.id = move.fiscal_document_id + LEFT JOIN l10n_br_fiscal_document_line fdl ON + fdl.id = line.fiscal_document_line_id + """ + return from_str diff --git a/l10n_br_account/report/account_invoice_report_view.xml b/l10n_br_account/report/account_invoice_report_view.xml new file mode 100644 index 000000000000..bef7850dfeeb --- /dev/null +++ b/l10n_br_account/report/account_invoice_report_view.xml @@ -0,0 +1,53 @@ + + + + + + l10n_br_account.invoice.report.search + account.invoice.report + + + + + + + + + + + + + + + + + + + diff --git a/l10n_br_account/security/ir.model.access.csv b/l10n_br_account/security/ir.model.access.csv new file mode 100644 index 000000000000..6df3fde5ef8f --- /dev/null +++ b/l10n_br_account/security/ir.model.access.csv @@ -0,0 +1,20 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"l10n_br_fixme_document_line_user","Fiscal Document Line for User","model_l10n_br_fiscal_document_line","base.group_user",1,1,1,1 +"l10n_br_account_document_serie_user","Fiscal Document Serie for Account User","l10n_br_fiscal.model_l10n_br_fiscal_document_serie","account.group_account_invoice",1,0,0,0 +"l10n_br_account_document_type_user","Fiscal Document Type for Account User","l10n_br_fiscal.model_l10n_br_fiscal_document_type","account.group_account_invoice",1,0,0,0 +"l10n_br_account_document_user","Fiscal Document for Account User","l10n_br_fiscal.model_l10n_br_fiscal_document","account.group_account_invoice",1,1,0,0 +"l10n_br_account_document_line_user","Fiscal Document Line for Account User","l10n_br_fiscal.model_l10n_br_fiscal_document_line","account.group_account_invoice",1,1,0,0 +"l10n_br_account_cfop_user","Fiscal CFOP for Account User","l10n_br_fiscal.model_l10n_br_fiscal_cfop","account.group_account_invoice",1,0,0,0 +"l10n_br_account_ncm_user","Fiscal NCM for Account User","l10n_br_fiscal.model_l10n_br_fiscal_ncm","account.group_account_invoice",1,1,0,0 +"l10n_br_account_nbs_user","Fiscal NBS for Account User","l10n_br_fiscal.model_l10n_br_fiscal_nbs","account.group_account_invoice",1,1,0,0 +"l10n_br_account_service_type_user","Fiscal Service Type for Account User","l10n_br_fiscal.model_l10n_br_fiscal_service_type","account.group_account_invoice",1,0,0,0 +"l10n_br_account_cest_user","Fiscal CEST for Account User","l10n_br_fiscal.model_l10n_br_fiscal_cest","account.group_account_invoice",1,0,0,0 +"l10n_br_account_product_genre_user","Fiscal Product Genre for Account User","l10n_br_fiscal.model_l10n_br_fiscal_product_genre","account.group_account_invoice",1,0,0,0 +"l10n_br_account_simplified_tax_user","Fiscal Simplified Tax for Account User","l10n_br_fiscal.model_l10n_br_fiscal_simplified_tax","account.group_account_invoice",1,0,0,0 +"l10n_br_account_simplified_tax_range_user","Fiscal Simplified Range Tax for Account User","l10n_br_fiscal.model_l10n_br_fiscal_simplified_tax_range","account.group_account_invoice",1,0,0,0 +"l10n_br_account_cst_user","Fiscal CST for Account User","l10n_br_fiscal.model_l10n_br_fiscal_cst","account.group_account_invoice",1,0,0,0 +"l10n_br_account_tax_group_user","Fiscal Tax Group for Account User","l10n_br_fiscal.model_l10n_br_fiscal_tax_group","account.group_account_invoice",1,0,0,0 +"l10n_br_account_tax_user","Fiscal Tax for Account User","l10n_br_fiscal.model_l10n_br_fiscal_tax","account.group_account_invoice",1,0,0,0 +"l10n_br_account_operation_user","Fiscal Operation for Account User","l10n_br_fiscal.model_l10n_br_fiscal_operation","account.group_account_invoice",1,0,0,0 +"l10n_br_account_operation_line_user","Fiscal Operation Line for Account User","l10n_br_fiscal.model_l10n_br_fiscal_operation_line","account.group_account_invoice",1,0,0,0 +"l10n_br_account_partner_profile_user","Fiscal Partner Profile for Account User","l10n_br_fiscal.model_l10n_br_fiscal_partner_profile","account.group_account_invoice",1,0,0,0 diff --git a/l10n_br_account/security/l10n_br_account_security.xml b/l10n_br_account/security/l10n_br_account_security.xml new file mode 100644 index 000000000000..9d46b3ce4f8b --- /dev/null +++ b/l10n_br_account/security/l10n_br_account_security.xml @@ -0,0 +1,12 @@ + + + + + Brazilian Fiscal details (popup) in Account Move Lines + + + + diff --git a/l10n_br_account/static/description/icon.png b/l10n_br_account/static/description/icon.png new file mode 100644 index 000000000000..d43df0f9de6e Binary files /dev/null and b/l10n_br_account/static/description/icon.png differ diff --git a/l10n_br_account/static/description/index.html b/l10n_br_account/static/description/index.html new file mode 100644 index 000000000000..1f1c12c95ff1 --- /dev/null +++ b/l10n_br_account/static/description/index.html @@ -0,0 +1,481 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Invoicing and accounting entries for Brazil

+ +

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

+

This module was written to extend the functionality of … to support +… and allow you to …

+

Table of contents

+ +
+

Installation

+

To install this module, you need to:

+
    +
  • do this …
  • +
+
+
+

Configuration

+

To configure this module, you need to:

+
    +
  • go to …
  • +
+
+
+

Usage

+

To use this module, you need to:

+
    +
  • go to …
  • +
+
+ + +
+

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

+
    +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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

+

Current maintainers:

+

renatonlima rvalyi

+

This module is part of the OCA/l10n-brazil project on GitHub.

+

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

+
+
+
+
+ + diff --git a/l10n_br_account/tests/__init__.py b/l10n_br_account/tests/__init__.py new file mode 100644 index 000000000000..15a1f5136452 --- /dev/null +++ b/l10n_br_account/tests/__init__.py @@ -0,0 +1,11 @@ +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import test_account_move_sn +from . import test_account_move_lc +# from . import test_account_taxes +from . import test_move_edition +from . import test_move_document_discount +from . import test_invoice_refund + +from . import test_multi_localizations_invoice +from . import test_payment_status diff --git a/l10n_br_account/tests/common.py b/l10n_br_account/tests/common.py new file mode 100644 index 000000000000..ddf5cbe3bb96 --- /dev/null +++ b/l10n_br_account/tests/common.py @@ -0,0 +1,398 @@ +# Copyright 2023 - TODAY Akretion - Raphael Valyi +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields +from odoo.tests.common import Form + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon + + +class AccountMoveBRCommon(AccountTestInvoicingCommon): + """ + This is the base test suite for l10n_br_account with proper Brazilian + Charts of Accounts and Brazilian data. + """ + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref="generic_coa") + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + + # Remove default Odoo demo taxes if they conflict or are not needed + if hasattr(cls, "tax_sale_b") and cls.tax_sale_b.exists(): + cls.tax_sale_b.unlink() + if hasattr(cls, "tax_purchase_b") and cls.tax_purchase_b.exists(): + cls.tax_purchase_b.unlink() + + cls.env.user.groups_id |= cls.env.ref("l10n_br_fiscal.group_manager") + + cls.product_a.write( + { + "default_code": "prod_a", + "standard_price": 1000.0, + "ncm_id": cls.env.ref("l10n_br_fiscal.ncm_94033000").id, + "fiscal_genre_id": cls.env.ref("l10n_br_fiscal.product_genre_94").id, + "fiscal_type": "00", + "icms_origin": "5", + "taxes_id": False, + "tax_icms_or_issqn": "icms", + "uoe_id": cls.env.ref("uom.product_uom_kgm").id, + } + ) + cls.fiscal_type_product_product_a = cls.env["ir.property"].create( + { + "name": "fiscal_type", + "fields_id": cls.env["ir.model.fields"] + .search( + [("model", "=", "product.template"), ("name", "=", "fiscal_type")] + ) + .id, + "value": "04", + "type": "selection", + "res_id": cls.product_a.id, + } + ) + cls.fiscal_origin_product_product_a = cls.env["ir.property"].create( + { + "name": "fiscal_origin", + "fields_id": cls.env["ir.model.fields"] + .search( + [("model", "=", "product.template"), ("name", "=", "icms_origin")] + ) + .id, + "value": "5", + "type": "selection", + "res_id": cls.product_a.id, + } + ) + + cls.product_b.write( + { + "default_code": "prod_b", + "lst_price": 1000.0, + "ncm_id": cls.env.ref("l10n_br_fiscal.ncm_94013090").id, + "fiscal_genre_id": cls.env.ref("l10n_br_fiscal.product_genre_94").id, + "fiscal_type": "00", + "icms_origin": "0", + "taxes_id": False, + "tax_icms_or_issqn": "icms", + "uoe_id": cls.env.ref("uom.product_uom_kgm").id, + } + ) + cls.fiscal_type_product_product_b = cls.env["ir.property"].create( + { + "name": "fiscal_type", + "fields_id": cls.env["ir.model.fields"] + .search( + [("model", "=", "product.template"), ("name", "=", "fiscal_type")] + ) + .id, + "value": "00", + "type": "selection", + "res_id": cls.product_b.id, + } + ) + cls.fiscal_origin_product_product_b = cls.env["ir.property"].create( + { + "name": "fiscal_origin", + "fields_id": cls.env["ir.model.fields"] + .search( + [("model", "=", "product.template"), ("name", "=", "icms_origin")] + ) + .id, + "value": "0", + "type": "selection", + "res_id": cls.product_b.id, + } + ) + + cls.partner_a.write( + { + "cnpj_cpf": "49.190.159/0001-05", + "is_company": "1", + "ind_ie_dest": "1", + "tax_framework": "3", + "legal_name": "partner A", + "country_id": cls.env.ref("base.br").id, + "state_id": cls.env.ref("base.state_br_rj").id, + "district": "Centro", + "zip": "01311-915", + "fiscal_profile_id": cls.env.ref( + "l10n_br_fiscal.partner_fiscal_profile_snc" + ).id, + } + ) + cls.partner_b.write( + { + "cnpj_cpf": "42.591.651/0001-43", + "is_company": "0", + "legal_name": "partner B", + "country_id": cls.env.ref("base.br").id, + "state_id": cls.env.ref("base.state_br_ba").id, + "district": "Na PQP", + "zip": "01311-942", + "fiscal_profile_id": cls.env.ref( + "l10n_br_fiscal.partner_fiscal_profile_cnt" + ).id, + } + ) + + cls.partner_c = cls.partner_a.copy( + { + "name": "partner_c", + "cnpj_cpf": "67.405.936/0001-73", + "legal_name": "partner C", + "fiscal_profile_id": cls.env.ref( + "l10n_br_fiscal.partner_fiscal_profile_ncn" + ).id, + } + ) + + cls.fo_sale_with_icms_reduction = cls.env[ + "l10n_br_fiscal.operation.line" + ].create( + { + "name": "Venda com ICMS 12 e Redução de 26,57", + "ind_ie_dest": "1", + "cfop_internal_id": cls.env.ref("l10n_br_fiscal.cfop_5101").id, + "cfop_external_id": cls.env.ref("l10n_br_fiscal.cfop_6101").id, + "cfop_export_id": cls.env.ref("l10n_br_fiscal.cfop_7101").id, + "state": "approved", + "product_type": "04", + "fiscal_operation_id": cls.env.ref("l10n_br_fiscal.fo_venda").id, + } + ) + + @classmethod + def setup_company_data(cls, company_name, chart_template=None, **kwargs): + # Determine company specifics for LC vs SN for kwargs + if "Lucro Presumido" in company_name: + kwargs.update( + { + "tax_framework": "3", + "profit_calculation": "presumed", + "ripi": True, + "piscofins_id": cls.env.ref( + "l10n_br_fiscal.tax_pis_cofins_columativo" + ).id, + "icms_regulation_id": cls.env.ref( + "l10n_br_fiscal.tax_icms_regulation" + ).id, + } + ) + elif "Simples Nacional" in company_name: + kwargs.update( + { + "tax_framework": "1", + "coefficient_r": False, # Example + "ripi": True, + "piscofins_id": cls.env.ref( + "l10n_br_fiscal.tax_pis_cofins_simples_nacional" + ).id, + "tax_ipi_id": cls.env.ref("l10n_br_fiscal.tax_ipi_outros").id, + "tax_icms_id": cls.env.ref( + "l10n_br_fiscal.tax_icms_sn_com_credito" + ).id, + "annual_revenue": 815000.0, + } + ) + + kwargs.update( + { + "country_id": cls.env.ref("base.br").id, + "currency_id": cls.env.ref("base.BRL").id, + "is_industry": True, # Assuming this for tests + "cnae_main_id": cls.env.ref( + "l10n_br_fiscal.cnae_3101200" + ).id, # Example + "document_type_id": cls.env.ref( + "l10n_br_fiscal.document_55" + ).id, # Example + } + ) + + company_data_dict = super().setup_company_data( + company_name, chart_template=chart_template, **kwargs + ) + return company_data_dict + + @classmethod + def configure_normal_company_taxes(cls): + # Tax configuration for normal company + tax_def_model = cls.env["l10n_br_fiscal.tax.definition"] + doc_serie_model = cls.env["l10n_br_fiscal.document.serie"] + cls.pis_tax_definition_empresa_lc = tax_def_model.create( + { + "company_id": cls.company_data["company"].id, + "tax_group_id": cls.env.ref("l10n_br_fiscal.tax_group_pis").id, + "is_taxed": True, + "is_debit_credit": True, + "custom_tax": True, + "tax_id": cls.env.ref("l10n_br_fiscal.tax_pis_0_65").id, + "cst_id": cls.env.ref("l10n_br_fiscal.cst_pis_01").id, + "state": "approved", + } + ) + + cls.cofins_tax_definition_empresa_lc = tax_def_model.create( + { + "company_id": cls.company_data["company"].id, + "tax_group_id": cls.env.ref("l10n_br_fiscal.tax_group_cofins").id, + "is_taxed": True, + "is_debit_credit": True, + "custom_tax": True, + "tax_id": cls.env.ref("l10n_br_fiscal.tax_cofins_3").id, + "cst_id": cls.env.ref("l10n_br_fiscal.cst_cofins_01").id, + "state": "approved", + } + ) + + cls.icms_tax_definition_empresa_lc_icms_reduction = tax_def_model.create( + { + "company_id": cls.company_data["company"].id, + "tax_group_id": cls.env.ref("l10n_br_fiscal.tax_group_icms").id, + "is_taxed": True, + "is_debit_credit": True, + "custom_tax": True, + "tax_id": cls.env.ref("l10n_br_fiscal.tax_icms_12_red_26_57").id, + "cst_id": cls.env.ref("l10n_br_fiscal.cst_icms_20").id, + "state": "approved", + "fiscal_operation_line_id": cls.fo_sale_with_icms_reduction.id, + } + ) + + # Tax Definition for PIS and COFINS Withholding + cls.pis_wh_tax_definition_empresa_lc = tax_def_model.create( + { + "company_id": cls.company_data["company"].id, + "tax_group_id": cls.env.ref("l10n_br_fiscal.tax_group_pis_wh").id, + "is_taxed": True, + "is_debit_credit": True, + "custom_tax": True, + "tax_id": cls.env.ref("l10n_br_fiscal.tax_pis_wh_0_65").id, + "state": "expired", + } + ) + + cls.cofins_wh_tax_definition_empresa_lc = tax_def_model.create( + { + "company_id": cls.company_data["company"].id, + "tax_group_id": cls.env.ref("l10n_br_fiscal.tax_group_cofins_wh").id, + "is_taxed": True, + "is_debit_credit": True, + "custom_tax": True, + "tax_id": cls.env.ref("l10n_br_fiscal.tax_cofins_wh_3").id, + "state": "expired", + } + ) + + cls.empresa_lc_document_55_serie_1 = doc_serie_model.create( + { + "code": "1", + "name": "Série 1", + "document_type_id": cls.env.ref("l10n_br_fiscal.document_55").id, + "company_id": cls.company_data["company"].id, + "active": True, + } + ) + + @classmethod + def init_invoice( + cls, + move_type, + partner=None, + invoice_date=None, + post=False, + products=None, + amounts=None, + taxes=None, + currency=None, + document_type=None, + document_serie_id=None, + fiscal_operation=None, + fiscal_operation_lines=None, + document_serie=None, + document_number=None, + ): + """ + We could not override the super one because we need to inject extra BR fiscal + fields. + """ + products = [] if products is None else products + amounts = [] if amounts is None else amounts + move_form = Form( + cls.env["account.move"].with_context( + default_move_type=move_type, + account_predictive_bills_disable_prediction=True, + ) + ) + move_form.invoice_date = invoice_date or fields.Date.from_string("2019-01-01") + # move_form.date = move_form.invoice_date + move_form.partner_id = partner or cls.partner_a + move_form.currency_id = currency if currency else cls.company_data["currency"] + + # extra BR fiscal params: + move_form.document_type_id = document_type + if document_serie_id is not None: + move_form.document_serie_id = document_serie_id + move_form.fiscal_operation_id = fiscal_operation + if document_number is not None: + move_form.document_number = document_number + if document_serie is not None: + move_form.document_serie = document_serie + + for index, product in enumerate(products): + with move_form.invoice_line_ids.new() as line_form: + line_form.product_id = product + + # extra BR fiscal params: + line_form.fiscal_operation_line_id = fiscal_operation_lines[index] + + if taxes: + line_form.tax_ids.clear() + line_form.tax_ids.add(taxes) + + for amount in amounts: + with move_form.invoice_line_ids.new() as line_form: + line_form.name = "test line" + # We use account_predictive_bills_disable_prediction context key so that + # this doesn't trigger prediction in case enterprise + # (hence account_predictive_bills) is installed + line_form.price_unit = amount + if taxes: + line_form.tax_ids.clear() + for tax in taxes: + line_form.tax_ids.add(tax) + + rslt = move_form.save() + + if post: + rslt.action_post() + + return rslt + + @classmethod + def sort_lines(cls, lines): + """ + Utility method to help debugging + """ + return lines.sorted( + lambda line: ( + line.exclude_from_invoice_tab, + not bool(line.tax_line_id), + line.name or "", + line.balance, + ) + ) + + @classmethod + def line_log(cls, lines, index): + """ + Utility method to help debugging + """ + lines = cls.sort_lines(lines.sorted()) + log = ( + f"LINE {index} {lines[index].name} {lines[index].debit}" + f" {lines[index].credit} {lines[index].account_id.name}" + ) + return log diff --git a/l10n_br_account/tests/test_account_move_lc.py b/l10n_br_account/tests/test_account_move_lc.py new file mode 100644 index 000000000000..f90ffad9abaa --- /dev/null +++ b/l10n_br_account/tests/test_account_move_lc.py @@ -0,0 +1,2210 @@ +# Copyright 2023 - TODAY Akretion - Raphael Valyi +# Copyright 2024 - TODAY, Marcel Savegnago +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo import Command, fields +from odoo.tests.common import tagged + +from .common import AccountMoveBRCommon + +_logger = logging.getLogger(__name__) + + +# flake8: noqa: F841 +@tagged("post_install", "-at_install") +class AccountMoveLucroPresumido(AccountMoveBRCommon): + @classmethod + def setUpClass( + cls, chart_template_ref="l10n_br_coa_generic.l10n_br_coa_generic_template" + ): + #try: + if False: + super().setUpClass(chart_template_ref=chart_template_ref) + _logger.info(f"using {chart_template_ref}") + #except ValueError: + else: + _logger.info( + f"it seems {chart_template_ref} is not available, " + "falling back to l10n_generic_coa.configurable_chart_template." + ) + super().setUpClass() + cls.env["account.chart.template"].load_fiscal_taxes( + companies=[cls.company_data["company"]] + ) + + cls.configure_normal_company_taxes() + + # Ensure the NFe user group is enabled so fiscal fields are available + # on invoices when the l10n_br_nfe module is installed. + nfe_user_group = cls.env.ref("l10n_br_nfe.group_user", raise_if_not_found=False) + if nfe_user_group: + cls.env.user.write({"groups_id": [Command.link(nfe_user_group.id)]}) + + cls.move_out_venda = cls.init_invoice( + "out_invoice", + products=[cls.product_a], + document_type=cls.env.ref("l10n_br_fiscal.document_55"), + document_serie_id=cls.empresa_lc_document_55_serie_1, + fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_venda"), + fiscal_operation_lines=[cls.env.ref("l10n_br_fiscal.fo_venda_venda")], + ) + + cls.move_out_venda_with_icms_reduction = cls.init_invoice( + "out_invoice", + products=[cls.product_a], + document_type=cls.env.ref("l10n_br_fiscal.document_55"), + document_serie_id=cls.empresa_lc_document_55_serie_1, + fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_venda"), + fiscal_operation_lines=[cls.fo_sale_with_icms_reduction], + ) + + cls.move_out_simples_remessa = cls.init_invoice( + "out_invoice", + products=[cls.product_a], + document_type=cls.env.ref("l10n_br_fiscal.document_55"), + document_serie_id=cls.empresa_lc_document_55_serie_1, + fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_simples_remessa"), + fiscal_operation_lines=[ + cls.env.ref("l10n_br_fiscal.fo_simples_remessa_simples_remessa") + ], + ) + + cls.env.ref("l10n_br_fiscal.fo_compras").deductible_taxes = True + cls.move_in_compra_para_revenda = cls.init_invoice( + "in_invoice", + products=[cls.product_a], + document_type=cls.env.ref("l10n_br_fiscal.document_55"), + fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_compras"), + fiscal_operation_lines=[ + cls.env.ref("l10n_br_fiscal.fo_compras_compras_comercializacao") + ], + document_serie="1", + document_number="42", + ) + + # Account Moves With Tax Withholding + cls.pis_tax_definition_empresa_lc.state = "expired" + cls.cofins_tax_definition_empresa_lc.state = "expired" + cls.pis_wh_tax_definition_empresa_lc.action_approve() + cls.cofins_wh_tax_definition_empresa_lc.action_approve() + + cls.move_out_venda_tax_withholding = cls.init_invoice( + "out_invoice", + products=[cls.product_a], + document_type=cls.env.ref("l10n_br_fiscal.document_55"), + document_serie_id=cls.empresa_lc_document_55_serie_1, + fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_venda"), + fiscal_operation_lines=[cls.env.ref("l10n_br_fiscal.fo_venda_venda")], + ) + + cls.move_out_simples_remessa_tax_withholding = cls.init_invoice( + "out_invoice", + products=[cls.product_a], + document_type=cls.env.ref("l10n_br_fiscal.document_55"), + document_serie_id=cls.empresa_lc_document_55_serie_1, + fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_simples_remessa"), + fiscal_operation_lines=[ + cls.env.ref("l10n_br_fiscal.fo_simples_remessa_simples_remessa") + ], + ) + + cls.env.ref("l10n_br_fiscal.fo_compras").deductible_taxes = True + # cls.move_in_compra_para_revenda_tax_withholding = cls.init_invoice( + # "in_invoice", + # products=[cls.product_a], + # document_type=cls.env.ref("l10n_br_fiscal.document_55"), + # fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_compras"), + # fiscal_operation_lines=[ + # cls.env.ref("l10n_br_fiscal.fo_compras_compras_comercializacao") + # ], + # document_serie="1", + # document_number="44", + # ) + + # Set default values for the tax definitions + cls.pis_tax_definition_empresa_lc.action_approve() + cls.cofins_tax_definition_empresa_lc.action_approve() + cls.pis_wh_tax_definition_empresa_lc.state = "expired" + cls.cofins_wh_tax_definition_empresa_lc.state = "expired" + + @classmethod + def setup_company_data(cls, company_name, chart_template=None, **kwargs): + if company_name == "company_1_data": + company_name = "empresa 1 Lucro Presumido" + cnpj = "62.128.834/0001-34" + elif company_name == "company_2_data": + company_name = "empresa 2 Lucro Presumido" + cnpj = "87.396.251/0001-15" + + res = super().setup_company_data( + company_name, + chart_template, + tax_framework="3", + is_industry=True, + industry_type="00", + profit_calculation="presumed", + ripi=True, + piscofins_id=cls.env.ref("l10n_br_fiscal.tax_pis_cofins_columativo").id, + icms_regulation_id=cls.env.ref("l10n_br_fiscal.tax_icms_regulation").id, + cnae_main_id=cls.env.ref("l10n_br_fiscal.cnae_3101200").id, + document_type_id=cls.env.ref("l10n_br_fiscal.document_55").id, + **kwargs, + ) + res["company"].partner_id.state_id = cls.env.ref("base.state_br_sp").id + res["company"].partner_id.cnpj_cpf = cnpj + return res + + def test_venda_fiscal_lines(self): + self.assertEqual( + self.move_out_venda.invoice_line_ids[0].cfop_id.name, + "Venda de produção do estabelecimento", + ) + + def test_venda(self): + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_income_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1032.5, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": -843.5, + "debit": 0.0, + "credit": 843.5, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -30.0, + "debit": 0.0, + "credit": 30.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -120.0, + "debit": 0.0, + "credit": 120.0, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id ASC", + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search([("name", "=", "IPI Saída")], order="id desc", limit=1) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search([("name", "=", "PIS Saída")], order="id desc", limit=1) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -6.5, + "debit": 0.0, + "credit": 6.5, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "", + "product_id": False, + "account_id": self.company_data["default_account_receivable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 1032.5, + "debit": 1032.5, + "credit": 0.0, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_sale"].id, + "date": fields.Date.from_string("2019-01-01"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 1000.0, + "amount_tax": 32.5, + "amount_total": 1032.5, + } + self.assertInvoiceValues( + self.move_out_venda, + [ + product_line_vals_1, + tax_line_vals_cofins, + tax_line_vals_icms, + tax_line_vals_ipi, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def test_venda_with_icms_reduction(self): + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_income_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1032.5, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": -875.38, + "debit": 0.0, + "credit": 875.38, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -30.0, + "debit": 0.0, + "credit": 30.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": 0.0, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -88.12, + "debit": 0.0, + "credit": 88.12, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id ASC", + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": 0.0, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search([("name", "=", "IPI Saída")], order="id desc", limit=1) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": 0.0, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -6.5, + "debit": 0.0, + "credit": 6.5, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "", + "product_id": False, + "account_id": self.company_data["default_account_receivable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 1032.5, + "debit": 1032.5, + "credit": 0.0, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_sale"].id, + "date": fields.Date.from_string("2019-01-01"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 1000.0, + "amount_tax": 32.5, + "amount_total": 1032.5, + } + + self.assertInvoiceValues( + self.move_out_venda_with_icms_reduction, + [ + product_line_vals_1, + tax_line_vals_cofins, + tax_line_vals_icms, + tax_line_vals_ipi, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def test_venda_with_icms_reduction_with_relief(self): + # Testando com Alivio do ICMS + prod_line = self.move_out_venda_with_icms_reduction.invoice_line_ids[0] + prod_line.icms_relief_id = self.env.ref("l10n_br_fiscal.icms_relief_1") + + # Foi setado essa linha manualmente na criação do account.move. + self.assertEqual( + prod_line.fiscal_operation_line_id.name, + "Venda com ICMS 12 e Redução de 26,57", + ) + + # price_total deve ser vProd + vIPI − vICMSDeson + # 1000.00 + 32.50 − 36.23 = 996.27 + price_total = 996.27 + + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_income_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": price_total, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": -839.15, + "debit": 0.0, + "credit": 839.15, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -30.0, + "debit": 0.0, + "credit": 30.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": 0.0, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -88.12, + "debit": 0.0, + "credit": 88.12, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id ASC", + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": 0.0, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": 0.0, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -6.5, + "debit": 0.0, + "credit": 6.5, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "", + "product_id": False, + "account_id": self.company_data["default_account_receivable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": 0.0, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 996.27, + "debit": 996.27, + "credit": 0.0, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_sale"].id, + "date": fields.Date.from_string("2019-01-01"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 963.77, + "amount_tax": 32.5, + "amount_total": 996.27, + } + + self.assertInvoiceValues( + self.move_out_venda_with_icms_reduction, + [ + product_line_vals_1, + tax_line_vals_cofins, + tax_line_vals_icms, + tax_line_vals_ipi, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def test_simples_remessa(self): + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_income_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1032.5, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 189, + "debit": 189, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -30.0, + "debit": 0.0, + "credit": 30.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -120.0, + "debit": 0.0, + "credit": 120.0, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id ASC", + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -6.5, + "debit": 0.0, + "credit": 6.5, + "date_maturity": False, + } + + # Remessa não gera financeiro, as linhas das condições de pagamento + # devem estar zeradas! + term_line_vals_1 = { + "name": "", + "product_id": False, + "account_id": self.company_data["default_account_receivable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 0, + "debit": 0, + "credit": 0.0, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_sale"].id, + "date": fields.Date.from_string("2019-01-01"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 0.0, + "amount_tax": 0.0, + "amount_total": 0.0, + } + + self.assertInvoiceValues( + self.move_out_simples_remessa, + [ + product_line_vals_1, + tax_line_vals_cofins, + tax_line_vals_icms, + tax_line_vals_ipi, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def test_compra_para_revenda(self): + """ + Test move with deductible taxes + """ + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_expense_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1032.5, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 1032.5, + "debit": 1032.5, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 30.0, + "debit": 30.0, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_cofins_comp = { + "name": "COFINS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS s/ Vendas"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS Entrada Dedutível"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -30.0, + "debit": 0.0, + "credit": 30.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 120.0, + "debit": 120.0, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_icms_comp = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS s/ Vendas"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Entrada Dedutível"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -120.0, + "debit": 0.0, + "credit": 120.0, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 32.5, + "debit": 32.5, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_ipi_comp = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI s/ Vendas"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Entrada Dedutível"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 6.5, + "debit": 6.5, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_pis_comp = { + "name": "PIS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS s/ Vendas"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS Entrada Dedutível"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -6.5, + "debit": 0.0, + "credit": 6.5, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "42/1-1", + "product_id": False, + "account_id": self.company_data["default_account_payable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": -1032.5, + "debit": 0.0, + "credit": 1032.5, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_purchase"].id, + "date": fields.Date.from_string("2019-01-31"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 1000.0, + "amount_tax": 32.5, + "amount_total": 1032.5, + } + + self.assertInvoiceValues( + self.move_in_compra_para_revenda, + [ + product_line_vals_1, + tax_line_vals_cofins_comp, + tax_line_vals_cofins, + tax_line_vals_icms_comp, + tax_line_vals_icms, + tax_line_vals_ipi_comp, + tax_line_vals_ipi, + tax_line_vals_pis_comp, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def test_venda_fiscal_document_move_link(self): + fiscal_doc_id = self.move_out_venda.fiscal_document_id + self.assertEqual(fiscal_doc_id.move_count, 1) + view_type = "account.action_move_out_invoice_type" + action = self.env["ir.actions.act_window"]._for_xml_id(view_type) + res = self.move_out_venda.action_view_invoice() + self.assertEqual(res["id"], action["id"]) + + # TODO test effect of ind_final? + # ver aqui https://github.com/OCA/l10n-brazil/pull/2347#issuecomment-1548345563 + + # Tax Withholding Tests + def test_venda_tax_withholding(self): + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_income_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1032.5, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": -880.0, + "debit": 0.0, + "credit": 880.0, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS RET", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS WH Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 30.0, + "debit": 30.0, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -120.0, + "debit": 0.0, + "credit": 120.0, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id ASC", + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS RET", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS WH Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 6.5, + "debit": 6.5, + "credit": 0.0, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "", + "product_id": False, + "account_id": self.company_data["default_account_receivable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 996, + "debit": 996, + "credit": 0.0, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_sale"].id, + "date": fields.Date.from_string("2019-01-01"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 1000.0, + "amount_tax": 32.5, + "amount_total": 996, + } + + self.assertInvoiceValues( + self.move_out_venda_tax_withholding, + [ + product_line_vals_1, + tax_line_vals_cofins, + tax_line_vals_icms, + tax_line_vals_ipi, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def test_simples_remessa_tax_withholding(self): + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_income_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1032.5, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 116, + "debit": 116, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS RET", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS WH Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 30.0, + "debit": 30.0, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -120.0, + "debit": 0.0, + "credit": 120.0, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id ASC", + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS RET", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS WH Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 6.5, + "debit": 6.5, + "credit": 0.0, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "", + "product_id": False, + "account_id": self.company_data["default_account_receivable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 0.0, + "debit": 0.0, + "credit": 0.0, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_sale"].id, + "date": fields.Date.from_string("2019-01-01"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 0.0, + "amount_tax": 0.0, + "amount_total": 0.0, + } + + self.assertInvoiceValues( + self.move_out_simples_remessa_tax_withholding, + [ + product_line_vals_1, + tax_line_vals_cofins, + tax_line_vals_icms, + tax_line_vals_ipi, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def TODO_test_compra_para_revenda_tax_withholding(self): + """ + Test move with deductible taxes and tax withholding + """ + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_expense_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1032.5, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 1032.5, + "debit": 1032.5, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_cofins = { + "name": "COFINS RET", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "COFINS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "COFINS WH Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -30.0, + "debit": 0.0, + "credit": 30.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 120.0, + "debit": 120.0, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_icms_comp = { + "name": "ICMS", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS s/ Vendas"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS Entrada Dedutível"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -120.0, + "debit": 0.0, + "credit": 120.0, + "date_maturity": False, + } + + tax_line_vals_ipi = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI a Compensar"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": 32.5, + "debit": 32.5, + "credit": 0.0, + "date_maturity": False, + } + + tax_line_vals_ipi_comp = { + "name": "IPI", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "IPI s/ Vendas"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "IPI Entrada Dedutível"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -32.5, + "debit": 0.0, + "credit": 32.5, + "date_maturity": False, + } + + tax_line_vals_pis = { + "name": "PIS RET", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "PIS a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "PIS WH Entrada"), + ("company_id", "=", self.company_data["company"].id), + ], + order="id desc", + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -6.5, + "debit": 0.0, + "credit": 6.5, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "44/1-1", + "product_id": False, + "account_id": self.company_data["default_account_payable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": -996, + "debit": 0.0, + "credit": 996, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_purchase"].id, + "date": fields.Date.from_string("2019-01-31"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 1000.0, + "amount_tax": 32.5, + "amount_total": 996, + } + + self.assertInvoiceValues( + self.move_in_compra_para_revenda_tax_withholding, + [ + product_line_vals_1, + tax_line_vals_cofins, + tax_line_vals_icms_comp, + tax_line_vals_icms, + tax_line_vals_ipi_comp, + tax_line_vals_ipi, + tax_line_vals_pis, + term_line_vals_1, + ], + move_vals, + ) + + def TODO_test_composite_move(self): + # first we make a few assertions about an existing vendor bill: + self.assertEqual(len(self.move_in_compra_para_revenda.invoice_line_ids), 1) + self.assertEqual(len(self.move_in_compra_para_revenda.line_ids), 10) + self.assertEqual(self.move_in_compra_para_revenda.amount_total, 1032.5) + + self.assertEqual(len(self.move_in_compra_para_revenda.fiscal_document_ids), 1) + self.assertEqual( + self.move_in_compra_para_revenda.open_fiscal_document()["res_id"], + self.move_in_compra_para_revenda.fiscal_document_id.id, + ) + + # now we create a dumb fiscal document we will import in our vendor bill: + fiscal_doc_to_import = self.env["l10n_br_fiscal.document"].create( + { + "fiscal_operation_id": self.env.ref("l10n_br_fiscal.fo_compras").id, + "document_type_id": self.env.ref("l10n_br_fiscal.document_55").id, + "document_serie": 1, + "document_number": 123, + "issuer": "partner", + "partner_id": self.partner_a.id, + "fiscal_operation_type": "in", + } + ) + + fiscal_doc_line_to_import = self.env["l10n_br_fiscal.document.line"].create( + { + "document_id": fiscal_doc_to_import.id, + "name": "Purchase Test", + "product_id": self.product_a.id, + "fiscal_operation_type": "in", + "fiscal_operation_id": self.env.ref("l10n_br_fiscal.fo_compras").id, + "fiscal_operation_line_id": self.env.ref( + "l10n_br_fiscal.fo_compras_compras" + ).id, + } + ) + + # let's import it: + self.move_in_compra_para_revenda.fiscal_document_id = fiscal_doc_to_import + self.move_in_compra_para_revenda.button_import_fiscal_document() + + # now a few assertions to check if it has been properly imported: + self.assertEqual(len(self.move_in_compra_para_revenda.invoice_line_ids), 2) + self.assertEqual( + self.move_in_compra_para_revenda.invoice_line_ids[ + 1 + ].fiscal_document_line_id.product_id, + self.product_a, + ) + + self.assertEqual(len(self.move_in_compra_para_revenda.fiscal_document_ids), 2) + self.assertIn( + str(fiscal_doc_to_import.id), + str(self.move_in_compra_para_revenda.open_fiscal_document()["domain"]), + ) + self.assertIn( + str(self.move_in_compra_para_revenda.fiscal_document_id.id), + str(self.move_in_compra_para_revenda.open_fiscal_document()["domain"]), + ) + + invoice_lines = sorted( + self.move_in_compra_para_revenda.invoice_line_ids, key=lambda item: item.id + ) + self.assertEqual( + fiscal_doc_to_import.id, + invoice_lines[1].fiscal_document_line_id.document_id.id, + ) + self.assertEqual(len(self.move_in_compra_para_revenda.line_ids), 11) + self.assertEqual(self.move_in_compra_para_revenda.amount_total, 2065.0) + + def test_change_states(self): + # first we make a few assertions about an existing vendor bill: + document_id = self.move_out_venda.fiscal_document_id + self.assertEqual(self.move_out_venda.state, "draft") + self.assertEqual(document_id.state, "em_digitacao") + self.move_out_venda.action_post() + self.assertEqual(self.move_out_venda.state, "posted") + fiscal_edi = self.env["ir.module.module"].search( + [("name", "=", "l10n_br_fiscal_edi")] + ) + if fiscal_edi and fiscal_edi.state == "installed": + self.assertEqual(document_id.state, "a_enviar") + self.move_out_venda.button_draft() + self.assertEqual(self.move_out_venda.state, "draft") + self.assertEqual(document_id.state, "em_digitacao") + document_id.action_document_confirm() + self.assertEqual(self.move_out_venda.state, "posted") + self.assertEqual(document_id.state, "a_enviar") + document_id.action_document_back2draft() + self.assertEqual(self.move_out_venda.state, "draft") + self.assertEqual(document_id.state, "em_digitacao") + + def test_document_deny(self): + document_id = self.move_out_venda.fiscal_document_id + self.assertEqual(self.move_out_venda.state, "draft") + document_id.exec_after_SITUACAO_EDOC_DENEGADA("em_digitacao", "denegada") + self.assertEqual(self.move_out_venda.state, "cancel") diff --git a/l10n_br_account/tests/test_account_move_sn.py b/l10n_br_account/tests/test_account_move_sn.py new file mode 100644 index 000000000000..96d605fc7e25 --- /dev/null +++ b/l10n_br_account/tests/test_account_move_sn.py @@ -0,0 +1,219 @@ +# Copyright 2023 - TODAY Akretion - Raphael Valyi +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo import fields +from odoo.tests.common import tagged + +from .common import AccountMoveBRCommon + +_logger = logging.getLogger(__name__) + + +@tagged("post_install", "-at_install") +class AccountMoveSimpleNacional(AccountMoveBRCommon): + @classmethod + def setUpClass( + cls, chart_template_ref="l10n_br_coa_simple.l10n_br_coa_simple_chart_template" + ): + + #try: + if False: + super().setUpClass(chart_template_ref=chart_template_ref) + _logger.info(f"using {chart_template_ref}") + #except Exception as e: + else: + _logger.info( + f"it seems {chart_template_ref} is not available, " + "falling back to l10n_generic_coa.configurable_chart_template." + ) + super().setUpClass() + cls.env["account.chart.template"].load_fiscal_taxes( + companies=[cls.company_data["company"]] + ) + + cls.icms_tax_definition_empresa_simples_nacional = cls.env[ + "l10n_br_fiscal.tax.definition" + ].create( + { + "company_id": cls.company_data["company"].id, + "tax_group_id": cls.env.ref("l10n_br_fiscal.tax_group_icmssn").id, + "is_taxed": True, + "is_debit_credit": True, + "custom_tax": True, + "tax_id": cls.env.ref("l10n_br_fiscal.tax_icms_sn_com_credito").id, + "cst_id": cls.env.ref("l10n_br_fiscal.cst_icmssn_101").id, + "state": "approved", + } + ) + + cls.empresa_sn_document_55_serie_1 = cls.env[ + "l10n_br_fiscal.document.serie" + ].create( + { + "code": "1", + "name": "Série 1", + "document_type_id": cls.env.ref("l10n_br_fiscal.document_55").id, + "company_id": cls.company_data["company"].id, + "active": True, + } + ) + cls.move_out_revenda = cls.init_invoice( + "out_invoice", + products=[cls.product_a], + document_type=cls.env.ref("l10n_br_fiscal.document_55"), + document_serie_id=cls.empresa_sn_document_55_serie_1, + fiscal_operation=cls.env.ref("l10n_br_fiscal.fo_venda"), + fiscal_operation_lines=[cls.env.ref("l10n_br_fiscal.fo_venda_revenda")], + ) + + @classmethod + def setup_company_data(cls, company_name, chart_template=None, **kwargs): + if company_name == "company_1_data": + company_name = "empresa 1 Simples Nacional" + + elif company_name == "company_2_data": + company_name = "empresa 2 Simples Nacional" + + res = super().setup_company_data( + company_name, + chart_template, + tax_framework="1", + is_industry=True, + coefficient_r=False, + ripi=True, + piscofins_id=cls.env.ref( + "l10n_br_fiscal.tax_pis_cofins_simples_nacional" + ).id, + tax_ipi_id=cls.env.ref("l10n_br_fiscal.tax_ipi_outros").id, + tax_icms_id=cls.env.ref("l10n_br_fiscal.tax_icms_sn_com_credito").id, + cnae_main_id=cls.env.ref("l10n_br_fiscal.cnae_3101200").id, + document_type_id=cls.env.ref("l10n_br_fiscal.document_55").id, + annual_revenue=815000.0, + **kwargs, + ) + return res + + def test_company_sn_config(self): + self.assertEqual( + self.company_data["company"].simplified_tax_id.name, "Anexo 2 - Indústria" + ) + self.assertEqual(self.company_data["company"].simplified_tax_percent, 8.44) + self.assertEqual( + self.company_data["company"].simplified_tax_range_id.name, "Faixa 4" + ) + + def test_revenda_fiscal_lines(self): + self.assertEqual( + self.move_out_revenda.invoice_line_ids[0].cfop_id.name, + "Venda de mercadoria adquirida ou recebida de terceiros", + ) + self.assertEqual( + self.move_out_revenda.invoice_line_ids[0].icmssn_tax_id, + self.env.ref("l10n_br_fiscal.tax_icms_sn_com_credito"), + ) + self.assertEqual( + self.move_out_revenda.invoice_line_ids[0].icms_cst_id, + self.env.ref("l10n_br_fiscal.cst_icmssn_101"), + ) + self.assertEqual(self.move_out_revenda.invoice_line_ids[0].icmssn_percent, 2.70) + + def test_revenda(self): + product_line_vals_1 = { + "name": self.product_a.display_name, + "product_id": self.product_a.id, + "account_id": self.product_a.property_account_income_id.id, + "partner_id": self.partner_a.id, + "product_uom_id": self.product_a.uom_id.id, + "quantity": 1.0, + "discount": 0.0, + "price_unit": 1000.0, + "price_subtotal": 1000.0, + "price_total": 1000.0, + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": -973.0, + "debit": 0.0, + "credit": 973.0, + "date_maturity": False, + } + + tax_line_vals_icms = { + "name": "ICMS - Simples Nacional", + "product_id": False, + "account_id": self.env["account.account"] + .search( + [ + ("name", "=", "ICMS SN a Recolher"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": self.env["account.tax"] + .search( + [ + ("name", "=", "ICMS SN Saída"), + ("company_id", "=", self.company_data["company"].id), + ], + limit=1, + ) + .id, + "currency_id": self.company_data["currency"].id, + "amount_currency": -27.0, + "debit": 0.0, + "credit": 27.0, + "date_maturity": False, + } + + term_line_vals_1 = { + "name": "", + "product_id": False, + "account_id": self.company_data["default_account_receivable"].id, + "partner_id": self.partner_a.id, + "product_uom_id": False, + "quantity": False, + "discount": 0.0, + "price_unit": 0.0, + "price_subtotal": 0.0, + "price_total": 0.0, + "tax_ids": [], + "tax_line_id": False, + "currency_id": self.company_data["currency"].id, + "amount_currency": 1000.0, + "debit": 1000.0, + "credit": 0.0, + "date_maturity": fields.Date.from_string("2019-01-01"), + } + + move_vals = { + "partner_id": self.partner_a.id, + "currency_id": self.company_data["currency"].id, + "journal_id": self.company_data["default_journal_sale"].id, + "date": fields.Date.from_string("2019-01-01"), + "fiscal_position_id": False, + "payment_reference": "", + "invoice_payment_term_id": self.pay_terms_a.id, + "amount_untaxed": 1000.0, + "amount_tax": 0.0, + "amount_total": 1000.0, + } + + self.assertInvoiceValues( + self.move_out_revenda, + [ + product_line_vals_1, + tax_line_vals_icms, + term_line_vals_1, + ], + move_vals, + ) diff --git a/l10n_br_account/tests/test_account_taxes.py b/l10n_br_account/tests/test_account_taxes.py new file mode 100644 index 000000000000..51a4244a3865 --- /dev/null +++ b/l10n_br_account/tests/test_account_taxes.py @@ -0,0 +1,43 @@ +# Copyright (C) 2020 Renato Lima - Akretion +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo.tests import TransactionCase + + +class TestAccountTaxes(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.l10n_br_company = cls.env["res.company"].create( + {"name": "Empresa Teste do Plano de Contas Simplificado"} + ) + cls.env.user.company_ids += cls.l10n_br_company + cls.env.company = cls.l10n_br_company + + def test_account_taxes(self): + """Test if account taxes are related with fiscal taxes""" + l10n_br_coa_charts = ( + self.env["account.chart.template"] + .search([]) + .filtered( + lambda chart: chart.get_external_id() + .get(chart.id) + .split(".")[0] + .startswith("l10n_br_coa_") + if chart.get_external_id().get(chart.id) + else False + ) + ) + for l10n_br_coa_chart in l10n_br_coa_charts: + l10n_br_coa_chart.try_loading() + account_taxes = self.env["account.tax"].search( + [("company_id", "=", self.l10n_br_company.id)] + ) + + is_fiscal_taxes = False + for tax in account_taxes: + if tax.tax_group_id.fiscal_tax_group_id and tax.fiscal_tax_ids: + is_fiscal_taxes = True + + assert is_fiscal_taxes, "There are not fiscal taxes related" diff --git a/l10n_br_account/tests/test_invoice_refund.py b/l10n_br_account/tests/test_invoice_refund.py new file mode 100644 index 000000000000..2f6ffb491301 --- /dev/null +++ b/l10n_br_account/tests/test_invoice_refund.py @@ -0,0 +1,326 @@ +# Copyright (C) 2021 Ygor Carvalho - KMEE +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import fields +from odoo.exceptions import UserError +from odoo.tests.common import tagged + +from .common import AccountMoveBRCommon + + +@tagged("post_install", "-at_install") +class TestInvoiceRefund(AccountMoveBRCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.configure_normal_company_taxes() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + + cls.sale_account = cls.env["account.account"].create( + dict( + code="X1020", + name="Product Refund Sales - (test)", + account_type="income", + ) + ) + + cls.refund_journal = cls.env["account.journal"].create( + dict( + name="Refund Journal - (test)", + code="TREJ", + type="sale", + refund_sequence=True, + default_account_id=cls.sale_account.id, + ) + ) + + cls.reverse_vals = { + "date": fields.Date.from_string("2019-02-01"), + "reason": "no reason", + # "refund_method": "refund", + "journal_id": cls.refund_journal.id, + } + + cls.invoice = cls._create_test_invoice("Test Refund Invoice", "Refund Test") + + @classmethod + def _create_test_invoice(cls, name, line_name): + """Helper method to create a test invoice with standard configuration""" + return cls.env["account.move"].create( + dict( + name=name, + move_type="out_invoice", + invoice_payment_term_id=cls.env.ref( + "account.account_payment_term_advance" + ).id, + partner_id=cls.env.ref("l10n_br_base.res_partner_cliente1_sp").id, + journal_id=cls.refund_journal.id, + document_type_id=cls.env.ref("l10n_br_fiscal.document_55").id, + document_serie_id=cls.empresa_lc_document_55_serie_1.id, + invoice_line_ids=[ + ( + 0, + 0, + { + "product_id": cls.env.ref("product.product_product_6").id, + "quantity": 1.0, + "price_unit": 100.0, + "account_id": cls.env["account.account"] + .search( + [ + ( + "account_type", + "=", + "income", + ), + ( + "company_id", + "=", + cls.env.company.id, + ), + ], + limit=1, + ) + .id, + "name": line_name, + "uom_id": cls.env.ref("uom.product_uom_unit").id, + }, + ) + ], + ) + ) + + def _create_fiscal_operation(self, name, code, has_journal=False): + """Helper method to create a fiscal operation for testing""" + vals = { + "name": name, + "code": code, + "fiscal_operation_type": "out", + "fiscal_type": "sale", + } + if has_journal: + vals["journal_id"] = self.refund_journal.id + return self.env["l10n_br_fiscal.operation"].create(vals) + + def _create_move_reversal( + self, invoice, force_fiscal_operation_id=None, journal_id=None + ): + """Helper method to create AccountMoveReversal with proper context""" + invoice.action_post() + vals = {} + if journal_id: + vals["journal_id"] = journal_id + if force_fiscal_operation_id: + vals["force_fiscal_operation_id"] = force_fiscal_operation_id.id + + return ( + self.env["account.move.reversal"] + .with_context(active_model="account.move", active_ids=invoice.ids) + .create(vals) + ) + + def test_refund(self): + reverse_vals = self.reverse_vals + + invoice = self.invoice + self.assertEqual( + invoice.state, + "draft", + "Invoice should be in state Draft", + ) + + invoice.action_post() + self.assertEqual( + invoice.state, + "posted", + "Invoice should be in state Posted", + ) + + move_reversal = ( + self.env["account.move.reversal"] + .with_context(active_model="account.move", active_ids=invoice.ids) + .create(reverse_vals) + ) + + with self.assertRaises(UserError): + move_reversal.reverse_moves() + + invoice.with_context(check_move_validity=False).fiscal_operation_id = ( + self.env.ref("l10n_br_fiscal.fo_venda") + ) + + with self.assertRaises(UserError): + move_reversal.reverse_moves() + + invoice.with_context( + check_move_validity=False, force_delete=True + ).invoice_line_ids.write( + { + "fiscal_operation_id": self.env.ref("l10n_br_fiscal.fo_venda").id, + "fiscal_operation_line_id": self.env.ref( + "l10n_br_fiscal.fo_venda_venda" + ).id, + } + ) + + reversal = move_reversal.reverse_moves() + reverse_move = self.env["account.move"].browse(reversal["res_id"]) + + self.assertTrue(reverse_move) + + self.assertEqual( + reverse_move.operation_name, + "Devolução de Venda", + "The refund process was unsuccessful.", + ) + + def test_refund_force_fiscal_operation(self): + reverse_vals = self.reverse_vals + invoice = self.invoice + + invoice.with_context(check_move_validity=False).fiscal_operation_id = ( + self.env.ref("l10n_br_fiscal.fo_venda") + ) + invoice.with_context( + check_move_validity=False, force_delete=True + ).invoice_line_ids.write( + { + "fiscal_operation_id": self.env.ref("l10n_br_fiscal.fo_venda").id, + "fiscal_operation_line_id": self.env.ref( + "l10n_br_fiscal.fo_venda_venda" + ).id, + } + ) + + invoice.action_post() + self.assertEqual( + invoice.state, + "posted", + "Invoice should be in state Posted", + ) + + reverse_vals.update( + { + "force_fiscal_operation_id": self.env.ref( + "l10n_br_fiscal.fo_simples_remessa" + ).id + } + ) + move_reversal = ( + self.env["account.move.reversal"] + .with_context(active_model="account.move", active_ids=invoice.ids) + .create(reverse_vals) + ) + + reversal = move_reversal.reverse_moves() + reverse_move = self.env["account.move"].browse(reversal["res_id"]) + + self.assertTrue(reverse_move) + + self.assertEqual( + reverse_move.operation_name, + "Simples Remessa", + "The force fiscal operation process was unsuccessful.", + ) + + def test_compute_journal_id_with_force_fiscal_operation_journal(self): + """Test _compute_journal_id when force_fiscal_operation has journal_id""" + fiscal_operation = self._create_fiscal_operation( + "Test Operation with Journal", "TEST_OP", has_journal=True + ) + + # Create a different journal to test the override + different_journal = self.env["account.journal"].create( + { + "name": "Different Journal - (test)", + "code": "DIFF", + "type": "sale", + "default_account_id": self.sale_account.id, + } + ) + + invoice = self._create_test_invoice("Test Refund Invoice 2", "Refund Test 2") + move_reversal = self._create_move_reversal( + invoice, + force_fiscal_operation_id=fiscal_operation, + journal_id=different_journal.id, + ) + + # Store original journal_id + original_journal_id = move_reversal.journal_id.id + + move_reversal._compute_journal_id() + + # Should be overridden by force_fiscal_operation_id.journal_id + self.assertEqual( + move_reversal.journal_id.id, + self.refund_journal.id, + "Journal ID should be set from force_fiscal_operation_id.journal_id", + ) + self.assertNotEqual( + move_reversal.journal_id.id, + original_journal_id, + "Journal ID should be overridden by force_fiscal_operation_id.journal_id", + ) + + def test_compute_journal_id_without_force_fiscal_operation_journal(self): + """Test _compute_journal_id when force_fiscal_operation has no journal_id""" + fiscal_operation = self._create_fiscal_operation( + "Test Operation without Journal", "TEST_OP_NO_JOURNAL", has_journal=False + ) + + invoice = self._create_test_invoice("Test Refund Invoice 3", "Refund Test 3") + move_reversal = self._create_move_reversal( + invoice, + force_fiscal_operation_id=fiscal_operation, + journal_id=self.refund_journal.id, + ) + + # Store original journal_id + original_journal_id = move_reversal.journal_id.id + + move_reversal._compute_journal_id() + + # Should remain unchanged since force_fiscal_operation has no journal_id + self.assertEqual( + move_reversal.journal_id.id, + original_journal_id, + "Journal ID should remain unchanged when force_fiscal_operation\ + has no journal_id", + ) + + def test_compute_journal_id_without_force_fiscal_operation_id(self): + """Test _compute_journal_id when force_fiscal_operation_id is not set""" + invoice = self._create_test_invoice("Test Refund Invoice 4", "Refund Test 4") + move_reversal = self._create_move_reversal( + invoice, journal_id=self.refund_journal.id + ) + + # Store original journal_id + original_journal_id = move_reversal.journal_id.id + + move_reversal._compute_journal_id() + + # Should remain unchanged since there's no force_fiscal_operation_id + self.assertEqual( + move_reversal.journal_id.id, + original_journal_id, + "Journal ID should remain unchanged when force_fiscal_operation_id\ + is not set", + ) + + def test_reversal_create_without_journal_id_uses_force_operation_journal(self): + fiscal_operation = self.env.ref("l10n_br_fiscal.fo_devolucao_venda") + fiscal_operation.with_company(self.env.company).journal_id = self.refund_journal + + invoice = self._create_test_invoice( + "Test Refund Invoice without journal_id", + "Refund Test without journal_id", + ) + move_reversal = self._create_move_reversal( + invoice, + force_fiscal_operation_id=fiscal_operation, + journal_id=None, + ) + + self.assertEqual(move_reversal.journal_id.id, self.refund_journal.id) diff --git a/l10n_br_account/tests/test_move_document_discount.py b/l10n_br_account/tests/test_move_document_discount.py new file mode 100644 index 000000000000..580961205b6f --- /dev/null +++ b/l10n_br_account/tests/test_move_document_discount.py @@ -0,0 +1,149 @@ +# Copyright (C) 2023-Today - Engenere (). +# author Felipe Motter Pereira +# author Antônio Neto +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from datetime import datetime, time, timedelta + +from pytz import UTC, timezone + +from odoo import Command +from odoo.tests import TransactionCase + +from odoo.addons.l10n_br_fiscal.constants.fiscal import DOCUMENT_ISSUER_PARTNER + + +class TestInvoiceDatesAndDiscount(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.company = cls.env.ref("l10n_br_base.empresa_lucro_presumido") + companies = cls.env["res.company"].search([]) + cls.env.user.company_ids = [Command.set(companies.ids)] + cls.env.user.company_id = cls.company + cls.invoice_account_id = cls.env["account.account"].create( + { + "company_id": cls.company.id, + "account_type": "asset_receivable", + "code": "RECTEST", + "name": "Test receivable account", + "reconcile": True, + } + ) + cls.invoice_journal = cls.env["account.journal"].create( + { + "company_id": cls.company.id, + "name": "Invoice Journal - (test)", + "code": "INVTEST", + "type": "sale", + } + ) + cls.invoice_line_account_id = cls.env["account.account"].create( + { + "company_id": cls.company.id, + "account_type": "income", + "code": "705070", + "name": "Product revenue account (test)", + } + ) + cls.fiscal_operation_id = cls.env.ref("l10n_br_fiscal.fo_venda") + cls.fiscal_operation_id.deductible_taxes = True + cls.fiscal_operation_line = cls.env.ref("l10n_br_fiscal.fo_venda_revenda") + product = cls.env.ref("product.product_product_7") + partner = cls.env.ref("base.res_partner_3") + invoice_line_vals = [ + Command.create( + { + "account_id": cls.invoice_line_account_id.id, + "fiscal_operation_line_id": cls.fiscal_operation_line.id, + "product_id": product.id, + "quantity": 1, + "price_unit": 1000.0, + "discount_value": 100.0, + } + ) + ] + + cls.move_id = ( + cls.env["account.move"] + .with_context(check_move_validity=False) + .create( + { + "company_id": cls.company.id, + "partner_id": partner.id, + "document_type_id": cls.env.ref("l10n_br_fiscal.document_55").id, + "document_serie_id": cls.env.ref( + "l10n_br_fiscal.empresa_lc_document_55_serie_1" + ).id, + "journal_id": cls.invoice_journal.id, + "invoice_user_id": cls.env.user.id, + "fiscal_operation_id": cls.fiscal_operation_id.id, + "move_type": "out_invoice", + "currency_id": cls.company.currency_id.id, + "invoice_line_ids": invoice_line_vals, + } + ) + ) + + def test_document_date(self): + self.move_id.issuer = DOCUMENT_ISSUER_PARTNER + user_tz = timezone(self.env.user.tz or "UTC") + original_date = datetime.combine(datetime.now().date(), time.min) + original_date_in_user_tz = ( + user_tz.localize(original_date).astimezone(UTC).replace(tzinfo=None) + ) + original_date_without_time = original_date_in_user_tz.date() + + self.move_id.invoice_date = original_date.date() + + self.assertEqual( + self.move_id.fiscal_document_id.document_date.date(), + original_date_without_time, + "Computed document date is incorrect", + ) + + def test_inverse_document_date(self): + self.move_id.issuer = DOCUMENT_ISSUER_PARTNER + new_date = datetime.now() - timedelta(days=2) + self.move_id.fiscal_document_id.document_date = new_date + + self.assertEqual( + self.move_id.invoice_date, + new_date.date(), + "Inverse computed invoice date is incorrect", + ) + + def test_date_in_out(self): + self.move_id.issuer = DOCUMENT_ISSUER_PARTNER + user_tz = timezone(self.env.user.tz or "UTC") + original_date = datetime.combine(datetime.now().date(), time.min) + original_date_in_user_tz = ( + user_tz.localize(original_date).astimezone(UTC).replace(tzinfo=None) + ) + original_date_without_time = original_date_in_user_tz.date() + self.move_id.date = original_date.date() + + self.assertEqual( + self.move_id.fiscal_document_id.date_in_out.date(), + original_date_without_time, + "Computed date in out is incorrect", + ) + + def test_inverse_date_in_out(self): + self.move_id.issuer = DOCUMENT_ISSUER_PARTNER + new_date = datetime.now() - timedelta(days=2) + self.move_id.fiscal_document_id.date_in_out = new_date + self.assertEqual( + self.move_id.date, + new_date.date(), + "Inverse computed account date is incorrect", + ) + + def test_discount(self): + line = self.move_id.invoice_line_ids + self.assertEqual(line.price_unit, 1000) + self.assertEqual(line.quantity, 1) + self.assertEqual(line.discount_value, 100) + self.assertEqual(line.discount, 10) + self.assertEqual(line.price_subtotal, 900) diff --git a/l10n_br_account/tests/test_move_edition.py b/l10n_br_account/tests/test_move_edition.py new file mode 100644 index 000000000000..ea039da9d162 --- /dev/null +++ b/l10n_br_account/tests/test_move_edition.py @@ -0,0 +1,577 @@ +# Copyright 2025-TODAY Akretion - Raphael Valyi +# License AGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html). + +import logging +from unittest import mock + +from odoo import Command, fields +from odoo.exceptions import UserError +from odoo.tests import TransactionCase +from odoo.tests.common import Form, tagged + +_logger = logging.getLogger(__name__) + + +class PatchedForm(Form): + def _cleanup_onchange(self, descr, value, current): + """ + Ignore "ValueError: Unsupported M2M command 0" in test_move_entry. + Not sure why this error happen, but it seems more like a bug in Form + than in l10n_br_account, so we ignore it. + """ + try: + return super()._cleanup_onchange(descr, value, current) + except ValueError as e: + _logger.debug(f"ignoring error {e}") + + +@tagged("post_install", "-at_install") +class TestMoveEdition(TransactionCase): + """ + Test basic invoicing scenarios through the user interface to ensure + expected fields are presents and that the fiscal "decoration" works + as expected in the account.move(.line). + """ + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.company = cls.env.ref("l10n_br_base.empresa_lucro_presumido") + cls.env = cls.env(context=dict(cls.env.context, allowed_company_ids=cls.company.ids)) + cls.env.user.company_id = cls.company + cls.out_invoice_account_id = cls.env["account.account"].create( + { + "company_id": cls.company.id, + "account_type": "asset_receivable", + "code": "RECTEST", + "name": "Test receivable account", + "reconcile": True, + } + ) + + cls.user = cls.env["res.users"].create( + { + "name": "Because I am accountman!", + "login": "accountman", + "password": "accountman", + "groups_id": [ + # we purposely don't give Fiscal access rights now to ensure + # non fiscal operations are still allowed + Command.set(cls.env.user.groups_id.ids), + Command.link(cls.env.ref("account.group_account_manager").id), + Command.link(cls.env.ref("account.group_account_user").id), + ], + } + ) + cls.user.partner_id.email = "accountman@test.com" + companies = cls.env["res.company"].search([]) + cls.user.write( + { + "company_ids": [Command.set(companies.ids)], + "company_id": cls.company.id, + } + ) + + cls.env = cls.env( + user=cls.user, context=dict(cls.env.context, tracking_disable=True) + ) + + cls.non_br_partner = cls.env["res.partner"].create( + {"name": "Non BR Invoicing Partner"} + ) + cls.product_id = cls.env.ref("product.product_product_7") + + def test_move_entry(self): + """ + Ensure Accounting Entries edition require no fiscal fields. + """ + + move_form = PatchedForm( + self.env["account.move"].with_context( + default_move_type="entry", + ) + ) + move_form.ref = "some_ref" + move_form.date = fields.Date.from_string("2025-01-01") + + with move_form.line_ids.new() as line_form: + line_form.account_id = self.out_invoice_account_id + line_form.debit = 10 + with self.assertRaises(UserError): # ensure not balanced is still checked + move_form.save() + + with move_form.line_ids.new() as line_form: + line_form.account_id = self.out_invoice_account_id + line_form.credit = 10 + move = move_form.save() + self.assertFalse(move.fiscal_document_id) + self.assertEqual(len(move.fiscal_document_ids), 0) + move.action_post() + self.assertEqual(move.state, "posted") + move.button_cancel() + self.assertEqual(move.state, "cancel") + + def test_out_non_fiscal_invoice(self): + """ + Ensure customer Invoice with no fiscal document type can be edited. + """ + + move_form = Form( + self.env["account.move"].with_context( + default_move_type="out_invoice", + ) + ) + move_form.partner_id = self.non_br_partner + move_form.ref = "some_ref" + with move_form.invoice_line_ids.new() as line_form: + line_form.name = "some line label" + line_form.price_unit = 42 + move = move_form.save() + self.assertFalse(move.fiscal_document_id) + self.assertEqual(len(move.fiscal_document_ids), 0) + self.assertEqual(move.amount_total, 42) + self.assertEqual(move.state, "draft") + move.action_post() + self.assertEqual(move.state, "posted") + move.button_cancel() + self.assertEqual(move.state, "cancel") + + def test_out_fiscal_invoice(self): + """ + Ensure customer Invoice with a fiscal document be edited. + """ + + # now user needs to be a Fiscal User: + self.user.groups_id += self.env.ref("l10n_br_fiscal.group_user") + self.user.groups_id += self.env.ref("uom.group_uom") + + nfe_user_group = self.env.ref( + "l10n_br_nfe.group_user", raise_if_not_found=False + ) + if nfe_user_group: + self.user.groups_id += nfe_user_group + + self.product_id.list_price = 150 # we will later test price_unit can be changed + + move_form = Form( + self.env["account.move"].with_context( + default_move_type="out_invoice", + no_fiscal_recompute_on_create=True, + default_company_id=self.company.id, + ) + ) + move_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente5_pe") + move_form.document_type_id = self.env.ref("l10n_br_fiscal.document_55") + with self.assertRaises(AssertionError): # missing fiscal fields + move_form.save() + + move_form.document_serie_id = self.env.ref( + "l10n_br_fiscal.empresa_lc_document_55_serie_1" + ) + with self.assertRaises(AssertionError): # missing fiscal fields + move_form.save() + + move_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda") + move_form.ind_final = "1" + with move_form.invoice_line_ids.new() as line_form: + original_method = type( + self.env["l10n_br_fiscal.operation.line"] + ).map_fiscal_taxes + + def wrapped_method(self, *args, **kwargs): + return original_method(self, *args, **kwargs) + + with mock.patch.object( + type(self.env["l10n_br_fiscal.operation.line"]), + "map_fiscal_taxes", + side_effect=wrapped_method, + autospec=True, + ) as mocked: + line_form.product_id = self.product_id + + # ensure the tax engine is called with the proper + # parameters, especially ind_final + # as it is related=document_id.ind_final + # which is converted to move_id.ind_final to work live + mocked.assert_called_with( + self.env.ref("l10n_br_fiscal.fo_venda_revenda"), + company=move_form.company_id, + partner=move_form.partner_id, + product=self.product_id, + ncm=self.product_id.ncm_id, + nbm=self.env["l10n_br_fiscal.nbm"], + nbs=self.env["l10n_br_fiscal.nbs"], + cest=self.env["l10n_br_fiscal.cest"], + city_taxation_code=self.env["l10n_br_fiscal.city.taxation.code"], + service_type=self.env["l10n_br_fiscal.service.type"], + ind_final="1", + ) + + # ensure manually setting a product_uom_id is properly sync'ed: + self.assertEqual(line_form.product_uom_id, self.env.ref("uom.product_uom_unit")) + self.assertEqual(line_form.uot_id, self.env.ref("uom.product_uom_unit")) + line_form.product_uom_id = self.env.ref("l10n_br_fiscal.UOM_PC") + self.assertEqual(line_form.uot_id, self.env.ref("l10n_br_fiscal.UOM_PC")) + line_form.uot_id = self.env.ref("uom.product_uom_unit") + + # TODO also change cfop + + line_form.price_unit = 42 + line_form.quantity = 5 + # self.assertEqual(line_form.fiscal_document_line_id.price_unit, 42) + + self.assertEqual(len(line_form.fiscal_tax_ids), 4) + self.assertEqual( + line_form.icms_tax_id, self.env.ref("l10n_br_fiscal.tax_icms_7") + ) + self.assertEqual( + line_form.ipi_tax_id, self.env.ref("l10n_br_fiscal.tax_ipi_nt") + ) + self.assertAlmostEqual(line_form.icms_value, 14.7, places=2) + + line_form.quantity = 10 + self.assertAlmostEqual(line_form.icms_value, 29.40, places=2) + + line_form.fiscal_operation_line_id = self.env.ref( + "l10n_br_fiscal.fo_venda_venda" + ) + self.assertEqual(len(line_form.fiscal_tax_ids), 4) + self.assertEqual( + line_form.icms_tax_id, self.env.ref("l10n_br_fiscal.tax_icms_7") + ) + self.assertEqual( + line_form.ipi_tax_id, self.env.ref("l10n_br_fiscal.tax_ipi_5") + ) + + # ensure manually setting a ncm_id is properly saved (not recomputed): + line_form.ncm_id = self.env.ref("l10n_br_fiscal.ncm_94013090") + + # ensure manually setting a xx_tax_id is properly saved (not recomputed): + line_form.icms_tax_id = self.env.ref("l10n_br_fiscal.tax_icms_18") + self.assertEqual(line_form.icms_value, 79.38) + self.assertEqual( + line_form.ipi_tax_id, self.env.ref("l10n_br_fiscal.tax_ipi_5") + ) + line_form.icmsfcp_base = line_form.price_unit + line_form.icmsfcp_value = 3 # ensure manually setting FCP value works + self.assertEqual(line_form.icmsfcp_value, 3) + + self.env.registry.track_add_to_compute = True + move = move_form.save() + + self.assertEqual(move.state, "draft") + self.assertEqual(move.state_edoc, "em_digitacao") + self.assertEqual(move.fiscal_document_id.document_serie, "1") + self.assertTrue(move.fiscal_document_id) + self.assertEqual(len(move.fiscal_document_ids), 1) + self.assertEqual(len(move.fiscal_line_ids), 1) + + # test "shadowed" fields: + self.assertEqual(move.partner_id, move.fiscal_document_id.partner_id) + self.assertEqual(move.currency_id, move.fiscal_document_id.currency_id) + self.assertEqual(move.company_id, move.fiscal_document_id.company_id) + self.assertEqual(move.user_id, move.fiscal_document_id.user_id) + + # test "shadowed" line fields: + aml = move.line_ids.filtered(lambda line: line.product_id)[0] + fisc_line = move.fiscal_line_ids[0] + self.assertEqual(aml.product_id, fisc_line.product_id) + self.assertEqual(aml.name, fisc_line.name) + self.assertEqual(aml.price_unit, 42) + self.assertEqual(aml.quantity, 10) + self.assertEqual(aml.quantity, fisc_line.quantity) + self.assertEqual(aml.price_unit, fisc_line.price_unit) + + self.assertEqual( + aml.fiscal_operation_line_id, + self.env.ref("l10n_br_fiscal.fo_venda_venda"), + ) + + self.assertEqual( + aml.icms_tax_id.name, self.env.ref("l10n_br_fiscal.tax_icms_18").name + ) + self.assertEqual(aml.ipi_tax_id, self.env.ref("l10n_br_fiscal.tax_ipi_5")) + self.assertEqual(aml.icms_value, 79.38) + self.assertEqual(aml.icmsfcp_base, aml.price_unit) + self.assertEqual(aml.icmsfcp_value, 3) + + # NCM entered manually must be maintained, + # it must not be the same as the product. + self.assertEqual( + aml.ncm_id.code, self.env.ref("l10n_br_fiscal.ncm_94013090").code + ) + self.assertNotEqual(aml.ncm_id.code, self.product_id.ncm_id.code) + + self.assertEqual(aml.uom_id, self.env.ref("l10n_br_fiscal.UOM_PC")) + self.assertEqual(aml.uot_id, self.env.ref("uom.product_uom_unit")) + self.assertEqual( + aml.fiscal_document_line_id.uom_id, self.env.ref("l10n_br_fiscal.UOM_PC") + ) + self.assertEqual( + aml.fiscal_document_line_id.uot_id, self.env.ref("uom.product_uom_unit") + ) + + move.action_post() + self.assertEqual(move.state, "posted") + move.button_cancel() + self.assertEqual(move.state, "cancel") + move.button_draft() + self.assertEqual(move.state, "draft") + + def test_in_non_fiscal_invoice(self): + """ + Ensure supplier Invoice with no fiscal document type can be edited. + """ + + move_form = Form( + self.env["account.move"].with_context( + default_move_type="in_invoice", + ) + ) + move_form.partner_id = self.non_br_partner + move_form.ref = "some_ref" + move_form.invoice_date = fields.Date.from_string("2025-01-01") + with move_form.invoice_line_ids.new() as line_form: + line_form.name = "some line label" + line_form.price_unit = 42 + move = move_form.save() + self.assertFalse(move.fiscal_document_id) + self.assertEqual(len(move.fiscal_document_ids), 0) + self.assertEqual(move.amount_total, 42) + self.assertEqual(move.state, "draft") + move.action_post() + self.assertEqual(move.state, "posted") + move.button_cancel() + self.assertEqual(move.state, "cancel") + + def test_in_fiscal_invoice(self): + """ + Ensure customer Invoice with a fiscal document be edited. + """ + + # now user needs to be a Fiscal User: + self.user.groups_id += self.env.ref("l10n_br_fiscal.group_user") + nfe_user_group = self.env.ref( + "l10n_br_nfe.group_user", raise_if_not_found=False + ) + if nfe_user_group: + self.user.groups_id += nfe_user_group + + move_form = Form( + self.env["account.move"].with_context( + default_move_type="in_invoice", + ) + ) + move_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente5_pe") + move_form.document_type_id = self.env.ref("l10n_br_fiscal.document_55") + with self.assertRaises(AssertionError): # missing fiscal fields + move_form.save() + + move_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_compras") + + with self.assertRaises(AssertionError): # not visible for supplier invoice + move_form.document_serie_id = self.env.ref( + "l10n_br_fiscal.empresa_lc_document_55_serie_1" + ) + + with self.assertRaises(AssertionError): # missing fiscal fields + move_form.save() + + move_form.document_serie = "1" + move_form.document_number = "123" + move_form.invoice_date = fields.Date.from_string("2025-01-01") + + with move_form.invoice_line_ids.new() as line_form: + line_form.product_id = self.product_id + line_form.price_unit = 42 + line_form.quantity = 42 + + move = move_form.save() + + self.assertEqual(move.state, "draft") + self.assertEqual(move.state_edoc, "em_digitacao") + self.assertEqual(move.fiscal_document_id.document_serie, "1") + self.assertTrue(move.fiscal_document_id) + self.assertEqual(len(move.fiscal_document_ids), 1) + self.assertEqual(len(move.fiscal_line_ids), 1) + + # test "shadowed" fields: + self.assertEqual(move.partner_id, move.fiscal_document_id.partner_id) + self.assertEqual(move.currency_id, move.fiscal_document_id.currency_id) + self.assertEqual(move.company_id, move.fiscal_document_id.company_id) + self.assertEqual(move.user_id, move.fiscal_document_id.user_id) + + # test "shadowed" line fields: + aml = move.line_ids.filtered(lambda line: line.product_id)[0] + fisc_line = move.fiscal_line_ids[0] + self.assertEqual(aml.product_id, fisc_line.product_id) + self.assertEqual(aml.name, fisc_line.name) + self.assertEqual(aml.quantity, fisc_line.quantity) + self.assertEqual(aml.price_unit, fisc_line.price_unit) + + self.assertEqual( + aml.fiscal_operation_line_id, + self.env.ref("l10n_br_fiscal.fo_compras_compras_comercializacao"), + ) + + move.action_post() + self.assertEqual(move.state, "posted") + move.button_cancel() + self.assertEqual(move.state, "cancel") + move.button_draft() + self.assertEqual(move.state, "draft") + + def test_product_fiscal_price_and_qty_edition(self): + self.user.groups_id += self.env.ref("l10n_br_fiscal.group_user") + nfe_user_group = self.env.ref( + "l10n_br_nfe.group_user", raise_if_not_found=False + ) + if nfe_user_group: + self.user.groups_id += nfe_user_group + + move_form = Form( + self.env["account.move"].with_context( + default_move_type="out_invoice", + ) + ) + move_form.company_id = self.env.ref("l10n_br_base.empresa_lucro_presumido") + move_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente1_sp") + move_form.document_type_id = self.env.ref("l10n_br_fiscal.document_55") + move_form.document_serie_id = self.env.ref( + "l10n_br_fiscal.empresa_lc_document_55_serie_1" + ) + move_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda") + move_form.ind_final = "1" + product_id = self.env.ref("product.product_product_6") + product_id.list_price = 100 + with move_form.invoice_line_ids.new() as line_form: + line_form.product_id = self.product_id + line_form.price_unit = 110 + line_form.quantity = 10 + line_form.fiscal_price = 112 + line_form.fiscal_quantity = 5 + + move = move_form.save() + self.assertEqual(move.fiscal_line_ids[0].price_unit, 110) + self.assertEqual(move.fiscal_line_ids[0].fiscal_price, 112) + self.assertEqual(move.fiscal_line_ids[0].quantity, 10) + self.assertEqual(move.fiscal_line_ids[0].fiscal_quantity, 5) + + def test_product_fiscal_factor(self): + self.user.groups_id += self.env.ref("l10n_br_fiscal.group_user") + nfe_user_group = self.env.ref( + "l10n_br_nfe.group_user", raise_if_not_found=False + ) + if nfe_user_group: + self.user.groups_id += nfe_user_group + + move_form = Form( + self.env["account.move"].with_context( + default_move_type="out_invoice", + ) + ) + move_form.company_id = self.env.ref("l10n_br_base.empresa_lucro_presumido") + move_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente1_sp") + move_form.document_type_id = self.env.ref("l10n_br_fiscal.document_55") + move_form.document_serie_id = self.env.ref( + "l10n_br_fiscal.empresa_lc_document_55_serie_1" + ) + move_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda") + product_id = self.env.ref("product.product_product_6") + product_id.uot_factor = 2 + with move_form.invoice_line_ids.new() as line_form: + line_form.product_id = product_id + line_form.price_unit = 100 + line_form.quantity = 10 + + doc = move_form.save() + self.assertEqual(doc.fiscal_line_ids[0].price_unit, 100) + self.assertEqual(doc.fiscal_line_ids[0].fiscal_price, 50) + self.assertEqual(doc.fiscal_line_ids[0].quantity, 10) + self.assertEqual(doc.fiscal_line_ids[0].fiscal_quantity, 20) + + def test_move_landed_costs_by_line_and_by_total(self): + """ + Tests landed cost scenarios on an account.move form. + 1. By Line: Enters costs on lines and verifies the header totals. + 2. By Total: Enters costs on the header and verifies distribution to lines. + """ + self.user.groups_id += self.env.ref("l10n_br_fiscal.group_user") + self.user.groups_id += self.env.ref("l10n_br_account.group_line_fiscal_detail") + + product1 = self.env.ref("product.product_product_6") + product2 = self.env.ref("product.product_product_7") + + # Part 1: Test with delivery_costs = 'line' + self.company.delivery_costs = "line" + move_form = Form( + self.env["account.move"].with_context(default_move_type="out_invoice") + ) + move_form.company_id = self.company + move_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente1_sp") + move_form.document_type_id = self.env.ref("l10n_br_fiscal.document_55") + move_form.document_serie_id = self.env.ref( + "l10n_br_fiscal.empresa_lc_document_55_serie_1" + ) + move_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda") + + with move_form.invoice_line_ids.new() as line1: + line1.product_id = product1 + line1.fiscal_operation_line_id = self.env.ref( + "l10n_br_fiscal.fo_venda_venda" + ) + line1.price_unit = 1000.0 + line1.quantity = 2.0 + line1.freight_value = 10.0 + line1.insurance_value = 20.0 + line1.other_value = 5.0 + + with move_form.invoice_line_ids.new() as line2: + line2.product_id = product2 + line2.fiscal_operation_line_id = self.env.ref( + "l10n_br_fiscal.fo_venda_venda" + ) + line2.price_unit = 500.0 + line2.quantity = 1.0 + line2.freight_value = 4.0 + line2.insurance_value = 6.0 + line2.other_value = 2.0 + + move = move_form.save() + + self.assertEqual(move.company_id.delivery_costs, "line") + self.assertAlmostEqual(move.amount_freight_value, 14.0) + self.assertAlmostEqual(move.amount_insurance_value, 26.0) + self.assertAlmostEqual(move.amount_other_value, 7.0) + self.assertAlmostEqual(move.fiscal_amount_untaxed, 2547.00) + # Corrected assertion: (2035 * 3.25%) + (512 * 5%) = 66.14 + 25.60 = 91.74 + self.assertAlmostEqual(move.fiscal_amount_tax, 91.74, places=2) + # Corrected assertion: 2547.00 + 91.74 = 2638.74 + self.assertAlmostEqual(move.fiscal_amount_total, 2638.74, places=2) + self.assertAlmostEqual(move.amount_total, 2638.74, places=2) + + # Part 2: Test with delivery_costs = 'total' + self.company.delivery_costs = "total" + move_form_edit = Form(move) + move_form_edit.amount_freight_value = 30.0 + move_form_edit.amount_insurance_value = 60.0 + move_form_edit.amount_other_value = 90.0 + move_after_total_update = move_form_edit.save() + + line1 = move_after_total_update.invoice_line_ids[0] + line2 = move_after_total_update.invoice_line_ids[1] + + self.assertAlmostEqual(line1.freight_value, 24.0) + self.assertAlmostEqual(line2.freight_value, 6.0) + self.assertAlmostEqual(line1.insurance_value, 48.0) + self.assertAlmostEqual(line2.insurance_value, 12.0) + self.assertAlmostEqual(line1.other_value, 72.0) + self.assertAlmostEqual(line2.other_value, 18.0) + self.assertAlmostEqual(move_after_total_update.fiscal_amount_untaxed, 2680.00) + self.assertAlmostEqual( + move_after_total_update.fiscal_amount_tax, 96.48, places=2 + ) + self.assertAlmostEqual( + move_after_total_update.fiscal_amount_total, 2776.48, places=2 + ) + self.assertAlmostEqual(move_after_total_update.amount_total, 2776.48, places=2) diff --git a/l10n_br_account/tests/test_multi_localizations_invoice.py b/l10n_br_account/tests/test_multi_localizations_invoice.py new file mode 100644 index 000000000000..fb39398f503f --- /dev/null +++ b/l10n_br_account/tests/test_multi_localizations_invoice.py @@ -0,0 +1,193 @@ +# Copyright (C) 2023 - TODAY Raphaël Valyi - Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo.tests.common import tagged +from odoo.tests.suite import OdooSuite + +_logger = logging.getLogger(__name__) + + +# ruff: noqa: E501 - line too long +def addTest(self, test): + """ + This monkey patch is required to avoid triggering all the tests from + TestAccountMoveOutInvoiceOnchanges when it is imported. + see https://stackoverflow.com/questions/69091760/how-can-i-import-a-testclass-properly-to-inherit-from-without-it-being-run-as-a + """ + if type(test).__name__ == "MultiLocalizationsInvoice": + if test._testMethodName.startswith("test_force_"): + # in our MultiLocalizationInvoice class tests should start + # with test_force_ to be enabled in the test suite. + return OdooSuite.addTest._original_method(self, test) + + elif type(test).__name__ != "TestAccountMoveOutInvoiceOnchanges": + return OdooSuite.addTest._original_method(self, test) + + +addTest._original_method = OdooSuite.addTest +OdooSuite.addTest = addTest + + +# flake8: noqa: E402 - module level import not at top of file +from odoo.addons.account.tests.test_account_move_out_invoice import ( + TestAccountMoveOutInvoiceOnchanges, +) + + +@tagged("post_install", "-at_install") +class MultiLocalizationsInvoice(TestAccountMoveOutInvoiceOnchanges): + """ + This is a simple test for ensuring l10n_br_account doesn't break the basic + account module behavior with customer invoices. + """ + + @classmethod + def setup_company_data(cls, company_name, chart_template=None, **kwargs): + usa = cls.env.ref("base.us").id # would be Brazil by default otherwise + return super().setup_company_data( + company_name, chart_template, country_id=usa, **kwargs + ) + + @classmethod + def setUpClass(cls, chart_template_ref=None): + res = super().setUpClass(chart_template_ref) + # FIXME the following line should not be required but as for + # now if we don't add this group, creating a refund will result + # in an attempt to create a l10n_br_fiscal.subsequent.document record. + cls.env.user.groups_id |= cls.env.ref("l10n_br_fiscal.group_manager") + return res + + # The following tests list is taken with + # cat addons/account/tests/test_account_move_out_invoice.py | grep "def test_" + # then the following script will format the lines: + # for line in lines.splitlines(): + # print(line.replace("def test_", "def test_force_")) + # print(line.replace("def ", " super().").replace("(self):", "()") + "\n") + # + # ideally they should made to pass for a True multi-localizations compatibility + + def test_force_out_invoice_onchange_invoice_date(self): + return super().test_out_invoice_onchange_invoice_date() + + def test_force_out_invoice_line_onchange_product_1(self): + return super().test_out_invoice_line_onchange_product_1() + + def test_force_out_invoice_line_onchange_product_2_with_fiscal_pos_1(self): + return super().test_out_invoice_line_onchange_product_2_with_fiscal_pos_1() + + def test_force_out_invoice_line_onchange_product_2_with_fiscal_pos_2(self): + return super().test_out_invoice_line_onchange_product_2_with_fiscal_pos_2() + + # doesn't work because of the way l10n_br_account deals with discount + # def test_force_out_invoice_line_onchange_business_fields_1(self): + # return super().test_out_invoice_line_onchange_business_fields_1() + + # def test_force_out_invoice_line_onchange_accounting_fields_1(self): + # FIXME this test works with most of the l10n-brazil modules + # but fails because of _order = "date desc, date_maturity ASC, id desc" + # inside l10n_br_account_payment_order/models/account_move_line.py + # return super().test_out_invoice_line_onchange_accounting_fields_1() + + def test_force_out_invoice_line_onchange_partner_1(self): + return super().test_out_invoice_line_onchange_partner_1() + + def test_force_out_invoice_line_onchange_taxes_1(self): + return super().test_out_invoice_line_onchange_taxes_1() + + def test_force_out_invoice_line_onchange_rounding_price_subtotal_1(self): + return super().test_out_invoice_line_onchange_rounding_price_subtotal_1() + + def test_force_out_invoice_line_onchange_rounding_price_subtotal_2(self): + return super().test_out_invoice_line_onchange_rounding_price_subtotal_2() + + def test_force_out_invoice_line_onchange_taxes_2_price_unit_tax_included(self): + return super().test_out_invoice_line_onchange_taxes_2_price_unit_tax_included() + + def test_force_out_invoice_line_onchange_analytic(self): + return super().test_out_invoice_line_onchange_analytic() + + def test_force_out_invoice_line_onchange_analytic_2(self): + return super().test_out_invoice_line_onchange_analytic_2() + + def test_force_out_invoice_line_onchange_cash_rounding_1(self): + return super().test_out_invoice_line_onchange_cash_rounding_1() + + def test_force_out_invoice_line_onchange_currency_1(self): + return super().test_out_invoice_line_onchange_currency_1() + + def test_force_out_invoice_line_tax_fixed_price_include_free_product(self): + return super().test_out_invoice_line_tax_fixed_price_include_free_product() + + def test_force_out_invoice_line_taxes_fixed_price_include_free_product(self): + return super().test_out_invoice_line_taxes_fixed_price_include_free_product() + + def test_force_out_invoice_create_refund(self): + return super().test_out_invoice_create_refund() + + def test_force_out_invoice_create_refund_multi_currency(self): + return super().test_out_invoice_create_refund_multi_currency() + + def test_force_out_invoice_create_refund_auto_post(self): + return super().test_out_invoice_create_refund_auto_post() + + def test_force_out_invoice_create_1(self): + return super().test_out_invoice_create_1() + + def test_force_out_invoice_create_child_partner(self): + return super().test_out_invoice_create_child_partner() + + def test_force_out_invoice_write_1(self): + return super().test_out_invoice_write_1() + + def test_force_out_invoice_write_2(self): + return super().test_out_invoice_write_2() + + def test_force_out_invoice_post_1(self): + return super().test_out_invoice_post_1() + + def test_force_out_invoice_post_2(self): + return super().test_out_invoice_post_2() + + def test_force_out_invoice_switch_out_refund_1(self): + return super().test_out_invoice_switch_out_refund_1() + + def test_force_out_invoice_switch_out_refund_2(self): + return super().test_out_invoice_switch_out_refund_2() + + def test_force_out_invoice_reverse_move_tags(self): + return super().test_out_invoice_reverse_move_tags() + + def test_force_out_invoice_change_period_accrual_1(self): + return super().test_out_invoice_change_period_accrual_1() + + def test_force_out_invoice_multi_date_change_period_accrual(self): + return super().test_out_invoice_multi_date_change_period_accrual() + + def test_force_out_invoice_filter_zero_balance_lines(self): + return super().test_out_invoice_filter_zero_balance_lines() + + def test_force_out_invoice_recomputation_receivable_lines(self): + return super().test_out_invoice_recomputation_receivable_lines() + + def test_force_out_invoice_rounding_recomputation_receivable_lines(self): + return super().test_out_invoice_rounding_recomputation_receivable_lines() + + def test_force_out_invoice_multi_company(self): + return super().test_out_invoice_multi_company() + + def test_force_out_invoice_multiple_switch_payment_terms(self): + return super().test_out_invoice_multiple_switch_payment_terms() + + def test_force_out_invoice_copy_custom_date(self): + return super().test_out_invoice_copy_custom_date() + + def test_force_out_invoice_note_and_tax_partner_is_set(self): + return super().test_out_invoice_note_and_tax_partner_is_set() + + def test_force_out_invoice_reverse_caba(self): + return super().test_out_invoice_reverse_caba() + + def test_force_out_invoice_depreciated_account(self): + return super().test_out_invoice_depreciated_account() diff --git a/l10n_br_account/tests/test_payment_status.py b/l10n_br_account/tests/test_payment_status.py new file mode 100644 index 000000000000..d3927dfdc976 --- /dev/null +++ b/l10n_br_account/tests/test_payment_status.py @@ -0,0 +1,69 @@ +# Copyright 2025 - Engenere (). +# @author Antônio S. Pereira Neto +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields +from odoo.tests.common import Form, tagged + +from odoo.addons.mail.tests.common import MailCommon + +from .common import AccountMoveBRCommon + + +@tagged("post_install", "-at_install") +class TestPaymentStatusBR(AccountMoveBRCommon, MailCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + # Enable tracking (needed by this scenario) + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=False)) + cls.configure_normal_company_taxes() + + def test_payment_status_partial_paid_partial(self): + invoice = self.init_invoice( + "out_invoice", + products=[self.product_a], + document_type=self.env.ref("l10n_br_fiscal.document_55"), + document_serie_id=self.empresa_lc_document_55_serie_1, + fiscal_operation=self.env.ref("l10n_br_fiscal.fo_venda"), + fiscal_operation_lines=[self.env.ref("l10n_br_fiscal.fo_venda_venda")], + ) + invoice.action_post() + self.assertEqual(invoice.payment_state, "not_paid") + self.assertEqual(invoice.amount_residual, 1032.5) + + # First partial payment + self._register_payment(invoice, 600.0) + self.assertEqual(invoice.payment_state, "partial") + + # Second partial payment (completes amount) + pmt2 = self._register_payment(invoice, 432.5) + self.assertEqual(invoice.payment_state, "paid") + self.assertEqual(invoice.amount_residual, 0.0) + self.flush_tracking() + + # Remove pmt2 partial reconciliation and assert effects + def _is_receivable(line): + return line.account_id.account_type == "asset_receivable" + + inv_recv = invoice.line_ids.filtered(_is_receivable) + pay_recv = pmt2.line_ids.filtered(_is_receivable) + partial_to_remove = inv_recv.matched_credit_ids & pay_recv.matched_debit_ids + invoice.js_remove_outstanding_partial(partial_to_remove.id) + + self.assertEqual(invoice.amount_residual, 432.5) + self.assertEqual(invoice.payment_state, "partial") + + def _register_payment(self, invoice, amount): + bank_journal = self.company_data["default_journal_bank"] + with Form( + self.env["account.payment.register"].with_context( + active_model="account.move", active_ids=invoice.ids + ) + ) as wiz_form: + wiz_form.journal_id = bank_journal + wiz_form.payment_date = fields.Date.today() + wiz_form.amount = amount + wiz = wiz_form.save() + payments = wiz._create_payments() + return payments diff --git a/l10n_br_account/views/account_move_view.xml b/l10n_br_account/views/account_move_view.xml new file mode 100644 index 000000000000..b7ac2341ea73 --- /dev/null +++ b/l10n_br_account/views/account_move_view.xml @@ -0,0 +1,555 @@ + + + + + l10n_br_account.invoice.search + account.move + + + + + + + + + ['|','|','|', '|', ('document_number','ilike',self), ('name','ilike',self), ('invoice_origin','ilike',self), ('ref', 'ilike', self), ('partner_id', 'child_of', self)] + Account Number + + + + + + l10n_br_account.invoice.tree + account.move + + + + + + + + + document_type_id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + 'default_move_type': context.get('default_move_type'), + 'journal_id': journal_id, + 'default_ind_final': ind_final, + 'default_partner_id': commercial_partner_id, + 'default_proxy_partner_id': commercial_partner_id, + 'default_proxy_company_id': company_id, + 'default_currency_id': currency_id or company_currency_id, + 'default_fiscal_operation_id': fiscal_operation_id, + 'default_document_type_id': document_type_id, + 'default_document_id': fiscal_document_id + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + 'default_move_type': context.get('default_move_type'), + 'line_ids': line_ids, + 'journal_id': journal_id, + 'default_partner_id': commercial_partner_id, + 'default_ind_final': ind_final, + 'default_proxy_partner_id': commercial_partner_id, + 'default_proxy_company_id': company_id, + 'default_currency_id': currency_id or company_currency_id, + 'default_fiscal_operation_id': fiscal_operation_id, + 'default_document_type_id': document_type_id, + 'default_document_id': fiscal_document_id, + 'default_exclude_from_invoice_tab': 1 + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [('type_tax_use', '=?', parent.invoice_filter_type_domain), ('company_id', '=', parent.company_id)] + {'append_type_to_tax_name': not parent.invoice_filter_type_domain} + {'no_create': True} + 1 + + + + + + context.get('default_move_type') in ('out_invoice', 'out_refund', 'out_receipt') and [('sale_ok', '=', True), '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)] or [('purchase_ok', '=', True), '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)] + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/l10n_br_account/views/fiscal_operation_line_view.xml b/l10n_br_account/views/fiscal_operation_line_view.xml new file mode 100644 index 000000000000..b7df86cedcc8 --- /dev/null +++ b/l10n_br_account/views/fiscal_operation_line_view.xml @@ -0,0 +1,18 @@ + + + + + fiscal.operation.line.form + l10n_br_fiscal.operation.line + + + + + + + + diff --git a/l10n_br_account/views/fiscal_operation_view.xml b/l10n_br_account/views/fiscal_operation_view.xml new file mode 100644 index 000000000000..9ce5cef8f377 --- /dev/null +++ b/l10n_br_account/views/fiscal_operation_view.xml @@ -0,0 +1,59 @@ + + + + + fiscal.operation.search + l10n_br_fiscal.operation + + + + + + + + + + fiscal.operation.tree + l10n_br_fiscal.operation + + + + + + + + + + fiscal.operation.form + l10n_br_fiscal.operation + + + + + + + + + + + + + + + + diff --git a/l10n_br_account/views/res_partner_view.xml b/l10n_br_account/views/res_partner_view.xml new file mode 100644 index 000000000000..ea700b0fea74 --- /dev/null +++ b/l10n_br_account/views/res_partner_view.xml @@ -0,0 +1,40 @@ + + + + + + + l10n_br_account.res.partner.form + res.partner + 99 + + + +
+ + + + + + + + + + + + + + + + diff --git a/l10n_br_account/wizards/__init__.py b/l10n_br_account/wizards/__init__.py new file mode 100644 index 000000000000..69908b05b97e --- /dev/null +++ b/l10n_br_account/wizards/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import account_move_reversal +from . import document_import_wizard diff --git a/l10n_br_account/wizards/account_move_reversal.py b/l10n_br_account/wizards/account_move_reversal.py new file mode 100644 index 000000000000..ba45dbe43c68 --- /dev/null +++ b/l10n_br_account/wizards/account_move_reversal.py @@ -0,0 +1,41 @@ +# Copyright (C) 2013 Florian da Costa - Akretion +# Copyright (C) 2021 Luis Felipe Miléo - KMEE +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + + +from odoo import api, fields, models + + +class AccountMoveReversal(models.TransientModel): + _inherit = "account.move.reversal" + + journal_id = fields.Many2one( + compute="_compute_journal_id", + store=True, + precompute=True, + ) + + force_fiscal_operation_id = fields.Many2one( + comodel_name="l10n_br_fiscal.operation", string="Force Fiscal Operation" + ) + + force_fiscal_operation_journal_id = fields.Many2one( + related="force_fiscal_operation_id.journal_id", + ) + + def reverse_moves(self, is_modify=False): + self.ensure_one() + return super( + AccountMoveReversal, + self.with_context( + force_fiscal_operation_id=self.force_fiscal_operation_id.id + ), + ).reverse_moves(is_modify) + + @api.depends("move_ids", "force_fiscal_operation_id") + def _compute_journal_id(self): + for record in self: + if record.force_fiscal_operation_id.journal_id: + record.journal_id = record.force_fiscal_operation_id.journal_id + else: + return super()._compute_journal_id() diff --git a/l10n_br_account/wizards/account_move_reversal_view.xml b/l10n_br_account/wizards/account_move_reversal_view.xml new file mode 100644 index 000000000000..ecf60c2df6cf --- /dev/null +++ b/l10n_br_account/wizards/account_move_reversal_view.xml @@ -0,0 +1,17 @@ + + + + account.move.reversal.form + account.move.reversal + + + + + + + + force_fiscal_operation_journal_id + + + + diff --git a/l10n_br_account/wizards/document_import_wizard.py b/l10n_br_account/wizards/document_import_wizard.py new file mode 100644 index 000000000000..17894b72f40e --- /dev/null +++ b/l10n_br_account/wizards/document_import_wizard.py @@ -0,0 +1,121 @@ +# Copyright 2023 Akretion (Raphaẽl Valyi ) +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + + +from odoo import _, fields, models + + +class DocumentImportWizard(models.TransientModel): + """ + Extend the generic Document Importer so that importing + a fiscal document will also create an account move and so + it can be used sequencially with several attachments from + the vendor bills upload button. + """ + + _inherit = "l10n_br_fiscal.document.import.wizard" + + # a transient wizard cannot be linked to any persistent + # account.move record. So in case the user upload several + # attachments, the solution we implemented + # is to store the id of the 1st imported move and redirect + # to the next imported account.move from there. + first_imported_move_id = fields.Integer() + + def action_import_and_open_move(self): + """ + This is the import wizard confirmation action that will + trigger the account.move importation for the current file. + After the importation, it either redirect for processing + the next file if any, either it redirect to the imported + account.move(s) at the end of the attachments sequence. + """ + _binding, fiscal_document = self._import_edoc() + move_type = f"{self.fiscal_operation_type}_invoice" + move_id = ( + self.env["account.move"] + .import_fiscal_document( + fiscal_document, + move_type=move_type, + ) + .id + ) + + attachments = ( + self.env["ir.attachment"] + .sudo() + .search( + [ + ("res_model", "=", "l10n_br_fiscal.document.import.wizard"), + ("res_id", "=", self.id), + ("create_uid", "=", self._uid), + ], + order="id", + ) + ) + if attachments: + # then we should link the current attachment + # to the imported account.move + attachments[0].res_model = "account.move" + attachments[0].res_id = move_id + + if len(attachments) > 1: + # process the next files to import: + return self._get_importer_action(attachments[1:], move_id=move_id) + + else: + # no more file to import + if not self.first_imported_move_id: + # only one imported account move: + return { + "name": _("Imported Invoice"), + "type": "ir.actions.act_window", + "target": "current", + "views": [[False, "form"]], + "res_id": move_id, + "res_model": "account.move", + } + else: # several imported account moves: + moves = self.env["account.move"].search( + [ + ("imported_document", "=", True), + ("id", ">=", self.first_imported_move_id), + ("create_uid", "=", self._uid), + ] + ) + return { + "name": _("Imported Invoices"), + "type": "ir.actions.act_window", + "target": "current", + "views": [[False, "tree"], [False, "form"]], + "res_ids": moves.ids, + "res_model": "account.move", + } + + def _get_importer_action(self, attachments, move_id=None): + """ + Try to parse the 1st file of the the attachments to + detect its type and return the wizard import action. + Also mark the other attachments to be imported next. + """ + wizard = self.env["l10n_br_fiscal.document.import.wizard"].create( + { + "file": attachments[0].datas, + "first_imported_move_id": self.first_imported_move_id or move_id, + } + ) + + for attachment in attachments: + # this link will allow to retrieve the next attachments to import: + attachment.res_model = "l10n_br_fiscal.document.import.wizard" + attachment.res_id = wizard.id + + wizard._onchange_file() + return { + "name": _("Adjust Importation"), + "type": "ir.actions.act_window", + "target": "new", + "views": [[False, "form"]], + "res_id": wizard.id, + "res_model": "l10n_br_fiscal.document.import.wizard", + } diff --git a/l10n_br_account/wizards/document_import_wizard.xml b/l10n_br_account/wizards/document_import_wizard.xml new file mode 100644 index 000000000000..38ef23b5aa8a --- /dev/null +++ b/l10n_br_account/wizards/document_import_wizard.xml @@ -0,0 +1,20 @@ + + + + + l10n_br_account.document.import.wizard.form + l10n_br_fiscal.document.import.wizard + + + + + + diff --git a/l10n_br_account/wizards/wizard_document_status.xml b/l10n_br_account/wizards/wizard_document_status.xml new file mode 100644 index 000000000000..a2696ac88d5f --- /dev/null +++ b/l10n_br_account/wizards/wizard_document_status.xml @@ -0,0 +1,12 @@ + + + + + Document Status + l10n_br_fiscal.document.status.wizard + form + + new + + diff --git a/l10n_br_fiscal/__manifest__.py b/l10n_br_fiscal/__manifest__.py index b5e247ef0058..34df858d94d4 100644 --- a/l10n_br_fiscal/__manifest__.py +++ b/l10n_br_fiscal/__manifest__.py @@ -114,7 +114,13 @@ ], "assets": { "web.assets_backend": [ - # "l10n_br_fiscal/static/src/js/list_renderer_with_button.esm.js", + # THE OLD ONE: "l10n_br_fiscal/static/src/js/list_renderer_with_button.esm.js", + # + # NEW ATTEMPT: + # "l10n_br_fiscal/static/src/xml/line_view_popup_button.xml", + # "l10n_br_fiscal/static/src/js/line_view_popup_button.js", + # "l10n_br_fiscal/static/src/js/x2many_field_patch.js", + # "l10n_br_fiscal/static/src/js/list_renderer_patch.js", ], }, "demo": [ diff --git a/l10n_br_fiscal/models/tax.py b/l10n_br_fiscal/models/tax.py index 6176a00b8068..ee6bc51fc75e 100644 --- a/l10n_br_fiscal/models/tax.py +++ b/l10n_br_fiscal/models/tax.py @@ -242,8 +242,8 @@ def cst_from_tax(self, fiscal_operation_type=FISCAL_OUT): @api.model def _compute_tax_base(self, tax, tax_dict, **kwargs): - company = kwargs.get("company", tax.env.company) - currency = kwargs.get("currency", company.currency_id) + company = kwargs.get("company") or tax.env.company + currency = kwargs.get("currency") or company.currency_id fiscal_price = kwargs.get("fiscal_price", 0.00) fiscal_quantity = kwargs.get("fiscal_quantity", 0.00) compute_reduction = kwargs.get("compute_reduction", True) @@ -316,8 +316,8 @@ def _compute_tax_base(self, tax, tax_dict, **kwargs): def _compute_tax(self, tax, taxes_dict, **kwargs): """Generic calculation of Brazilian taxes""" - company = kwargs.get("company", tax.env.company) - currency = kwargs.get("currency", company.currency_id) + company = kwargs.get("company") or tax.env.company + currency = kwargs.get("currency") or company.currency_id operation_line = kwargs.get("operation_line") fiscal_operation_type = operation_line.fiscal_operation_type or FISCAL_OUT @@ -361,11 +361,11 @@ def _compute_tax(self, tax, taxes_dict, **kwargs): @api.model def _compute_estimate_taxes(self, **kwargs): - company = kwargs.get("company") + company = kwargs.get("company") or self.env.company product = kwargs.get("product") fiscal_price = kwargs.get("fiscal_price") fiscal_quantity = kwargs.get("fiscal_quantity") - currency = kwargs.get("currency", company.currency_id) + currency = kwargs.get("currency") or company.currency_id ncm = kwargs.get("ncm") or product.ncm_id nbs = kwargs.get("nbs") or product.nbs_id icms_origin = kwargs.get("icms_origin") or product.icms_origin diff --git a/l10n_br_fiscal/static/src/js/line_view_popup_button.js b/l10n_br_fiscal/static/src/js/line_view_popup_button.js new file mode 100644 index 000000000000..39a315fa1638 --- /dev/null +++ b/l10n_br_fiscal/static/src/js/line_view_popup_button.js @@ -0,0 +1,34 @@ +/** @odoo-module **/ + +import {registry} from "@web/core/registry"; +import {Component} from "@odoo/owl"; +import {standardFieldProps} from "@web/views/fields/standard_field_props"; + +class LineViewPopupButton extends Component { + static template = "l10n_br_account.LineViewPopupButton"; + static props = {...standardFieldProps}; + + setup() { + // This log will confirm the widget is being created for each row. + console.log("LineViewPopupButton setup for record:", this.props.record.resId); + } + + onClick() { + // This log will now appear thanks to ".stop" in the template. + console.log( + "LineViewPopupButton onClick triggered for record:", + this.props.record.resId + ); + if (this.props.record) { + this.env.bus.trigger("OPEN_LINE_IN_POPUP", { + record: this.props.record, + }); + } + } +} + +export const lineViewPopupButton = { + component: LineViewPopupButton, +}; + +registry.category("view_widgets").add("line_view_popup_button", lineViewPopupButton); diff --git a/l10n_br_fiscal/static/src/js/list_renderer_patch.js b/l10n_br_fiscal/static/src/js/list_renderer_patch.js new file mode 100644 index 000000000000..60814e92f010 --- /dev/null +++ b/l10n_br_fiscal/static/src/js/list_renderer_patch.js @@ -0,0 +1,66 @@ +/** @odoo-module **/ + +import {useBus, useService} from "@web/core/utils/hooks"; +import {patch} from "@web/core/utils/patch"; +import {ListRenderer} from "@web/views/list/list_renderer"; +import {FormViewDialog} from "@web/views/view_dialogs/form_view_dialog"; + +patch(ListRenderer.prototype, { + setup() { + super.setup(...arguments); + this.dialogService = useService("dialog"); + + useBus(this.env.bus, "OPEN_LINE_IN_POPUP", (ev) => { + const {record: receivedRecord} = ev.detail; + const recordInList = this.props.list.records.find( + (r) => r.id === receivedRecord.id + ); + + if (recordInList) { + this.openRecordInDialog(recordInList); + } + }); + }, + + /** + * Manually opens the correct inline FormViewDialog for a given record. + */ + openRecordInDialog(record) { + const list = this.props.list; + + // This now works because of the X2ManyField patch. + const formView = this.props.views.form; + if (!formView) { + console.error( + "No inline form view defined for this list. Cannot open popup." + ); + return; + } + + this.dialogService.add(FormViewDialog, { + resModel: list.resModel, + resId: record.resId || false, + context: record.context, + title: record.resId ? "Edit Line" : "New Line", + + // THE KEY FIX: Use the fields and models from the FORM VIEW definition, + // not from the list. This prevents the RPC error. + fields: formView.fields, + relatedModels: formView.relatedModels, + arch: formView.arch, + viewId: formView.view_id, // Pass the specific form view ID if available + + // Pass the record itself so the dialog edits our in-memory object + record, + + onRecordSaved: () => {}, // Changes are applied to the in-memory record + onRecordDiscarded: () => { + if (record.isNew) { + list.delete(record); + } else { + record.discard(); + } + }, + }); + }, +}); diff --git a/l10n_br_fiscal/static/src/js/list_renderer_with_button.esm.js b/l10n_br_fiscal/static/src/js/list_renderer_with_button.esm.js deleted file mode 100644 index 80dcbb66f5ab..000000000000 --- a/l10n_br_fiscal/static/src/js/list_renderer_with_button.esm.js +++ /dev/null @@ -1,38 +0,0 @@ -/** @odoo-module **/ -// Copyright 2025-TODAY Akretion - Raphael Valyi -// License AGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html). - -/* eslint-disable sort-imports */ - -import {onWillStart} from "@odoo/owl"; -import {patch} from "@web/core/utils/patch"; -import {ListRenderer} from "@web/views/list/list_renderer"; -import {ViewButton} from "@web/views/view_button/view_button"; - -patch(ViewButton.prototype, "l10n_br_fiscal.ViewButton", { - onClick() { - if (this.props.className && this.props.className.includes("edit-line-popup")) { - if (this.props.record) { - this.env.bus.trigger("OPEN_LINE_IN_POPUP", { - record: this.props.record, - }); - } - return; - } - this._super.apply(this, arguments); - }, -}); - -patch(ListRenderer.prototype, "l10n_br_fiscal.ListRenderer", { - setup() { - this._super.apply(this, arguments); - - onWillStart(() => { - this.env.bus.on("OPEN_LINE_IN_POPUP", this, ({record}) => { - if (this.props.list.records.includes(record)) { - this.props.openRecord(record); - } - }); - }); - }, -}); diff --git a/l10n_br_fiscal/static/src/js/x2many_field_patch.js b/l10n_br_fiscal/static/src/js/x2many_field_patch.js new file mode 100644 index 000000000000..59c962a6dc63 --- /dev/null +++ b/l10n_br_fiscal/static/src/js/x2many_field_patch.js @@ -0,0 +1,15 @@ +/** @odoo-module **/ + +import {patch} from "@web/core/utils/patch"; +import {X2ManyField} from "@web/views/fields/x2many/x2many_field"; + +// This patch adds the complete 'views' object to the props passed to the ListRenderer. +patch(X2ManyField.prototype, { + get rendererProps() { + // This is the original method, we just add one more prop. + const props = super.rendererProps; + // Pass the sub-views (list, form, etc.) to the renderer + props.views = this.props.views; + return props; + }, +}); diff --git a/l10n_br_fiscal/static/src/xml/line_view_popup_button.xml b/l10n_br_fiscal/static/src/xml/line_view_popup_button.xml new file mode 100644 index 000000000000..01f169226412 --- /dev/null +++ b/l10n_br_fiscal/static/src/xml/line_view_popup_button.xml @@ -0,0 +1,13 @@ + + + + + + + diff --git a/test-requirements.txt b/test-requirements.txt index b9d595550f73..0c6ba538ce15 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -3,3 +3,4 @@ nfelib xsdata signxml==3.2.2 xmldiff +odoo-addon-l10n_br_coa @ git+https://github.com/OCA/l10n-brazil.git@refs/pull/4018/head#subdirectory=l10n_br_coa