POS Discounts, Promotions & Loyalty in Odoo 18
By Braincuber Team
Published on January 13, 2026
Running a retail store means constantly finding ways to bring customers back and encourage bigger purchases. The challenge? Managing multiple discount programs, tracking loyalty points, and handling promotional campaigns across different sales channels can quickly become a logistical nightmare. A coffee shop owner recently shared how she was losing track of which customers had loyalty cards, which coupons were still valid, and why her promotional discounts sometimes applied twice on the same order.
Odoo 18 Point of Sale transforms this chaos into a streamlined system where discounts, promotions, and loyalty programs work together seamlessly. Whether you're running a retail store, restaurant, or service-based business, the integrated promotional engine handles everything from simple percentage discounts to sophisticated "Buy 2 Get 1 Free" offers and multi-tier loyalty rewards. This comprehensive approach means your cashiers spend less time figuring out which discount applies and more time serving customers.
Key Features Covered: Coupons, Discount Codes, Promotions, Loyalty Cards, Buy X Get Y Programs, Next Order Coupons, Conditional Rules, Reward Configuration
Enabling Discount and Loyalty Features
Before creating any promotional programs, you need to activate the discount and loyalty functionality within your POS settings. This single configuration step unlocks the entire promotional toolkit.
Configuration Steps
- Navigate to Point of Sale module from the main menu
- Go to Configuration → Settings
- Locate the Pricing section
- Enable Promotions, Coupons, Gift Cards & Loyalty Programs
- Click Save to apply changes
Once enabled, a new menu option appears under Products → Discount & Loyalty. This becomes your central hub for creating and managing all promotional programs.
Understanding Program Types
Odoo 18 POS offers six distinct program types, each designed for specific promotional scenarios. Choosing the right type determines how discounts are applied and when customers can redeem rewards.
| Program Type | Best Used For | Customer Action Required |
|---|---|---|
| Coupons | Targeted campaigns, VIP customers | Enter unique code at checkout |
| Discount Codes | Mass marketing, social media | Enter shared code at checkout |
| Promotions | Automatic discounts, seasonal sales | None - applies automatically |
| Loyalty Cards | Repeat customer rewards | Accumulate points over purchases |
| Buy X Get Y | Volume incentives, inventory clearance | Purchase qualifying quantity |
| Next Order Coupons | Encouraging return visits | Complete qualifying purchase first |
Creating Coupon Programs
Coupons provide personalized discounts through unique codes assigned to specific customers or campaigns. Think of them as digital vouchers that offer percentage discounts, fixed monetary deductions, or complimentary shipping.
Setting Up a Coupon Campaign
For this example, we'll create a "SUMMER15" coupon offering 15% discount for purchases over $75 during the summer season.
-
Navigate to Discount & Loyalty:
- Go to: Products → Discount & Loyalty
- Click New to create a program
-
Configure Program Details:
- Program Name: Summer Sale 15% Off Coupon
- Program Type: Select Coupon from dropdown
- Currency: Choose appropriate currency (USD, EUR, etc.)
- Start Date: Set campaign start (e.g., June 1, 2026)
- End Date: Set campaign end (e.g., August 31, 2026)
-
Set Availability:
- Available On: Check Point of Sale
- Point of Sale: Select specific POS shops or leave empty for all
- Website: Optionally enable for online store
-
Configure Usage Limits:
- Limit Usage: Set maximum redemptions per customer
- This prevents customers from reusing the same coupon multiple times
Adding Conditional Rules
Rules determine when the coupon can be applied. Click the Rules & Rewards tab to configure conditions.
Condition Configuration:
- Click Add under Conditional Rules section
- Set Minimum Purchase: $75.00
- Optionally filter by specific products, categories, or tags
- Click Save & Close
Configuring Rewards
Under the same Rules & Rewards tab, configure what discount customers receive:
Reward Setup:
- Click Add in the Rewards section
- Select Reward Type: Discount
- Enter Discount Value: 15%
- Choose Apply On:
- Order - Applies to entire order total
- Cheapest Product - Discounts lowest-priced item
- Specific Product - Targets designated items only
- Set Max Discount: $50 (optional cap)
- Customize Description on Order: "Summer Sale 15% Discount"
- Click Save & Close
Generating and Managing Coupons
After configuring rules and rewards, generate the actual coupon codes:
- Click Generate Coupons button at the top of the form
- Select Customer Type:
- Anonymous Customers: Codes usable by anyone
- Selected Customers: Assigned to specific customers
- Enter Quantity: Number of coupons to generate
- Set Validity Until: Expiration date
- Click Generate Coupons
Generated coupons appear in the Coupons smart button on the program form, showing code, remaining balance, expiration, and assigned customer.
Distributing Coupons
Send via Email
- Open the Coupons dashboard
- Click the Send button
- Confirm customer email address
- Click Send to deliver
Share as URL
- Click the Share button
- Copy the generated URL
- Distribute via social media, WhatsApp, newsletters
Setting Up Discount Codes
Unlike coupons that generate unique codes per customer, discount codes use a single shared code for mass campaigns. They're ideal for social media promotions, email marketing blasts, or printed flyers.
Key Difference: Discount codes don't need individual generation. You define one code (like WELCOME25) and share it publicly. Coupons generate unique codes per customer for tracking and limiting usage.
Creating a Welcome Discount Code
-
Create New Program:
- Navigate to Products → Discount & Loyalty → New
- Program Name: New Customer Welcome Offer
- Program Type: Select Discount Code
-
Configure Program:
- Set currency, start date, and end date
- Limit Usage: Define maximum total redemptions
- Assign to correct company and POS locations
-
Set Rule:
- Click Add under Conditional Rules
- Minimum Purchase: $50.00
- Save the condition
-
Configure Reward:
- Reward Type: Discount
- Discount Value: $10.00 (fixed amount)
- Apply On: Order
- Description: "Welcome $10 Off"
Applying Discount Codes in POS
When a customer presents a discount code at checkout:
- Cashier clicks Enter Code button in POS interface
- Types the discount code (e.g., WELCOME25)
- Confirms entry
- System validates code against rules
- If valid, discount applies automatically to the order
The discount appears as a line item on the order, providing transparency for both customer and cashier. Our team at Odoo implementation services frequently helps businesses configure these discount workflows for optimal customer experience.
Configuring Automatic Promotions
Promotions differ from coupons and discount codes because they apply automatically when conditions are met. Customers don't need to enter any code—the system handles everything.
Real-World Example: Spend $100, Get 10% Off
- Create new program with Program Type: Promotions
- Configure basic details (name, dates, availability)
- Add Conditional Rule:
- Minimum Quantity: 1 (at least one item)
- Minimum Purchase: $100.00 (including tax)
- Add Reward:
- Reward Type: Discount
- Discount: 10%
- Apply On: Order
- Save the promotion
Applying Promotions in POS
When customers add qualifying products to their cart:
- Select products meeting promotion criteria
- Click the Action button in POS
- A popup shows available promotions
- Click the Reward button
- Select the applicable promotion
- Discount reflects immediately on the order total
Buy X Get Y Programs
"Buy X Get Y" promotions encourage customers to purchase more by offering free or discounted items. This is excellent for moving inventory while increasing average order value.
Example: Buy 2 Shirts, Get 1 Accessory Free
- Create program with Program Type: Buy X Get Y
- Configure conditional rule:
- Minimum Quantity: 2
- Product Filter: Category = "Shirts"
- Points granted: 1 credit per 2 units purchased
- Configure reward:
- Reward Type: Free Product (auto-selected)
- Free Product: Select accessory item
- Quantity: 1
- Points Required: 1 credit
When customers add qualifying products in POS, a popup displays available Buy X Get Y programs. Selecting the promotion adds the free item automatically.
Loyalty Card Programs
Loyalty programs reward repeat customers by accumulating points with each purchase. These points can be redeemed for discounts, free products, or other rewards on current or future orders.
Setting Up a Points-Based Loyalty Program
- Create program with Program Type: Loyalty Cards
- Configure earning rule:
- Minimum Quantity: 1 item
- Points Granted: 10 points per $1 spent
- Optionally limit to specific products or categories
- Configure redemption reward:
- Reward Type: Free Product or Discount
- Points Required: 500 points (example)
- If Free Product: Select the reward item
Pro Tip: Link loyalty programs to customer accounts. This way, points accumulate across purchases and customers can track their rewards through their profile.
For businesses looking to integrate loyalty programs with inventory management, our inventory management system solutions ensure seamless stock tracking for reward products.
Next Order Coupons
Next Order Coupons encourage return visits by providing discounts that can only be redeemed on future purchases. The customer makes a qualifying purchase today and receives a coupon for their next visit.
Example: Spend $100 Today, Get 15% Off Next Purchase
- Create program with Program Type: Next Order Coupon
- Configure qualifying condition:
- Minimum Quantity: 1 item
- Minimum Purchase: $100.00
- Configure next-order reward:
- Reward Type: Discount
- Discount: 15%
- Apply On: Specific products (optional) or entire order
After completing the qualifying purchase, the system generates a coupon code that the customer can use on their subsequent order. This creates a compelling reason to return.
Best Practices for Promotional Programs
Set Clear Expiration Dates
Always define start and end dates. Promotions without expiration end up on coupon aggregator sites and erode margins long after campaigns conclude.
Limit Usage Per Customer
Prevent abuse by restricting how many times each customer can use a promotion. This is especially critical for "first-time customer" offers.
Set Maximum Discount Caps
For percentage discounts, set a maximum discount amount. A 20% discount on a $5,000 order is $1,000—which might exceed your intended marketing budget.
Test Before Launching
Run through the customer journey yourself. Add products, apply the code, verify the discount calculates correctly. Catch errors before customers do.
Effective promotional management directly impacts customer retention and revenue. For comprehensive Odoo consulting services, our team can help design promotional strategies tailored to your business model.
Tracking Promotional Performance
Measuring the effectiveness of your promotional programs helps optimize future campaigns. Key metrics to monitor include:
- Redemption Rate: Percentage of generated coupons actually used
- Average Order Value with Promotion: Compare to orders without promotions
- Customer Return Rate: Especially important for Next Order Coupons
- Margin Impact: Total discount given versus revenue generated
- Program Participation: Which promotions drive the most engagement
The Coupons smart button on each program shows usage statistics, while accounting reports reveal the financial impact of your promotional activities.
Summary
Odoo 18 Point of Sale provides a comprehensive toolkit for managing discounts, promotions, and loyalty programs. From simple coupon codes to sophisticated Buy X Get Y offers, the system handles complex promotional logic while keeping the checkout experience smooth for both staff and customers. The key is choosing the right program type for each scenario: coupons for targeted campaigns, discount codes for mass marketing, promotions for automatic application, and loyalty cards for building long-term customer relationships.
Need Help Configuring Your POS Promotions?
Our Odoo experts specialize in setting up promotional programs that drive customer engagement without eroding margins. From basic discount setups to multi-tier loyalty systems, we've helped retailers of all sizes optimize their promotional strategies.
