vendor_bill_editable_totals/CHANGELOG.md
2025-11-21 18:02:20 +07:00

1.4 KiB
Raw Blame History

Changelog

[17.0.1.0.1] - 2025-11-21

Fixed

  • CRITICAL FIX: Fixed precision issue where manually entering values like 277,534 would display as 277,534.50
  • Overrode price_unit field to use 6 decimal places instead of 2 (Product Price precision)
  • Removed explicit rounding in onchange methods to preserve maximum precision
  • This ensures that manually entered tax excluded and tax included amounts are preserved exactly

Technical Details

  • Root Cause: The price_unit field was using the "Product Price" decimal precision (2 decimals)
  • Solution: Override the field definition with digits=(16, 6) to allow 6 decimal places
  • When you enter 277,534 with quantity 150:
    • Old: price_unit = 1850.23 (2 decimals) → recalc = 277,534.50
    • New: price_unit = 1850.226667 (6 decimals) → recalc = 277,534.00

Example

Before fix:

  • Enter Tax excl: 277,534
  • Calculated price_unit: 1850.23 (limited to 2 decimals by field definition)
  • Displayed Tax excl: 277,534.50 (1850.23 × 150)

After fix:

  • Enter Tax excl: 277,534
  • Calculated price_unit: 1850.226667 (now supports 6 decimals)
  • Displayed Tax excl: 277,534.00 (1850.226667 × 150 = 277,534.0005, rounded to 277,534.00)

Upgrade Instructions

  1. Stop Odoo server
  2. Run: python3 odoo/odoo-bin -c odoo.conf -d YOUR_DB -u vendor_bill_editable_totals --stop-after-init
  3. Start Odoo server
  4. Clear browser cache (important!)
  5. Test with a vendor bill