POS Global Discount
Apply percentage or fixed-amount discounts on entire POS orders in seconds — with built-in max-discount controls, cashier validation, and a clean numpad popup.
Managing order-level discounts in Odoo Point of Sale can be challenging when businesses need better control over cashier permissions, discount limits, and different discount methods. Standard Odoo POS does not provide an easy way to apply global discounts with built-in validation and configurable restrictions.
POS Global Discount solves this by allowing cashiers to apply either percentage-based or fixed-amount discounts directly from the POS interface using a clean and intuitive popup. The module automatically calculates the discount and applies it to the current order without requiring manual calculations.
Administrators can configure a dedicated discount product along with maximum discount percentage and maximum discount amount for each POS configuration. If a cashier attempts to exceed these limits, the system immediately displays a validation message and prevents unauthorized discounts.
Whenever a new discount is applied, any previous discount is automatically removed and replaced with the latest value, ensuring order totals remain accurate. The discount is added as a proper negative order line, making it fully compatible with receipts, accounting, and reporting.
This module is ideal for retail stores, supermarkets, restaurants, cafés, and every business using Odoo Point of Sale that requires fast, secure, and controlled order-level discounts with a better cashier experience.
How It Works
Four simple steps from configuration to applied discount
Configure in Backend
Enable Global Discount in POS settings, set a discount product, and define max discount limits.
Add Products to Order
Open POS, add products to the order — the discount button appears in the actions menu.
Click Global Discount
Tap the button, select Percentage or Fixed Amount, enter the value on the numpad.
Confirm & Pay
Confirm the discount — it's instantly added as an order line. Proceed to payment as normal.
See It in Action
A visual walkthrough from enabling the feature to completing a discounted POS order.
Open POS Configuration
Go to the Point of Sale dashboard. Click the three-dot menu (⋮) on your POS shop card, then click "Configure" to open the settings panel for that shop.
POS Dashboard → Three dots menu (⋮) → Configure
Enable Global Discount
Inside the Configuration tab of the POS settings popup, locate the Global Discount checkbox on the right column. Tick it ON — this allows applying a global discount in POS.
Configuration Tab → Global Discount checkbox → Enable
Set Max Discount Limits
Once Global Discount is enabled, two additional fields appear — Max Discount (%) and Max Discount Amount. Set these to restrict cashiers from applying excessive discounts. For example: 10% and $100.00.
Global Discount → Max Discount (%) = 10.00 · Max Discount Amount = 100.00
Open Global Discounts in Settings
Go to Configuration → Settings from the POS top menu. Make sure you select your current POS shop from the dropdown at the top. Under the Pricing section, turn on Global Discounts and configure the Discount Product and Discount %. If no discount product exists, create a new one.
Configuration → Settings → Select shop → Pricing → Global Discounts → ON
Configure Global Discounts & Discount Product
Enable Global Discounts under the Pricing section. Set the Discount Product to [DISC] Discount and set a Discount % (e.g. 10.00). Make sure you select your correct POS shop from the top dropdown before saving.
Pricing → Global Discounts ON → Discount Product → [DISC] Discount → Save
Enable Point of Sale on Discount Product
Open the [DISC] Discount product. Make sure the Point of Sale checkbox is enabled alongside Sales. The product should have Product Type: Goods, Sales Price: $0.00, Cost: $0.00, and Internal Reference: DISC.
Product → [DISC] Discount → Enable Point of Sale checkbox → Save
Open POS Session & Add Products
Open the POS register and add products to the order. In this example, Acoustic Bloc Screens ($352.00) and Cabinet with Doors ($161.00) are added. The total shows $513.00 before discount. Click the three-dot Actions button (⋮) at the bottom to proceed.
Add products to order → Click ⋮ Actions button
Click Discount from Actions Menu
The Actions popup appears with options: Customer Note, Discount, Pricelist, Refund, Info, and Cancel Order. Click the Discount button to open the Global Discount popup.
Actions popup → Click Discount button
Select Discount Type
The Global Discount popup appears with two options — Percentage and Fixed Amount. Select the type of discount you want to apply to the entire order.
Global Discount popup → Percentage or Fixed Amount
Enter Amount & Validation Error
Enter the discount value using the numpad and click Confirm. If the value exceeds your configured maximum (e.g. entering 110 when the limit is 100), an error notification appears top-right: "Exceeds max allowed amount of 100." — and the discount is not applied.
Enter value → Confirm → Error shown if limit exceeded
Discount Successfully Applied
A green success notification appears top-right: "Global discount applied successfully". The discount is added as a separate negative line — discount: $-100.00 — in the order. The order total updates from $513.00 to $413.00.
Order line: discount $-100.00 · New total: $413.00
Complete Payment
Click the Payment button. The payment screen shows the discounted total of $413.00. Select a payment method — Cash, Card, or Customer Account — and click Validate to complete the transaction.
Payment button → Select Cash/Card → Total $413.00 → Validate
Payment Successful & Receipt
Payment of $413.00 is validated successfully. The receipt clearly shows all order lines: Acoustic Bloc Screens $352.00, Cabinet with Doors $161.00, and discount $-100.00. Subtotal, taxes, and final total are all correctly calculated. Ready to print or send via email.
Receipt: discount $-100.00 shown · Final total $413.00 · Taxes calculated correctly
Built by Odoo Experts.
Trusted by Businesses.
Dedicated Support
We stand behind every product we ship, responsive support when you need it most. ✦10-Hour Free Support Included
Industry-Specific Expertise
Deep knowledge across manufacturing, retail, services, healthcare, and more — we don't apply generic ERP templates, we tailor solutions to your sector.
Fast & Phased Implementation
Our agile delivery model gets your core ERP live quickly, then scales with your needs — reducing risk and accelerating ROI.
Email us
sales@truodo.com
+91 99255 58791
https://www.linkedin.com/company/truodo-solutions
FAQ
Everything worth knowing before you install. Still unsure about something specific?
1. Percentage Discount — e.g. 10% off the order subtotal. The module automatically calculates the amount.
2. Fixed Amount Discount — e.g. ₹200 off the order total. Ideal for vouchers or manager-approved discounts.
The cashier selects the type from the popup before entering the value.
Max Discount (%) — maximum percentage a cashier can apply (0–100).
Max Discount Amount — maximum fixed amount allowed. Set to 0 to disable the limit.
If a cashier enters a value above either limit, an instant error notification appears inside the popup and the discount is not applied.
Built by Odoo Experts.
Trusted by Businesses.
Dedicated Support
We stand behind every product we ship, responsive support when you need it most. ✦10-Hour Free Support Included
Industry-Specific Expertise
Deep knowledge across manufacturing, retail, services, healthcare, and more — we don't apply generic ERP templates, we tailor solutions to your sector.
Fast & Phased Implementation
Our agile delivery model gets your core ERP live quickly, then scales with your needs — reducing risk and accelerating ROI.
Email us
sales@truodo.com
+91 99255 58791
https://www.linkedin.com/company/truodo-solutions
10-Hour Free Support Included
Try the POS Global Discount module risk-free. No credit card required.
Our team will guide you through the entire setup and workflow.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 606 |
| Technical Name |
trdo_pos_discount_amount |
| License | LGPL-3 |
| Website | https://truodo.com |
Please log in to comment on this module