-
- Downloads
[FIX] l10n_it_edi: Tax calculation fails edi constraint if tax price included
When using price included taxes, the xml contained data that failed to meet the constraints of the edi. This is due to the local rounding on the lines of the invoice. For example: A product costing 321€, on two lines of the invoice, with a price included tax of 22% Rounded per line: float_round( 321 - (321/122 * 100), 2 # To two decimal places ) evaluates to 57.89, the total tax will be 2 * 57.89 = 115.78 In the case of global rounding float_round( 321 + 321 - (321/122*100) - (321/122*100), 2 # To two decimal places ) evaluates to 115.77, so we have a difference of one cent. This can be exacerbated by more lines. The constraints on the EDI that this conflicts with are on the tax summary section for each tax. The constraints (roughly reworded): 00422: The base taxable amount for the tax must be equal to the sum of the base product prices (for which we have already used the rounded computed values, calcuated in the invoice) + <Arrotondamento> (rounding). 00421: The value provided for the <importo> that is the value of the vat is equal to the taxable base multiplied by the tax rate. The problem is that because of our local roundings, the taxable base is equal to our products, but the tax rate * taxable base is not equal to the tax amount (as present in the invoice). This commit adds to the rounding field and subtracts from the taxable base of the tax summary a value rounding value that should make tax rate * taxable base equal to the value of the vat. closes odoo/odoo#86711 Task: 2789290 X-original-commit: def954e8 Signed-off-by:Josse Colpaert <jco@odoo.com>
Please register or sign in to comment