Scrap it at the register, not after the shift ends.
Point of Sale Scrap Orders lets cashiers record damaged, expired, broken or returned products the moment they spot them — with quantity, reason, location and customer captured for real backend traceability and shrinkage analytics.
The problem
Cashiers who spot a damaged, expired or broken product mid-shift have no way to act on it from the POS. The item gets sold at a loss, quietly disappears from stock accuracy, or waits for a supervisor to enter it in the backend after close — leaving persistent shrinkage with no record of who scrapped what, or why.
The solution
Point of Sale Scrap Orders adds a Scrap action directly to the POS screen. Cashiers pick the product, set a partial quantity, choose a reason and a destination location, and confirm — the app creates and validates a real stock.scrap record in the backend instantly, with full POS traceability and reporting.
Everything you need to control POS shrinkage
Every capability below is implemented in the module.
Scrap directly from the POS
A dedicated Scrap action on the product screen lets cashiers record damaged, expired or broken items the moment they see them, without leaving the register.
Partial-quantity scrapping
Scrap the exact quantity affected — three of twelve units broken — instead of writing off the whole line.
Scrap reason tags
Tag every scrap with a reason — damaged, expired, breakage, theft, customer return — so shrinkage becomes analysable loss data, not a mystery.
Scrap destination location
Choose the correct scrap or loss location for each item instead of relying on a single assumed default.
Batch review before confirming
Review every scrapped line on one screen and confirm them together in a single pass, with no repeating the flow per item.
Per-POS scrap mode
Configure each point of sale independently: disable scrap, validate only when stock is available, or always create a record.
Automatic in-stock / out-of-stock handling
Scraps validate immediately when stock exists and fall back to draft when it doesn't, so the cashier is never blocked.
In-POS scrap status
See every scrap created this session, with live state badges, right inside the POS — no trip to the backend needed.
Customer linkage & backend analytics
Optionally tag a scrap to a customer for defective returns, and track every POS scrap in the backend with a dedicated list, pivot and graph on value by reason and location.
How it works
Spot it
A cashier notices a damaged, expired or broken product during service.
Scrap it
They open the Scrap action from the POS screen, pick the product and set quantity, reason and location.
Confirm
The app creates the scrap record in the backend instantly — validated if stock allows, held in draft if not.
Track it
Managers review every POS scrap in the backend list, pivot and graph to quantify shrinkage by reason, location and point of sale.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Yes. Every POS scrap creates an actual stock.scrap record in the backend under the standard Odoo scrap workflow, so it shows up in your existing stock and traceability reports.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Point of Sale Scrap Orders
Scrap damaged, expired or returned stock from the register with partial quantities, reason tags, a destination location, batch review and per-POS modes — plus customer linkage, backend traceability and shrinkage analytics.
Buy on Odoo App StoreMore Odoo sales apps
POS A4 Size Ticket
Full A4 receipts that detect the printer and drop to a compatibility mode on thermal rolls — with per-journal layouts, per-branch branding, QR codes and a live preview before anything prints.
POS Access Control — Restrict Close Session, Cash Control & Cash In/Out
Close session, opening cash control and cash in/out governed per user, role and terminal — with Manager, Supervisor and Cashier presets, an explicit Allow, Hide or Block choice, a manager PIN override and a full audit trail.
POS Audit Log - Anti-Theft Trail, Fraud Alerts & Manager Dashboard
Every line edit, price change, deletion, cancellation and state change logged against the cashier who made it, before and after validation — scored nightly into cashier risk ratings and surfaced as in-app fraud alerts.
POS Automatic Logout & Session Closure
Inactivity and scheduled logout with graduated warnings, a live countdown badge and per-user overrides, plus a dry-run wizard that closes stuck sessions without breaking reconciliation.
POS Combo Meal — Make My Own Pizza
Repeatable topping groups with operator-set per-item caps and live counts, fixed and optional combo items at a glance, and modifier previews in the cart and order history — built on the native POS combo system.
POS Commission
Rule-based commission attributed per POS line and accrued on payment, visible in a live dashboard and at the till — settled through a request, approve, pay and lock workflow with refund clawback.