19:42 Maria deschide Masa 5 — 4 persoane
19:44 Val 1: 2× Pizza Margherita, 1× Salată Greacă, 1× Apă
→ 3 bonuri (kitchen-hot ×2 pizza, kitchen-cold ×1 salată, bar ×1 apă)
→ Bonurile rulează în paralel (pizza ~14 min, salată ~5 min, apă rapid sincronizată)
19:50 Salata gata → Maria livrează
19:51 Apa livrată
19:58 Pizzas gata → Maria livrează ambele
20:15 Familia mai vrea: 2× Tiramisu, 1× Cafea, 1× Ceai
→ 2 bonuri (dessert ×2 tiramisu, coffee ×1 cafea, ×1 ceai)
→ Maria deschide Comanda 5 din meniul "active", adaugă rândurile, Trimite
20:22 Tiramisu gata, Maria livrează
20:23 Cafea + ceai livrate
20:35 Familia mai vrea: 2× Limoncello (tradițional la final)
→ 1 bon (bar)
20:39 Limoncello servit
20:50 Familia cere nota
→ Maria atinge "Cere nota" → Comanda → pending-bill
20:51 Tatiana (casier) deschide pos-fiscal → Încasează comandă → Masa 5
→ Coș pre-populat cu toate cele 11 linii
→ Total: 1.245 MDL
→ Familia plătește: 800 MDL cash + 445 MDL card
→ Bon fiscal emis, e-Factura nu (fără cerere)
→ Comanda 5 → plătită
20:51:03 Masa 5 devine liberă în harta săliiGhid vizual pentru cele două acțiuni-cheie ale primului val (deschidere Comandă + adăugare prima linie). Restul fluxului (Send la bucătărie, marcare Ready, incasare fiscală) se comportă identic pentru fiecare val ulterior.




















→ Accept (wip → awaiting-mpns), → Start (awaiting-mpns → validated-mpns, care explodează BOM-ul), → Ready, → Deliver. Service-bons folosesc un singur → Servește.
ready, bonul dispare din queue (queue arată doar stagiile active). Audit-ul rămâne pe folder-ul propriu; poate fi accesat via View.

open, sistemul apelează automat request-bill (validează că toate bonurile de bucătărie sunt ready) apoi emit-fiscal (creează folder-ul fiscal + trece Comanda la paid).

19:42 Masa 7 — Andrei (chelner) preia comanda: 1× Pizza Quattro Stagioni
19:43 Trimitere → bon kitchen-hot
19:44 Vlad (bucătar) — Acceptă
19:45 Vlad — Start (consumul ingredientelor: 250g blat, 80g sos, 120g topping mix)
19:53 Clientul anunță anularea — 8 minute după Start
Andrei nu poate anula direct (post-prep) → cere manager_tură
19:54 Manager Andrei aprobă cancel post-prep (cu notă "client retras")
Sistemul:
→ Marchează bonul kitchen-hot ca "anulat-cu-pierdere"
→ Generează automat bon de pierdere cu rândurile productive
transferate ca pierdere, motiv "anulare_client", cont SNC 714
→ Vlad oprește prepararea, aruncă produsul
→ Stocul rămâne decrementat (consumul deja s-a întâmplat)
19:55 Comanda Masa 7 e închisă fără încasare (anulată complet)
Masa 7 → liberă
În raportul de tură:
Pierderi: 95 MDL (Pizza Quattro — anulare client)
Cont SNC 714: +95 MDLFiecare bon din Kitchen tab are un buton 👁 View care navighează la Order View-ul Comandei părinte (care a generat bonul). Util pentru bucătar când vrea să vadă contextul complet: alte linii ale mesei, chelnerul care a trimis, notele custom, etc.


Butonul ✚ Loss (Kitchen tab, per bon production) deschide dialogul Production-tied loss care înregistrează un writeoff row în folder-ul de bon:


