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
@@ -43,15 +43,15 @@
43
43
  />
44
44
  <field
45
45
  name="insurance_value"
46
- attrs="{'readonly': ['|', ('delivery_costs', '=', 'total'), ('force_compute_delivery_costs_by_total', '=', True)]}"
46
+ readonly="delivery_costs == 'total' or force_compute_delivery_costs_by_total"
47
47
  />
48
48
  <field
49
49
  name="other_value"
50
- attrs="{'readonly': ['|', ('delivery_costs', '=', 'total'), ('force_compute_delivery_costs_by_total', '=', True)]}"
50
+ readonly="delivery_costs == 'total' or force_compute_delivery_costs_by_total"
51
51
  />
52
52
  <field
53
53
  name="freight_value"
54
- attrs="{'readonly': ['|', ('delivery_costs', '=', 'total'), ('force_compute_delivery_costs_by_total', '=', True)]}"
54
+ readonly="delivery_costs == 'total' or force_compute_delivery_costs_by_total"
55
55
  />
56
56
  </group>
57
57
  <group name="fiscal_info" string="Fiscal">
@@ -72,19 +72,15 @@
72
72
  <field name="nbs_id" />
73
73
  <field
74
74
  name="service_type_id"
75
- attrs="{'invisible': [('fiscal_genre_code', '!=', '00'), ('cfop_id', '!=', False)]}"
75
+ invisible="fiscal_genre_code != '00' and cfop_id"
76
76
  />
77
77
  <field
78
78
  name="city_taxation_code_id"
79
- attrs="{'invisible': [('fiscal_genre_code', '!=', '00'), ('cfop_id', '!=', False)]}"
79
+ invisible="fiscal_genre_code != '00' and cfop_id"
80
80
  />
81
81
  <field
82
82
  name="cnae_id"
83
- attrs="{'invisible': [('fiscal_genre_code', '!=', '00'), ('cfop_id', '!=', False)]}"
84
- />
85
- <field
86
- name="operation_indicator_id"
87
- attrs="{'invisible': [('fiscal_genre_code', '!=', '00'), ('cfop_id', '!=', False)]}"
83
+ invisible="fiscal_genre_code != '00' and cfop_id"
88
84
  />
89
85
  </group>
90
86
  <group name="l10n_br_fiscal" string="Operation">
@@ -97,7 +93,7 @@
97
93
  <field name="fiscal_operation_line_id" required="1" />
98
94
  <field
99
95
  name="cfop_id"
100
- attrs="{'invisible': [('fiscal_type', '=', '00'), ('cfop_id', '=', False)]}"
96
+ invisible="fiscal_type == '00' and not cfop_id"
101
97
  />
102
98
  </group>
103
99
  </group>
@@ -30,51 +30,55 @@
30
30
  </group>
31
31
  <group
32
32
  string="NF-e/CT-e"
33
- attrs="{'invisible': [('document_type_code','not in', ('55', '57'))]}"
33
+ invisible="document_type_code not in ('55', '57')"
34
34
  >
35
35
  <field name="document_key" />
36
36
  </group>
37
37
  <group
38
38
  string="Nota Fiscal/Produtor/Cupom Fiscal"
39
- attrs="{'invisible': [('document_type_code', 'not in', ('01', '04'))]}"
39
+ invisible="document_type_code not in ('01', '04')"
40
40
  >
41
41
  <field
42
42
  name="document_serie"
43
- attrs="{'required': [('document_type_code', 'in', ('01', '04', '07'))]}"
43
+ required="document_type_code in ('01', '04', '07')"
44
44
  />
45
45
  <field
46
46
  name="document_number"
47
- attrs="{'required': [('document_type_code', 'in', ('01', '04', '07'))]}"
47
+ required="document_type_code in ('01', '04', '07')"
48
48
  />
49
49
  <field
50
50
  name="state_id"
51
- attrs="{'required': [('document_type_code', 'in', ('01', '04'))], 'invisible': [('document_type_code', '=', '07')]}"
51
+ invisible="document_type_code == '07'"
52
+ required="document_type_code in ('01', '04')"
52
53
  />
