- Add use_total_margin field to pricelist items - Override _compute_price() to sum margins additively instead of compounding - Support chained pricelists with custom base types (last_purchase_price) - Add global minimum and maximum margin limits configuration - Store limits in ir.config_parameter via res.config.settings - Apply global limits after total margin calculation - Add comprehensive test suite (9 tests) covering: * Basic additive vs compound margin behavior * Three-level pricelist chains * Global minimum/maximum margin enforcement * Rounding and surcharge compatibility - Add configuration UI in Settings > Sales - All tests passing (9/9) This module fixes the issue where chained pricelists were compounding margins instead of calculating total margins. Example: base 4.68€ with -5% and +25% now correctly results in 5.616€ (20% total) instead of 5.56€ (compound).
12 lines
336 B
INI
12 lines
336 B
INI
[mypy]
|
|
# Exclude migration scripts (post-migrate.py etc.) from mypy checks to avoid
|
|
# duplicate module name errors when multiple addons include scripts with the
|
|
# same filename.
|
|
exclude = .*/migrations/.*
|
|
|
|
# Ignore missing imports from Odoo modules
|
|
[mypy-odoo.*]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-odoo]
|
|
ignore_missing_imports = True
|