Merge pull request #402 from acsone/bug-lp1084822-sbi
[FIX] Global taxes warning on tax analytic account
This commit is contained in:
@@ -145,7 +145,7 @@ class account_invoice(models.Model):
|
||||
else:
|
||||
self.residual = new_value
|
||||
# prevent the residual amount on the invoice to be less than 0
|
||||
self.residual = max(self.residual, 0.0)
|
||||
self.residual = max(self.residual, 0.0)
|
||||
|
||||
@api.one
|
||||
@api.depends(
|
||||
@@ -712,7 +712,7 @@ class account_invoice(models.Model):
|
||||
for tax in self.tax_line:
|
||||
if tax.manual:
|
||||
continue
|
||||
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id, tax.account_analytic_id.id)
|
||||
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id)
|
||||
tax_key.append(key)
|
||||
if key not in compute_taxes:
|
||||
raise except_orm(_('Warning!'), _('Global taxes defined, but they are not in invoice lines !'))
|
||||
@@ -1549,7 +1549,15 @@ class account_invoice_tax(models.Model):
|
||||
val['account_id'] = tax['account_paid_id'] or line.account_id.id
|
||||
val['account_analytic_id'] = tax['account_analytic_paid_id']
|
||||
|
||||
key = (val['tax_code_id'], val['base_code_id'], val['account_id'], val['account_analytic_id'])
|
||||
# If the taxes generate moves on the same financial account as the invoice line
|
||||
# and no default analytic account is defined at the tax level, propagate the
|
||||
# analytic account from the invoice line to the tax line. This is necessary
|
||||
# in situations were (part of) the taxes cannot be reclaimed,
|
||||
# to ensure the tax move is allocated to the proper analytic account.
|
||||
if not val.get('account_analytic_id') and line.account_analytic_id and val['account_id'] == line.account_id.id:
|
||||
val['account_analytic_id'] = line.account_analytic_id.id
|
||||
|
||||
key = (val['tax_code_id'], val['base_code_id'], val['account_id'])
|
||||
if not key in tax_grouped:
|
||||
tax_grouped[key] = val
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user