Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Point of Sale
  3. Smart Cheapest Product Discount for POS v 19.0
  4. Sales Conditions FAQ

Smart Cheapest Product Discount for POS

by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Odoo

$ 50.00

In-App Purchases
v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
  • Description
  • Manifest
  • License

Smart Cheapest Product Discount for Point of Sale

Run real Buy-N-Get-M promotions - "Buy 3, get the cheapest 1 free" - automatically applied to every POS order. No manual discounts, no cashier guesswork, no per-product setup.



Problem: Odoo's Loyalty Engine Only Discounts ONE Cheapest Item

Odoo's native Loyalty & Promotions app ships a "Cheapest Product" discount - but it only ever discounts exactly one unit, no matter how large the cart is. Retailers who run genuine Buy-N-Get-M promotions (buy 3, get the cheapest one free; buy 6, get 2 free) have no built-in way to configure that.

  • Core "Cheapest Product" reward is hard-limited to 1 free/discounted unit per order
  • No native "Buy Quantity" / "Free Quantity" configuration on any loyalty reward
  • Cashiers end up manually applying discounts line by line - slow and error-prone
  • Manual discounts can accidentally target the wrong (not cheapest) item
  • No indication on the payment screen of how much was actually discounted
  • Receipts don't clearly show which specific product was given for free


Solution: A Native "Multi Cheapest Product" Reward Type

This module adds a new "Multi Cheapest Product" option directly inside the standard Loyalty Reward form, alongside two new fields - Buy Quantity and Free Quantity. Configure it once (e.g. buy 3, get 1 free) and the discount is applied automatically in the POS: the cart is scanned, the cheapest unit(s) are identified, and the discount repeats for every full "buy quantity" batch in the order - all with zero cashier intervention.



Key Features
  • Multi Cheapest Product Reward - a new discount applicability option on the standard Loyalty Reward form
  • Buy Quantity / Free Quantity - configure any ratio: buy 2 get 1, buy 3 get 1, buy 6 get 2, and so on
  • Repeats Automatically - 6 items at "buy 3 get 1" gives 2 free units, not just 1
  • Always Targets the Cheapest Units - sorts every eligible unit in the cart by price and discounts the lowest first
  • Percent or Fixed Discounts - works with the same discount modes as any other loyalty reward
  • Live Payment Screen Banner - shows the exact amount discounted off the lowest-priced product before validating
  • Per-Item Receipt Labelling - the printed receipt names the specific product that was discounted (e.g. "100% on - USB-C Cable")
  • Fully Automatic Trigger - no reward button to click, no code to enter; applies the moment the cart qualifies
  • Tax-Aware - sorts by tax-inclusive unit price and carries the correct taxes onto the discount line
  • Native Loyalty Engine - built entirely on Odoo 19's own Loyalty & Promotions / POS Loyalty framework, no core overrides
  • OWL-Powered - lightweight POS frontend patches, no extra network calls


How It Works - Step by Step

1. Configure the Reward - "Multi Cheapest Product"

Open any Loyalty Reward, set Discount Applicability to Multi Cheapest Product, then set the Buy Quantity and Free Quantity in the new "Buy X Get Y" section. Here: buy 3, get the cheapest 1 free at 100% off.

Loyalty Reward form showing Multi Cheapest Product discount applicability and Buy X Get Y fields

2. Ring Up Products Normally in the POS

No special button, no code to type. Cashiers use the Point of Sale exactly as before - the reward evaluates automatically as items are added.

Point of Sale product screen ready to ring up items

3. The Cheapest Item Is Discounted Automatically

As soon as 3 units are in the cart (Wireless Mouse $12.50, USB-C Cable $8.00, Laptop Stand $24.90), the cheapest one - the $8.00 USB-C Cable - is instantly discounted 100% and shown as its own order line, with no cashier action required.

POS cart automatically discounting the cheapest product

4. Payment Screen Shows the Exact Discount Amount

A clear green banner on the payment screen confirms exactly how much was taken off the lowest-priced product, before the cashier validates - full transparency for both staff and customer.

Payment screen banner showing the cheapest-product discount amount

5. The Receipt Names the Exact Product Discounted

The printed receipt doesn't just show a generic "discount" line - it clearly labels which product was given away, e.g. "100% on - USB-C Cable", so customers immediately understand their receipt.

POS receipt naming the specific product that received the cheapest-product discount
Use Cases

Grocery & Convenience

"Buy 3, get the cheapest free" promotions on snacks, drinks, or household items - the classic multi-buy deal, fully automated.

Electronics & Accessories

Bundle cables, cases, and small accessories - buy several, get your cheapest accessory free automatically.

Restaurants & Cafes

Combo-style promotions where the least expensive item in a multi-item order is discounted or comped.

Clearance & Seasonal Sales

Drive volume during clearance events with a guaranteed free cheapest item for every qualifying batch purchased.

Multi-Branch Retail

Configure the promotion once at the loyalty-program level and roll it out identically across every POS terminal and store.

New Cashier Training

Since the discount is fully automatic, new staff never need to learn which promotion to apply or how to apply it manually.

Business Benefits

Zero Manual Discount Errors

The system always identifies the true cheapest unit - no cashier has to judge which item qualifies.

Faster Checkout

No pausing to apply a manual discount line - the promotion appears the instant the cart qualifies.

Transparent for Customers

The payment screen banner and the named receipt line both make it obvious exactly what was discounted and why.

Configure Once, Scale Everywhere

One reward configuration drives the promotion consistently across every POS session and terminal.

Step-by-Step Usage Guide

Step 1 - Open or Create a Loyalty Program

Go to Point of Sale -> Loyalty Programs (or Sales -> Promotions). Create a new Promotions program with an automatic trigger, or open an existing one.

Step 2 - Add a Reward and Select "Multi Cheapest Product"

Add a Discount reward. Under Discount Applicability, choose Multi Cheapest Product. A new "BUY X GET Y" section appears.

Step 3 - Set Buy Quantity, Free Quantity, and Discount %

Set Buy Quantity (e.g. 3) and Free Quantity (e.g. 1), and set the discount percentage (100% for a fully free item, or any lower percentage for a partial discount).

Step 4 - Link the Program to Your POS Configuration

Make sure Available On -> Point of Sale is enabled and your POS configuration(s) are selected on the program.

Step 5 - Sell as Usual

Open a POS session and ring up products normally. Once the cart reaches the configured Buy Quantity, the cheapest eligible unit(s) are discounted automatically, the payment screen shows the exact amount, and the receipt names the discounted product.

Pro Tip - It Repeats Automatically

The reward isn't limited to one application per order. With "buy 3 get 1", a cart of 6 eligible units automatically gets 2 free items - the two cheapest units in the cart.


Need Help or Want a Custom Feature?

Contact Support


Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Point of Sale (point_of_sale)
• Invoicing (account)
• Discuss (mail)
• Inventory (stock)
Lines of code 202
Technical Name pos_product_cheapest_disc
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with