pythonodooodoo-8

How subtotal rounding works in quotation for Odoo 8?


I face an inconsistent Subtotal rounding in Quotation. The quotation comes from external data (via import menu). My current Odoo version is 8.

I have quantity 60 with 6 decimal precision and Unit Price 90.075600 with also 6 decimal precision (which is already defined in Settings > Database Structure > Decimal Accuracy > Product Price, Account, Product Unit of Measure, Product UoS all set to 6). But the subtotal result shows 5404.54 (it's supposed to be 5404.536).

How subtotal rounding works in Quotation?

If I need to change the python code, which part/file I have to change?

Thank you.

odoo subtotal quotation rounding example pic


Solution

  • Working on .v8:

    First.

    Subtotal field responds for decimal precision to 'Account', not 'Price Unit'.

    price_subtotal = fields.Float(string='Amount', digits= dp.get_precision('Account'),
        store=True, readonly=True, compute='_compute_price')
    

    Second.

    Even giving 6 decimal precision in 'Database Structure' you get 2 decimal precision for 'price_subtotal', because you have only separated 6 spaces but have not for rounding, to have a rounding factor of 6 decimal, you need to change the 'Rounding factor', them go to the currency of your company, 'Invoicing>Configuration>Miscellaneous>Currencies' and select the currency of your company, then update the 'Rounding Factor' field putting '0.000001' for 6 decimal precision in rounding factor.

    Making these changes, it should work perfectly, I hope this can be helpful for you.