53
54
  <field
54
55
  name="document_date"
55
- attrs="{'required': [('document_type_code', 'in', ('01', '04'))], 'invisible': [('document_type_code', '=', '07')]}"
56
+ invisible="document_type_code == '07'"
57
+ required="document_type_code in ('01', '04')"
56
58
  />
57
59
  <field
58
60
  name="cpfcnpj_type"
59
- attrs="{'required': [('document_type_code', 'in', ('04'))], 'invisible': [('document_type_code', '!=', '04')]}"
61
+ invisible="document_type_code != '04'"
62
+ required="document_type_code in '04'"
60
63
  />
61
64
  <field
62
65
  name="cnpj_cpf"
63
- attrs="{'required': [('document_type_code', 'in', ('01', '04'))], 'invisible': [('document_type_code', '=', '07')]}"
66
+ invisible="document_type_code == '07'"
67
+ required="document_type_code in ('01', '04')"
64
68
  />
65
69
  <field
66
70
  name="l10n_br_ie_code"
67
- attrs="{'invisible': [('document_type_code', '!=', '04')]}"
71
+ invisible="document_type_code != '04'"
68
72
  />
69
73
  </group>
70
74
  <group
71
75
  string="Totais"
72
- attrs="{'invisible': [('document_type_code', 'not in', ('55', '57', '58'))]}"
76
+ invisible="document_type_code not in ('55', '57', '58')"
73
77
  >
74
78
  <field name="document_total_weight" />
75
79
  <field
76
80
  name="document_total_amount"
77
- attrs="{'invisible': [('document_related_id', '!=', False)]}"
81
+ invisible="document_related_id"
78
82
  />
79
83
  </group>
80
84
  </form>
@@ -26,7 +26,7 @@
26
26
  name="web_ribbon"
27
27
  title="Archived"
28
28
  bg_color="bg-danger"
29
- attrs="{'invisible': [('active', '=', True)]}"
29
+ invisible="active"
30
30
  />
31
31
  </div>
32
32
  <group>
@@ -74,7 +74,7 @@
74
74
  <field name="fiscal_amount_untaxed" />
75
75
  <field name="fiscal_amount_tax" />
76
76
  <field name="fiscal_amount_total" />
77
- <field name="state" invisible="1" />
77
+ <field name="state" column_invisible="True" />
78
78
  <field
79
79
  name="state_edoc"
80
80
  widget="badge"
@@ -100,14 +100,13 @@
100
100
  <field name="fiscal_operation_type" invisible="1" />
101
101
  <field name="document_type" invisible="1" />
102
102
  <header>
103
- <!-- Please use state_edoc and attrs to maintain compatibility with invoice -->
104
103
  <button
105
104
  name="action_document_confirm"
106
105
  type="object"
107
106
  string="Confirmar"
108
107
  groups="l10n_br_fiscal.group_user"
109
108
  class="btn-primary"
110
- attrs="{'invisible': [('state_edoc', '!=', 'em_digitacao')]}"
109
+ invisible="state_edoc != 'em_digitacao'"
111
110
  />
112
111
  <button
113
112
  name="action_document_send"
@@ -115,7 +114,7 @@
115
114
  string="Enviar"
116
115
  groups="l10n_br_fiscal.group_user"
117
116
  class="btn-primary"
118
- attrs="{'invisible': [('state_edoc','!=','a_enviar')]}"
117
+ invisible="state_edoc != 'a_enviar'"
119
118
  />
120
119
  <button
121
120
  name="action_document_send"
@@ -123,7 +122,7 @@
123
122
  string="Consultar Recibo"
124
123
  groups="l10n_br_fiscal.group_user"
125
124
  class="btn-primary"
126
- attrs="{'invisible': [('state_edoc','!=','enviada')]}"
125
+ invisible="state_edoc != 'enviada'"
127
126
  />
128
127
  <button
