odoo/enterprise#19802
Created by Accounting, Olivier Colson (oco)
Statuses:
- legal/cla: Contributor License Agreement check
- ci/runbot: Odoo Test Suite
- ci/upgrade_enterprise: Test upgrades for enterprise master
- ci/style: Optional style check. Ignore it only if strictly necessary.
- ci/security: Required security check. Can only be ignored by security team.
- ci/l10n: (runtime 620s)
- label
- odoo-dev:master-withholding-taxes-oco
- head
- 05a886817278bd54bb86296244715ef462f3455d
- merged
- 4 years ago by Accounting, Quentin De Paoli (qdp)
odoo/odoo | odoo/enterprise | odoo/upgrade | |
---|---|---|---|
master | #74138 | #19802 | #2670 |
[IMP] Withholding taxes
// Commit 1
[IMP] account_reports, account_accountant, l10n_be_reports: allow mixing cash basis and non-cash basis taxes on the same line
The tax_exigible field of account.move.line made it impossible to mix 'on_payment' and 'on_invoice' taxes on the same invoice line, as the base line couldn't be be tax exigible and non-tax exigible at the same time. However, this use case is needed by some countries in order to implement withholding taxes.
To solve that, we totally remove the tax_exigible field from account.move.line and instead compute it on the fly with a domain (also passed to the query_get for SQL queries). An 'always_tax_exigible' stored computed field is also added on account.move, in order to still allow (like before) putting cash basis taxes on a miscellaneous operation without any payable/receivable line and still see it become exigible without needing any payment.
// Commit 2
[IMP] account_invoice_extract, partner_commission: adapt views to the introduction of tax_totals_json