Bonuri de producție

Ce este un bon de producție

Un bon de producție este documentul intern care înregistrează că o stație (kitchen-hot, bar, etc.) se angajează să prepare un anumit produs pentru o comandă specifică. Un bon are propria viață (workflow), independent de comanda din care provine.

Comanda M3-1942 (1 masă) → 5 bonuri de producție:
    bon #1 → kitchen-hot: Pizza ×1
    bon #2 → kitchen-cold: Salată ×1
    bon #3 → bar: Apă ×1, Mojito ×1
    bon #4 → dessert: Tiramisu ×1
    bon #5 → coffee: Cafea ×2

Fiecare bon are propriul lui workflow — pizza poate fi gata în 12 min, salata în 4, cafelele în 2, mojito în 5. Sistemul urmărește toate independent.

Workflow bon de producție

emis ──acceptă──▶ în-preparare ──gata──▶ așteaptă-livrare ──livrat──▶ închis
  │                    │                                                   ▲
  │                    └──cancel-post-prep──▶ pierdere-înregistrată───────┘
  │
  └──refuz──▶ chelner-notificat (cu motiv)

Emis Bonul tocmai a apărut pe tableta diviziei. Bucătarul îl vede, nu a făcut nimic încă.

În-preparare Bucătarul a apăsat "Start". Sistemul: - Rezervează ingredientele (decrementare lot pentru BOM). - Pornește timer-ul (cât durează prepararea).

Așteaptă-livrare Bucătarul a apăsat "Gata". Sistemul: - Notifică chelnerul (alert vizual + sunet pe tableta lui). - Marchează stocul ca "consumat" (decrementare definitivă). - Bonul așteaptă pe pasă.

Livrat Chelnerul a luat de la pasă, a dus la masă, a apăsat "Livrat" pe tableta lui.

Închis Bonul e finalizat, intră în arhive (vizibil în rapoarte).

Acțiuni speciale

Refuz (înainte de Accept) Bucătarul nu poate prepara — atinge Refuză + alege motiv: - out-of-stock — s-a terminat un ingredient esențial. - defect-utilaj — cuptorul nu funcționează. - volum-prea-mare — nu pot prepara la timp (ora de vârf).

Sistemul:

Cancel post-prep (în-preparare → cancel) Clientul a anulat după ce bucătarul a început deja. Sistemul: - Cere aprobare manager_tură (confirmare: "Da, anulează, cu pierdere"). - Generează automat bon de consum cu pierdere pentru ingredientele deja folosite. - Pierderea primește motiv "anulare client", contul SNC 714 (alte cheltuieli operaționale).

Re-fa (după Gata, dacă clientul nu e mulțumit) Chelnerul atinge Re-fa pe bonul "Gata" — bucătarul preparară din nou. Sistemul: - Generează automat un bon nou (bonul vechi rămâne în istoric). - Înregistrează 2 consumuri din BOM. - Pierderea (preparatul respins) primește motiv "respins client", cont SNC 714.

Timp în fiecare stadiu

Sistemul măsoară:

În raportul de tură vezi mediile pe stație și pe produs. Util pentru:

Multi-bucătar pe același bon

Pentru bonuri mari (ex. comandă banchet, 12 pizzas) — managerul poate împărți bonul:

Sistemul tracker fiecare sub-bon. La "Gata" toate, bonul-părinte intră în "așteaptă-livrare".

Cooking time per produs

Fiecare produs are un cooking time estimat (configurabil în meniul tău). Sistemul folosește aceste valori pentru:

Audit

Fiecare tranziție pe bon (acceptă, start, gata, livrat, refuz, cancel, re-fa) e logată cu user + timestamp. Toate sunt vizibile în istoricul comenzii părinte. Inalterabil.
Identificatorii bonurilor au formatul K-IDNO-YYYYMMDDhhmmss-NNNNN (K = Kitchen) — unici, sortabili cronologic. La fiecare receptie pe ecranul bucătarului se afișează chelnerul și bucătarul care a acceptat-o, sub formă de chip-uri colorate lângă numele bonului.

Pre-prep BOM direct pe linia din bon

Pe tableta bucătarului, în lista "🍽️ De pregătit", fiecare linie de fel de mâncare are două butoane:

Ciclurile generate apăsând acest buton rămân atașate de bonul curent + de comanda părinte, vizibile în secțiunea "🔄 Cicluri BOM lansate din acest bon" (jos pe ecran).
Util pentru:

Auto-cycle pentru ingrediente lipsă (cu preview)

Butonul ⚡ Auto-cycle ingrediente (sus pe ecranul bonului) detectează automat ingredientele insuficiente pentru bonul curent + creează cicluri de producție pentru cele care au rețetă proprie (e.g. mozzarella tăiată e "produsă" din mozzarella blocuri).

Asta protejează de cazul "1 click → 10 cicluri silențios" pe un bon încărcat — bucătarul vede exact ce se va întâmpla înainte de a confirma.

Vizibilitate cicluri lansate

Pe ecranul fiecărui bon, jos, secțiunea "🔄 Cicluri BOM lansate din acest bon" listează:

Coloane: nume ciclu, MPN output, stadiu, data + ora generării, buton 📂 Deschide care navighează direct la cardul ciclului în depozitul de invoice-uri.
Pe ecranul comenzii părinte (Order View) există o secțiune analogă "🔄 Cicluri BOM rulate pentru această comandă" care agregă TOATE ciclurile linkate la comandă — direct sau prin bonurile de producție copil. Așa managerul vede întreg lanțul de pregătire pentru o masă, fără să navigheze între bonuri individuale.

Cazuri speciale

Bon "rezervat" pentru ora viitoare Pentru comenzi viitoare (ex. clientul rezervă o masă pentru ora 21:00 și pre-comandă), bonurile se generează cu prepare-at: 20:50 — apar pe tableta bucătarului doar la 20:50, nu mai devreme.

Bon "în paralel" cu altele Pentru o comandă cu 5 feluri, dacă vrea clientul să vină "toate odată", chelnerul marchează Sincronizat — bonurile rămân în "așteaptă-livrare" până TOATE sunt gata, apoi se livrează simultan.

Următorul pas

Bonuri de consum + pierderi sau Încasare fiscală.