21:00 Masa VIP-1 — Maria (chelner) deschide comanda
21:05 Patronul îi spune Mariei: "Oferă sticla de Cabernet și
platoul de tapas, pe contul casei"
21:06 Maria adaugă în Comanda VIP-1:
1× Cabernet 2018 (sticlă) → marchează "gift" cu motiv "degustare_client"
1× Platou tapas mediu → marchează "gift" cu motiv "degustare_client"
Sistemul:
→ Necesită aprobare manager_tură (sumă > 50 MDL prag gratuități)
21:06 Manager Andrei aprobă → marchează ca "casă oferă VIP-1"
Sistemul:
→ Liniile rămân pe comandă cu preț 0 MDL
→ Generează rânduri pe bonul de consum cu motiv "degustare_client",
cont SNC 712 (Cheltuieli comerciale)
→ Trimite la divizii (vinul → bar, tapas → kitchen-cold)
21:08 Vinul deschis și servit
21:14 Tapas livrat
21:30 Familia VIP comandă restul mesei normal (preparate plătite)
22:30 Cere nota
22:31 Tatiana încasează:
Coș pre-populat:
- Liniile gratuite apar cu mențiunea "ofertă casă", preț 0 MDL
- Restul liniilor cu prețuri normale
Total fiscal: 850 MDL (fără gratuități)
Familia plătește 850 MDL card
Bon fiscal afișează:
"Cabernet 2018 ............ 0.00 MDL (ofertă casă)"
"Platou tapas .............. 0.00 MDL (ofertă casă)"
(alternativ, configurabil: liniile gratuite să fie filtrate complet)
În raport de tură:
Vânzări reale: 850 MDL
Cont 712 (gratuități): 230 MDL (vin 180 + tapas 50)Toggle-ul gift se aplică per linie în Order View (chelner). Configurabilitatea globală (activare/dezactivare feature) se face prin SharedRef horeca-orders.gift.enabled (default ON) — vezi Configurări versionate.



20:18 Pizza Diavola gata (cu ceapă)
20:19 Maria livrează la masă
20:20 Clientul: "Eu am zis fără ceapă"
Maria verifică în comandă: nu a notat "fără ceapă"
→ totuși, decide să o refacă (politică restaurant: client întotdeauna
are dreptate dacă diferență < 100 MDL)
20:21 Maria atinge "Re-fa" pe bonul Pizza Diavola
Sistemul:
→ Marchează bonul curent ca "respins client" → pierdere 95 MDL,
cont SNC 714, motiv "respins_client"
→ Generează bon nou kitchen-hot: Pizza Diavola, observație "FĂRĂ CEAPĂ" (boldăt vizibil)
20:21 Vlad (bucătar) — Acceptă bonul nou, vede observația
20:21 Vlad — Start (consumul ingredientelor a doua oară)
20:32 Pizza nouă gata
20:33 Maria livrează — clientul mulțumit
22:00 La nota:
Pizza Diavola pe bon: 95 MDL (1 buc., a doua)
Restul comenzii normal
În raport de tură:
Pierdere "respins_client": 95 MDL
(Patronul vede în rapoarte: săptămâna asta, 3 re-fa pizza —
investighează: bucătar nou? meniu neclar?)Nu există astăzi un buton dedicat "Re-fa" în UI. Fluxul de re-preparare cu pierdere se face manual în 2 pași:
respins_client, comentariu cu detalii (ex: "cu ceapă, cerută fără").Loss-ul intră automat în raportul de tură (contul SNC 714) și în Reports → Loss anomaly detection pentru monitorizare.
Notă: un buton one-click "Re-fa" care combină cei 2 pași într-un flow ghidat (cu transfer automat al notei custom) nu e accesibil în mod implicit la moment — ⚙️ dezvoltabil la cerere.
20:45 Comanda 8 trimisă → bon bar pentru "Cabernet 2018, 1 sticlă"
20:45 Mihai (barman) — vede că s-a terminat → atinge **Refuză**
Alege motiv: out-of-stock
Comentariu opțional: "ultima vândută acum 5 min"
20:45:30 Maria (chelner) primește alertă: "Bon refuzat: Cabernet 2018, motiv out-of-stock"
Maria merge la masă: "Vinul Cabernet s-a terminat, vă recomand Merlot 2019 sau
Cabernet 2019 (similar, 50 MDL diferență)"
20:48 Clientul alege Merlot 2019
Maria modifică comanda: șterge linia anulată, adaugă Merlot 2019, Trimite
→ Bon nou bar pentru Merlot 2019
20:49 Mihai — Acceptă, Start, Gata, Livrat
În raport de tură:
Refuzuri: 1 (Cabernet 2018, out-of-stock)
Acțiune sugerată: "Re-comandă Cabernet 2018 înainte de weekend"
(sistem detectează automat din alertele de stoc)Butonul ↩ Anulează bon (kitchen tab, action row per bon) deschide un dialog cu motiv + notă opțională. Alertele către chelner apar în Notifications Watcher în timp real. Sugestia "re-comandă X înainte de weekend" nu e accesibilă în mod implicit la moment ca automatizare — apare în raportul de refuzuri consultat manual.


