[REV] account: revert commit 08f3d2b90e3d48daa26ab48872b9cfd4d8db981f

We actually want to keep on computing tax tags this way. Consider the following example:

- configure a sales tax like this
amount : 20%

100% - base : +01
100% - taxe : +02
-10% - taxe: -03

- Make an invoice for 100. It looks like this:

credit 100 - debit 0 - +01
credit  20 - debit 0 - +02
credit   0 - debit 2 - -03

===> Since the repartition line was configured with a negative factor, and because credit lines with + tags do + in the report, we actually expect the tax report to contain +2 in grid 03, since we're applying tag -03 to a negative amount. That's why this fix was a bad idea.

closes odoo/odoo#66115

X-original-commit: 9cf77f67adb9bc96f266c675c64d58217a334129
Related: odoo/enterprise#16334
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
This commit is contained in:
oco-odoo
2021-02-12 18:17:57 +00:00
parent e3bd3fec38
commit fb8cc48483
+3 -9
View File
@@ -3668,19 +3668,16 @@ class AccountMoveLine(models.Model):
@api.depends('move_id.move_type', 'tax_ids', 'tax_repartition_line_id')
def _compute_tax_tag_invert(self):
for record in self:
rep_line = record.tax_repartition_line_id
if not rep_line and not record.tax_ids :
if not record.tax_repartition_line_id and not record.tax_ids :
# Invoices imported from other softwares might only have kept the tags, not the taxes.
record.tax_tag_invert = record.tax_tag_ids and record.move_id.is_inbound()
elif record.move_id.move_type == 'entry':
# For misc operations, cash basis entries and write-offs from the bank reconciliation widget
rep_line = record.tax_repartition_line_id
if rep_line:
tax_type = (rep_line.refund_tax_id or rep_line.invoice_tax_id).type_tax_use
is_refund = bool(rep_line.refund_tax_id)
if rep_line.factor_percent < 0:
is_refund = not is_refund
elif record.tax_ids:
tax_type = record.tax_ids[0].type_tax_use
is_refund = (tax_type == 'sale' and record.debit) or (tax_type == 'purchase' and record.credit)
@@ -3689,10 +3686,7 @@ class AccountMoveLine(models.Model):
else:
# For invoices with taxes
rslt = record.move_id.is_inbound()
if rep_line and rep_line.factor_percent < 0:
rslt = not rslt
record.tax_tag_invert = rslt
record.tax_tag_invert = record.move_id.is_inbound()
@api.depends('tax_tag_ids', 'debit', 'credit', 'journal_id', 'tax_tag_invert')
def _compute_tax_audit(self):