odoo-addon-l10n-br-fiscal 16.0.19.4.0__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.
Files changed (90) hide show
  1. odoo/addons/l10n_br_fiscal/README.rst +10 -10
  2. odoo/addons/l10n_br_fiscal/__init__.py +2 -3
  3. odoo/addons/l10n_br_fiscal/__manifest__.py +3 -7
  4. odoo/addons/l10n_br_fiscal/constants/fiscal.py +0 -66
  5. odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.cest.csv +983 -1043
  6. odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.cst.csv +0 -58
  7. odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.tax.csv +0 -31
  8. odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.tax.group.csv +0 -3
  9. odoo/addons/l10n_br_fiscal/data/product_data.xml +2 -2
  10. odoo/addons/l10n_br_fiscal/demo/fiscal_document_demo.xml +88 -0
  11. odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot +28 -1031
  12. odoo/addons/l10n_br_fiscal/i18n/pt_BR.po +1078 -1197
  13. odoo/addons/l10n_br_fiscal/models/__init__.py +2 -2
  14. odoo/addons/l10n_br_fiscal/models/comment.py +20 -18
  15. odoo/addons/l10n_br_fiscal/models/data_abstract.py +11 -12
  16. odoo/addons/l10n_br_fiscal/models/document.py +4 -30
  17. odoo/addons/l10n_br_fiscal/models/document_line.py +3 -16
  18. odoo/addons/l10n_br_fiscal/models/document_line_mixin.py +27 -1048
  19. odoo/addons/l10n_br_fiscal/models/document_line_mixin_methods.py +883 -0
  20. odoo/addons/l10n_br_fiscal/models/document_mixin.py +3 -241
  21. odoo/addons/l10n_br_fiscal/models/document_mixin_methods.py +239 -0
  22. odoo/addons/l10n_br_fiscal/models/document_serie.py +5 -3
  23. odoo/addons/l10n_br_fiscal/models/invalidate_number.py +0 -6
  24. odoo/addons/l10n_br_fiscal/models/operation.py +0 -11
  25. odoo/addons/l10n_br_fiscal/models/operation_dashboard.py +2 -3
  26. odoo/addons/l10n_br_fiscal/models/operation_line.py +0 -28
  27. odoo/addons/l10n_br_fiscal/models/partner_profile.py +0 -6
  28. odoo/addons/l10n_br_fiscal/models/product_template.py +0 -4
  29. odoo/addons/l10n_br_fiscal/models/res_company.py +0 -18
  30. odoo/addons/l10n_br_fiscal/models/res_partner.py +0 -17
  31. odoo/addons/l10n_br_fiscal/models/simplified_tax_range.py +0 -8
  32. odoo/addons/l10n_br_fiscal/models/tax_definition.py +2 -35
  33. odoo/addons/l10n_br_fiscal/security/ir.model.access.csv +0 -6
  34. odoo/addons/l10n_br_fiscal/static/description/index.html +8 -8
  35. odoo/addons/l10n_br_fiscal/tests/__init__.py +0 -1
  36. odoo/addons/l10n_br_fiscal/tests/test_cnae.py +2 -3
  37. odoo/addons/l10n_br_fiscal/tests/test_document_edition.py +10 -37
  38. odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py +28 -4
  39. odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_nfse.py +4 -0
  40. odoo/addons/l10n_br_fiscal/tests/test_service_type.py +2 -3
  41. odoo/addons/l10n_br_fiscal/tests/test_tax_benefit.py +4 -2
  42. odoo/addons/l10n_br_fiscal/views/cest_view.xml +2 -2
  43. odoo/addons/l10n_br_fiscal/views/cnae_view.xml +0 -1
  44. odoo/addons/l10n_br_fiscal/views/document_line_mixin_view.xml +170 -243
  45. odoo/addons/l10n_br_fiscal/views/document_line_view.xml +7 -11
  46. odoo/addons/l10n_br_fiscal/views/document_related_view.xml +15 -11
  47. odoo/addons/l10n_br_fiscal/views/document_serie_view.xml +1 -1
  48. odoo/addons/l10n_br_fiscal/views/document_view.xml +32 -44
  49. odoo/addons/l10n_br_fiscal/views/invalidate_number_view.xml +12 -12
  50. odoo/addons/l10n_br_fiscal/views/l10n_br_fiscal_action.xml +0 -31
  51. odoo/addons/l10n_br_fiscal/views/l10n_br_fiscal_menu.xml +2 -18
  52. odoo/addons/l10n_br_fiscal/views/nbm_view.xml +2 -2
  53. odoo/addons/l10n_br_fiscal/views/nbs_view.xml +1 -1
  54. odoo/addons/l10n_br_fiscal/views/ncm_view.xml +3 -3
  55. odoo/addons/l10n_br_fiscal/views/operation_dashboard_view.xml +27 -18
  56. odoo/addons/l10n_br_fiscal/views/operation_line_view.xml +2 -5
  57. odoo/addons/l10n_br_fiscal/views/operation_view.xml +39 -16
  58. odoo/addons/l10n_br_fiscal/views/partner_profile_view.xml +3 -6
  59. odoo/addons/l10n_br_fiscal/views/product_genre_view.xml +2 -2
  60. odoo/addons/l10n_br_fiscal/views/product_product_view.xml +17 -45
  61. odoo/addons/l10n_br_fiscal/views/product_template_view.xml +16 -35
  62. odoo/addons/l10n_br_fiscal/views/res_company_view.xml +17 -18
  63. odoo/addons/l10n_br_fiscal/views/res_config_settings_view.xml +37 -98
  64. odoo/addons/l10n_br_fiscal/views/res_partner_view.xml +3 -13
  65. odoo/addons/l10n_br_fiscal/views/service_type_view.xml +2 -3
  66. odoo/addons/l10n_br_fiscal/views/tax_definition_view.xml +60 -29
  67. odoo/addons/l10n_br_fiscal/views/tax_estimate_view.xml +2 -2
  68. odoo/addons/l10n_br_fiscal/views/tax_group_view.xml +4 -4
  69. odoo/addons/l10n_br_fiscal/views/tax_view.xml +14 -16
  70. odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py +1 -1
  71. odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.xml +2 -5
  72. {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/METADATA +16 -16
  73. {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/RECORD +77 -88
  74. odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.operation.indicator.csv +0 -27
  75. odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.tax.classification.csv +0 -163
  76. odoo/addons/l10n_br_fiscal/migrations/16.0.14.0.5/pre-migration.py +0 -15
  77. odoo/addons/l10n_br_fiscal/migrations/16.0.2.0.0/pre-migration.py +0 -25
  78. odoo/addons/l10n_br_fiscal/migrations/16.0.2.15.0/pre-migration.py +0 -19
  79. odoo/addons/l10n_br_fiscal/migrations/16.0.4.0.0/pre-migration.py +0 -220
  80. odoo/addons/l10n_br_fiscal/migrations/16.0.5.0.0/pre-migration.py +0 -33
  81. odoo/addons/l10n_br_fiscal/migrations/16.0.5.2.0/pre-migration.py +0 -21
  82. odoo/addons/l10n_br_fiscal/models/operation_indicator.py +0 -58
  83. odoo/addons/l10n_br_fiscal/models/tax_classification.py +0 -81
  84. odoo/addons/l10n_br_fiscal/tests/test_tax_classification.py +0 -110
  85. odoo/addons/l10n_br_fiscal/views/operation_indicator_view.xml +0 -75
  86. odoo/addons/l10n_br_fiscal/views/tax_classification.xml +0 -110
  87. /odoo/addons/l10n_br_fiscal/migrations/{16.0.13.0.0 → 17.0.2.0.0}/pre-migration.py +0 -0
  88. /odoo/addons/l10n_br_fiscal/migrations/{16.0.14.0.0 → 17.0.3.0.0}/pre-migration.py +0 -0
  89. {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/WHEEL +0 -0
  90. {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/top_level.txt +0 -0
@@ -26,7 +26,7 @@
26
26
  <button
27
27
  name="action_review"
28
28
  type="object"
29
- states="draft"
29
+ invisible="state != 'draft'"
30
30
  string="Review"
31
31
  class="oe_highlight"
32
32
  groups="l10n_br_fiscal.group_manager"
@@ -56,12 +56,9 @@
56
56
  <field name="document_type_id" />
57
57
  <field name="add_to_amount" />
58
58
  </group>
59
- <group name="general_tax_classification">
60
- <field name="tax_classification_id" />
61
- </group>
62
59
  <group
63
60
  name="general_cfop"
64
- attrs="{'invisible': [('fiscal_operation_type', '=', 'all')]}"
61
+ invisible="fiscal_operation_type == 'all'"
65
62
  >
66
63
  <field
67
64
  name="cfop_internal_id"
@@ -24,11 +24,15 @@
24
24
  <field name="model">l10n_br_fiscal.operation</field>
25
25
  <field name="arch" type="xml">
26
26
  <tree>
27
- <field name="code" />
28
- <field name="name" />
29
- <field name="company_id" groups="base.group_multi_company" />
30
- <field name="fiscal_operation_type" />
31
- <field name="fiscal_type" />
27
+ <field name="code" readonly="state != 'draft'" />
28
+ <field name="name" readonly="state != 'draft'" />
29
+ <field
30
+ name="company_id"
31
+ groups="base.group_multi_company"
32
+ readonly="state != 'draft'"
33
+ />
34
+ <field name="fiscal_operation_type" readonly="state != 'draft'" />
35
+ <field name="fiscal_type" readonly="state != 'draft'" />
32
36
  <field name="state" />
33
37
  </tree>
34
38
  </field>
@@ -44,7 +48,7 @@
44
48
  <button
45
49
  name="action_review"
46
50
  type="object"
47
- states="draft"
51
+ invisible="state != 'draft'"
48
52
  string="Review"
49
53
  class="oe_highlight"
50
54
  groups="l10n_br_fiscal.group_manager"
@@ -52,7 +56,7 @@
52
56
  <button
53
57
  name="action_approve"
54
58
  type="object"
55
- states="review,expired"
59
+ invisible="state not in ('review', 'expired')"
56
60
  string="Approve"
57
61
  class="oe_highlight"
58
62
  groups="l10n_br_fiscal.group_manager"
@@ -60,7 +64,7 @@
60
64
  <button
61
65
  name="action_draft"
62
66
  type="object"
63
- states="review,approved"
67
+ invisible="state not in ('review', 'approved')"
64
68
  string="Reset To Draft"
65
69
  class="oe_highlight"
66
70
  groups="l10n_br_fiscal.group_manager"
@@ -72,37 +76,56 @@
72
76
  <div class="col-10">
73
77
  <label for="name" class="oe_edit_only" />
74
78
  <div class="o_row d-flex">
75
- <field name="name" class="oe_inline" />
79
+ <field
80
+ name="name"
81
+ class="oe_inline"
82
+ readonly="state != 'draft'"
83
+ />
76
84
  </div>
77
85
  </div>
78
86
  </h1>
79
87
  <group>
80
88
  <group>
81
- <field name="fiscal_operation_type" />
82
- <field name="fiscal_type" />
83
- <field name="code" />
89
+ <field
90
+ name="fiscal_operation_type"
91
+ readonly="state != 'draft'"
92
+ />
93
+ <field name="fiscal_type" readonly="state != 'draft'" />
94
+ <field name="code" readonly="state != 'draft'" />
84
95
  <field
85
96
  name="company_id"
86
97
  groups="base.group_multi_company"
98
+ readonly="state != 'draft'"
87
99
  />
88
- <field name="edoc_purpose" />
100
+ <field name="edoc_purpose" readonly="state != 'draft'" />
89
101
  </group>
90
102
  <group>
91
- <field name="default_price_unit" />
92
- <field name="return_fiscal_operation_id" />
93
- <field name="inverse_fiscal_operation_id" />
103
+ <field
104
+ name="default_price_unit"
105
+ readonly="state != 'draft'"
106
+ />
107
+ <field
108
+ name="return_fiscal_operation_id"
109
+ readonly="state != 'draft'"
110
+ />
111
+ <field
112
+ name="inverse_fiscal_operation_id"
113
+ readonly="state != 'draft'"
114
+ />
94
115
  </group>
95
116
  </group>
96
117
  <notebook>
97
118
  <page name="operation_line" string="Operation Line">
98
119
  <field
99
120
  name="line_ids"
121
+ readonly="state != 'draft'"
100
122
  context="{'default_fiscal_operation_id': id, 'default_fiscal_type': fiscal_type, 'default_fiscal_operation_type': fiscal_operation_type, 'form_view_ref': 'l10n_br_fiscal.operation_line_form' , 'show_code_only': 1}"
101
123
  />
102
124
  </page>
103
125
  <page name="operation_document_type" string="Fiscal Documents">
104
126
  <field
105
127
  name="document_type_ids"
128
+ readonly="state != 'draft'"
106
129
  context="{'default_fiscal_operation_id': id}"
107
130
  >
108
131
  <tree>
@@ -48,8 +48,8 @@
48
48
  id="partner_button"
49
49
  icon="fa-bars"
50
50
  name="action_view_partners"
51
- context="{'default_fiscal_profile_id': active_id}"
52
- attrs="{'invisible': [('partner_qty', '=', 0)]}"
51
+ context="{'default_fiscal_profile_id': id}"
52
+ invisible="partner_qty == 0"
53
53
  >
54
54
  <field
55
55
  string="Partners"
@@ -65,10 +65,7 @@
65
65
  <field name="is_public_entity" />
66
66
  <field name="default" />
67
67
  <field name="ind_ie_dest" />
68
- <field
69
- name="tax_framework"
70
- attrs="{'invisible': [('is_company', '=', False)]}"
71
- />
68
+ <field name="tax_framework" invisible="not is_company" />
72
69
  </group>
73
70
  <notebook>
74
71
  <page string="Related Partners" name="partner_related">
@@ -35,8 +35,8 @@
35
35
  id="product_tmpl_button"
36
36
  icon="fa-bars"
37
37
  name="%(product.product_template_action_all)d"
38
- context="{'search_default_product_genre_id': active_id}"
39
- attrs="{'invisible': [('product_tmpl_qty', '=', 0)]}"
38
+ context="{'search_default_product_genre_id': id}"
39
+ invisible="product_tmpl_qty == 0"
40
40
  >
41
41
  <field
42
42
  string="Products"
@@ -40,7 +40,7 @@
40
40
  <field name="ncm_id" />
41
41
  <field name="standard_price" />
42
42
  <field name="type" />
43
- <field name="active" invisible="1" />
43
+ <field name="active" column_invisible="True" />
44
44
  </tree>
45
45
  </field>
46
46
  </record>
@@ -58,32 +58,21 @@
58
58
  >
59
59
  <group>
60
60
  <group>
61
- <field
62
- name="fiscal_type"
63
- required="1"
64
- attrs="{'required': [('sale_ok', '=', True)]}"
65
- />
61
+ <field name="fiscal_type" required="1" />
66
62
  <field
67
63
  name="icms_origin"
68
- attrs="{'required': ['&amp;', ('fiscal_type', '!=', '09'), '|', ('sale_ok', '=', True), ('purchase_ok', '=', True)], 'invisible': [('fiscal_type', '=', '09')]}"
69
- />
70
- <field
71
- name="ncm_id"
72
- attrs="{'required': ['|', ('sale_ok', '=', True), ('purchase_ok', '=', True)]}"
73
- options="{'no_create': True, 'no_create_edit': True}"
74
- />
75
- <field
76
- name="tax_icms_or_issqn"
77
- attrs="{'required': ['|', ('sale_ok', '=', True), ('purchase_ok', '=', True)]}"
64
+ invisible="fiscal_type == '09'"
65
+ required="fiscal_type != '09'"
78
66
  />
67
+ <field name="ncm_id" required="1" />
68
+ <field name="tax_icms_or_issqn" required="1" />
79
69
  <field
80
70
  name="service_type_id"
81
- attrs="{'invisible': [('fiscal_type', '!=', '09')]}"
82
- options="{'no_create': True, 'no_create_edit': True}"
71
+ invisible="fiscal_type != '09'"
83
72
  />
84
73
  <field
85
74
  name="city_taxation_code_ids"
86
- attrs="{'invisible': [('fiscal_type', '!=', '09')]}"
75
+ invisible="fiscal_type != '09'"
87
76
  context="{'default_service_type_id': service_type_id}"
88
77
  >
89
78
  <tree editable="bottom">
@@ -96,47 +85,30 @@
96
85
  </field>
97
86
  </group>
98
87
  <group>
99
- <field
100
- name="fiscal_genre_id"
101
- attrs="{'required': [('sale_ok', '=', True)]}"
102
- options="{'no_create': True, 'no_create_edit': True}"
103
- />
104
- <field
105
- name="cest_id"
106
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
107
- options="{'no_create': True, 'no_create_edit': True}"
108
- />
109
- <field
110
- name="nbm_id"
111
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
112
- options="{'no_create': True, 'no_create_edit': True}"
113
- />
114
- <field
115
- name="nbs_id"
116
- attrs="{'invisible': [('fiscal_type', '!=', '09')]}"
117
- options="{'no_create': True, 'no_create_edit': True}"
118
- />
88
+ <field name="fiscal_genre_id" required="1" />
89
+ <field name="cest_id" invisible="fiscal_type == '09'" />
90
+ <field name="nbs_id" invisible="fiscal_type != '09'" />
119
91
  <field
120
92
  name="ipi_guideline_class_id"
121
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
122
- options="{'no_create': True, 'no_create_edit': True}"
93
+ invisible="fiscal_type == '09'"
123
94
  />
124
95
  <field
125
96
  name="ipi_control_seal_id"
126
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
127
- options="{'no_create': True, 'no_create_edit': True}"
97
+ invisible="fiscal_type == '09'"
128
98
  />
129
99
  </group>
130
100
  <group string="Tax UOM">
131
101
  <field name="uoe_id" />
132
102
  <field
133
103
  name="uoe_factor"
134
- attrs="{'invisible': [('fiscal_type', '=', False)], 'required': [('uot_id', '!=', False)]}"
104
+ invisible="not fiscal_type"
105
+ required="uot_id"
135
106
  />
136
107
  <field name="uot_id" />
137
108
  <field
138
109
  name="uot_factor"
139
- attrs="{'invisible': [('uot_id', '=', False)], 'required': [('uot_id', '!=', False)]}"
110
+ invisible="not uot_id"
111
+ required="uot_id"
140
112
  />
141
113
  </group>
142
114
  </group>
@@ -45,7 +45,7 @@
45
45
  <field name="ncm_id" />
46
46
  <field name="standard_price" />
47
47
  <field name="type" />
48
- <field name="active" invisible="1" />
48
+ <field name="active" column_invisible="True" />
49
49
  </tree>
50
50
  </field>
51
51
  </record>
@@ -59,31 +59,25 @@
59
59
  <page name="fiscal" string="Fiscal" groups="l10n_br_fiscal.group_user">
60
60
  <group>
61
61
  <group>
62
- <field
63
- name="fiscal_type"
64
- required="1"
65
- attrs="{'required': [('sale_ok', '=', True)]}"
66
- />
62
+ <field name="fiscal_type" required="1" />
67
63
  <field
68
64
  name="icms_origin"
69
- attrs="{'required': ['&amp;', ('fiscal_type', '!=', '09'), '|', ('sale_ok', '=', True), ('purchase_ok', '=', True)], 'invisible': [('fiscal_type', '=', '09')]}"
65
+ invisible="fiscal_type == '09'"
66
+ required="fiscal_type != '09'"
70
67
  />
71
68
  <field
72
69
  name="ncm_id"
73
- attrs="{'required': ['|', ('sale_ok', '=', True), ('purchase_ok', '=', True)]}"
70
+ required="1"
74
71
  options="{'no_create': True, 'no_create_edit': True}"
75
72
  />
76
- <field
77
- name="tax_icms_or_issqn"
78
- attrs="{'required': ['|', ('sale_ok', '=', True), ('purchase_ok', '=', True)]}"
79
- />
73
+ <field name="tax_icms_or_issqn" required="1" />
80
74
  <field
81
75
  name="service_type_id"
82
- attrs="{'invisible': [('fiscal_type', '!=', '09')]}"
76
+ invisible="fiscal_type != '09'"
83
77
  />
84
78
  <field
85
79
  name="city_taxation_code_ids"
86
- attrs="{'invisible': [('fiscal_type', '!=', '09')]}"
80
+ invisible="fiscal_type != '09'"
87
81
  context="{'default_service_type_id': service_type_id}"
88
82
  >
89
83
  <tree editable="bottom">
@@ -111,37 +105,22 @@
111
105
  <group>
112
106
  <field
113
107
  name="fiscal_genre_id"
114
- attrs="{'required': [('sale_ok', '=', True)]}"
108
+ required="1"
115
109
  options="{'no_create': True, 'no_create_edit': True}"
116
110
  />
117
111
  <field
118
112
  name="cest_id"
119
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
113
+ invisible="fiscal_type == '09'"
120
114
  options="{'no_create': True, 'no_create_edit': True}"
121
115
  />
122
116
  <field
123
117
  name="nbm_id"
124
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
118
+ invisible="fiscal_type == '09'"
125
119
  options="{'no_create': True, 'no_create_edit': True}"
126
120
  />
127
121
  <field
128
122
  name="nbs_id"
129
- attrs="{'invisible': [('fiscal_type', '!=', '09')]}"
130
- options="{'no_create': True, 'no_create_edit': True}"
131
- />
132
- <field
133
- name="operation_indicator_id"
134
- attrs="{'invisible': [('fiscal_type', '!=', '09')]}"
135
- options="{'no_create': True, 'no_create_edit': True}"
136
- />
137
- <field
138
- name="ipi_guideline_class_id"
139
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
140
- options="{'no_create': True, 'no_create_edit': True}"
141
- />
142
- <field
143
- name="ipi_control_seal_id"
144
- attrs="{'invisible': [('fiscal_type', '=', '09')]}"
123
+ invisible="fiscal_type != '09'"
145
124
  options="{'no_create': True, 'no_create_edit': True}"
146
125
  />
147
126
  </group>
@@ -152,7 +131,8 @@
152
131
  />
153
132
  <field
154
133
  name="uoe_factor"
155
- attrs="{'invisible': [('fiscal_type', '=', False)], 'required': [('uot_id', '!=', False)]}"
134
+ invisible="not fiscal_type"
135
+ required="uot_id"
156
136
  />
157
137
  <field
158
138
  name="uot_id"
@@ -160,7 +140,8 @@
160
140
  />
161
141
  <field
162
142
  name="uot_factor"
163
- attrs="{'invisible': [('uot_id', '=', False)], 'required': [('uot_id', '!=', False)]}"
143
+ invisible="not uot_id"
144
+ required="uot_id"
164
145
  />
165
146
  </group>
166
147
  </group>
@@ -44,7 +44,7 @@
44
44
  <group
45
45
  name="simples"
46
46
  string="Simples Nacional"
47
- attrs="{'invisible': [('tax_framework', '=', '3')]}"
47
+ invisible="tax_framework == '3'"
48
48
  >
49
49
  <group>
50
50
  <field name="annual_revenue" />
@@ -61,19 +61,20 @@
61
61
  <group
62
62
  name="normal"
63
63
  string="Regime Normal"
64
- attrs="{'invisible': [('tax_framework', '!=', '3')]}"
64
+ invisible="tax_framework != '3'"
65
65
  >
66
66
  <group>
67
67
  <field
68
68
  name="profit_calculation"
69
- attrs="{'required': [('tax_framework', '=', '3')]}"
69
+ required="tax_framework == '3'"
70
70
  />
71
71
  </group>
72
72
  <group>
73
73
  <field name="is_industry" />
74
74
  <field
75
75
  name="industry_type"
76
- attrs="{'invisible': [('is_industry', '=', False)], 'required': [('is_industry', '=', True)]}"
76
+ invisible="not is_industry"
77
+ required="is_industry"
77
78
  />
78
79
  </group>
79
80
  </group>
@@ -84,7 +85,7 @@
84
85
  <field
85
86
  name="piscofins_id"
86
87
  required="1"
87
- domain="{'3': [('piscofins_type', '=', 'company'), ('id', '!=', %(l10n_br_fiscal.tax_pis_cofins_simples_nacional)d)]}.get(tax_framework, [('piscofins_type', '=', 'company'), ('id', '=', %(l10n_br_fiscal.tax_pis_cofins_simples_nacional)d)])"
88
+ domain="[ ('piscofins_type', '=', 'company'), '|', '&amp;', ('parent.tax_framework', '=', 3), ('id', '!=', %(l10n_br_fiscal.tax_pis_cofins_simples_nacional)d), '&amp;', ('parent.tax_framework', '!=', 3), ('id', '=', %(l10n_br_fiscal.tax_pis_cofins_simples_nacional)d) ]"
88
89
  options="{'no_create': True, 'no_create_edit': True}"
89
90
  />
90
91
  <field name="tax_pis_wh_id" />
@@ -93,29 +94,33 @@
93
94
  <group name="ipi_taxes" string="IPI">
94
95
  <field
95
96
  name="ripi"
96
- attrs="{'invisible': [('tax_framework', '!=', '3')]}"
97
+ invisible="tax_framework != '3'"
97
98
  />
98
99
  <field
99
100
  name="tax_ipi_id"
100
- attrs="{'invisible': [('tax_framework', '=', '3'), ('ripi', '=', True)], 'required': [('tax_framework', '!=', '3')]}"
101
- domain="{'3': [('id', '!=', %(l10n_br_fiscal.tax_ipi_outros)d), ('tax_group_id', '=', %(l10n_br_fiscal.tax_group_ipi)d)]}.get(tax_framework, [('id', '=', %(l10n_br_fiscal.tax_ipi_outros)d)])"
101
+ invisible="tax_framework == '3' and ripi"
102
+ required="tax_framework != '3'"
103
+ domain="['|', '&amp;', ('parent.tax_framework', '=', 3), '&amp;', ('id', '!=', %(l10n_br_fiscal.tax_ipi_outros)d), ('tax_group_id', '=', %(l10n_br_fiscal.tax_group_ipi)d), '&amp;', ('parent.tax_framework', '!=', 3), ('id', '=', %(l10n_br_fiscal.tax_ipi_outros)d) ]"
104
+ options="{'no_create': True, 'no_create_edit': True}"
102
105
  />
103
106
  <div
104
107
  class="text-muted"
105
108
  colspan="2"
106
- attrs="{'invisible': [('ripi', '=', False)]}"
109
+ invisible="not ripi"
107
110
  >IPI tax will be calculed by Product NCM and Fiscal Operation.</div>
108
111
  </group>
109
112
  <group name="icms_taxes" string="ICMS">
110
113
  <field
111
114
  name="tax_icms_id"
112
- attrs="{'invisible': [('tax_framework', '=', '3')], 'required': [('tax_framework', 'in', ('1', '2'))]}"
113
- domain="{'3': [('tax_group_id', '=', %(l10n_br_fiscal.tax_group_icms)d)]}.get(tax_framework, [('tax_group_id', '=', %(l10n_br_fiscal.tax_group_icmssn)d)])"
115
+ invisible="tax_framework == '3'"
116
+ required="tax_framework in ('1', '2')"
117
+ domain="['|', '&amp;', ('parent.tax_framework', '=', 3), ('tax_group_id', '=', %(l10n_br_fiscal.tax_group_icms)d), '&amp;', ('parent.tax_framework', '!=', 3), ('tax_group_id', '=', %(l10n_br_fiscal.tax_group_icmssn)d) ]"
114
118
  options="{'no_create': True, 'no_create_edit': True}"
115
119
  />
116
120
  <field
117
121
  name="icms_regulation_id"
118
- attrs="{'invisible': [('tax_framework', '!=', '3')], 'required': [('tax_framework', '=', '3')]}"
122
+ invisible="tax_framework != '3'"
123
+ required="tax_framework == '3'"
119
124
  options="{'no_create': True, 'no_create_edit': True}"
120
125
  />
121
126
  </group>
@@ -135,12 +140,6 @@
135
140
  <field name="tax_inss_id" />
136
141
  <field name="tax_inss_wh_id" />
137
142
  </group>
138
- <group
139
- name="ibs_cbs_taxes_classification"
140
- string="IBS/CBS Tax Classification"
141
- >
142
- <field name="tax_classification_id" />
143
- </group>
144
143
  </group>
145
144
  <group name="advanced_taxes" string="Advanced Taxes">
146
145
  <field