129
128
  name="action_document_back2draft"
@@ -131,7 +130,7 @@
131
130
  string="Voltar p/ Em Digitação"
132
131
  groups="l10n_br_fiscal.group_user"
133
132
  class="btn-secondary"
134
- attrs="{'invisible': ['|', ('state_edoc', 'not in', ('a_enviar', 'rejeitada', 'enviada')), ('document_electronic', '=', False)]}"
133
+ invisible="state_edoc not in ('a_enviar', 'rejeitada', 'enviada') or not document_electronic"
135
134
  />
136
135
  <button
137
136
  name="view_pdf"
@@ -139,7 +138,7 @@
139
138
  string="Visualizar PDF"
140
139
  groups="l10n_br_fiscal.group_user"
141
140
  class="btn-primary"
142
- attrs="{'invisible': [('state_edoc', '=', 'em_digitacao')]}"
141
+ invisible="state_edoc == 'em_digitacao'"
143
142
  />
144
143
  <button
145
144
  name="view_xml"
@@ -147,35 +146,35 @@
147
146
  string="Visualizar XML"
148
147
  groups="l10n_br_fiscal.group_user"
149
148
  class="btn-primary"
150
- attrs="{'invisible': ['|', ('document_electronic', '=', False), ('state_edoc', '=', 'em_digitacao')]}"
149
+ invisible="not document_electronic or state_edoc == 'em_digitacao'"
151
150
  />
152
151
  <button
153
152
  name="action_document_cancel"
154
153
  type="object"
155
154
  string="Cancelar"
156
155
  groups="l10n_br_fiscal.group_user"
157
- attrs="{'invisible': ['|', ('state_edoc', '!=', 'autorizada'), ('document_electronic', '=', False)]}"
156
+ invisible="state_edoc != 'autorizada' or not document_electronic"
158
157
  />
159
158
  <button
160
159
  name="action_document_invalidate"
161
160
  type="object"
162
161
  string="Invalidar Numeração"
163
162
  groups="l10n_br_fiscal.group_user"
164
- attrs="{'invisible': [('state_edoc', 'in', ('em_digitacao', 'autorizada', 'cancelada', 'denegada'))]}"
163
+ invisible="state_edoc in ('em_digitacao', 'autorizada', 'cancelada', 'denegada')"
165
164
  />
166
165
  <button
167
166
  name="action_document_correction"
168
167
  type="object"
169
168
  string="Carta de correção"
170
169
  groups="l10n_br_fiscal.group_user"
171
- attrs="{'invisible': [('state_edoc', '!=', 'autorizada')]}"
170
+ invisible="state_edoc != 'autorizada'"
172
171
  />
173
172
  <button
174
173
  name="action_create_return"
175
174
  type="object"
176
175
  string="Devolver"
177
176
  groups="l10n_br_fiscal.group_user"
178
- attrs="{'invisible': [('state_edoc', '!=', 'autorizada')]}"
177
+ invisible="state_edoc != 'autorizada'"
179
178
  />
180
179
  <field
181
180
  name="state_edoc"
@@ -186,7 +185,7 @@
186
185
  <div
187
186
  class="alert alert-danger"
188
187
  role="alert"
189
- attrs="{'invisible': [('xml_error_message','=',False)]}"
188
+ invisible="not xml_error_message"
190
189
  >
191
190
  <strong>XML validation errors:</strong>
192
191
  <field name="xml_error_message" readonly="1" />
@@ -194,7 +193,7 @@
194
193
  <div
195
194
  class="alert alert-danger"
196
195
  role="alert"
197
- attrs="{'invisible': [('state_edoc','not in',('rejeitada', 'denegada'))]}"
196
+ invisible="state_edoc not in ('rejeitada', 'denegada')"
198
197
  >Fiscal Document:
199
198
  <field name="document_type_id" readonly="1" />is
200
199
  <strong>
@@ -203,14 +202,14 @@
203
202
  <div
204
203
  class="alert alert-success"
205
204
  role="alert"
