odoo-addon-l10n-br-fiscal 16.0.14.0.5.1__py3-none-any.whl → 16.0.14.1.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.

@@ -11,7 +11,7 @@ Módulo fiscal brasileiro
11
11
  !! This file is generated by oca-gen-addon-readme !!
12
12
  !! changes will be overwritten. !!
13
13
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14
- !! source digest: sha256:6ff86ea72740472f11f64c87a0aa0cdfc6ba73ecac825df6b354e43817900fc5
14
+ !! source digest: sha256:4957658ffd4e083aa6da113dbe63e539c7942695ad2ec86fda5faffafbe9cb4f
15
15
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
16
 
17
17
  .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
@@ -10,7 +10,7 @@
10
10
  "maintainers": ["renatonlima", "rvalyi"],
11
11
  "website": "https://github.com/OCA/l10n-brazil",
12
12
  "development_status": "Production/Stable",
13
- "version": "16.0.14.0.5",
13
+ "version": "16.0.14.1.0",
14
14
  "depends": [
15
15
  "product",
16
16
  "uom_alias",
@@ -199,152 +199,37 @@ class FiscalDocumentMixinMethods(models.AbstractModel):
199
199
  elif doc.comment_ids is None:
200
200
  doc.comment_ids = []
201
201
 
202
- def _inverse_amount_freight(self):
203
- for record in self.filtered(lambda doc: doc._get_product_amount_lines()):
204
- if (
202
+ def _distribute_amount_to_lines(self, amount_field_name, line_field_name):
203
+ for record in self:
204
+ if not (
205
205
  record.delivery_costs == "total"
206
206
  or record.force_compute_delivery_costs_by_total
207
207
  ):
208
- amount_freight_value = record.amount_freight_value
209
- if all(record._get_product_amount_lines().mapped("freight_value")):
210
- amount_freight_old = sum(
211
- record._get_product_amount_lines().mapped("freight_value")
212
- )
213
- for line in record._get_product_amount_lines()[:-1]:
214
- line.freight_value = amount_freight_value * (
215
- line.freight_value / amount_freight_old
216
- )
217
- record._get_product_amount_lines()[-1].freight_value = (
218
- amount_freight_value
219
- - sum(
220
- line.freight_value
221
- for line in record._get_product_amount_lines()[:-1]
222
- )
223
- )
224
- else:
225
- fiscal_amount_total = sum(
226
- record._get_product_amount_lines().mapped("price_gross")
208
+ continue
209
+ lines = record._get_product_amount_lines()
210
+ if not lines:
211
+ continue
212
+ amount_to_distribute = record[amount_field_name]
213
+ total_gross = sum(lines.mapped("price_gross"))
214
+ if total_gross > 0:
215
+ distributed_amount = 0
216
+ for line in lines[:-1]:
217
+ proportional_amount = record.currency_id.round(
218
+ amount_to_distribute * (line.price_gross / total_gross)
227
219
  )
228
- for line in record._get_product_amount_lines()[:-1]:
229
- if line.price_gross and fiscal_amount_total:
230
- line.freight_value = amount_freight_value * (
231
- line.price_gross / fiscal_amount_total
232
- )
233
- record._get_product_amount_lines()[-1].freight_value = (
234
- amount_freight_value
235
- - sum(
236
- line.freight_value
237
- for line in record._get_product_amount_lines()[:-1]
238
- )
239
- )
240
- for line in record._get_product_amount_lines():
241
- line._onchange_fiscal_taxes()
242
- record._fields["fiscal_amount_total"].compute_value(record)
243
- record.write(
244
- {
245
- name: value
246
- for name, value in record._cache.items()
247
- if record._fields[name].compute == "_amount_all"
248
- and not record._fields[name].inverse
249
- }
250
- )
220
+ line[line_field_name] = proportional_amount
221
+ distributed_amount += proportional_amount
222
+ lines[-1][line_field_name] = amount_to_distribute - distributed_amount
223
+ else:
224
+ lines.write({line_field_name: 0.0})
225
+ if lines:
226
+ lines[0][line_field_name] = amount_to_distribute
227
+
228
+ def _inverse_amount_freight(self):
229
+ self._distribute_amount_to_lines("amount_freight_value", "freight_value")
251
230
 
252
231
  def _inverse_amount_insurance(self):
253
- for record in self.filtered(lambda doc: doc._get_product_amount_lines()):
254
- if (
255
- record.delivery_costs == "total"
256
- or record.force_compute_delivery_costs_by_total
257
- ):
258
- amount_insurance_value = record.amount_insurance_value
259
- if all(record._get_product_amount_lines().mapped("insurance_value")):
260
- amount_insurance_old = sum(
261
- record._get_product_amount_lines().mapped("insurance_value")
262
- )
263
- for line in record._get_product_amount_lines()[:-1]:
264
- line.insurance_value = amount_insurance_value * (
265
- line.insurance_value / amount_insurance_old
266
- )
267
- record._get_product_amount_lines()[-1].insurance_value = (
268
- amount_insurance_value
269
- - sum(
270
- line.insurance_value
271
- for line in record._get_product_amount_lines()[:-1]
272
- )
273
- )
274
- else:
275
- fiscal_amount_total = sum(
276
- record._get_product_amount_lines().mapped("price_gross")
277
- )
278
- for line in record._get_product_amount_lines()[:-1]:
279
- if line.price_gross and fiscal_amount_total:
280
- line.insurance_value = amount_insurance_value * (
281
- line.price_gross / fiscal_amount_total
282
- )
283
- record._get_product_amount_lines()[-1].insurance_value = (
284
- amount_insurance_value
285
- - sum(
286
- line.insurance_value
287
- for line in record._get_product_amount_lines()[:-1]
288
- )
289
- )
290
- for line in record._get_product_amount_lines():
291
- line._onchange_fiscal_taxes()
292
- record._fields["fiscal_amount_total"].compute_value(record)
293
- record.write(
294
- {
295
- name: value
296
- for name, value in record._cache.items()
297
- if record._fields[name].compute == "_amount_all"
298
- and not record._fields[name].inverse
299
- }
300
- )
232
+ self._distribute_amount_to_lines("amount_insurance_value", "insurance_value")
301
233
 
302
234
  def _inverse_amount_other(self):
303
- for record in self.filtered(lambda doc: doc._get_product_amount_lines()):
304
- if (
305
- record.delivery_costs == "total"
306
- or record.force_compute_delivery_costs_by_total
307
- ):
308
- amount_other_value = record.amount_other_value
309
- if all(record._get_product_amount_lines().mapped("other_value")):
310
- amount_other_old = sum(
311
- record._get_product_amount_lines().mapped("other_value")
312
- )
313
- for line in record._get_product_amount_lines()[:-1]:
314
- line.other_value = amount_other_value * (
315
- line.other_value / amount_other_old
316
- )
317
- record._get_product_amount_lines()[-1].other_value = (
318
- amount_other_value
319
- - sum(
320
- line.other_value
321
- for line in record._get_product_amount_lines()[:-1]
322
- )
323
- )
324
- else:
325
- fiscal_amount_total = sum(
326
- record._get_product_amount_lines().mapped("price_gross")
327
- )
328
- for line in record._get_product_amount_lines()[:-1]:
329
- if line.price_gross and fiscal_amount_total:
330
- line.other_value = amount_other_value * (
331
- line.price_gross / fiscal_amount_total
332
- )
333
- record._get_product_amount_lines()[-1].other_value = (
334
- amount_other_value
335
- - sum(
336
- line.other_value
337
- for line in record._get_product_amount_lines()[:-1]
338
- )
339
- )
340
- for line in record._get_product_amount_lines():
341
- line._onchange_fiscal_taxes()
342
- record._fields["fiscal_amount_total"].compute_value(record)
343
- record.write(
344
- {
345
- name: value
346
- for name, value in record._cache.items()
347
- if record._fields[name].compute == "_amount_all"
348
- and not record._fields[name].inverse
349
- }
350
- )
235
+ self._distribute_amount_to_lines("amount_other_value", "other_value")
@@ -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:6ff86ea72740472f11f64c87a0aa0cdfc6ba73ecac825df6b354e43817900fc5
375
+ !! source digest: sha256:4957658ffd4e083aa6da113dbe63e539c7942695ad2ec86fda5faffafbe9cb4f
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&amp;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>
@@ -12,6 +12,10 @@ class TestDocumentEdition(TransactionCase):
12
12
  def setUpClass(cls):
13
13
  super().setUpClass()
14
14
  cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True))
15
+ cls.user = cls.env.user
16
+ cls.company = cls.env.ref("l10n_br_base.empresa_lucro_presumido")
17
+ cls.user.company_ids |= cls.company
18
+ cls.user.company_id = cls.company.id
15
19
 
16
20
  def test_basic_doc_edition(self):
17
21
  doc_form = Form(
@@ -163,3 +167,112 @@ class TestDocumentEdition(TransactionCase):
163
167
  self.assertEqual(doc.fiscal_line_ids[0].fiscal_price, 112)
164
168
  self.assertEqual(doc.fiscal_line_ids[0].quantity, 10)
165
169
  self.assertEqual(doc.fiscal_line_ids[0].fiscal_quantity, 5)
170
+
171
+ def test_landed_costs_by_line_and_by_total(self):
172
+ """
173
+ Tests both landed cost scenarios: 'by line' and 'by total'.
174
+ 1. By Line: Enters costs on lines and verifies the header totals.
175
+ 2. By Total: Enters costs on the header and verifies lines distribution.
176
+ """
177
+ self.env.user.groups_id |= self.env.ref("l10n_br_fiscal.group_user")
178
+ product1 = self.env.ref("product.product_product_6")
179
+ product2 = self.env.ref("product.product_product_7")
180
+
181
+ # Part 1: Test with delivery_costs = 'line'
182
+ # ----------------------------------------------------
183
+ self.company.delivery_costs = "line"
184
+ doc_form = Form(self.env["l10n_br_fiscal.document"])
185
+ doc_form.company_id = self.company
186
+ doc_form.partner_id = self.env.ref("l10n_br_base.res_partner_cliente1_sp")
187
+ doc_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda")
188
+
189
+ with doc_form.fiscal_line_ids.new() as line1:
190
+ line1.product_id = product1
191
+ line1.fiscal_operation_line_id = self.env.ref(
192
+ "l10n_br_fiscal.fo_venda_venda"
193
+ )
194
+ line1.price_unit = 1000.0
195
+ line1.quantity = 2.0 # Gross: 2000
196
+ line1.freight_value = 10.0
197
+ line1.insurance_value = 20.0
198
+ line1.other_value = 5.0
199
+
200
+ with doc_form.fiscal_line_ids.new() as line2:
201
+ line2.product_id = product2
202
+ line2.fiscal_operation_line_id = self.env.ref(
203
+ "l10n_br_fiscal.fo_venda_venda"
204
+ )
205
+ line2.price_unit = 500.0
206
+ line2.quantity = 1.0 # Gross: 500
207
+ line2.freight_value = 4.0
208
+ line2.insurance_value = 6.0
209
+ line2.other_value = 2.0
210
+
211
+ doc = doc_form.save()
212
+
213
+ self.assertEqual(doc.company_id.delivery_costs, "line")
214
+ # Assert header totals are the SUM of line values
215
+ self.assertAlmostEqual(doc.amount_freight_value, 14.0) # 10.0 + 4.0
216
+ self.assertAlmostEqual(doc.amount_insurance_value, 26.0) # 20.0 + 6.0
217
+ self.assertAlmostEqual(doc.amount_other_value, 7.0) # 5.0 + 2.0
218
+
219
+ # Assert final fiscal totals (bottom-up calculation)
220
+ # price_gross = (1000*2) + (500*1) = 2500
221
+ # landed_costs = 14 + 26 + 7 = 47
222
+ # fiscal_amount_untaxed (IPI Base) = 2500 + 47 = 2547
223
+ self.assertAlmostEqual(doc.fiscal_amount_untaxed, 2547.00)
224
+ # fiscal_amount_tax (IPI) = (2035 * 3.25%) + (512 * 5%) = 66.14 + 25.60 = 91.74
225
+ self.assertAlmostEqual(doc.fiscal_amount_tax, 91.74, places=2)
226
+ # fiscal_amount_total = 2547.00 + 91.74 = 2638.74
227
+ self.assertAlmostEqual(doc.fiscal_amount_total, 2638.74, places=2)
228
+
229
+ # Part 2: Test with delivery_costs = 'total'
230
+ # ----------------------------------------------------
231
+ self.company.delivery_costs = "total"
232
+ doc_form_edit = Form(doc)
233
+ # Set new header totals, which should trigger inverse methods to distribute
234
+ doc_form_edit.amount_freight_value = 30.0
235
+ doc_form_edit.amount_insurance_value = 60.0
236
+ doc_form_edit.amount_other_value = 90.0
237
+ doc_after_total_update = doc_form_edit.save()
238
+
239
+ line1 = doc_after_total_update.fiscal_line_ids[0]
240
+ line2 = doc_after_total_update.fiscal_line_ids[1]
241
+
242
+ # Assert values were distributed proportionally to price_gross
243
+ # (2000 vs 500 -> 80% vs 20%)
244
+ # Freight: 30.0 * 0.8 = 24.0 | 30.0 * 0.2 = 6.0
245
+ self.assertAlmostEqual(line1.freight_value, 24.0)
246
+ self.assertAlmostEqual(line2.freight_value, 6.0)
247
+ # Insurance: 60.0 * 0.8 = 48.0 | 60.0 * 0.2 = 12.0
248
+ self.assertAlmostEqual(line1.insurance_value, 48.0)
249
+ self.assertAlmostEqual(line2.insurance_value, 12.0)
250
+ # Other: 90.0 * 0.8 = 72.0 | 90.0 * 0.2 = 18.0
251
+ self.assertAlmostEqual(line1.other_value, 72.0)
252
+ self.assertAlmostEqual(line2.other_value, 18.0)
253
+
254
+ # Assert final fiscal totals are recomputed correctly (top-down calculation)
255
+ # price_gross = 2500
256
+ # landed_costs = 30 + 60 + 90 = 180
257
+ # fiscal_amount_untaxed (IPI Base) = 2500 + 180 = 2680
258
+ self.assertAlmostEqual(doc_after_total_update.fiscal_amount_untaxed, 2680.00)
259
+ # Line 1 IPI Base = 2000 (product) + 24 (freight) + 48 (insurance)
260
+ # + 72 (other) = 2144
261
+ # Line 1 IPI Value = 2144 * 3.25% = 69.68
262
+ self.assertAlmostEqual(line1.ipi_base, 2144.00)
263
+ self.assertAlmostEqual(line1.ipi_value, 69.68, places=2)
264
+
265
+ # Line 2 IPI Base = 500 (product) + 6 (freight) + 12 (insurance)
266
+ # + 18 (other) = 536
267
+ # Line 2 IPI Value = 536 * 5% = 26.80
268
+ self.assertAlmostEqual(line2.ipi_base, 536.00)
269
+ self.assertAlmostEqual(line2.ipi_value, 26.80, places=2)
270
+
271
+ # fiscal_amount_tax (IPI) = 69.68 + 26.80 = 96.48
272
+ self.assertAlmostEqual(
273
+ doc_after_total_update.fiscal_amount_tax, 96.48, places=2
274
+ )
275
+ # fiscal_amount_total = 2680.00 + 96.48 = 2776.48
276
+ self.assertAlmostEqual(
277
+ doc_after_total_update.fiscal_amount_total, 2776.48, places=2
278
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-l10n_br_fiscal
3
- Version: 16.0.14.0.5.1
3
+ Version: 16.0.14.1.0
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: erpbrasil.base>=2.3.0
6
6
  Requires-Dist: odoo-addon-l10n_br_base>=16.0dev,<16.1dev
@@ -31,7 +31,7 @@ Módulo fiscal brasileiro
31
31
  !! This file is generated by oca-gen-addon-readme !!
32
32
  !! changes will be overwritten. !!
33
33
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
34
- !! source digest: sha256:6ff86ea72740472f11f64c87a0aa0cdfc6ba73ecac825df6b354e43817900fc5
34
+ !! source digest: sha256:4957658ffd4e083aa6da113dbe63e539c7942695ad2ec86fda5faffafbe9cb4f
35
35
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
36
36
 
37
37
  .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
@@ -1,6 +1,6 @@
1
- odoo/addons/l10n_br_fiscal/README.rst,sha256=gLtu_x9gw2Z_ncaI8h7yJNQipZqBbTVwmdEasph_0XM,13957
1
+ odoo/addons/l10n_br_fiscal/README.rst,sha256=29MVU3TV_Qjd2Q-ok85xmzYD-kKQuA7hZt5X00HDJw0,13957
2
2
  odoo/addons/l10n_br_fiscal/__init__.py,sha256=BQXfCjW4ehK1W1j0z6k8xN7Q2LoZBCjjvYDkQt6nSkI,2717
3
- odoo/addons/l10n_br_fiscal/__manifest__.py,sha256=jI_jyXpQOaxQD8MdVsfXeGB3_-ej3TEZXHddsY16CCI,4957
3
+ odoo/addons/l10n_br_fiscal/__manifest__.py,sha256=CkVRRybZm3Ir3-KqejQAs5OGYdwX1Rb2mSGWPf-o8xE,4957
4
4
  odoo/addons/l10n_br_fiscal/tools.py,sha256=HgaCLkPznFxgLfjb76nH36PJ7bN5W7-fdaqtBvM6XC0,4056
5
5
  odoo/addons/l10n_br_fiscal/constants/fiscal.py,sha256=F2a4jYAk2j2Yh1Xw7WeS1GcLfW1DbjeNgEF6l7135wc,14962
6
6
  odoo/addons/l10n_br_fiscal/constants/icms.py,sha256=rHlM6jyRvhrIm03sd6guS1xh7SptADLltPmRJ3C_Vh8,3512
@@ -77,7 +77,7 @@ odoo/addons/l10n_br_fiscal/models/document_line.py,sha256=W_8uQz-cn8hIljATy91XYI
77
77
  odoo/addons/l10n_br_fiscal/models/document_line_mixin.py,sha256=es-zS2qi5Pe7rp1maHeIo705_glz94nLzhaNkcxWgw8,43780
78
78
  odoo/addons/l10n_br_fiscal/models/document_line_mixin_methods.py,sha256=sabxe2KXIe-Tlot7c-JFLzcqG1-Zv4mIEDNW_b3DP2s,34172
79
79
  odoo/addons/l10n_br_fiscal/models/document_mixin.py,sha256=GkoNxIAUrzwWh5cYZAm5KD_qBIN-mSQ8phQJdYOlOCg,13343
80
- odoo/addons/l10n_br_fiscal/models/document_mixin_methods.py,sha256=IG37evORl6dJG0-GOluvgnZ9tcMGLTUoPPYYzdvWB5w,15565
80
+ odoo/addons/l10n_br_fiscal/models/document_mixin_methods.py,sha256=Rlv4khSkeIDHEXKO_MvEJTOGHbYMQYAo2f_SwRKbWuo,9694
81
81
  odoo/addons/l10n_br_fiscal/models/document_related.py,sha256=zPc9ubJVCsawhd2HxNBD8ebo6XnVPFzgDOegw6vYEmk,4696
82
82
  odoo/addons/l10n_br_fiscal/models/document_serie.py,sha256=Spe7kpgMBFGS_LBv3DpiqTC4WuafTK8LRv53GVR2UcM,4128
83
83
  odoo/addons/l10n_br_fiscal/models/document_supplement.py,sha256=31oRSHT_SaGSf-dQvriweIxZZiTANxkHHupc5kMYfXA,409
@@ -127,7 +127,7 @@ odoo/addons/l10n_br_fiscal/readme/USAGE.md,sha256=Dw3uZaHJCUtV0xFq6VOQvF2G5fS_oS
127
127
  odoo/addons/l10n_br_fiscal/security/fiscal_security.xml,sha256=QgqzdExfkca0lMt9kmcymVQj_DISZSKJZ8Ea1qO6e28,3167
128
128
  odoo/addons/l10n_br_fiscal/security/ir.model.access.csv,sha256=MQb64W6Es5ChkVqKBit6bHWKyAtrkgO_VamAaSNhvCQ,14359
129
129
  odoo/addons/l10n_br_fiscal/static/description/icon.png,sha256=Vd1HydYBoGCzNfCqxLlch2i2aeCcyxo-uRxWNp6oMbw,14836
130
- odoo/addons/l10n_br_fiscal/static/description/index.html,sha256=yOk_Ha8MpDYAfMhNqBmh2S0CASCTyMh7ASVG8fdVcBU,26637
130
+ odoo/addons/l10n_br_fiscal/static/description/index.html,sha256=FuB8n_07BT7Ztb5PDCL_u4mN7eKhybUF3j4KSoGQTmw,26637
131
131
  odoo/addons/l10n_br_fiscal/static/img/fiscal_dashboard.png,sha256=Q0fpqFNqEXh6m6E1aJfzSKV2tQ9lC1Y-ofUt6qxVupc,151668
132
132
  odoo/addons/l10n_br_fiscal/static/img/fiscal_line.png,sha256=S4Q4OGSzGnbfm4W5sQVvnD4uUzxS6tbJGT_gs3pB4K0,134276
133
133
  odoo/addons/l10n_br_fiscal/static/img/fiscal_operation.png,sha256=2614c1XjxwVznh707e9gujlUXg0ttutKD1ZiSMTqyv8,105871
@@ -135,7 +135,7 @@ odoo/addons/l10n_br_fiscal/static/img/fiscal_total.png,sha256=MaR6ZoM6ZZEaNZk2yn
135
135
  odoo/addons/l10n_br_fiscal/static/src/js/list_renderer_with_button.esm.js,sha256=Ucw7pymMrW2yi_nNrDMvq6ubyub9QMlqH3ZOoaTEHN0,1243
136
136
  odoo/addons/l10n_br_fiscal/tests/__init__.py,sha256=83m4BimGb-6EseEmmCVaKTSel5GB_vkzbI3YZi4mStE,393
137
137
  odoo/addons/l10n_br_fiscal/tests/test_cnae.py,sha256=mmskSfWaoFSohjmRbnGci_6Euc9fc2zbhyH5FdyeIeA,616
138
- odoo/addons/l10n_br_fiscal/tests/test_document_edition.py,sha256=aQYSQixnTQGk6xPQJ6-i5qbdbEHlua_-c7-tr-IT0V8,7064
138
+ odoo/addons/l10n_br_fiscal/tests/test_document_edition.py,sha256=OTqxFFlgOkrxEZMzV7A5B6wzyDDdRtIeXzfITdbCqeQ,12404
139
139
  odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py,sha256=Q0ZSCjaqAYNKsrrYEeBBLqxhfaUvmd-XhVHADQoPlQw,39985
140
140
  odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_nfse.py,sha256=nEMaaWfv-sb4o48c1-l7mVnSjks3Tue7XxnQb_Q4cqw,1538
141
141
  odoo/addons/l10n_br_fiscal/tests/test_fiscal_tax.py,sha256=U6JbuqKTcyyFTiW5FZGqGY5yi_aPKaC6_LWz_3sKdpg,11322
@@ -198,7 +198,7 @@ odoo/addons/l10n_br_fiscal/wizards/base_wizard_mixin.py,sha256=-r25us0vdNCSe11Gn
198
198
  odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py,sha256=KfbqnzFuVx7WAro__W130rgvMWKkDBvkDFglMwTwgBQ,4115
199
199
  odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.xml,sha256=EAiUBkLBC0st-GSA0y7j771hiC_vglKPCIiC0SvG0gw,1830
200
200
  odoo/addons/l10n_br_fiscal/wizards/document_status_wizard.py,sha256=KsYj5YWWePO7uk0psBsFdnCL71eLWhcyg7_c7J4G6vA,818
201
- odoo_addon_l10n_br_fiscal-16.0.14.0.5.1.dist-info/METADATA,sha256=rKUGhsw-booomJJy674v8sjeTCP_9BpuHZuU4ztqJtc,14722
202
- odoo_addon_l10n_br_fiscal-16.0.14.0.5.1.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
203
- odoo_addon_l10n_br_fiscal-16.0.14.0.5.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
204
- odoo_addon_l10n_br_fiscal-16.0.14.0.5.1.dist-info/RECORD,,
201
+ odoo_addon_l10n_br_fiscal-16.0.14.1.0.dist-info/METADATA,sha256=7C8a9bwhfCFovPmzR2ojuPXYUsQv0biKcOwVyfuI4rc,14720
202
+ odoo_addon_l10n_br_fiscal-16.0.14.1.0.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
203
+ odoo_addon_l10n_br_fiscal-16.0.14.1.0.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
204
+ odoo_addon_l10n_br_fiscal-16.0.14.1.0.dist-info/RECORD,,