1.9 KiB
1.9 KiB
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)todigits=(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_unitfield 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_unitfield 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
- Stop Odoo server
- Run:
python3 odoo/odoo-bin -c odoo.conf -d YOUR_DB -u vendor_bill_editable_totals --stop-after-init - Start Odoo server
- Clear browser cache (important!)
- Test with a vendor bill