odoo-addon-l10n-br-fiscal 16.0.11.1.2__py3-none-any.whl → 16.0.11.3.0__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.
Potentially problematic release.
This version of odoo-addon-l10n-br-fiscal might be problematic. Click here for more details.
- odoo/addons/l10n_br_fiscal/README.rst +1 -1
- odoo/addons/l10n_br_fiscal/__manifest__.py +3 -1
- odoo/addons/l10n_br_fiscal/demo/fiscal_document_demo.xml +0 -43
- odoo/addons/l10n_br_fiscal/demo/fiscal_document_nfse_demo.xml +0 -3
- odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot +78 -0
- odoo/addons/l10n_br_fiscal/models/document_line_mixin.py +30 -8
- odoo/addons/l10n_br_fiscal/models/document_line_mixin_methods.py +62 -34
- odoo/addons/l10n_br_fiscal/security/ir.model.access.csv +1 -0
- 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 +117 -0
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py +14 -34
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_nfse.py +0 -1
- odoo/addons/l10n_br_fiscal/tests/test_tax_benefit.py +0 -1
- odoo/addons/l10n_br_fiscal/wizards/__init__.py +1 -0
- odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py +129 -0
- odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.xml +44 -0
- {odoo_addon_l10n_br_fiscal-16.0.11.1.2.dist-info → odoo_addon_l10n_br_fiscal-16.0.11.3.0.dist-info}/METADATA +2 -2
- {odoo_addon_l10n_br_fiscal-16.0.11.1.2.dist-info → odoo_addon_l10n_br_fiscal-16.0.11.3.0.dist-info}/RECORD +21 -18
- {odoo_addon_l10n_br_fiscal-16.0.11.1.2.dist-info → odoo_addon_l10n_br_fiscal-16.0.11.3.0.dist-info}/WHEEL +0 -0
- {odoo_addon_l10n_br_fiscal-16.0.11.1.2.dist-info → odoo_addon_l10n_br_fiscal-16.0.11.3.0.dist-info}/top_level.txt +0 -0
|
@@ -763,7 +763,9 @@ msgstr ""
|
|
|
763
763
|
|
|
764
764
|
#. module: l10n_br_fiscal
|
|
765
765
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_cst__cst_type__all
|
|
766
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_import_wizard_mixin__fiscal_operation_type__all
|
|
766
767
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_operation__fiscal_operation_type__all
|
|
768
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__fiscal_operation_type__all
|
|
767
769
|
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.cfop_search
|
|
768
770
|
msgid "All"
|
|
769
771
|
msgstr ""
|
|
@@ -1605,6 +1607,11 @@ msgid ""
|
|
|
1605
1607
|
"Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto"
|
|
1606
1608
|
msgstr ""
|
|
1607
1609
|
|
|
1610
|
+
#. module: l10n_br_fiscal
|
|
1611
|
+
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.l10n_br_fiscal_document_import_wizard_mixin_form
|
|
1612
|
+
msgid "Cancel"
|
|
1613
|
+
msgstr ""
|
|
1614
|
+
|
|
1608
1615
|
#. module: l10n_br_fiscal
|
|
1609
1616
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document__state_edoc__cancelada
|
|
1610
1617
|
msgid "Cancelada"
|
|
@@ -1716,6 +1723,7 @@ msgstr ""
|
|
|
1716
1723
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_data_abstract__code
|
|
1717
1724
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_data_ncm_nbs_abstract__code
|
|
1718
1725
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_data_product_abstract__code
|
|
1726
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__document_type
|
|
1719
1727
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__document_type_code
|
|
1720
1728
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__code
|
|
1721
1729
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__document_type
|
|
@@ -1807,6 +1815,7 @@ msgstr ""
|
|
|
1807
1815
|
#: code:addons/l10n_br_fiscal/constants/fiscal.py:0
|
|
1808
1816
|
#: code:addons/l10n_br_fiscal/models/tax_pis_cofins.py:0
|
|
1809
1817
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__company_id
|
|
1818
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__company_id
|
|
1810
1819
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__company_id
|
|
1811
1820
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__company_id
|
|
1812
1821
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__company_id
|
|
@@ -2078,6 +2087,7 @@ msgstr ""
|
|
|
2078
2087
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_comment__create_uid
|
|
2079
2088
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cst__create_uid
|
|
2080
2089
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__create_uid
|
|
2090
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__create_uid
|
|
2081
2091
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__create_uid
|
|
2082
2092
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__create_uid
|
|
2083
2093
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__create_uid
|
|
@@ -2121,6 +2131,7 @@ msgstr ""
|
|
|
2121
2131
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_comment__create_date
|
|
2122
2132
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cst__create_date
|
|
2123
2133
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__create_date
|
|
2134
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__create_date
|
|
2124
2135
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__create_date
|
|
2125
2136
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__create_date
|
|
2126
2137
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__create_date
|
|
@@ -2406,6 +2417,7 @@ msgstr ""
|
|
|
2406
2417
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_comment__display_name
|
|
2407
2418
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cst__display_name
|
|
2408
2419
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__display_name
|
|
2420
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__display_name
|
|
2409
2421
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__display_name
|
|
2410
2422
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__display_name
|
|
2411
2423
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__display_name
|
|
@@ -2461,6 +2473,13 @@ msgstr ""
|
|
|
2461
2473
|
msgid "Document Fiscal Mixin Fields"
|
|
2462
2474
|
msgstr ""
|
|
2463
2475
|
|
|
2476
|
+
#. module: l10n_br_fiscal
|
|
2477
|
+
#. odoo-python
|
|
2478
|
+
#: code:addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py:0
|
|
2479
|
+
#, python-format
|
|
2480
|
+
msgid "Document Imported"
|
|
2481
|
+
msgstr ""
|
|
2482
|
+
|
|
2464
2483
|
#. module: l10n_br_fiscal
|
|
2465
2484
|
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.document_form
|
|
2466
2485
|
msgid "Document Info"
|
|
@@ -2468,6 +2487,7 @@ msgstr ""
|
|
|
2468
2487
|
|
|
2469
2488
|
#. module: l10n_br_fiscal
|
|
2470
2489
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__document_key
|
|
2490
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__document_key
|
|
2471
2491
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__document_key
|
|
2472
2492
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__document_key
|
|
2473
2493
|
msgid "Document Key"
|
|
@@ -2493,6 +2513,7 @@ msgstr ""
|
|
|
2493
2513
|
#. module: l10n_br_fiscal
|
|
2494
2514
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__document_number
|
|
2495
2515
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__document_number
|
|
2516
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__document_number
|
|
2496
2517
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__document_number
|
|
2497
2518
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__document_number
|
|
2498
2519
|
msgid "Document Number"
|
|
@@ -2506,6 +2527,7 @@ msgstr ""
|
|
|
2506
2527
|
#. module: l10n_br_fiscal
|
|
2507
2528
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__document_serie
|
|
2508
2529
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__document_serie_id
|
|
2530
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__document_serie
|
|
2509
2531
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__document_serie_id
|
|
2510
2532
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__document_serie
|
|
2511
2533
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_invalidate_number__document_serie_id
|
|
@@ -2533,6 +2555,7 @@ msgstr ""
|
|
|
2533
2555
|
#. module: l10n_br_fiscal
|
|
2534
2556
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__document_type_id
|
|
2535
2557
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__document_type_id
|
|
2558
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__document_type_id
|
|
2536
2559
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__document_type_id
|
|
2537
2560
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__document_type_id
|
|
2538
2561
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_type__type
|
|
@@ -2815,6 +2838,11 @@ msgstr ""
|
|
|
2815
2838
|
msgid "Ferroviário"
|
|
2816
2839
|
msgstr ""
|
|
2817
2840
|
|
|
2841
|
+
#. module: l10n_br_fiscal
|
|
2842
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__file
|
|
2843
|
+
msgid "File to Import"
|
|
2844
|
+
msgstr ""
|
|
2845
|
+
|
|
2818
2846
|
#. module: l10n_br_fiscal
|
|
2819
2847
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__ind_final
|
|
2820
2848
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__ind_final
|
|
@@ -2912,6 +2940,7 @@ msgstr ""
|
|
|
2912
2940
|
#. module: l10n_br_fiscal
|
|
2913
2941
|
#: model:ir.actions.act_window,name:l10n_br_fiscal.document_type_action
|
|
2914
2942
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__document_id
|
|
2943
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__document_id
|
|
2915
2944
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__document_id
|
|
2916
2945
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__document_type_id
|
|
2917
2946
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__document_id
|
|
@@ -2992,6 +3021,7 @@ msgstr ""
|
|
|
2992
3021
|
#. module: l10n_br_fiscal
|
|
2993
3022
|
#: model:ir.model,name:l10n_br_fiscal.model_l10n_br_fiscal_operation
|
|
2994
3023
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__fiscal_operation_id
|
|
3024
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__fiscal_operation_id
|
|
2995
3025
|
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.operation_form
|
|
2996
3026
|
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.operation_search
|
|
2997
3027
|
msgid "Fiscal Operation"
|
|
@@ -3017,6 +3047,7 @@ msgid "Fiscal Operation Line already exists with this name !"
|
|
|
3017
3047
|
msgstr ""
|
|
3018
3048
|
|
|
3019
3049
|
#. module: l10n_br_fiscal
|
|
3050
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__fiscal_operation_type
|
|
3020
3051
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_operation_line__fiscal_operation_type
|
|
3021
3052
|
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.operation_search
|
|
3022
3053
|
msgid "Fiscal Operation Type"
|
|
@@ -4431,6 +4462,7 @@ msgstr ""
|
|
|
4431
4462
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_comment__id
|
|
4432
4463
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cst__id
|
|
4433
4464
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__id
|
|
4465
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__id
|
|
4434
4466
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__id
|
|
4435
4467
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__id
|
|
4436
4468
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__id
|
|
@@ -4954,6 +4986,23 @@ msgstr ""
|
|
|
4954
4986
|
msgid "If your company is industry or ......"
|
|
4955
4987
|
msgstr ""
|
|
4956
4988
|
|
|
4989
|
+
#. module: l10n_br_fiscal
|
|
4990
|
+
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.l10n_br_fiscal_document_import_wizard_mixin_form
|
|
4991
|
+
msgid "Import Document"
|
|
4992
|
+
msgstr ""
|
|
4993
|
+
|
|
4994
|
+
#. module: l10n_br_fiscal
|
|
4995
|
+
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.l10n_br_fiscal_document_import_wizard_mixin_form
|
|
4996
|
+
msgid "Import Fiscal Document"
|
|
4997
|
+
msgstr ""
|
|
4998
|
+
|
|
4999
|
+
#. module: l10n_br_fiscal
|
|
5000
|
+
#. odoo-python
|
|
5001
|
+
#: code:addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py:0
|
|
5002
|
+
#, python-format
|
|
5003
|
+
msgid "Importation not implemented for %s!"
|
|
5004
|
+
msgstr ""
|
|
5005
|
+
|
|
4957
5006
|
#. module: l10n_br_fiscal
|
|
4958
5007
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__imported_document
|
|
4959
5008
|
msgid "Imported"
|
|
@@ -4995,9 +5044,11 @@ msgstr ""
|
|
|
4995
5044
|
#: code:addons/l10n_br_fiscal/constants/fiscal.py:0
|
|
4996
5045
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_cfop__type_in_out__in
|
|
4997
5046
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_cst__cst_type__in
|
|
5047
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_import_wizard_mixin__fiscal_operation_type__in
|
|
4998
5048
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_serie__fiscal_type__in
|
|
4999
5049
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_operation__fiscal_operation_type__in
|
|
5000
5050
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_tax_definition__type_in_out__in
|
|
5051
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__fiscal_operation_type__in
|
|
5001
5052
|
#, python-format
|
|
5002
5053
|
msgid "In"
|
|
5003
5054
|
msgstr ""
|
|
@@ -5188,6 +5239,7 @@ msgstr ""
|
|
|
5188
5239
|
|
|
5189
5240
|
#. module: l10n_br_fiscal
|
|
5190
5241
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__justification
|
|
5242
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__justification
|
|
5191
5243
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__justification
|
|
5192
5244
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_invalidate_number__justification
|
|
5193
5245
|
msgid "Justification"
|
|
@@ -5224,6 +5276,7 @@ msgstr ""
|
|
|
5224
5276
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_comment____last_update
|
|
5225
5277
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cst____last_update
|
|
5226
5278
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document____last_update
|
|
5279
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin____last_update
|
|
5227
5280
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line____last_update
|
|
5228
5281
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related____last_update
|
|
5229
5282
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie____last_update
|
|
@@ -5272,6 +5325,7 @@ msgstr ""
|
|
|
5272
5325
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_comment__write_uid
|
|
5273
5326
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cst__write_uid
|
|
5274
5327
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__write_uid
|
|
5328
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__write_uid
|
|
5275
5329
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__write_uid
|
|
5276
5330
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__write_uid
|
|
5277
5331
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__write_uid
|
|
@@ -5315,6 +5369,7 @@ msgstr ""
|
|
|
5315
5369
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_comment__write_date
|
|
5316
5370
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_cst__write_date
|
|
5317
5371
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__write_date
|
|
5372
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__write_date
|
|
5318
5373
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__write_date
|
|
5319
5374
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__write_date
|
|
5320
5375
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_serie__write_date
|
|
@@ -6234,9 +6289,11 @@ msgstr ""
|
|
|
6234
6289
|
#: code:addons/l10n_br_fiscal/constants/fiscal.py:0
|
|
6235
6290
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_cfop__type_in_out__out
|
|
6236
6291
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_cst__cst_type__out
|
|
6292
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_import_wizard_mixin__fiscal_operation_type__out
|
|
6237
6293
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_serie__fiscal_type__out
|
|
6238
6294
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_operation__fiscal_operation_type__out
|
|
6239
6295
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_tax_definition__type_in_out__out
|
|
6296
|
+
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_nfe_import_xml__fiscal_operation_type__out
|
|
6240
6297
|
#, python-format
|
|
6241
6298
|
msgid "Out"
|
|
6242
6299
|
msgstr ""
|
|
@@ -6510,6 +6567,7 @@ msgstr ""
|
|
|
6510
6567
|
#: model:ir.actions.act_window,name:l10n_br_fiscal.partner_action
|
|
6511
6568
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__partner_id
|
|
6512
6569
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__partner_id
|
|
6570
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__partner_id
|
|
6513
6571
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line__partner_id
|
|
6514
6572
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_line_mixin__partner_id
|
|
6515
6573
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_mixin__partner_id
|
|
@@ -6723,6 +6781,11 @@ msgstr ""
|
|
|
6723
6781
|
msgid "Presumed"
|
|
6724
6782
|
msgstr ""
|
|
6725
6783
|
|
|
6784
|
+
#. module: l10n_br_fiscal
|
|
6785
|
+
#: model_terms:ir.ui.view,arch_db:l10n_br_fiscal.l10n_br_fiscal_document_import_wizard_mixin_form
|
|
6786
|
+
msgid "Preview Data"
|
|
6787
|
+
msgstr ""
|
|
6788
|
+
|
|
6726
6789
|
#. module: l10n_br_fiscal
|
|
6727
6790
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__contract_line__icms_base_type__2
|
|
6728
6791
|
#: model:ir.model.fields.selection,name:l10n_br_fiscal.selection__l10n_br_fiscal_document_line__icms_base_type__2
|
|
@@ -7219,6 +7282,7 @@ msgstr ""
|
|
|
7219
7282
|
|
|
7220
7283
|
#. module: l10n_br_fiscal
|
|
7221
7284
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__rps_number
|
|
7285
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__rps_number
|
|
7222
7286
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__rps_number
|
|
7223
7287
|
msgid "Rps Number"
|
|
7224
7288
|
msgstr ""
|
|
@@ -7523,6 +7587,7 @@ msgstr ""
|
|
|
7523
7587
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__state
|
|
7524
7588
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_city_taxation_code__state_id
|
|
7525
7589
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__state
|
|
7590
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__state
|
|
7526
7591
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_related__state_id
|
|
7527
7592
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__state
|
|
7528
7593
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_operation__state
|
|
@@ -7547,6 +7612,7 @@ msgstr ""
|
|
|
7547
7612
|
|
|
7548
7613
|
#. module: l10n_br_fiscal
|
|
7549
7614
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_base_wizard_mixin__document_status
|
|
7615
|
+
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_import_wizard_mixin__document_status
|
|
7550
7616
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document_status_wizard__document_status
|
|
7551
7617
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_invalidate_number__state
|
|
7552
7618
|
msgid "Status"
|
|
@@ -8623,6 +8689,11 @@ msgstr ""
|
|
|
8623
8689
|
msgid "Withholding"
|
|
8624
8690
|
msgstr ""
|
|
8625
8691
|
|
|
8692
|
+
#. module: l10n_br_fiscal
|
|
8693
|
+
#: model:ir.model,name:l10n_br_fiscal.model_l10n_br_fiscal_document_import_wizard_mixin
|
|
8694
|
+
msgid "Wizard Import Document Mixin"
|
|
8695
|
+
msgstr ""
|
|
8696
|
+
|
|
8626
8697
|
#. module: l10n_br_fiscal
|
|
8627
8698
|
#: model:ir.model.fields,field_description:l10n_br_fiscal.field_l10n_br_fiscal_document__xml_error_message
|
|
8628
8699
|
msgid "XML validation errors"
|
|
@@ -8756,6 +8827,13 @@ msgstr ""
|
|
|
8756
8827
|
msgid "pis_wh"
|
|
8757
8828
|
msgstr ""
|
|
8758
8829
|
|
|
8830
|
+
#. module: l10n_br_fiscal
|
|
8831
|
+
#. odoo-python
|
|
8832
|
+
#: code:addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py:0
|
|
8833
|
+
#, python-format
|
|
8834
|
+
msgid "xsdata Python lib not installed!"
|
|
8835
|
+
msgstr ""
|
|
8836
|
+
|
|
8759
8837
|
#. module: l10n_br_fiscal
|
|
8760
8838
|
#. odoo-python
|
|
8761
8839
|
#: code:addons/l10n_br_fiscal/models/data_ncm_nbs_abstract.py:0
|
|
@@ -127,7 +127,13 @@ class FiscalDocumentLineMixin(models.AbstractModel):
|
|
|
127
127
|
help="Indicates potential 'CSLL' and 'IRPJ' tax charges.",
|
|
128
128
|
)
|
|
129
129
|
|
|
130
|
-
price_unit = fields.Float(
|
|
130
|
+
price_unit = fields.Float(
|
|
131
|
+
digits="Product Price",
|
|
132
|
+
compute="_compute_price_unit_fiscal",
|
|
133
|
+
store=True,
|
|
134
|
+
precompute=True,
|
|
135
|
+
readonly=False,
|
|
136
|
+
)
|
|
131
137
|
|
|
132
138
|
partner_id = fields.Many2one(comodel_name="res.partner", string="Partner")
|
|
133
139
|
|
|
@@ -198,11 +204,29 @@ class FiscalDocumentLineMixin(models.AbstractModel):
|
|
|
198
204
|
string="CFOP Destination",
|
|
199
205
|
)
|
|
200
206
|
|
|
201
|
-
fiscal_price = fields.Float(
|
|
207
|
+
fiscal_price = fields.Float(
|
|
208
|
+
digits="Product Price",
|
|
209
|
+
compute="_compute_fiscal_price",
|
|
210
|
+
store=True,
|
|
211
|
+
precompute=True,
|
|
212
|
+
readonly=False,
|
|
213
|
+
)
|
|
202
214
|
|
|
203
|
-
uot_id = fields.Many2one(
|
|
215
|
+
uot_id = fields.Many2one(
|
|
216
|
+
comodel_name="uom.uom",
|
|
217
|
+
string="Tax UoM",
|
|
218
|
+
compute="_compute_uot_id",
|
|
219
|
+
store=True,
|
|
220
|
+
readonly=False,
|
|
221
|
+
)
|
|
204
222
|
|
|
205
|
-
fiscal_quantity = fields.Float(
|
|
223
|
+
fiscal_quantity = fields.Float(
|
|
224
|
+
digits="Product Unit of Measure",
|
|
225
|
+
compute="_compute_fiscal_quantity",
|
|
226
|
+
store=True,
|
|
227
|
+
precompute=True,
|
|
228
|
+
readonly=False,
|
|
229
|
+
)
|
|
206
230
|
|
|
207
231
|
discount_value = fields.Monetary()
|
|
208
232
|
|
|
@@ -567,8 +591,7 @@ class FiscalDocumentLineMixin(models.AbstractModel):
|
|
|
567
591
|
ipi_cst_id = fields.Many2one(
|
|
568
592
|
comodel_name="l10n_br_fiscal.cst",
|
|
569
593
|
string="CST IPI",
|
|
570
|
-
domain="[('cst_type', '=', fiscal_operation_type),"
|
|
571
|
-
"('tax_domain', '=', 'ipi')]",
|
|
594
|
+
domain="[('cst_type', '=', fiscal_operation_type),('tax_domain', '=', 'ipi')]",
|
|
572
595
|
)
|
|
573
596
|
|
|
574
597
|
ipi_cst_code = fields.Char(
|
|
@@ -590,8 +613,7 @@ class FiscalDocumentLineMixin(models.AbstractModel):
|
|
|
590
613
|
ipi_guideline_id = fields.Many2one(
|
|
591
614
|
comodel_name="l10n_br_fiscal.tax.ipi.guideline",
|
|
592
615
|
string="IPI Guideline",
|
|
593
|
-
domain="['|', ('cst_in_id', '=', ipi_cst_id),"
|
|
594
|
-
"('cst_out_id', '=', ipi_cst_id)]",
|
|
616
|
+
domain="['|', ('cst_in_id', '=', ipi_cst_id),('cst_out_id', '=', ipi_cst_id)]",
|
|
595
617
|
)
|
|
596
618
|
|
|
597
619
|
# IPI Devolvido Fields
|
|
@@ -275,6 +275,8 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
275
275
|
return taxes
|
|
276
276
|
|
|
277
277
|
def _remove_all_fiscal_tax_ids(self):
|
|
278
|
+
if self._is_imported():
|
|
279
|
+
return
|
|
278
280
|
for line in self:
|
|
279
281
|
to_update = {"fiscal_tax_ids": False}
|
|
280
282
|
for fiscal_tax_field in FISCAL_TAX_ID_FIELDS:
|
|
@@ -338,8 +340,10 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
338
340
|
|
|
339
341
|
def _prepare_tax_fields(self, compute_result):
|
|
340
342
|
self.ensure_one()
|
|
341
|
-
computed_taxes = compute_result.get("taxes", {})
|
|
342
343
|
tax_values = {}
|
|
344
|
+
if self._is_imported():
|
|
345
|
+
return tax_values
|
|
346
|
+
computed_taxes = compute_result.get("taxes", {})
|
|
343
347
|
for tax in self.fiscal_tax_ids:
|
|
344
348
|
computed_tax = computed_taxes.get(tax.tax_domain, {})
|
|
345
349
|
tax_field_name = f"{tax.tax_domain}_tax_id"
|
|
@@ -352,14 +356,12 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
352
356
|
tax_values.update(prepared_fields)
|
|
353
357
|
return tax_values
|
|
354
358
|
|
|
355
|
-
def
|
|
356
|
-
self
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
self.price_unit = price.get(self.fiscal_operation_id.default_price_unit, 0.00)
|
|
359
|
+
def _compute_price_unit_fiscal(self):
|
|
360
|
+
for line in self:
|
|
361
|
+
line.price_unit = {
|
|
362
|
+
"sale_price": line.product_id.list_price,
|
|
363
|
+
"cost_price": line.product_id.standard_price,
|
|
364
|
+
}.get(line.fiscal_operation_id.default_price_unit, 0)
|
|
363
365
|
|
|
364
366
|
def __document_comment_vals(self):
|
|
365
367
|
self.ensure_one()
|
|
@@ -393,8 +395,7 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
393
395
|
def _onchange_fiscal_operation_id(self):
|
|
394
396
|
if self.fiscal_operation_id:
|
|
395
397
|
if not self.price_unit:
|
|
396
|
-
self.
|
|
397
|
-
self._onchange_commercial_quantity()
|
|
398
|
+
self._compute_price_unit_fiscal()
|
|
398
399
|
self.fiscal_operation_line_id = self.fiscal_operation_id.line_definition(
|
|
399
400
|
company=self.company_id,
|
|
400
401
|
partner=self._get_fiscal_partner(),
|
|
@@ -421,6 +422,8 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
421
422
|
)
|
|
422
423
|
|
|
423
424
|
self.cfop_id = mapping_result["cfop"]
|
|
425
|
+
if self._is_imported():
|
|
426
|
+
return
|
|
424
427
|
self._process_fiscal_mapping(mapping_result)
|
|
425
428
|
|
|
426
429
|
if not self.fiscal_operation_line_id:
|
|
@@ -476,7 +479,7 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
476
479
|
self.city_taxation_code_id = False
|
|
477
480
|
self.uot_id = False
|
|
478
481
|
|
|
479
|
-
self.
|
|
482
|
+
self._compute_price_unit_fiscal()
|
|
480
483
|
self._onchange_fiscal_operation_id()
|
|
481
484
|
|
|
482
485
|
def _prepare_fields_issqn(self, tax_dict):
|
|
@@ -755,28 +758,47 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
755
758
|
self._update_fiscal_tax_ids(self._get_all_tax_id_fields())
|
|
756
759
|
self._update_fiscal_taxes()
|
|
757
760
|
|
|
758
|
-
@api.
|
|
759
|
-
def
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
761
|
+
@api.depends("uom_id")
|
|
762
|
+
def _compute_uot_id(self):
|
|
763
|
+
for line in self:
|
|
764
|
+
if not line.uot_id:
|
|
765
|
+
line.uot_id = line.uom_id
|
|
766
|
+
|
|
767
|
+
@api.onchange("price_unit")
|
|
768
|
+
def _onchange_price_unit_fiscal(self):
|
|
769
|
+
self.fiscal_price = 0
|
|
770
|
+
self._compute_fiscal_price()
|
|
771
|
+
|
|
772
|
+
@api.depends("price_unit")
|
|
773
|
+
def _compute_fiscal_price(self):
|
|
774
|
+
for line in self:
|
|
775
|
+
# this test and the onchange are required to avoid
|
|
776
|
+
# resetting manual changes in fiscal_price
|
|
777
|
+
if not line.fiscal_price:
|
|
778
|
+
if line.product_id and line.price_unit:
|
|
779
|
+
line.fiscal_price = line.price_unit / (
|
|
780
|
+
line.product_id.uot_factor or 1.0
|
|
781
|
+
)
|
|
782
|
+
else:
|
|
783
|
+
line.fiscal_price = line.price_unit
|
|
784
|
+
|
|
785
|
+
@api.onchange("quantity")
|
|
786
|
+
def _onchange_quantity_fiscal(self):
|
|
787
|
+
self.fiscal_quantity = 0
|
|
788
|
+
self._compute_fiscal_quantity()
|
|
789
|
+
|
|
790
|
+
@api.depends("quantity")
|
|
791
|
+
def _compute_fiscal_quantity(self):
|
|
792
|
+
for line in self:
|
|
793
|
+
# this test and the onchange are required to avoid
|
|
794
|
+
# resetting manual changes in fiscal_quantity
|
|
795
|
+
if not line.fiscal_quantity:
|
|
796
|
+
if line.product_id and line.quantity:
|
|
797
|
+
line.fiscal_quantity = line.quantity * (
|
|
798
|
+
line.product_id.uot_factor or 1.0
|
|
799
|
+
)
|
|
800
|
+
else:
|
|
801
|
+
line.fiscal_quantity = line.quantity
|
|
780
802
|
|
|
781
803
|
@api.onchange("ii_customhouse_charges")
|
|
782
804
|
def _onchange_ii_customhouse_charges(self):
|
|
@@ -812,3 +834,9 @@ class FiscalDocumentLineMixinMethods(models.AbstractModel):
|
|
|
812
834
|
@api.model
|
|
813
835
|
def _rm_fields_to_amount(self):
|
|
814
836
|
return ["icms_relief_value"]
|
|
837
|
+
|
|
838
|
+
def _is_imported(self):
|
|
839
|
+
# When the mixin is used for instance
|
|
840
|
+
# in a PO line or SO line, there is no document_id
|
|
841
|
+
# and we consider the document is not imported
|
|
842
|
+
return hasattr(self, "document_id") and self.document_id.imported_document
|
|
@@ -96,3 +96,4 @@
|
|
|
96
96
|
"l10n_br_fiscal_city_taxation_code_manager","Fiscal City Taxation Code for Manager","model_l10n_br_fiscal_city_taxation_code","l10n_br_fiscal.group_user",1,1,1,1
|
|
97
97
|
"l10n_br_fiscal_base_wizard_mixin_user",l10n_br_fiscal_base_wizard_mixin,model_l10n_br_fiscal_base_wizard_mixin,base.group_user,1,1,1,1
|
|
98
98
|
"l10n_br_fiscal_document_status_wizard_user",l10n_br_fiscal_document_status_wizard,model_l10n_br_fiscal_document_status_wizard,base.group_user,1,1,1,1
|
|
99
|
+
"l10n_br_fiscal_document_import_wizard_mixin_user",l10n_br_fiscal_document_import_wizard_mixin_user,model_l10n_br_fiscal_document_import_wizard_mixin,base.group_user,1,1,1,1
|
|
@@ -372,7 +372,7 @@ ul.auto-toc {
|
|
|
372
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
373
373
|
!! changes will be overwritten. !!
|
|
374
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
375
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:3612e46c6fb955a94d39c6bced2a46abadbb539336d76697fbd63869b54cdac5
|
|
376
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
377
377
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_fiscal"><img alt="OCA/l10n-brazil" src="https://img.shields.io/badge/github-OCA%2Fl10n--brazil-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/l10n-brazil-16-0/l10n-brazil-16-0-l10n_br_fiscal"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/l10n-brazil&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
378
378
|
<p><img alt="image" src="https://raw.githubusercontent.com/OCA/l10n-brazil/16.0/l10n_br_fiscal/static/img/fiscal_dashboard.png" /></p>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Copyright 2025-TODAY Akretion - Raphaël Valyi
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
3
|
+
|
|
4
|
+
from unittest import mock
|
|
5
|
+
|
|
6
|
+
from odoo.tests import TransactionCase
|
|
7
|
+
from odoo.tests.common import Form
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TestDocumentEdition(TransactionCase):
|
|
11
|
+
@classmethod
|
|
12
|
+
def setUpClass(cls):
|
|
13
|
+
super().setUpClass()
|
|
14
|
+
cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True))
|
|
15
|
+
|
|
16
|
+
def test_basic_doc_edition(self):
|
|
17
|
+
doc_form = Form(
|
|
18
|
+
self.env["l10n_br_fiscal.document"].with_context(
|
|
19
|
+
default_fiscal_operation_type="out",
|
|
20
|
+
)
|
|
21
|
+
)
|
|
22
|
+
doc_form.company_id = self.env.ref("l10n_br_base.empresa_lucro_presumido")
|
|
23
|
+
doc_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente1_sp")
|
|
24
|
+
doc_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda")
|
|
25
|
+
doc_form.ind_final = "1"
|
|
26
|
+
product_id = self.env.ref("product.product_product_6")
|
|
27
|
+
product_id.list_price = 150 # we will later check we can set priceunit to 100
|
|
28
|
+
with doc_form.fiscal_line_ids.new() as line_form:
|
|
29
|
+
original_method = type(
|
|
30
|
+
self.env["l10n_br_fiscal.operation.line"]
|
|
31
|
+
).map_fiscal_taxes
|
|
32
|
+
|
|
33
|
+
def wrapped_method(self, *args, **kwargs):
|
|
34
|
+
return original_method(self, *args, **kwargs)
|
|
35
|
+
|
|
36
|
+
with mock.patch.object(
|
|
37
|
+
type(self.env["l10n_br_fiscal.operation.line"]),
|
|
38
|
+
"map_fiscal_taxes",
|
|
39
|
+
side_effect=wrapped_method,
|
|
40
|
+
autospec=True,
|
|
41
|
+
) as mocked:
|
|
42
|
+
line_form.product_id = product_id
|
|
43
|
+
|
|
44
|
+
# ensure the tax engine is called with the proper
|
|
45
|
+
# parameters, especially ind_final
|
|
46
|
+
# as it is related=document_id.ind_final
|
|
47
|
+
# which is converted to move_id.ind_final to work live
|
|
48
|
+
mocked.assert_called_with(
|
|
49
|
+
self.env.ref("l10n_br_fiscal.fo_venda_revenda"),
|
|
50
|
+
company=doc_form.company_id,
|
|
51
|
+
partner=doc_form.partner_id,
|
|
52
|
+
product=product_id,
|
|
53
|
+
ncm=product_id.ncm_id,
|
|
54
|
+
nbm=self.env["l10n_br_fiscal.nbm"],
|
|
55
|
+
nbs=self.env["l10n_br_fiscal.nbs"],
|
|
56
|
+
cest=self.env["l10n_br_fiscal.cest"],
|
|
57
|
+
city_taxation_code=self.env["l10n_br_fiscal.city.taxation.code"],
|
|
58
|
+
service_type=self.env["l10n_br_fiscal.service.type"],
|
|
59
|
+
ind_final="1",
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
line_form.price_unit = 100
|
|
63
|
+
line_form.quantity = 2
|
|
64
|
+
|
|
65
|
+
doc = doc_form.save()
|
|
66
|
+
self.assertEqual(doc.fiscal_line_ids[0].price_unit, 100)
|
|
67
|
+
self.assertEqual(doc.fiscal_line_ids[0].fiscal_price, 100)
|
|
68
|
+
self.assertEqual(doc.fiscal_line_ids[0].quantity, 2)
|
|
69
|
+
self.assertEqual(doc.fiscal_line_ids[0].fiscal_quantity, 2)
|
|
70
|
+
|
|
71
|
+
def test_product_fiscal_factor(self):
|
|
72
|
+
doc_form = Form(
|
|
73
|
+
self.env["l10n_br_fiscal.document"].with_context(
|
|
74
|
+
default_fiscal_operation_type="out",
|
|
75
|
+
)
|
|
76
|
+
)
|
|
77
|
+
doc_form.company_id = self.env.ref("l10n_br_base.empresa_lucro_presumido")
|
|
78
|
+
doc_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente1_sp")
|
|
79
|
+
doc_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda")
|
|
80
|
+
doc_form.ind_final = "1"
|
|
81
|
+
product_id = self.env.ref("product.product_product_6")
|
|
82
|
+
product_id.uot_factor = 2
|
|
83
|
+
with doc_form.fiscal_line_ids.new() as line_form:
|
|
84
|
+
line_form.product_id = product_id
|
|
85
|
+
line_form.price_unit = 100
|
|
86
|
+
line_form.quantity = 10
|
|
87
|
+
|
|
88
|
+
doc = doc_form.save()
|
|
89
|
+
self.assertEqual(doc.fiscal_line_ids[0].price_unit, 100)
|
|
90
|
+
self.assertEqual(doc.fiscal_line_ids[0].fiscal_price, 50)
|
|
91
|
+
self.assertEqual(doc.fiscal_line_ids[0].quantity, 10)
|
|
92
|
+
self.assertEqual(doc.fiscal_line_ids[0].fiscal_quantity, 20)
|
|
93
|
+
|
|
94
|
+
def test_product_fiscal_price_and_qty_edition(self):
|
|
95
|
+
doc_form = Form(
|
|
96
|
+
self.env["l10n_br_fiscal.document"].with_context(
|
|
97
|
+
default_fiscal_operation_type="out",
|
|
98
|
+
)
|
|
99
|
+
)
|
|
100
|
+
doc_form.company_id = self.env.ref("l10n_br_base.empresa_lucro_presumido")
|
|
101
|
+
doc_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente1_sp")
|
|
102
|
+
doc_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda")
|
|
103
|
+
doc_form.ind_final = "1"
|
|
104
|
+
product_id = self.env.ref("product.product_product_6")
|
|
105
|
+
product_id.list_price = 100
|
|
106
|
+
with doc_form.fiscal_line_ids.new() as line_form:
|
|
107
|
+
line_form.product_id = product_id
|
|
108
|
+
line_form.price_unit = 110
|
|
109
|
+
line_form.quantity = 10
|
|
110
|
+
line_form.fiscal_price = 112
|
|
111
|
+
line_form.fiscal_quantity = 5
|
|
112
|
+
|
|
113
|
+
doc = doc_form.save()
|
|
114
|
+
self.assertEqual(doc.fiscal_line_ids[0].price_unit, 110)
|
|
115
|
+
self.assertEqual(doc.fiscal_line_ids[0].fiscal_price, 112)
|
|
116
|
+
self.assertEqual(doc.fiscal_line_ids[0].quantity, 10)
|
|
117
|
+
self.assertEqual(doc.fiscal_line_ids[0].fiscal_quantity, 5)
|