206
- attrs="{'invisible': [('state_edoc','!=','autorizada')]}"
205
+ invisible="state_edoc != 'autorizada'"
207
206
  >Fiscal Document:
208
207
  <field name="document_type_id" readonly="1" />is
209
208
  <strong>Authorized</strong></div>
210
209
  <div
211
210
  class="alert alert-warning"
212
211
  role="alert"
213
- attrs="{'invisible': [('state_edoc','!=','cancelada')]}"
212
+ invisible="state_edoc != 'cancelada'"
214
213
  >Fiscal Document:
215
214
  <field name="document_type_id" readonly="1" />is
216
215
  <strong>Cancelled</strong></div>
@@ -221,7 +220,8 @@
221
220
  <field name="document_type_id" readonly="1" />:
222
221
  <field
223
222
  name="document_number"
224
- attrs="{'readonly': [('issuer', '=', 'company')], 'required': [('issuer', '=', 'partner')]}"
223
+ readonly="issuer == 'company'"
224
+ required="issuer == 'partner'"
225
225
  /></h1>
226
226
  </div>
227
227
  <group>
@@ -236,7 +236,7 @@
236
236
  </group>
237
237
  <group
238
238
  name="l10n_br_fiscal"
239
- attrs="{'invisible': [('document_type', 'in', ['57', '08', '09', '10', '11', '26', '67', '8B'])]}"
239
+ invisible="document_type in ('57', '08', '09', '10', '11', '26', '67', '8B')"
240
240
  >
241
241
  <field
242
242
  name="fiscal_operation_id"
@@ -251,11 +251,13 @@
251
251
  <field name="document_type_id" required="1" />
252
252
  <label
253
253
  for="document_key"
254
- attrs="{'invisible': [('document_electronic', '=', False)]}"
254
+ invisible="not document_electronic"
255
255
  />
256
256
  <div
257
257
  class="o_row"
258
- attrs="{'readonly': [('issuer', '=', 'company')], 'required': [('issuer', '=', 'partner'), ('document_electronic', '=', True)], 'invisible': [('document_electronic', '=', False)]}"
258
+ invisible="not document_electronic"
259
+ readonly="issuer == 'company'"
260
+ required="issuer == 'partner' and document_electronic"
259
261
  >
260
262
  <field
261
263
  name="document_key"
@@ -265,17 +267,20 @@
265
267
  </div>
266
268
  <field
267
269
  name="document_serie_id"
268
- attrs="{'invisible': [('issuer', '!=', 'company')], 'required': [('issuer', '=', 'company')]}"
270
+ invisible="issuer != 'company'"
271
+ required="issuer == 'company'"
269
272
  context="{'default_document_type_id': document_type_id}"
270
273
  />
271
274
  <field
272
275
  name="document_serie"
273
- attrs="{'invisible': [('issuer', '!=', 'partner')], 'required': [('issuer', '=', 'partner')]}"
276
+ invisible="issuer != 'partner'"
277
+ required="issuer == 'partner'"
274
278
  />
275
279
  <field
276
280
  name="document_number"
277
281
  force_save="1"
278
- attrs="{'readonly': [('issuer', '=', 'company')], 'required': [('issuer', '=', 'partner')]}"
282
+ readonly="issuer == 'company'"
283
+ required="issuer == 'partner'"
279
284
  />
280
285
  </group>
281
286
  <group name="document_extra">
@@ -295,16 +300,7 @@
295
300
  <page name="products" string="Products and Services">
296
301
  <field
297
302
  name="fiscal_line_ids"
298
- context="{
299
- 'form_view_ref': 'l10n_br_fiscal.document_line_form',
300
- 'default_document_id': id,
301
- 'default_company_id': company_id,
302
- 'default_partner_id': partner_id,
303
- 'default_fiscal_operation_type': fiscal_operation_type,
304
- 'default_fiscal_operation_id': fiscal_operation_id,
305
- 'default_ind_final': ind_final,
306
- 'no_subcall': True,
307
- }"
303
+ context="{'form_view_ref': 'l10n_br_fiscal.document_line_form', 'default_document_id': id, 'default_company_id': company_id, 'default_partner_id': partner_id, 'default_fiscal_operation_type': fiscal_operation_type, 'default_fiscal_operation_id': fiscal_operation_id, 'no_subcall': True}"
308
304
  >
