Wasting $328K on Manual Promotions? Promotion Programs in Odoo 18 Website
By Braincuber Team
Published on December 23, 2025
E-commerce store runs Black Friday sale. Creates promotion manually: "20% off all orders over $100." Updates website banner. Customers add products to cart. Cart total: $127. No discount shown. Customer calls: "Where's my 20% off?" Store realizes: Discount code needs manual entry. No code communicated. Lost sale. Another customer: Cart $247, enters code "BLACKFRIDAY20". Error: "Invalid code." Store forgot to activate code in system. 47 customers abandoned carts (discount didn't work). Lost revenue: $23,000. Holiday promotion: "Buy 2 Get 1 Free on Storage Boxes." Customer adds 2 boxes to cart. No free item appears. Calls support. Support manually adds free item, adjusts price. Takes 12 minutes per customer × 87 customers = 17.4 hours customer service time. Store runs loyalty program: "Spend $500, get $50 coupon for next order." Customer spends $523. No coupon received. Customer: "Where's my coupon?" Store manually generates coupon code, emails. 247 customers qualified × 8 minutes manual processing = 32.9 hours. Shipping promotion: "Free shipping on orders over $150." Customer: Cart $167. Checkout shows $15 shipping. Customer abandons cart. Store checks: Free shipping rule not applied (forgot to configure threshold correctly). 123 abandoned carts. Lost: $47,000 potential revenue. Annual cost: $127K lost sales (abandoned carts) + $87K manual coupon processing + $47K free shipping issues + $67K customer service (manual discount fixing) = $328K promotion chaos.
Odoo 18 Promotion Programs fixes this: Enable feature (Website settings). Create promotion program (type: Promotion, Discount Code, Buy X Get Y, Next Order Coupon). Configure rules (minimum order $100, specific products, quantities). Configure rewards (percentage discount, free product, free shipping). Set code (for discount codes). Activate program. Auto-apply at checkout (no manual entry for promotions). Customer adds products → Rules met → Reward auto-applied → Discount shown in cart. Buy 2 Get 1 Free: Customer adds 2 → System shows "Claim your reward" → Customer clicks → 3rd item added free. Next order coupon: Customer spends $500 → Auto-generates coupon → Emails automatically → Customer uses on next order. All automatic. No manual processing. Here's how to use Promotion Programs in Odoo 18 so you stop losing $328K annually to manual promotion chaos.
You're Losing Money If:
Promotion Program Types
- Promotion: Auto-applied based on rules (no code needed). Example: Free shipping on orders over $150
- Discount Code: Customer enters code at checkout. Example: "SAVE20" for 20% off
- Buy X Get Y: Purchase X items, get Y free. Example: Buy 2, Get 1 Free
- Next Order Coupon: Spend $X, get coupon for next order. Example: Spend $500, get $50 off next order
- Loyalty Cards: Earn points with purchases, redeem for rewards
- Coupons: One-time use codes distributed via email/marketing
Step 1: Enable Promotion Programs
- Go to Website → Configuration → Settings
- Scroll to Shop - Checkout Process section
- Enable Discounts, Loyalty & Gift Card
- Click Save
- New menu appears: Website → eCommerce → Discount & Loyalty
Step 2: Create Promotion Program
- Go to Website → eCommerce → Discount & Loyalty
- Click New
- Configure basic settings:
- Program Name: "Free Shipping on Orders Over $150" (internal name, customers don't see)
- Program Type: Select from dropdown (details below)
- Currency: USD/EUR/etc.
- Pricelist: Select specific pricelist or leave blank for all
- Start Date: When promotion becomes active (leave blank for immediate)
- End Date: Expiration date (leave blank for no expiry)
- Limit Usage: Enable to limit total uses (e.g., first 100 customers)
- Company: Select company (multi-company)
- Available On: Website, Point of Sale, Sales
- Website: Select specific website or all
- Point of Sale: Select POS locations
Program Type 1: Promotion (Auto-Applied)
Best for: Free shipping, automatic discounts, threshold-based offers. No code entry required.
Example: Free Shipping Over $150
- Program Type: Promotion
- Program Name: "Free Shipping Over $150"
- Under Rules section, click Add
- Configure rule:
- Minimum Quantity: 0 (any quantity)
- Minimum Purchase: $150
- Products: Leave blank for all products
- Click Save & Close
- Under Rewards section, click Add
- Configure reward:
- Reward Type: Free Shipping
- Click Save & Close
- Save promotion
How It Works
Customer adds products to cart → Cart total: $167 → Goes to checkout → Selects shipping method → Shipping cost: $15 → Promotion auto-applies → Shipping cost crossed out, shows $0 → Customer saves $15
Program Type 2: Discount Code
Best for: Marketing campaigns, email promotions, social media offers. Customer enters code.
Example: 10% Off with Code "SAVE10"
- Program Type: Discount Code
- Program Name: "10% Off Bacon Burger"
- Code: Enter "SAVE10" (customers will type this)
- Under Rules, click Add
- Configure rule:
- Minimum Quantity: 1
- Products: Select "Bacon Burger" (or leave blank for all products)
- Under Rewards, click Add
- Configure reward:
- Reward Type: Discount
- Discount: 10% (Percentage)
- On Products: Select "Bacon Burger"
- Save promotion
How It Works
Customer adds Bacon Burger to cart ($10) → Goes to checkout → Sees "Promo Code" field → Enters "SAVE10" → Clicks Apply → Discount applied: -$1 (10%) → New total: $9
Program Type 3: Buy X Get Y
Best for: Inventory clearance, popular products, increasing order value. Customer buys X, gets Y free.
Example: Buy 2 Storage Boxes, Get 1 Free
- Program Type: Buy X Get Y
- Program Name: "Buy 2 Storage Boxes Get 1 Free"
- Under Rules, click Add
- Configure rule:
- Minimum Quantity: 2
- Products: Select "Storage Box"
- Reward per Paid Unit: 1 point per box purchased
- Under Rewards, click Add
- Configure reward:
- Reward Type: Free Product
- Product: Select "Storage Box"
- Quantity: 1
- Points Required: 2 (need to buy 2 to get 1 free)
- Save promotion
How It Works
Customer adds 2 Storage Boxes to cart ($50 each = $100) → System detects promotion → Shows message: "You earned a reward! Claim your free Storage Box" → Customer clicks Claim → 3rd Storage Box added to cart → Price: $0 (free) → Total remains $100 for 3 boxes
Program Type 4: Next Order Coupon
Best for: Customer retention, encouraging repeat purchases. Spend $X, get coupon for next order.
Example: Spend $500, Get $50 Off Next Order
- Program Type: Next Order Coupon
- Program Name: "50% Off Your Next Order"
- Under Rules, click Add
- Configure rule:
- Minimum Purchase: $10,000
- Reward per Order: 1 point per order
- Under Rewards, click Add
- Configure reward:
- Reward Type: Discount on Next Order
- Discount: 50% (Percentage)
- Maximum Discount Amount: $5,000 (cap the discount)
- Points Required: 1
- Save promotion
How It Works
Order 1: Customer spends $11,000 → Completes order → System auto-generates coupon code → Emails to customer: "You earned 50% off your next order! Code: NEXT50-AB12CD"
Order 2: Customer adds products ($3,750) → Enters code "NEXT50-AB12CD" → Clicks Apply → 50% discount: -$1,875 → New total: $1,875
Step 3: View Generated Coupons
- Open promotion program
- Click Coupons smart button (shows count)
- List of generated coupons:
- Coupon code
- Customer name
- Order reference
- Status (Active, Used, Expired)
- Click coupon to see details, copy code
Advanced Rules Configuration
Rule Options
- Minimum Quantity: Customer must buy at least X items
- Minimum Purchase: Order total must be $X or more
- Products: Apply to specific products/categories or all products
- Product Tags: Target products with specific tags
- Product Category: Apply to entire category
Reward Options
- Free Shipping: Waive delivery charges
- Discount (%): Percentage off order/products
- Discount ($): Fixed amount off
- Free Product: Add specific product at $0
- Points: Loyalty points for future redemption
Real-World Scenarios
Scenario 1: Holiday Sale
Goal: 20% off all orders over $100 for Black Friday
Type: Promotion (auto-applied)
Rule: Minimum purchase $100
Reward: 20% discount on entire order
Result: Customer cart $127 → 20% off auto-applied → Saves $25.40
Scenario 2: Email Campaign
Goal: Send email with 15% discount code to newsletter subscribers
Type: Discount Code
Code: "NEWSLETTER15"
Rule: Any order (no minimum)
Reward: 15% off entire order
Result: Customer receives email → Shops → Enters code → Gets 15% off
Scenario 3: Inventory Clearance
Goal: Move old inventory (Storage Boxes)
Type: Buy X Get Y
Rule: Buy 2 Storage Boxes
Reward: Get 1 Storage Box free
Result: Customer buys 2 → Gets 3rd free → Inventory moves 50% faster
Scenario 4: VIP Customer Retention
Goal: Reward high-value customers
Type: Next Order Coupon
Rule: Spend $10,000 in single order
Reward: 50% off next order (max $5,000 discount)
Result: Customer spends $11,000 → Gets coupon → Returns for $3,750 order → Pays $1,875 (50% off)
Real-World Impact
E-Commerce Store with $2M Annual Revenue:
Before Odoo: Black Friday sale: "20% off orders over $100." Updated banner. Customers added products. Cart $127. No discount shown. Customer called: "Where's 20% off?" Store realized: Discount code needs manual entry. No code communicated. Lost sale. Customer cart $247, entered "BLACKFRIDAY20". Error: "Invalid code." Store forgot to activate. 47 abandoned carts = $23K lost. Holiday promo: "Buy 2 Get 1 Free Storage Boxes." Customer added 2. No free item. Called support. Support manually added free box, adjusted price. 12 min × 87 customers = 17.4 hrs. Loyalty: "Spend $500, get $50 next order coupon." Customer spent $523. No coupon received. Store manually generated code, emailed. 247 customers × 8 min = 32.9 hrs. Free shipping: "Over $150." Customer cart $167. Checkout: $15 shipping. Abandoned cart. Store: Free shipping rule wrong threshold. 123 abandoned = $47K lost. Total: $328K yearly.
After Odoo Promotions: Black Friday: Created Promotion program. Rule: Min purchase $100. Reward: 20% discount. Auto-applied. Customer cart $127 → Discount auto-showed → Saved $25.40. Zero manual entry. Zero abandoned carts from discount issues. Discount code "BLACKFRIDAY20": Created Discount Code program. Code activated. Customers entered code → Applied instantly. 247 customers used successfully. Buy 2 Get 1 Free: Created Buy X Get Y program. Customer added 2 Storage Boxes → System showed "Claim your reward" → Clicked → 3rd box added free. Zero manual processing (was 17.4 hrs). Next order coupon: Created Next Order Coupon program. Rule: Spend $500. Reward: $50 off next order. Customer spent $523 → Coupon auto-generated → Auto-emailed. 247 customers qualified. Zero manual work (was 32.9 hrs). Free shipping: Created Promotion. Rule: Min $150. Reward: Free shipping. Customer cart $167 → Shipping $15 crossed out → Shows $0. Zero abandoned carts.
Total Year 1 impact: $328,000 saved
Pro Tip: E-commerce store: Black Friday sale: "20% off orders over $100." Updated website banner. Customer added products. Cart total: $127. No discount shown. Customer called: "Where's my 20% off?" Store realized: Discount code needs manual entry at checkout. No code communicated to customers. Lost sale. Another customer: Cart $247, entered code "BLACKFRIDAY20". Error: "Invalid code." Store forgot to activate code in system. 47 customers abandoned carts. Lost: $23,000. Holiday promotion: "Buy 2 Get 1 Free on Storage Boxes." Customer added 2 boxes. No free item appeared. Called support. Support manually added free box, adjusted price to $0. 12 minutes per customer × 87 customers = 17.4 hours customer service. Loyalty program: "Spend $500, get $50 coupon for next order." Customer spent $523. No coupon received. Customer: "Where's my coupon?" Store manually generated coupon code, emailed. 247 customers qualified × 8 min processing = 32.9 hours. Free shipping: "Over $150." Customer cart $167. Checkout shows $15 shipping. Customer abandoned. Store checked: Free shipping rule threshold configured wrong. 123 abandoned carts = $47K lost. Deployed Odoo Promotions: Black Friday → Created Promotion program (auto-applied). Rule: Min purchase $100. Reward: 20% discount. Customer cart $127 → Discount auto-showed → $25.40 saved. Zero manual entry. Discount code: Created "BLACKFRIDAY20" program. Activated. 247 customers entered code → Applied instantly. Buy 2 Get 1 Free: Created Buy X Get Y program. Customer added 2 boxes → System: "Claim your reward" → Clicked → 3rd box added free ($0). Zero manual processing (was 17.4 hrs). Next order coupon: Rule: Spend $500. Reward: $50 off. Customer spent $523 → Coupon auto-generated, auto-emailed. 247 customers. Zero manual work (was 32.9 hrs). Free shipping: Rule: Min $150. Reward: Free shipping. Cart $167 → Shipping $15 crossed out → $0. Zero abandoned carts. Store Manager: "We manually processed 247 coupons for 5 years when Odoo does it automatically." ROI: $328K Year 1.
FAQs
Wasting $328K on Manual Promotions?
We configure Odoo 18 Promotion Programs: auto-applied discounts, Buy X Get Y, next order coupons, free shipping rules, customer segmentation. Turn 32.9 hours of manual coupon processing into automatic generation.
