vendor_bill_editable_totals/CHANGELOG.md

1.9 KiB
Raw Permalink Blame History

Changelog

[17.0.1.0.2] - 2025-11-22

Fixed

  • CRITICAL FIX: Increased precision from 6 to 10 decimal places
  • Fixed issue where 1,264,733 would display as 1,264,732.98
  • Now handles both small and large quantities accurately

Technical Details

  • Changed digits=(16, 6) to digits=(16, 10) for maximum precision
  • Test cases:
    • 277,534 ÷ 150 = 1850.2266666667 → 277,534.00
    • 1,264,733 ÷ 60,000 = 21.0788833333 → 1,264,733.00

[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