309
305
  <tree>
310
306
  <field name="product_id" />
@@ -332,14 +328,6 @@
332
328
  <page name="amounts" string="Amounts">
333
329
  <group>
334
330
  <group>
335
- <group string="IBS">
336
- <field name="amount_ibs_base" />
337
- <field name="amount_ibs_value" />
338
- </group>
339
- <group string="CBS">
340
- <field name="amount_cbs_base" />
341
- <field name="amount_cbs_value" />
342
- </group>
343
331
  <group string="ICMS">
344
332
  <field name="amount_icms_base" />
345
333
  <field name="amount_icms_value" />
@@ -410,15 +398,15 @@
410
398
  <field name="delivery_costs" invisible="1" />
411
399
  <field
412
400
  name="amount_insurance_value"
413
- attrs="{'readonly': [('delivery_costs', '=', 'line'),('force_compute_delivery_costs_by_total', '=', False)]}"
401
+ readonly="delivery_costs == 'line' and not force_compute_delivery_costs_by_total"
414
402
  />
415
403
  <field
416
404
  name="amount_other_value"
417
- attrs="{'readonly': [('delivery_costs', '=', 'line'),('force_compute_delivery_costs_by_total', '=', False)]}"
405
+ readonly="delivery_costs == 'line' and not force_compute_delivery_costs_by_total"
418
406
  />
419
407
  <field
420
408
  name="amount_freight_value"
421
- attrs="{'readonly': [('delivery_costs', '=', 'line'),('force_compute_delivery_costs_by_total', '=', False)]}"
409
+ readonly="delivery_costs == 'line' and not force_compute_delivery_costs_by_total"
422
410
  />
423
411
  <field name="amount_estimate_tax" />
424
412
  <field name="fiscal_amount_tax" />
@@ -16,11 +16,11 @@
16
16
  <field name="model">l10n_br_fiscal.invalidate.number</field>
17
17
  <field name="arch" type="xml">
18
18
  <tree>
19
- <field name="company_id" />
20
- <field name="document_type_id" />
21
- <field name="document_serie_id" />
22
- <field name="number_start" />
23
- <field name="number_end" />
19
+ <field name="company_id" readonly="state != 'draft'" />
20
+ <field name="document_type_id" readonly="state != 'draft'" />
21
+ <field name="document_serie_id" readonly="state != 'draft'" />
22
+ <field name="number_start" readonly="state != 'draft'" />
23
+ <field name="number_end" readonly="state != 'draft'" />
24
24
  <field name="state" />
25
25
  </tree>
26
26
  </field>
@@ -37,19 +37,19 @@
37
37
  name="action_invalidate"
38
38
  type="object"
39
39
  string="Confirmar"
40
- states="draft"
40
+ invisible="state != 'draft'"
41
41
  class="oe_highlight"
42
42
  />
43
43
  </header>
44
44
  <group name="serie">
45
- <field name="company_id" />
46
- <field name="document_type_id" />
47
- <field name="document_serie_id" />
45
+ <field name="company_id" readonly="state != 'draft'" />
46
+ <field name="document_type_id" readonly="state != 'draft'" />
47
+ <field name="document_serie_id" readonly="state != 'draft'" />
48
48
  </group>
49
49
  <group name="invalidation">
50
- <field name="number_start" />
51
- <field name="number_end" />
52
- <field name="justification" />
50
+ <field name="number_start" readonly="state != 'draft'" />
51
+ <field name="number_end" readonly="state != 'draft'" />
52
+ <field name="justification" readonly="state != 'draft'" />
53
53
  </group>
54
54
  </form>
55
55
  </field>
