odoo-addon-l10n-br-fiscal 17.0.1.0.0.13__py3-none-any.whl → 17.0.4.0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/l10n_br_fiscal/README.rst +1 -1
- odoo/addons/l10n_br_fiscal/__manifest__.py +1 -1
- odoo/addons/l10n_br_fiscal/constants/fiscal.py +0 -20
- odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.document.type.csv +1 -0
- odoo/addons/l10n_br_fiscal/data/operation_data.xml +1 -1
- odoo/addons/l10n_br_fiscal/demo/fiscal_document_demo.xml +3 -91
- odoo/addons/l10n_br_fiscal/demo/fiscal_document_nfse_demo.xml +0 -4
- odoo/addons/l10n_br_fiscal/demo/fiscal_operation_demo.xml +2 -2
- odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot +78 -54
- odoo/addons/l10n_br_fiscal/i18n/pt_BR.po +91 -60
- odoo/addons/l10n_br_fiscal/migrations/17.0.2.0.0/pre-migration.py +25 -0
- odoo/addons/l10n_br_fiscal/migrations/17.0.3.0.0/pre-migration.py +30 -0
- odoo/addons/l10n_br_fiscal/models/comment.py +2 -2
- odoo/addons/l10n_br_fiscal/models/document.py +31 -6
- odoo/addons/l10n_br_fiscal/models/document_line.py +49 -2
- odoo/addons/l10n_br_fiscal/models/document_line_mixin.py +63 -19
- odoo/addons/l10n_br_fiscal/models/document_line_mixin_methods.py +99 -68
- odoo/addons/l10n_br_fiscal/models/document_mixin.py +3 -12
- odoo/addons/l10n_br_fiscal/models/document_mixin_methods.py +33 -169
- odoo/addons/l10n_br_fiscal/models/document_related.py +1 -1
- odoo/addons/l10n_br_fiscal/models/document_serie.py +33 -0
- odoo/addons/l10n_br_fiscal/models/ibpt.py +1 -1
- odoo/addons/l10n_br_fiscal/models/icms_regulation.py +1 -1
- odoo/addons/l10n_br_fiscal/models/invalidate_number.py +4 -5
- odoo/addons/l10n_br_fiscal/models/operation_dashboard.py +1 -1
- odoo/addons/l10n_br_fiscal/models/product_template.py +1 -1
- odoo/addons/l10n_br_fiscal/models/res_partner.py +4 -0
- odoo/addons/l10n_br_fiscal/models/tax.py +7 -3
- odoo/addons/l10n_br_fiscal/models/tax_pis_cofins_base.py +1 -1
- odoo/addons/l10n_br_fiscal/models/tax_pis_cofins_credit.py +1 -1
- odoo/addons/l10n_br_fiscal/security/fiscal_security.xml +6 -16
- odoo/addons/l10n_br_fiscal/security/ir.model.access.csv +1 -2
- odoo/addons/l10n_br_fiscal/static/description/index.html +1 -1
- odoo/addons/l10n_br_fiscal/tests/__init__.py +1 -0
- odoo/addons/l10n_br_fiscal/tests/test_document_edition.py +138 -0
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py +3 -13
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_nfse.py +0 -1
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_serie.py +60 -0
- odoo/addons/l10n_br_fiscal/tests/test_tax_benefit.py +0 -1
- odoo/addons/l10n_br_fiscal/views/document_line_mixin_view.xml +0 -1
- odoo/addons/l10n_br_fiscal/views/document_line_view.xml +6 -4
- odoo/addons/l10n_br_fiscal/views/document_view.xml +10 -14
- odoo/addons/l10n_br_fiscal/views/l10n_br_fiscal_menu.xml +0 -9
- odoo/addons/l10n_br_fiscal/views/operation_dashboard_view.xml +3 -3
- odoo/addons/l10n_br_fiscal/views/product_product_view.xml +1 -1
- odoo/addons/l10n_br_fiscal/views/product_template_view.xml +1 -1
- odoo/addons/l10n_br_fiscal/views/res_partner_view.xml +3 -0
- odoo/addons/l10n_br_fiscal/wizards/base_wizard_mixin.py +1 -1
- {odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/METADATA +2 -2
- {odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/RECORD +52 -49
- {odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/WHEEL +0 -0
- {odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/top_level.txt +0 -0
|
@@ -356,6 +356,11 @@ msgstr ""
|
|
|
356
356
|
msgid "A CST is necessary to create fiscal operations for your fiscal moves."
|
|
357
357
|
msgstr ""
|
|
358
358
|
|
|
359
|
+
#. module: l10n_br_fiscal
|
|
360
|
+
#: model:ir.model.constraint,message:l10n_br_fiscal.constraint_l10n_br_fiscal_document_serie_document_serie_unique
|
|
361
|
+
msgid "A Fiscal Document Serie already exists for this document type."
|
|
362
|
+
msgstr ""
|
|
363
|
+
|
|
359
364
|
#. module: l10n_br_fiscal
|
|
360
365
|
#: model_terms:ir.actions.act_window,help:l10n_br_fiscal.legal_nature_action
|
|
361
366
|
msgid ""
|
|
@@ -701,7 +706,6 @@ msgstr "Adicionar ao Montante do Documento?"
|
|
|
701
706
|
|
|
702
707
|
#. module: l10n_br_fiscal
|
|
703
708
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__additional_data
|
|
704
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__additional_data
|
|
705
709
|
msgid "Additional Data"
|
|
706
710
|
msgstr "Dados Adicionais"
|
|
707
711
|
|
|
@@ -736,6 +740,7 @@ msgstr "Ajuste"
|
|
|
736
740
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_cst__cst_type__all
|
|
737
741
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_import_wizard_mixin__fiscal_operation_type__all
|
|
738
742
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_operation__fiscal_operation_type__all
|
|
743
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__fiscal_operation_type__all
|
|
739
744
|
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.cfop_search
|
|
740
745
|
msgid "All"
|
|
741
746
|
msgstr "Todos"
|
|
@@ -757,11 +762,6 @@ msgstr ""
|
|
|
757
762
|
msgid "All Serie for Documents supported by Brazilian Fiscal modulo for Odoo."
|
|
758
763
|
msgstr ""
|
|
759
764
|
|
|
760
|
-
#. module: l10n_br_fiscal
|
|
761
|
-
#: model:ir.ui.menu,name:l10n_br_fiscal.document_all_menu
|
|
762
|
-
msgid "All low level Documents"
|
|
763
|
-
msgstr ""
|
|
764
|
-
|
|
765
765
|
#. module: l10n_br_fiscal
|
|
766
766
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__allow_csll_irpj
|
|
767
767
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__allow_csll_irpj
|
|
@@ -772,8 +772,8 @@ msgstr "Permitir Csll Irpj"
|
|
|
772
772
|
#. odoo-python
|
|
773
773
|
#: code:addons/l10n_br_fiscal/models/tax_pis_cofins_base.py:0
|
|
774
774
|
#: code:addons/l10n_br_fiscal/models/tax_pis_cofins_credit.py:0
|
|
775
|
-
#: model:ir.model.constraint,message:l10n_br_fiscal.
|
|
776
|
-
#: model:ir.model.constraint,message:l10n_br_fiscal.
|
|
775
|
+
#: model:ir.model.constraint,message:l10n_br_fiscal.constraint_l10n_br_fiscal_tax_pis_cofins_base_code_unique
|
|
776
|
+
#: model:ir.model.constraint,message:l10n_br_fiscal.constraint_l10n_br_fiscal_tax_pis_cofins_credit_code_unique
|
|
777
777
|
#, python-format
|
|
778
778
|
msgid "Already exists with this code !"
|
|
779
779
|
msgstr "Já existe com este código !"
|
|
@@ -816,14 +816,6 @@ msgstr "Total Fiscal"
|
|
|
816
816
|
msgid "Amount Gross"
|
|
817
817
|
msgstr "Total Bruto"
|
|
818
818
|
|
|
819
|
-
#. module: l10n_br_fiscal
|
|
820
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__amount_tax
|
|
821
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__amount_tax
|
|
822
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__amount_tax
|
|
823
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__amount_tax
|
|
824
|
-
msgid "Amount Tax"
|
|
825
|
-
msgstr "Total de Imposto"
|
|
826
|
-
|
|
827
819
|
#. module: l10n_br_fiscal
|
|
828
820
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__amount_tax_included
|
|
829
821
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__amount_tax_included
|
|
@@ -842,22 +834,6 @@ msgstr "Total Não incluído Impostos"
|
|
|
842
834
|
msgid "Amount Taxed"
|
|
843
835
|
msgstr "Total Tributado"
|
|
844
836
|
|
|
845
|
-
#. module: l10n_br_fiscal
|
|
846
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__amount_total
|
|
847
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__amount_total
|
|
848
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__amount_total
|
|
849
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__amount_total
|
|
850
|
-
msgid "Amount Total"
|
|
851
|
-
msgstr "Valor Total"
|
|
852
|
-
|
|
853
|
-
#. module: l10n_br_fiscal
|
|
854
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__amount_untaxed
|
|
855
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__amount_untaxed
|
|
856
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__amount_untaxed
|
|
857
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__amount_untaxed
|
|
858
|
-
msgid "Amount Untaxed"
|
|
859
|
-
msgstr "Total sem Impostos"
|
|
860
|
-
|
|
861
837
|
#. module: l10n_br_fiscal
|
|
862
838
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_simplified_tax_range__amount_deduced
|
|
863
839
|
msgid "Amount to be Deducted"
|
|
@@ -1654,8 +1630,8 @@ msgstr ""
|
|
|
1654
1630
|
#: model:ir.model,name:l10n_br_fiscal.model_l10n_br_fiscal_city_taxation_code
|
|
1655
1631
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__city_taxation_code_id
|
|
1656
1632
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__city_taxation_code_id
|
|
1657
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.
|
|
1658
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.
|
|
1633
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_product_product__city_taxation_code_ids
|
|
1634
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_product_template__city_taxation_code_ids
|
|
1659
1635
|
#: model:ir.ui.menu,name:l10n_br_fiscal.city_taxation_code_menu
|
|
1660
1636
|
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.tax_definition_form
|
|
1661
1637
|
msgid "City Taxation Code"
|
|
@@ -1946,7 +1922,6 @@ msgid "Create new products."
|
|
|
1946
1922
|
msgstr "Criar novos produtos."
|
|
1947
1923
|
|
|
1948
1924
|
#. module: l10n_br_fiscal
|
|
1949
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__create_uid
|
|
1950
1925
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cest__create_uid
|
|
1951
1926
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cfop__create_uid
|
|
1952
1927
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_city_taxation_code__create_uid
|
|
@@ -1990,7 +1965,6 @@ msgid "Created by"
|
|
|
1990
1965
|
msgstr "Criado por"
|
|
1991
1966
|
|
|
1992
1967
|
#. module: l10n_br_fiscal
|
|
1993
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__create_date
|
|
1994
1968
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cest__create_date
|
|
1995
1969
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cfop__create_date
|
|
1996
1970
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_city_taxation_code__create_date
|
|
@@ -2055,7 +2029,6 @@ msgstr "Impostos personalizados"
|
|
|
2055
2029
|
|
|
2056
2030
|
#. module: l10n_br_fiscal
|
|
2057
2031
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__customer_additional_data
|
|
2058
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__customer_additional_data
|
|
2059
2032
|
msgid "Customer Additional Data"
|
|
2060
2033
|
msgstr "Dados Adicionais do Cliente"
|
|
2061
2034
|
|
|
@@ -2280,7 +2253,6 @@ msgid "Discount Value"
|
|
|
2280
2253
|
msgstr "Valor do desconto"
|
|
2281
2254
|
|
|
2282
2255
|
#. module: l10n_br_fiscal
|
|
2283
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__display_name
|
|
2284
2256
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cest__display_name
|
|
2285
2257
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cfop__display_name
|
|
2286
2258
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_city_taxation_code__display_name
|
|
@@ -2523,13 +2495,6 @@ msgstr "Energia elétrica"
|
|
|
2523
2495
|
msgid "Enviar"
|
|
2524
2496
|
msgstr "Enviar"
|
|
2525
2497
|
|
|
2526
|
-
#. module: l10n_br_fiscal
|
|
2527
|
-
#. odoo-python
|
|
2528
|
-
#: code:addons/l10n_br_fiscal/models/ibpt.py:0
|
|
2529
|
-
#, python-format
|
|
2530
|
-
msgid "Error in the request: {}"
|
|
2531
|
-
msgstr "Erro na solicitação: {}"
|
|
2532
|
-
|
|
2533
2498
|
#. module: l10n_br_fiscal
|
|
2534
2499
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__estimate_tax
|
|
2535
2500
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__estimate_tax
|
|
@@ -2750,7 +2715,6 @@ msgstr "Fiscal"
|
|
|
2750
2715
|
|
|
2751
2716
|
#. module: l10n_br_fiscal
|
|
2752
2717
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__fiscal_additional_data
|
|
2753
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__fiscal_additional_data
|
|
2754
2718
|
msgid "Fiscal Additional Data"
|
|
2755
2719
|
msgstr "Dados Adicionais Fiscais"
|
|
2756
2720
|
|
|
@@ -2760,6 +2724,30 @@ msgstr "Dados Adicionais Fiscais"
|
|
|
2760
2724
|
msgid "Fiscal Additional data manually entered by user"
|
|
2761
2725
|
msgstr "Dados adicionais fiscais inseridos manualmente pelo usuário"
|
|
2762
2726
|
|
|
2727
|
+
#. module: l10n_br_fiscal
|
|
2728
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__fiscal_amount_tax
|
|
2729
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__fiscal_amount_tax
|
|
2730
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__fiscal_amount_tax
|
|
2731
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__fiscal_amount_tax
|
|
2732
|
+
msgid "Fiscal Amount Tax"
|
|
2733
|
+
msgstr ""
|
|
2734
|
+
|
|
2735
|
+
#. module: l10n_br_fiscal
|
|
2736
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__fiscal_amount_total
|
|
2737
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__fiscal_amount_total
|
|
2738
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__fiscal_amount_total
|
|
2739
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__fiscal_amount_total
|
|
2740
|
+
msgid "Fiscal Amount Total"
|
|
2741
|
+
msgstr ""
|
|
2742
|
+
|
|
2743
|
+
#. module: l10n_br_fiscal
|
|
2744
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__fiscal_amount_untaxed
|
|
2745
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__fiscal_amount_untaxed
|
|
2746
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__fiscal_amount_untaxed
|
|
2747
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__fiscal_amount_untaxed
|
|
2748
|
+
msgid "Fiscal Amount Untaxed"
|
|
2749
|
+
msgstr ""
|
|
2750
|
+
|
|
2763
2751
|
#. module: l10n_br_fiscal
|
|
2764
2752
|
#: model:ir.model,name:l10n_br_fiscal.model_l10n_br_fiscal_base_wizard_mixin
|
|
2765
2753
|
msgid "Fiscal Base Wizard Mixin"
|
|
@@ -4263,7 +4251,6 @@ msgid "ICMSSN Credit Value"
|
|
|
4263
4251
|
msgstr "Valor do Crédito de ICMSSN"
|
|
4264
4252
|
|
|
4265
4253
|
#. module: l10n_br_fiscal
|
|
4266
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__id
|
|
4267
4254
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cest__id
|
|
4268
4255
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cfop__id
|
|
4269
4256
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_city_taxation_code__id
|
|
@@ -4851,6 +4838,7 @@ msgstr "Imunidade"
|
|
|
4851
4838
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_serie__fiscal_type__in
|
|
4852
4839
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_operation__fiscal_operation_type__in
|
|
4853
4840
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_tax_definition__type_in_out__in
|
|
4841
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__fiscal_operation_type__in
|
|
4854
4842
|
#, python-format
|
|
4855
4843
|
msgid "In"
|
|
4856
4844
|
msgstr "Entrada"
|
|
@@ -5067,7 +5055,6 @@ msgid "Last Period Payroll Amount"
|
|
|
5067
5055
|
msgstr "Valor da folha de pagamento do último período"
|
|
5068
5056
|
|
|
5069
5057
|
#. module: l10n_br_fiscal
|
|
5070
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__write_uid
|
|
5071
5058
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cest__write_uid
|
|
5072
5059
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cfop__write_uid
|
|
5073
5060
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_city_taxation_code__write_uid
|
|
@@ -5111,7 +5098,6 @@ msgid "Last Updated by"
|
|
|
5111
5098
|
msgstr "Última Atualização por"
|
|
5112
5099
|
|
|
5113
5100
|
#. module: l10n_br_fiscal
|
|
5114
|
-
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__write_date
|
|
5115
5101
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cest__write_date
|
|
5116
5102
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cfop__write_date
|
|
5117
5103
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_city_taxation_code__write_date
|
|
@@ -5609,6 +5595,18 @@ msgstr "Imposto Nacional Simplificado"
|
|
|
5609
5595
|
msgid "National Simplified Tax Range"
|
|
5610
5596
|
msgstr "Faixa Nacional Simplificada de Impostos"
|
|
5611
5597
|
|
|
5598
|
+
#. module: l10n_br_fiscal
|
|
5599
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__activity_calendar_event_id
|
|
5600
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_icms_regulation__activity_calendar_event_id
|
|
5601
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_nbs__activity_calendar_event_id
|
|
5602
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_ncm__activity_calendar_event_id
|
|
5603
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_operation__activity_calendar_event_id
|
|
5604
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_operation_line__activity_calendar_event_id
|
|
5605
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_service_type__activity_calendar_event_id
|
|
5606
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_tax_definition__activity_calendar_event_id
|
|
5607
|
+
msgid "Next Activity Calendar Event"
|
|
5608
|
+
msgstr "Próximo Evento do Calendário de Atividades"
|
|
5609
|
+
|
|
5612
5610
|
#. module: l10n_br_fiscal
|
|
5613
5611
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__activity_date_deadline
|
|
5614
5612
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_icms_regulation__activity_date_deadline
|
|
@@ -5799,11 +5797,6 @@ msgstr "Não se aplica"
|
|
|
5799
5797
|
msgid "Object"
|
|
5800
5798
|
msgstr "Objeto"
|
|
5801
5799
|
|
|
5802
|
-
#. module: l10n_br_fiscal
|
|
5803
|
-
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__res_company__processador_edoc__oca
|
|
5804
|
-
msgid "Odoo Community"
|
|
5805
|
-
msgstr ""
|
|
5806
|
-
|
|
5807
5800
|
#. module: l10n_br_fiscal
|
|
5808
5801
|
#: model_terms:ir.actions.act_window,help:l10n_br_fiscal.comment_action
|
|
5809
5802
|
msgid "Odoo helps you easily track all activities related to a fiscal comment."
|
|
@@ -5958,6 +5951,7 @@ msgstr "Outros"
|
|
|
5958
5951
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_serie__fiscal_type__out
|
|
5959
5952
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_operation__fiscal_operation_type__out
|
|
5960
5953
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_tax_definition__type_in_out__out
|
|
5954
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__fiscal_operation_type__out
|
|
5961
5955
|
#, python-format
|
|
5962
5956
|
msgid "Out"
|
|
5963
5957
|
msgstr "Saída"
|
|
@@ -6613,6 +6607,12 @@ msgstr "RESMA"
|
|
|
6613
6607
|
msgid "RIPI"
|
|
6614
6608
|
msgstr "RIPI"
|
|
6615
6609
|
|
|
6610
|
+
#. module: l10n_br_fiscal
|
|
6611
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_res_partner__rntrc_code
|
|
6612
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_res_users__rntrc_code
|
|
6613
|
+
msgid "RNTRC Code"
|
|
6614
|
+
msgstr ""
|
|
6615
|
+
|
|
6616
6616
|
#. module: l10n_br_fiscal
|
|
6617
6617
|
#: model:uom.uom,name:l10n_br_fiscal.UOM_ROLO
|
|
6618
6618
|
msgid "ROLO"
|
|
@@ -8213,6 +8213,22 @@ msgstr ""
|
|
|
8213
8213
|
msgid "You can delete only draft Invalidate Number Range !"
|
|
8214
8214
|
msgstr ""
|
|
8215
8215
|
|
|
8216
|
+
#. module: l10n_br_fiscal
|
|
8217
|
+
#. odoo-python
|
|
8218
|
+
#: code:addons/l10n_br_fiscal/models/document_serie.py:0
|
|
8219
|
+
#, python-format
|
|
8220
|
+
msgid ""
|
|
8221
|
+
"You cannot change the code of a document serie %(name)s that is already in "
|
|
8222
|
+
"use."
|
|
8223
|
+
msgstr ""
|
|
8224
|
+
|
|
8225
|
+
#. module: l10n_br_fiscal
|
|
8226
|
+
#. odoo-python
|
|
8227
|
+
#: code:addons/l10n_br_fiscal/models/document_serie.py:0
|
|
8228
|
+
#, python-format
|
|
8229
|
+
msgid "You cannot change the internal sequence."
|
|
8230
|
+
msgstr ""
|
|
8231
|
+
|
|
8216
8232
|
#. module: l10n_br_fiscal
|
|
8217
8233
|
#. odoo-python
|
|
8218
8234
|
#: code:addons/l10n_br_fiscal/models/operation_line.py:0
|
|
@@ -8278,6 +8294,7 @@ msgstr ""
|
|
|
8278
8294
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_import_wizard_mixin__state__confirm
|
|
8279
8295
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_status_wizard__state__confirm
|
|
8280
8296
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_invalidate_number_wizard__state__confirm
|
|
8297
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__state__confirm
|
|
8281
8298
|
msgid "confirm"
|
|
8282
8299
|
msgstr ""
|
|
8283
8300
|
|
|
@@ -8293,9 +8310,15 @@ msgstr "dias"
|
|
|
8293
8310
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_import_wizard_mixin__state__done
|
|
8294
8311
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_status_wizard__state__done
|
|
8295
8312
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_invalidate_number_wizard__state__done
|
|
8313
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__state__done
|
|
8296
8314
|
msgid "done"
|
|
8297
8315
|
msgstr ""
|
|
8298
8316
|
|
|
8317
|
+
#. module: l10n_br_fiscal
|
|
8318
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__res_company__processador_edoc__oca
|
|
8319
|
+
msgid "erpbrasil.edoc"
|
|
8320
|
+
msgstr "erpbrasil.edoc"
|
|
8321
|
+
|
|
8299
8322
|
#. module: l10n_br_fiscal
|
|
8300
8323
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_base_wizard_mixin__state__init
|
|
8301
8324
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_cancel_wizard__state__init
|
|
@@ -8303,6 +8326,7 @@ msgstr ""
|
|
|
8303
8326
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_import_wizard_mixin__state__init
|
|
8304
8327
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_status_wizard__state__init
|
|
8305
8328
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_invalidate_number_wizard__state__init
|
|
8329
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__state__init
|
|
8306
8330
|
msgid "init"
|
|
8307
8331
|
msgstr ""
|
|
8308
8332
|
|
|
@@ -8337,6 +8361,19 @@ msgstr "pis_wh"
|
|
|
8337
8361
|
msgid "{} Tax Estimate Updated"
|
|
8338
8362
|
msgstr "{} Estimativa de Imposto Atualizada"
|
|
8339
8363
|
|
|
8364
|
+
#~ msgid "Amount Tax"
|
|
8365
|
+
#~ msgstr "Total de Imposto"
|
|
8366
|
+
|
|
8367
|
+
#~ msgid "Amount Total"
|
|
8368
|
+
#~ msgstr "Valor Total"
|
|
8369
|
+
|
|
8370
|
+
#~ msgid "Amount Untaxed"
|
|
8371
|
+
#~ msgstr "Total sem Impostos"
|
|
8372
|
+
|
|
8373
|
+
#, python-format
|
|
8374
|
+
#~ msgid "Error in the request: {}"
|
|
8375
|
+
#~ msgstr "Erro na solicitação: {}"
|
|
8376
|
+
|
|
8340
8377
|
#~ msgid "<i class=\"fa fa-arrow-right\"/> Generate an Access Key"
|
|
8341
8378
|
#~ msgstr "<i class=\"fa fa-arrow-right\"/> Gerar uma chave de acesso"
|
|
8342
8379
|
|
|
@@ -8662,9 +8699,6 @@ msgstr "{} Estimativa de Imposto Atualizada"
|
|
|
8662
8699
|
#~ msgid "Manualmente"
|
|
8663
8700
|
#~ msgstr "Manualmente"
|
|
8664
8701
|
|
|
8665
|
-
#~ msgid "Next Activity Calendar Event"
|
|
8666
|
-
#~ msgstr "Próximo Evento do Calendário de Atividades"
|
|
8667
|
-
|
|
8668
8702
|
#~ msgid ""
|
|
8669
8703
|
#~ "Odoo helps you easily track all activities\n"
|
|
8670
8704
|
#~ " related to a fiscal comment."
|
|
@@ -8791,9 +8825,6 @@ msgstr "{} Estimativa de Imposto Atualizada"
|
|
|
8791
8825
|
#~ msgid "You need set a default fiscal document in your company !"
|
|
8792
8826
|
#~ msgstr "Você precisa definir um documento fiscal padrão em sua empresa !"
|
|
8793
8827
|
|
|
8794
|
-
#~ msgid "erpbrasil.edoc"
|
|
8795
|
-
#~ msgstr "erpbrasil.edoc"
|
|
8796
|
-
|
|
8797
8828
|
#~ msgid "Document Fiscal Mixin Methods"
|
|
8798
8829
|
#~ msgstr "Métodos de Mixina Fiscal de Documentos"
|
|
8799
8830
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2025 - Engenere (<https://engenere.one>).
|
|
2
|
+
# @author Antônio S. Pereira Neto <neto@engenere.one>
|
|
3
|
+
|
|
4
|
+
from openupgradelib import openupgrade
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@openupgrade.migrate()
|
|
8
|
+
def migrate(env, version):
|
|
9
|
+
"""Rename product.template M2M field to the new pluralized name.
|
|
10
|
+
|
|
11
|
+
The underlying Many2many relation table remains the same because
|
|
12
|
+
Odoo derives it from model table names, not the field name. This
|
|
13
|
+
rename keeps references (e.g., stored views/filters) consistent.
|
|
14
|
+
"""
|
|
15
|
+
openupgrade.rename_fields(
|
|
16
|
+
env,
|
|
17
|
+
[
|
|
18
|
+
(
|
|
19
|
+
"product.template",
|
|
20
|
+
"product.template",
|
|
21
|
+
"city_taxation_code_id",
|
|
22
|
+
"city_taxation_code_ids",
|
|
23
|
+
),
|
|
24
|
+
],
|
|
25
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (C) 2025 - Engenere (<https://engenere.one>).
|
|
2
|
+
# @author Antônio S. Pereira Neto <neto@engenere.one>
|
|
3
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
4
|
+
|
|
5
|
+
from openupgradelib import openupgrade
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@openupgrade.migrate()
|
|
9
|
+
def migrate(env, version):
|
|
10
|
+
field_spec = [
|
|
11
|
+
(
|
|
12
|
+
"l10n_br_fiscal.document",
|
|
13
|
+
"l10n_br_fiscal_document",
|
|
14
|
+
"amount_untaxed",
|
|
15
|
+
"fiscal_amount_untaxed",
|
|
16
|
+
),
|
|
17
|
+
(
|
|
18
|
+
"l10n_br_fiscal.document",
|
|
19
|
+
"l10n_br_fiscal_document",
|
|
20
|
+
"amount_tax",
|
|
21
|
+
"fiscal_amount_tax",
|
|
22
|
+
),
|
|
23
|
+
(
|
|
24
|
+
"l10n_br_fiscal.document",
|
|
25
|
+
"l10n_br_fiscal_document",
|
|
26
|
+
"amount_total",
|
|
27
|
+
"fiscal_amount_total",
|
|
28
|
+
),
|
|
29
|
+
]
|
|
30
|
+
openupgrade.rename_fields(env, field_spec)
|
|
@@ -6,7 +6,7 @@ from datetime import datetime
|
|
|
6
6
|
|
|
7
7
|
from dateutil.relativedelta import relativedelta
|
|
8
8
|
|
|
9
|
-
from odoo import api, fields, models
|
|
9
|
+
from odoo import api, fields, models
|
|
10
10
|
from odoo.osv import expression
|
|
11
11
|
|
|
12
12
|
from ..constants.fiscal import (
|
|
@@ -165,7 +165,7 @@ class Comment(models.Model):
|
|
|
165
165
|
|
|
166
166
|
comments = [manual_comment] if manual_comment else []
|
|
167
167
|
for record in self:
|
|
168
|
-
template = mako_safe_env.from_string(
|
|
168
|
+
template = mako_safe_env.from_string(record.comment)
|
|
169
169
|
comments.append(template.render(vals))
|
|
170
170
|
return " - ".join(comments)
|
|
171
171
|
|
|
@@ -10,6 +10,8 @@ from odoo import _, api, fields, models
|
|
|
10
10
|
from odoo.exceptions import ValidationError
|
|
11
11
|
|
|
12
12
|
from ..constants.fiscal import (
|
|
13
|
+
COMMENT_TYPE_COMMERCIAL,
|
|
14
|
+
COMMENT_TYPE_FISCAL,
|
|
13
15
|
DOCUMENT_ISSUER_COMPANY,
|
|
14
16
|
DOCUMENT_ISSUER_DICT,
|
|
15
17
|
DOCUMENT_ISSUER_PARTNER,
|
|
@@ -184,9 +186,9 @@ class Document(models.Model):
|
|
|
184
186
|
)
|
|
185
187
|
|
|
186
188
|
currency_id = fields.Many2one(
|
|
189
|
+
related="company_id.currency_id",
|
|
187
190
|
comodel_name="res.currency",
|
|
188
191
|
string="Currency",
|
|
189
|
-
compute="_compute_currency_id",
|
|
190
192
|
)
|
|
191
193
|
|
|
192
194
|
# this related "state" field is required for the status bar widget
|
|
@@ -236,6 +238,10 @@ class Document(models.Model):
|
|
|
236
238
|
string="Company ST State Tax Number",
|
|
237
239
|
)
|
|
238
240
|
|
|
241
|
+
fiscal_additional_data = fields.Text()
|
|
242
|
+
|
|
243
|
+
customer_additional_data = fields.Text()
|
|
244
|
+
|
|
239
245
|
@api.constrains("document_key")
|
|
240
246
|
def _check_key(self):
|
|
241
247
|
for record in self:
|
|
@@ -320,11 +326,6 @@ class Document(models.Model):
|
|
|
320
326
|
self.fiscal_operation_id = False
|
|
321
327
|
return {"domain": {"fiscal_operation_id": domain}}
|
|
322
328
|
|
|
323
|
-
@api.depends("company_id")
|
|
324
|
-
def _compute_currency_id(self):
|
|
325
|
-
for doc in self:
|
|
326
|
-
doc.currency_id = doc.company_id.currency_id or self.env.company.currency_id
|
|
327
|
-
|
|
328
329
|
def _compute_document_name(self):
|
|
329
330
|
self.ensure_one()
|
|
330
331
|
name = ""
|
|
@@ -476,3 +477,27 @@ class Document(models.Model):
|
|
|
476
477
|
def _compute_edoc_purpose(self):
|
|
477
478
|
for record in self:
|
|
478
479
|
record.edoc_purpose = record.fiscal_operation_id.edoc_purpose
|
|
480
|
+
|
|
481
|
+
def __document_comment_vals(self):
|
|
482
|
+
return {
|
|
483
|
+
"user": self.env.user,
|
|
484
|
+
"ctx": self._context,
|
|
485
|
+
"doc": self,
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
def _document_comment(self):
|
|
489
|
+
for d in self:
|
|
490
|
+
# Fiscal Comments
|
|
491
|
+
d.fiscal_additional_data = d.comment_ids.filtered(
|
|
492
|
+
lambda c: c.comment_type == COMMENT_TYPE_FISCAL
|
|
493
|
+
).compute_message(
|
|
494
|
+
d.__document_comment_vals(), d.manual_fiscal_additional_data
|
|
495
|
+
)
|
|
496
|
+
|
|
497
|
+
# Commercial Comments
|
|
498
|
+
d.customer_additional_data = d.comment_ids.filtered(
|
|
499
|
+
lambda c: c.comment_type == COMMENT_TYPE_COMMERCIAL
|
|
500
|
+
).compute_message(
|
|
501
|
+
d.__document_comment_vals(), d.manual_customer_additional_data
|
|
502
|
+
)
|
|
503
|
+
d.fiscal_line_ids._document_comment()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Copyright (C) 2013 Renato Lima - Akretion
|
|
2
2
|
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
|
|
3
3
|
|
|
4
|
-
from odoo import fields, models
|
|
4
|
+
from odoo import api, fields, models
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class DocumentLine(models.Model):
|
|
@@ -30,7 +30,12 @@ class DocumentLine(models.Model):
|
|
|
30
30
|
ondelete="cascade",
|
|
31
31
|
)
|
|
32
32
|
|
|
33
|
-
name = fields.Char(
|
|
33
|
+
name = fields.Char(
|
|
34
|
+
compute="_compute_name",
|
|
35
|
+
store=True,
|
|
36
|
+
precompute=True,
|
|
37
|
+
readonly=False,
|
|
38
|
+
)
|
|
34
39
|
|
|
35
40
|
company_id = fields.Many2one(
|
|
36
41
|
comodel_name="res.company",
|
|
@@ -50,6 +55,15 @@ class DocumentLine(models.Model):
|
|
|
50
55
|
precompute=True,
|
|
51
56
|
)
|
|
52
57
|
|
|
58
|
+
uom_id = fields.Many2one(
|
|
59
|
+
comodel_name="uom.uom",
|
|
60
|
+
string="UOM",
|
|
61
|
+
compute="_compute_uom_id",
|
|
62
|
+
store=True,
|
|
63
|
+
readonly=False,
|
|
64
|
+
precompute=True,
|
|
65
|
+
)
|
|
66
|
+
|
|
53
67
|
quantity = fields.Float(default=1.0)
|
|
54
68
|
|
|
55
69
|
ind_final = fields.Selection(related="document_id.ind_final")
|
|
@@ -67,3 +81,36 @@ class DocumentLine(models.Model):
|
|
|
67
81
|
edoc_purpose = fields.Selection(
|
|
68
82
|
related="document_id.edoc_purpose",
|
|
69
83
|
)
|
|
84
|
+
|
|
85
|
+
additional_data = fields.Text()
|
|
86
|
+
|
|
87
|
+
@api.depends("product_id")
|
|
88
|
+
def _compute_name(self):
|
|
89
|
+
for line in self:
|
|
90
|
+
if line.product_id:
|
|
91
|
+
line.name = line.product_id.display_name
|
|
92
|
+
else:
|
|
93
|
+
line.name = False
|
|
94
|
+
|
|
95
|
+
@api.depends("product_id")
|
|
96
|
+
def _compute_uom_id(self):
|
|
97
|
+
for line in self:
|
|
98
|
+
if line.fiscal_operation_type == "in":
|
|
99
|
+
line.uom_id = line.product_id.uom_po_id
|
|
100
|
+
else:
|
|
101
|
+
line.uom_id = line.product_id.uom_id
|
|
102
|
+
|
|
103
|
+
def __document_comment_vals(self):
|
|
104
|
+
self.ensure_one()
|
|
105
|
+
return {
|
|
106
|
+
"user": self.env.user,
|
|
107
|
+
"ctx": self._context,
|
|
108
|
+
"doc": self.document_id if hasattr(self, "document_id") else None,
|
|
109
|
+
"item": self,
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
def _document_comment(self):
|
|
113
|
+
for line in self:
|
|
114
|
+
line.additional_data = line.comment_ids.compute_message(
|
|
115
|
+
line.__document_comment_vals(), line.manual_additional_data
|
|
116
|
+
)
|