23:30 Manager Andrei deschide ecranul **Înregistrează consum personal**
Selectează:
- Vlad: 1 pizza (mică, restantă)
- Daria: 1 salată
- Mihai: 1 sandwich
- Tatiana: 1 platou tapas
Motiv: autoconsum_personal
Notă: "Masa de tură, 23/04 seară"
Sistemul:
→ Generează bon de consum standalone
→ Decrementează stocul ingredientelor (BOM explodat)
→ Cont SNC 713 (Cheltuieli administrative)
→ NU necesită aprobare suplimentară (sub prag)
23:31 Confirmat → în raport de tură "Autoconsum: 4 mese, 60 MDL valoare"Consumul personal + orice altă pierdere netă de bon de bucătărie (pahar spart, stoc expirat) se înregistrează prin card-ul ✚ Standalone loss / writeoff din tab-ul Orders:

22:15 Tatiana emite bon fiscal pentru Masa 12: 580 MDL cash
22:16 Realizează: "Am marcat cash, dar ei au plătit card"
→ cash-ul în casă nu va corespunde
22:16 Tatiana cheamă Andrei (manager) — necesar pentru storno
22:17 Andrei aprobă storno total
Sistemul:
→ Sistemul ghidează generarea bonului de storno (selectare bon, motiv, sume); casierul execută pe casa de marcat fiscală conform procedurii SFS (flux semi-asistat)
→ Restituie cash în casă (logic, fără să dea efectiv bani — clientul a plecat)
→ Reactivează Comanda Masa 12 (din "plătită" în "pending-bill")
22:18 Tatiana re-emite bon: aceleași linii, dar metodă plată = card 580 MDL
22:18 Bon fiscal nou OK, comanda → plătită
În raport de tură:
Storno-uri: 1 (motiv: corecție casier)
Cash: 5.510 MDL (corect, fără diferență)
Card: 6.250 MDLNu există astăzi un buton "Storno" în UI-ul HoReCa sau POS-Fiscal — storno-ul e strict semi-asistat:
fiscal_storno_success sau fiscal_storno_failed în panel.Comanda plătită apare în tab Billing. Reactivarea + re-emiterea sunt operațiuni distincte care necesită coordonare între manager (aprobare) și casier (execuție pe MCR).
Notă onestă: ghidarea UI vizuală (wizard pas cu pas pentru storno) nu e accesibilă în mod implicit la moment. Ce oferim: auto-detectare + logare a storno-ului efectuat pe MCR + notificare + audit inalterabil. Un flow UI ghidat pentru storno (înainte de execuție pe MCR) e ⚙️ dezvoltabil la cerere.
Toate aceste scenarii sunt gestionate nativ de sistem, cu:
Pentru scenarii foarte specifice afacerii tale → discutăm la onboarding și configurăm fluxurile speciale.
→ BOM & Producție sau Tarife.