@@ -311,20 +311,6 @@
311
311
  >All Serie for Documents supported by Brazilian Fiscal modulo for Odoo.</p>
312
312
  </field>
313
313
  </record>
314
- <!-- Tax Classification -->
315
-
316
- <record id="tax_classification_action" model="ir.actions.act_window">
317
- <field name="name">Tax Classification</field>
318
- <field name="type">ir.actions.act_window</field>
319
- <field name="res_model">l10n_br_fiscal.tax.classification</field>
320
- <field name="view_mode">tree,form</field>
321
- <field name="view_id" ref="tax_classification_tree" />
322
- <field name="help" type="html">
323
- <p class="o_view_nocontent_smiling_face">Add a new Tax Classification</p>
324
- <p
325
- >A Tax Classification is necessary to create fiscal operations for your fiscal moves.</p>
326
- </field>
327
- </record>
328
314
  <!-- Simplified Tax -->
329
315
 
330
316
  <record id="simplified_tax_action" model="ir.actions.act_window">
@@ -553,21 +539,4 @@
553
539
  <field name="res_model">l10n_br_fiscal.city.taxation.code</field>
554
540
  <field name="view_mode">tree,form</field>
555
541
  </record>
556
- <!-- Operation Indicator -->
557
-
558
- <record id="operation_indicator_action" model="ir.actions.act_window">
559
- <field name="name">Operation Indicator</field>
560
- <field name="res_model">l10n_br_fiscal.operation.indicator</field>
561
- <field name="view_mode">tree,form</field>
562
- <field name="help" type="html">
563
- <p class="o_view_nocontent_smiling_face">
564
- Create an Operation Indicator record
565
- </p>
566
- <p>
567
- Operation Indicators are used to categorize consumption
568
- operations.
569
- </p>
570
- </field>
571
- </record>
572
-
573
542
  </odoo>
@@ -258,13 +258,13 @@
258
258
  sequence="10"
259
259
  />
260
260
  <!-- Service Type -->
261
- <menuitem
261
+ <!--menuitem
262
262
  id="service_type_menu"
263
263
  action="service_type_action"
264
264
  groups="l10n_br_fiscal.group_manager"
265
265
  parent="products_config_menu"
266
266
  sequence="20"
267
- />
267
+ /-->
268
268
  <!-- NCM -->
269
269
  <menuitem
270
270
  id="ncm_menu"
@@ -329,22 +329,6 @@
329
329
  parent="taxes_config_menu"
330
330
  sequence="30"
331
331
  />
332
- <!-- Tax Classification -->
333
- <menuitem
334
- id="tax_classification_menu"
335
- action="tax_classification_action"
336
- groups="l10n_br_fiscal.group_manager"
337
- parent="taxes_config_menu"
338
- sequence="30"
339
- />
340
- <!-- Operation Indicator -->
341
- <menuitem
342
- id="operation_indicator_menu"
343
- action="operation_indicator_action"
344
- groups="l10n_br_fiscal.group_manager"
345
- parent="taxes_config_menu"
346
- sequence="30"
347
- />
348
332
  <!-- Tax ICMS Settings -->
349
333
  <menuitem
350
334
  id="tax_icms_config_menu"
@@ -70,8 +70,8 @@
70
70
  id="product_tmpl_button"
71
71
  icon="fa-bars"
72
72
  name="%(product.product_template_action_all)d"
73
- context="{'search_default_nbm_id': active_id}"
74
- attrs="{'invisible': [('product_tmpl_qty', '=', 0)]}"
73
+ context="{'search_default_nbm_id': id}"
74
+ invisible="product_tmpl_qty == 0"
75
75
  >
76
76
  <field
77
77
  string="Products"
@@ -79,7 +79,7 @@
79
79
  icon="fa-bars"
80
80
  name="%(product.product_template_action_all)d"
81
81
  domain="['|', ('fiscal_type', '=', '09'), ('fiscal_type', '=', False), ('type', '=', 'service')]"
