The same promotion stacking policy at the till, with offline-safe behaviour and server-side reconciliation
- Technical name
- do_multi_promotion_pos
- Author
- Do Incredible
- Version
- v19.0.1.0.0
- Odoo series
- Odoo 19.0
Version 19.0.1.0.0 Commit 8c1c87b9 # Changelog — DO Multi Promotion for POS All notable changes to this module. Versions follow Odoo's `<odoo>.<major>.<minor>.<patch>` convention. ## 19.0.1.0.0 — 2026-09-04 First release. ### Added * The stacking policy shipped to the register and mirrored in JavaScript — decision logic only, never the money logic — pinned against the Python arbiter by a shared fixture corpus. * Competing order-level discounts compared by their real value to the customer instead of by their raw discount number. * Offline-safe classification, with limited promotions refused at configuration time rather than overspending on a disconnected register. * Authoritative server-side reconciliation on sync, including offline replay, with divergences recorded on the order instead of rewriting a printed receipt. * Returned reward lines no longer carry a positive point cost, which previously made a promotion exhaust at half its configured uses. ### Pricing Each module is sold separately, so you pay only for the channels you run. * **DO Multi Promotion Engine** - $39.00 (required by the other three) * **DO Multi Promotion for Sales** - $29.00 * **DO Multi Promotion for POS** - $25.00 * **DO Multi Promotion for Website** - $19.00 The complete suite is $112.00. No adapter costs more than the engine it requires. ### Compatibility * Odoo 19.0, Community and Enterprise. * Depends only on Community modules; nothing here requires Enterprise. ### Known limitations * Rewards the register cannot produce (free shipping) are refused while the promotion is available at the till, because they would otherwise appear in the reward list and do nothing. * HOOT JavaScript tests do not run under this module's test tag; they run inside web's own unit-test suite.