Three layers: the line (mandatory reason), the receipt (threshold + approval), the report (top-10 + anomalies).
We handle the configuration at onboarding based on the discovery conversation.
📋
1. Mandatory reason on the line
When the cook taps + Add loss on the tablet, they pick
the product, enter the quantity (negative = stock outflow — positive is
reserved for inventory corrections) and select the reason from
a list configured at the POS: cazut_spart,
expirat, ars_preparat, anulare_client,
autoconsum_personal, degustare_client,
furt_frauda, etc.
The system validates that the reason belongs to the
configured list. If the list is empty, free text is accepted — but we
recommend a strict nomenclature so you can filter later.
👁️
2. Live stock-impact preview
Before saving, the system displays next to the input:
"Will remove 0.060 kg from the Mozzarella stock at POS X".
If the removal would leave stock negative, a
visible warning appears — the cook checks that they didn't mistype.
The "Apply stock removal immediately" checkbox is
unchecked by default — it protects stock against mistakes
during busy moments. The shift manager confirms (legacy two-step flow).
🛑
3. Threshold → manager approval
Above the threshold configured per reason type, the receipt enters the
"awaiting approval" state. The shift manager receives
a notification, approves with one click (optionally with a comment) or
rejects with a reason → the operator adjusts and resubmits.
Default example: above 100 MDL value — approval;
reason furt_frauda — always approval; given to customers
above 50 MDL — approval.
🏆
4. Top-10 losses at close
When the manager taps "Close shift", the retrospective
snapshot is generated for the calendar-date × POS pair. It includes
subtotals for the seven movement types (production, sales, writeoffs,
transfers, supply, transformations, e-commerce) and
top-10 losses per product (product, event count,
quantity).
The snapshot is immutable once written — re-closing
the same date+POS pair creates a duplicate folder, it does not overwrite.