| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Restaurant (pos_restaurant) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 389 |
| Technical Name |
pos_manager_approval |
| License | LGPL-3 |
| Website | https://erpcr.net |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Restaurant (pos_restaurant) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 389 |
| Technical Name |
pos_manager_approval |
| License | LGPL-3 |
| Website | https://erpcr.net |
POS Manager Approval
Require manager PIN authorization for sensitive POS actions
Ideal For
Any retail or hospitality business where cashier supervision is essential
Hardware Stores
Prevent unauthorized returns and line deletions on high-value items.
Supermarkets
Control discounts and refunds at checkout — every transaction supervised.
Restaurants
Restrict table deletion and refunds in POS Restaurant mode. Full floor control.
Protect Your Business
Prevent unauthorized discounts, order line deletions, table removals and refunds in your Point of Sale — without slowing down legitimate transactions. Cashiers need a manager PIN (or a QR/barcode card scan) to perform sensitive operations.
Works for All POS Modes
Fully compatible with standard POS and Restaurant mode (pos_restaurant). Each restriction can be toggled independently so you only enforce what matters to your operation.
Key Features
Remove Order Line Protection
Cashiers must enter the manager PIN before deleting any product line from the current order. Prevents accidental or fraudulent removals.
Discount Mode Protection
Activating the discount numpad mode requires manager authorization. Stops unauthorized price modifications while keeping normal sales fast.
Refund / Return Protection
The manager must approve each refund transaction in the Ticket screen. Authorization is requested once, before processing the return.
Table Deletion Protection
(Restaurant mode) Removing a table from the floor map requires manager authorization, preventing accidental data loss during service.
Screenshots
Manager Approval in action — the PIN dialog appears before any restricted action is executed.
Easy configuration — enable each restriction independently from POS Settings.
Refund authorization — manager must approve before processing any return.
Order line removal — manager PIN is required before any product line is deleted from the order.
How It Works
- Configure in POS Settings — Go to Point of Sale → Configuration → Settings and find the "Manager Approval" section. Toggle each restriction on or off and optionally set a numeric PIN.
- Cashier attempts a restricted action — For example, pressing Backspace to delete an order line triggers the approval dialog.
- Manager enters PIN (or scans QR card) — The popup accepts keyboard input or a barcode / QR scan from a printed authorization card.
- Action proceeds (or is blocked) — Correct PIN → action executes normally. Wrong PIN or cancel → action is aborted, the cashier cannot proceed.
- Manager bypass — If the current cashier already has the Manager role (set in Employee → POS Role), actions are approved automatically without prompting for PIN.
Configuration
Manager Approval PIN
Enter a numeric PIN in POS Settings → Manager Approval → PIN de aprobación. Leave it blank to only show a simple Yes/No confirmation dialog (no PIN required).
QR / Barcode Card Support
Print a QR code or barcode containing the PIN on a physical card. When the authorization popup is open, scanning the card is equivalent to typing the PIN. The popup consumes the scan so the POS product lookup is not affected.
Per-Action Toggle
| Setting | Protects |
|---|---|
| Approve line deletion | Backspace on quantity mode |
| Approve discounts | % button on numpad |
| Approve refunds | Refund button in Ticket screen |
| Approve table deletion | Delete table (Restaurant) |
Technical Details
- Requires Odoo 19
- Depends on point_of_sale and pos_restaurant
- All patches use Odoo's official
patch()utility — no core file modifications - Cashier cache (IndexedDB) is automatically invalidated when settings change
- Works with pos_hr (Employee Login): employees with Manager role bypass the PIN
- License: LGPL-3
Developed by erpcr.net — Odoo consulting & development
Please log in to comment on this module