$ 172.26
In-App Purchases| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Invoicing (account) • Point of Sale (point_of_sale) • Purchase (purchase) • Restaurant (pos_restaurant) • Discuss (mail) • Employees (hr) • Sales (sale_management) |
| Community Apps Dependencies | Show |
| Lines of code | 11728 |
| Technical Name |
pos_retail_promotion |
| License | OPL-1 |
| Website | http://posodoo.com |
Advanced Promotion Engine for Odoo 19 POS
A flexible and extensible promotion engine for POS Retail with 14 built-in promotion types. Designed with a Strategy pattern architecture for easy extension — add new promotion types with just a few lines of code.
14 PROMOTION TYPES
Built-in promotion types ready to use out of the box
Discount Percentage
Apply percentage discounts (0-100%) on specific products or all items. E.g., 10% off electronics.
Discount Fixed Amount
Apply a fixed monetary discount on orders. E.g., $5 off any purchase over $30.
Buy X Get Y Free
Buy a certain quantity and get additional items free. E.g., Buy 3 shirts, get 1 free.
Buy X Get Discount on Another
Buy quantity of one product, get a discount on another. E.g., Buy 2 coffees, get 50% off pastry.
Minimum Quantity Discount
Discount applies when customer buys at least N items. E.g., Buy 5+ items, get 15% off.
Bundle Price
Special price when buying a bundle of products together. E.g., Burger + Fries + Drink = $9.99.
Time-Based (Happy Hour)
Promotions active only during specific time windows. E.g., 15% off 2-5 PM on Fridays.
Loyalty Points Multiplier
Multiply loyalty points earned from orders. E.g., Double points on weekends.
Coupon / Voucher Code
Customer enters a code to activate discount. Case-insensitive matching. E.g., SAVE20 for 20% off.
First Order Discount
Special discount for a customer's first-ever POS order. E.g., 25% off your first purchase.
Birthday Discount
Automatic discount on the customer's birthday. Checks customer birthday field from contact.
Member Tier Pricing
Different discounts based on membership tier: Bronze, Silver, Gold, Platinum. Higher tier = better discount.
Combo Deal
Special pricing when specific products are purchased together. E.g., 2 Pizzas + Drink = $19.99.
Seasonal / Holiday
Promotions tied to seasons or holidays with date ranges and tags. E.g., Christmas sale 30% off.
EXTENSIBLE ARCHITECTURE
Add new promotion types with just a few lines of code
Suggested Extension Types
These types can be easily added via custom modules:
- Flash Sale — Time-limited deals with countdown
- Referral Reward — Referral program discounts
- Category Discount — Category-wide discounts
- Order Total — Threshold-based discounts
- Gift with Purchase — Free gift programs
- Multi-Buy — E.g., 3 for the price of 2
- Early Bird — First N customers get discount
- Progressive Discount — Tiered quantity discounts
- Cross-Sell Bundle — Cross-sell bundle pricing
- Payment Method — Pay-method specific discounts
MODULE ARCHITECTURE
Clean, extensible structure following Odoo best practices
pos.promotion.program
Main model with 14 types, validity dates, usage limits, and Strategy-pattern evaluation.
pos.promotion.rule
Flexible conditions: products, categories, quantities, order amounts. All rules must pass.
pos.promotion.reward
Discounts, free products, loyalty multipliers, bundle prices. Scoped to products/categories.
HOW TO EXTEND
Add a new promotion type in 3 simple steps
1Register Type
Append your type to PROMOTION_TYPES list and extend the type Selection field with selection_add.
2Add Evaluation
Implement _evaluate_<your_type>() method on pos.promotion.program. Receives order data, returns rewards.
3Add Views
Optionally add type-specific fields and form view sections using inherit_id on existing views.
Need Support?
thanhchatvn@gmail.com | posodoo.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module