Contributors mailing list archives
contributors@odoo-community.org
Browse archives
Documentation on Management System module and its related sub-modules
OCA Days 2023 - Registrations, Call for Speakers and Functional Survey
tax_base_amount going to be deprecated. Anyone else using it?
by
Juan José Scarafía
Hello Everyone.
It seams that odoo is going to deprecate the not so used field tax_base_amount
The main reason odoo is going to do so is that now it may be inconsistent on how odoo is computing the base amount for a tax (the base for Odoo is always the sum of the balance of the aml's where the tax is applied on the tax_ids field)
Together with that field being deprecated, the idea behind is that there shouldn't be any aml (account.move.line) with tax_line_id that was not originated by another aml with tax_ids
We've some use cases where for us it's practical to be able to create tax aml's
Some examples:
- bank statements.
- on many banks operations (for eg. check deposits) we have expenses + taxes associated. So for on check deposit we may have 4 statement lines:
- check deposit (cash in)
- expense fee (cash out)
- tax 1 (based on the expense fee, cash out)
- tax 2 (based on the expense fee, cash out)
- On Odoo standard we're not able to reconcile that because we can't say that an statement line is 100% a tax In the odoo approach those two taxes should came from the tax being applied on the "expense fee"
- special invoice taxes
- we've some special invoice taxes where the base amount is not the subtotal of the invoice line but some specific computation (for ex. is the vat of that line)
- in that use case, we're storing the calculated base amount on tax_base_amount. Considering that the base amount is the sum of the subtotales of the lines where the tax is linked, is not correct.
- On master (and I believe 16 two). Odoo has a similar use case for belgium. When you offer a cash discount, no matter if the customer use it or not, the vat is computed on the discounted price. That's why there is a new option on the payment terms and, only for having the right base amount on the invoice, odoo is creating virtual lines (check attachment)
- supplier bills
- It's really common to receive supplier bills with some specific taxes that are totalized and without information on which are the base lines.
- in those use cases creating just a tax line (as it was possible on v12-) would be really handy. Nowadays we're adding that tax on the first invoice line (arbitrary) and then editing the amount on the subtotal section. The computed base amount by odoo on reports doesn't represent anything.
- For us it would make much more sense to add the tax on subtotal by choosing: tax, base amount, and amount. And that would create the aml without any need of linked base lines with tax_ids
- We also have some specific needs related to payment withholdings. Summarizing, when you pay or get paid you receive or apply different kind of withholdings for different amounts.
- This is the ideal for us
# | account | tax_ids | tax_id | debit | credit | tax_base_amount |
1 | Suppliers | 1210 | ||||
2 | VAT withholding | VAT withholding | 21 | 210 | ||
3 | Proffits withholding type 1 | Proffits withholding type 1 | 60 | 600 | ||
4 | Proffits withholding type 2 | Proffits withholding type 2 | 80 | 400 | ||
5 | Cash | 1049 |
- This is the odoo proposal (to have all the base amounts computed by the tax base lines). Lines 6 till 11 are dummy lines just for the base amounts
# | account | tax_ids | tax_id | debit | credit | tax_base_amount |
1 | Suppliers | 1210 | ||||
2 | VAT withholding | VAT withholding | 21 | 210 | ||
3 | Profits withholding type 1 | Profits withholding type 1 | 60 | 600 | ||
4 | Profits withholding type 2 | Profits withholding type 2 | 80 | 400 | ||
5 | Cash | 1049 | ||||
6 | Base for VAT withholding | VAT withholding | 210 | |||
7 | Negative for base VAT withholding | 210 | ||||
8 | Base for Profits withholding type 1 | Profits withholding type 1 | 600 | |||
9 | Negative for Profits withholding type 1 | 600 | ||||
10 | Base for Profits withholding type 2 | Profits withholding type 2 | 400 | |||
11 | Negative for Profits withholding type 2 | 400 |
- We also know that in Brazil and some other countries, there are some webservices that returns the base amounts and taxes you need to apply to an invoice, Si in those use cases also the base amount of the tax may not be the sum of subtotals where the tax is applied
Summarizing.
- Odoo is working on removint tax_base_amount and enforcing that every aml that represents a tax should be created by some aml with that tax. The base amount of the tax would be the sum of the base lines
- IMHO
- That approach could work but requires a lot of dummy lines (plus and negative) to represent all the possible combinations of tax base amounts. This is not only for performance but also for db size, code complexity and bank reconciliation.
- to keep and improve, or at lease allow, the possibility of having amls taxes where the tax_base_amount represents the base amount, and the balance represents the tax amount, seems an easy to understand and flexible way to deal with base amounts on many different use cases
- Lastly, I also like the tax_base_amount field on the aml's as it's really easy to audit and check. On one record (the aml) you have all the data you need related to a tax.
Anyone else share these thoughts or can show me that my ideas are wrong?
Thanks!
Follow-Ups
-
Re: tax_base_amount going to be deprecated. Anyone else using it?
byJuan José Scarafía -
Re: tax_base_amount going to be deprecated. Anyone else using it?
byVauxoo, Nhomar Hernández -
Re: tax_base_amount going to be deprecated. Anyone else using it?
byNimarosaDev, Nicolas Rodriguez Sande -
Re: tax_base_amount going to be deprecated. Anyone else using it?
byJuan José Scarafía -
Re: tax_base_amount going to be deprecated. Anyone else using it?
by "Richard deMeester" <richard.demeester@willdooit.com> - 09/06/2023 03:59:14 - 5