82
- context="{'search_default_nbs_id': active_id, 'default_fiscal_type': '09', 'default_type': 'service'}"
82
+ context="{'search_default_nbs_id': id, 'default_fiscal_type': '09', 'default_type': 'service'}"
83
83
  attrs="{'invisible': [('product_tmpl_qty', '=', 0)]}"
84
84
  >
85
85
  <field
@@ -100,7 +100,7 @@
100
100
  name="web_ribbon"
101
101
  title="Archived"
102
102
  bg_color="bg-danger"
103
- attrs="{'invisible': [('active', '=', True)]}"
103
+ invisible="active"
104
104
  />
105
105
  <div class="oe_button_box" name="button_box">
106
106
  <button
@@ -117,8 +117,8 @@
117
117
  id="product_tmpl_button"
118
118
  icon="fa-bars"
119
119
  name="%(product.product_template_action_all)d"
120
- context="{'search_default_ncm_id': active_id}"
121
- attrs="{'invisible': [('product_tmpl_qty', '=', 0)]}"
120
+ context="{'search_default_ncm_id': id}"
121
+ invisible="product_tmpl_qty == 0"
122
122
  >
123
123
  <field
124
124
  string="Products"
@@ -12,6 +12,30 @@
12
12
  <field name="kanban_dashboard" />
13
13
  <field name="color" />
14
14
  <templates>
15
+ <!-- Novo: kanban-menu separado -->
16
+ <t t-name="kanban-menu">
17
+ <div class="o_kanban_card_manage_section">
18
+ <div role="menuitem" class="o_kanban_manage_reports">
19
+ <div class="o_kanban_card_manage_title ps-4 pb-1">
20
+ <span class="fw-bolder">Ações</span>
21
+ <!-- Você pode mudar para 'View' se preferir -->
22
+ </div>
23
+ <a
24
+ role="menuitem"
25
+ class="dropdown-item"
26
+ type="object"
27
+ name="open_action"
28
+ >Ver Todos</a>
29
+ <div role="separator" class="dropdown-divider" />
30
+ <ul
31
+ t-if="widget.editable"
32
+ class="oe_kanban_colorpicker"
33
+ data-field="color"
34
+ />
35
+ </div>
36
+ </div>
37
+ </t>
38
+ <!-- kanban-box normal -->
15
39
  <t t-name="kanban-box">
16
40
  <div
17
41
  t-attf-class="#{kanban_color(record.color.raw_value)}"
@@ -26,7 +50,7 @@
26
50
  t-set="fiscal_type"
27
51
  />
28
52
  <div>
29
- <div t-attf-class="o_kanban_card_header">
53
+ <div class="o_kanban_card_header">
30
54
  <div class="o_kanban_card_header_title">
31
55
  <div class="o_primary">
32
56
  <a type="object" name="open_action">
@@ -40,19 +64,6 @@
40
64
  <field name="fiscal_type" />
41
65
  </div>
42
66
  </div>
43
- <div class="o_kanban_manage_button_section">
44
- <a
45
- class="o_kanban_manage_toggle_button"
46
- href="#"
47
- >
48
- <i
49
- class="fa fa-ellipsis-v"
50
- role="img"
51
- aria-label="Manage"
52
- title="Manage"
53
- />
54
- </a>
55
- </div>
56
67
  </div>
57
68
  <div class="container o_kanban_card_content">
58
69
  <div class="row">
@@ -85,7 +96,7 @@
85
96
  <a
86
97
  type="object"
87
98
  name="open_action"
88
- context="{'search_default_authorized':1}"
99
+ context="{'search_default_authorized': 1}"
89
100
  id="fiscal_dashboard_sale_pay_link"
90
101
  >
91
102
  <t
@@ -100,9 +111,7 @@
100
111
  name="open_action"
101
112
  context="{'search_default_cancelled': '1'}"
102
113
  >
103
- <span
104
- title="Faturas canceladas"
105
- >
114
+ <span title="Cancelados">
106
115
  <t
107
116
  t-esc="dashboard.number_cancelled"
108
117
  /> Cancelados</span>