Departament Depozit & Logistică
Roluri acoperite: Operator Depozit · Gestionar Stoc · Responsabil Logistică · Manager Depozit
Module principale: Warehouse (Goods Receipt · Goods Issue · Delivery Notes · Packing Lists · Internal Transfers · Physical Inventory · Loss & Adjustments · Returns · Reports)
Cine sunt utilizatorii acestui ghid
| Rol | Ce face în CRMConnect |
|---|---|
| Operator Depozit | Recepționează marfă, loghează lot/serie, pregătește comenzi pentru livrare |
| Picker / Packer | Selectează articolele din raft, ambalează, măsoară, pregătește AWB |
| Gestionar Stoc | Monitorizează solduri, face transferuri interne, procesează ajustări |
| Manager Depozit | Aprobă documente, configurează workflow-uri, supervizează inventarul fizic |
Harta operațiunilor de depozit
INTRĂRI (Inbound) IEȘIRI (Outbound)
───────────────── ─────────────────
Aviz Recepție (GRN) Bon de Consum (Goods Issue)
← din Comandă Achiziție Aviz Însoțire (Delivery Note)
← manual → Packing List → AWB Innoship
← retur client Retur Achiziție (la furnizor)
MIȘCĂRI INTERNE CORECȚII
──────────────── ─────────
Transfer Intern Inventar Fizic (Stock Take)
din Depozit A → Depozit B Pierderi & Ajustări
MONITORING
──────────
Warehouse History (jurnal tranzacții)
Rapoarte stoc (valoare, mișcări, expirare)
Alertă stoc minim
Rutina zilnică recomandată
Operator Depozit — Dimineața
1. Comenzi de recepție așteptate azi/admin/purchase/purchase_order?delivery_status=0 — PO-uri nelivrate cu termen azi
Pregătești zona de recepție, verifici dacă furnizorul a anunțat livrarea.
2. Avize de livrare de procesat/admin/warehouse/manage_delivery — filtrează approval = 0 (draft/pending)
Livrările pregătite de echipa de vânzări care așteaptă picking și ambalare.
3. Packing list-uri de finalizat/admin/warehouse/manage_packing_list — packing list-uri neaprobate
Colete cântărite și dimensionate, în așteptarea AWB-ului.
Operator Depozit — Cursul zilei
Marfă sosită → Scanezi codul de bare → Deschizi Aviz Recepție
→ Completezi cantitățile, lot, expirare → Trimiți la aprobare
Comandă vânzare pregătită → Deschizi Aviz Livrare
→ Picking din raft → Completezi cantitățile ridicate
→ Creezi Packing List → Cântărești + măsori coletul
→ Generezi AWB → Preddai curierului
Manager Depozit — Zilnic
- Aprobări în așteptare — avize recepție, livrare, ajustări, transferuri
- Stoc sub minim — produse care necesită reaprovizionare urgentă
- Livrări blocate — avize cu stoc insuficient (
flag_export_warehouse = 0) - Retururi noi — cereri de retur de la clienți sau pentru furnizori
Mărfurile (Commodities) — gestionare catalog
Unde: /admin/warehouse/commodity_list
Structura unui produs în depozit
| Câmp | Note |
|---|---|
commodity_code |
Codul intern (SKU propriu) |
commodity_barcode |
Codul de bare pentru scanare |
commodity_name |
Denumirea completă |
unit_id |
Unitatea de măsură principală |
purchase_price |
Prețul de achiziție (baza pentru valorizarea stocului) |
warehouse_id |
Depozitul implicit al produsului |
guarantee |
Garanție în luni (calculează automat expirarea garanției la recepție) |
without_checking_warehouse |
Flag: dacă 1, sistemul permite livrare chiar fără stoc |
Flags operaționale:
| Flag | Semnificație |
|---|---|
can_be_sold |
Apare în facturi și propuneri |
can_be_purchased |
Apare în comenzi de achiziție |
can_be_manufacturing |
Poate fi componentă sau produs finit în producție |
can_be_inventory |
Urmărit în stoc (dacă 0 = serviciu, nu se stochează) |
Organizarea produselor
Ierarhie: Grup → Sub-grup → Produs → Variantă (atribut)
| Nivel | Unde se configurează | Exemple |
|---|---|---|
| Tip produs | ware_commodity_type |
Materie primă, Marfă, Produs finit |
| Grup | items_groups |
Electronice, Textile, Consumabile |
| Sub-grup | wh_sub_group |
Telefoane, Tricouri, Hârtie birou |
| Atribute | Culoare, Dimensiune, Model, Serie | Roșu/M/iPhone 15 |
Stoc minim și maxim per produs
Unde: Din fișa produsului → câmpurile inventory_number_min / inventory_number_max
| Câmp | Semnificație |
|---|---|
inventory_number_min |
Prag alertă — când stocul coboară sub această valoare, sistemul semnalează |
inventory_number_max |
Nivelul țintă la reaprovizionare (cât comanzi ca să ajungi înapoi la max) |
Important: Stocul minim este informativ — nu declanșează automat comenzi. Agentul de achiziții trebuie să verifice raportul de stoc sub minim și să creeze RFQ-urile manual.
Aviz de Recepție (Goods Receipt Note)
Unde: /admin/warehouse/manage_purchase
Fluxul complet de recepție
1. Marfă sosită fizic în depozit
↓
2. Operator deschide Aviz Recepție (creat automat din PO sau manual)
↓
3. Completează linie cu linie:
- Cantitate primită (poate fi < cantitate PO → recepție parțială)
- Lot number (dacă produsul e trasat pe loturi)
- Data fabricație + Data expirare (pentru perisabile)
- Serial number (pentru produse serializate)
- Prețul unitar de achiziție
↓
4. Trimite la aprobare (dacă fluxul de aprobare e configurat)
↓
5. Manager aprobă → stocul crește automat în `inventory_manage`
Tranzacție înregistrată: goods_transaction_detail.status = 1 (Receipt)
Câmpuri cheie pe linie de recepție
| Câmp | Note |
|---|---|
commodity_code |
Scanezi codul de bare sau selectezi din catalog |
quantities |
Cantitate efectiv primită |
unit_price |
Prețul din factură furnizor (baza pentru valorizare stoc) |
lot_number |
Numărul lotului/șarjei — esențial pentru FIFO și trasabilitate |
date_manufacture |
Data fabricației — obligatorie pentru perisabile |
expiry_date |
Data expirării — apare în raportul de expirare |
serial_number |
Serial individual sau mai multe separate prin virgulă |
warehouse_id |
Depozitul specific (dacă ai mai multe) |
note |
Observații de calitate (ex: „5 buc ambalaj deteriorat") |
Recepție parțială
Dacă furnizorul livrează mai puțin decât comanda:
- Completezi cantitățile reale primite (mai mici decât PO-ul)
- PO-ul rămâne deschis (
delivery_status ≠ Completed) - Creezi un al doilea aviz de recepție la livrarea restului
- Sistemul sumează cantitățile din ambele avize
Cod numeric aviz recepție
Format implicit: NK-XXXX (prefix NK configurabil în /admin/warehouse/setting)
Bon de Consum (Goods Issue Note)
Unde: /admin/warehouse/goods_issue_note
Când se folosește
Bon de consum = ieșire internă de stoc fără a ajunge la un client extern:
- Producție: materiile prime consumate pe un Ordin de Producție
- Uz intern: consumabile de birou, uz propriu departament
- CAPEX/OPEX: achiziții de active sau cheltuieli operaționale
Câmpuri cheie
| Câmp | Note |
|---|---|
warehouse_id |
Depozitul sursă |
project |
Proiectul căruia i se alocă consumul |
type |
CAPEX (investiție) sau OPEX (cheltuială operațională) |
department |
Departamentul care consumă |
requester |
Cine a solicitat materialele |
description |
Motivul consumului |
Document generat
La aprobare → se poate tipări Bon de Consum (PDF) cu:
- Articolele consumate, cantitățile, prețurile
- Semnătura gestionarului și a beneficiarului
- Data și numărul documentului
Aviz de Livrare (Delivery Note)
Unde: /admin/warehouse/manage_delivery
Creare
| Metodă | Când |
|---|---|
| Automată din factură client | Dacă auto_create_goods_delivery = 1 în setări |
| Manuală | Buton Adaugă din modul Warehouse |
| Din OmniSales | La confirmarea comenzii din canal e-commerce |
Verificare stoc la creare
La adăugarea liniilor în aviz, sistemul verifică automat inventory_manage.inventory_number:
- Stoc suficient → linia se adaugă normal
- Stoc insuficient →
flag_export_warehouse = 0→ avizul nu poate fi aprobat
Avizul rămâne în approval = 0 până când stocul e aprovizionat. Achiziții creează RFQ → PO → Recepție → stocul crește → revii la aviz și îl aprobi.
Tipuri de livrare
type_of_delivery |
Utilizare |
|---|---|
total |
Toate articolele din aviz livrate simultan |
partial |
Livrezi o parte acum; un al doilea aviz pentru rest |
Status tranzacție la aprobare
La approval = 1:
goods_transaction_detail.status = 2(Delivery)inventory_manage.inventory_number -= cantitate- FIFO: loturile se selectează în ordinea
ORDER BY id ASC(cel mai vechi lot, primul livrat)
Packing List — Ambalare și pregătire expediție
Unde: /admin/warehouse/manage_packing_list
Fluxul de ambalare
Aviz Livrare aprobat
↓
Picker ridică articolele din raft
↓
Creare Packing List din Aviz Livrare:
- Selectezi cantitățile de ambalat per articol
- Completezi: lungime (cm), lățime (cm), înălțime (cm), greutate (kg)
- Adresa de livrare (preluată din comandă, editabilă)
- Note client (ex: „fragil", „nu răsturna")
↓
Trimitere la aprobare (dacă e configurat)
Manager aprobă → status → wh_ready_to_deliver
↓
Generare AWB Innoship
↓
Printare AWB și etichetă → lipire pe colet
↓
Predare curier → status → wh_in_transit
↓
Confirmare livrare → status → wh_delivered
Câmpuri obligatorii pentru generarea AWB
| Câmp | Note |
|---|---|
weight |
Greutatea coletului în kg — obligatoriu pentru curier |
lenght |
Lungimea în cm |
width |
Lățimea în cm |
height |
Înălțimea în cm |
| Adresă livrare completă | Stradă, oraș, județ, cod poștal, țară |
Fără toate dimensiunile completate, butonul de generare AWB Innoship nu devine activ.
Packing parțial
Dacă nu ai toate articolele disponibile:
type_of_packing_list = 'partial'— ambalezi ce ai- Restul rămâne în avizul de livrare pentru un al doilea packing list
- Generezi câte AWB-uri sunt necesare
Statusuri packing list
| Status | Descriere |
|---|---|
wh_ready_to_deliver |
Creat, în așteptare AWB |
wh_in_transit |
AWB generat, predat curierului |
wh_delivered |
Confirmat livrat de curier/Innoship |
Transfer Intern
Unde: /admin/warehouse/manage_internal_delivery
Când se folosește
- Mutare stoc din depozit central → punct de lucru
- Relocare din zona WIP (Work In Progress) → zona produse finite
- Rebalansare stoc între două locații fizice
Câmpuri cheie
| Câmp | Note |
|---|---|
internal_delivery_code |
Cod document (prefix ID) |
from_stock_name |
ID depozit sursă |
to_stock_name |
ID depozit destinație |
available_quantity |
Stoc disponibil în sursă — verificat automat |
quantities |
Cantitatea de transferat |
La aprobare:
- Depozit sursă:
inventory_number -= cantitate(tranzacție cod 4) - Depozit destinație:
inventory_number += cantitate(tranzacție cod 4)
Inventar Fizic (Physical Inventory / Stock Take)
Unde: /admin/warehouse/physical_inventory
Procesul complet
1. PLANIFICARE
Manager stabilește data inventarului
Alocă gestionari per zonă/categorie
Oprește temporar mișcările de stoc (recomandat)
2. NUMĂRARE
Fiecare gestionar deschide sesiunea de inventar
Per articol: scanezi codul de bare → introduci cantitatea numărată fizic
Sistemul afișează automat: stoc scriptic vs. stoc fizic → diferența
3. REVIZUIRE DIFERENȚE
Manager vizualizează raportul de diferențe:
- Surplus (+ pozitiv): ai mai mult fizic decât în sistem
- Deficit (- negativ): ai mai puțin fizic decât în sistem
Per linie: câmpul `reason` — explici cauza (furt, deteriorare, eroare intrare, etc.)
4. APROBARE
Manager aprobă sesiunea de inventar
Sistemul creează automat ajustări pentru fiecare diferență
Stocul se corectează la cantitățile numărate fizic
5. RAPORT FINAL
Export Excel cu: articol, stoc scriptic, stoc fizic, diferență, motiv
Câmpuri sesiune inventar
| Câmp | Note |
|---|---|
stock_take_code |
Cod document sesiune |
warehouse_id |
Depozitul inventariat |
date_stock_take |
Data numărătorii fizice |
staff_id |
Gestionarul/gestionarii implicați |
quantity_stock_take |
Cantitatea numărată pe raft |
quantity_accounting_book |
Stocul scriptic din sistem la momentul inventarului |
quantity_change |
Diferența = fizic − scriptic |
reason |
Explicația diferenței |
Mai mulți gestionari simultan
Sistemul permite alocarea mai multor staff pe aceeași sesiune de inventar — fiecare poate fi responsabil de o zonă sau categorie de produse. Contorizările sunt agregate în aceeași sesiune.
Pierderi & Ajustări (Loss & Adjustments)
Unde: /admin/warehouse/loss_adjustment
Tipuri de ajustări
type |
Când îl folosești |
|---|---|
loss |
Marfă distrusă, furată, expirată, deteriorată |
adjustment |
Corecție eroare de înregistrare (cantitate greșită la recepție) |
gain |
Marfă găsită în plus față de scriptic (surplus neexplicat anterior) |
return |
Marfă returnată de client reintrată în stoc |
correction |
Reajustare după reconciliere cu furnizorul |
Câmpuri cheie
| Câmp | Note |
|---|---|
type |
Tipul ajustării |
reason |
Motivul detaliat (text liber — important pentru audit) |
warehouses |
Depozitul afectat |
current_number |
Stocul înainte de ajustare |
updates_number |
Stocul după ajustare |
lot_number / expiry_date |
Dacă ajustezi un lot specific |
status |
0=pending, 1=aprobat, -1=respins |
Aprobare
Ajustările de stoc necesită aprobare managerială (configurată în wh_approval_setting tip 3). La respingere, nicio modificare de stoc nu se produce.
Tracking Lot și Serial Number
Tracking Lot (pentru produse în șarje)
Activat când: completezi lot_number la recepție
| Moment | Ce se înregistrează |
|---|---|
| Recepție | lot_number, date_manufacture, expiry_date pe linie aviz |
| Livrare | Sistemul selectează lotul cel mai vechi (FIFO) |
| Ajustare | Se specifică lot-ul afectat |
FIFO automat: la generarea avizului de livrare, sistemul alege ORDER BY id ASC pe înregistrările din goods_receipt_detail — primul lot intrat, primul livrat.
Tracking Serial Number (pentru produse serializate)
Activat din setări: wh_products_by_serial = 1
| Moment | Ce se face |
|---|---|
| Recepție | Operatorul introduce serial(e) — individual sau mai multe separate prin virgulă |
| La aprobare | Fiecare serial → rând în wh_inventory_serial_numbers cu is_used = "no" |
| Livrare | Operatorul scanează/selectează serial-ul specific; is_used → "yes" |
| Retur | Serial-ul devine din nou disponibil (is_used → "no") |
Trasabilitate completă: pentru orice serial poți vedea: când a intrat, când a ieșit, la ce client.
Retururi
Retur de la client (Delivery Return)
Unde: /admin/warehouse/manage_order_return_receipt
Clientul returnează marfă:
- Creezi cererea de retur cu referința comenzii originale
- Specifici articolele și cantitățile returnate + motivul (
return_reason) - Manager aprobă returul
- La aprobare → stocul crește (aviz de recepție retur generat automat)
- Taxa de retur (
fee_return_order) se poate aplica dacă e configurată pe furnizor
Fereastra de retur: wh_return_request_within_x_day zile de la livrare (default: 30). Retururile după termen necesită aprobare specială.
Retur la furnizor (Purchase Return)
Unde: /admin/warehouse/manage_order_return_delivery
Marfă defectă sau neconformă returnată furnizorului:
- Creezi aviz retur referind PO-ul și avizul de recepție original
- Specifici articolele + cantitățile returnate
- Stocul scade la aprobare (aviz de livrare retur)
- Urmărești creditul de la furnizor prin Nota de Debit
Rapoarte depozit
Unde: /admin/warehouse/manage_report
| Raport | Ce arată | Export |
|---|---|---|
| Stoc curent | Sold per produs per depozit, valoare (qty × preț achiziție) | Excel / PDF |
| Card stoc (Stock Card) | Toate tranzacțiile unui produs: intrări, ieșiri, sold zilnic | |
| Mișcări pe perioadă | Intrări + ieșiri + ajustări filtrate după dată, depozit, tip | Excel |
| Produse expirate | Articole cu expiry_date depășită sau apropiată |
Excel / PDF |
| Inventar — diferențe | Rezultatele sesiunii de inventar fizic | Excel |
| Pierderi & Ajustări | Toate ajustările pe tip, motiv, perioadă | |
| Valorizare stoc | Stoc × preț achiziție per produs, total depozit | Excel |
| Avize recepție | Toate intrările pe perioadă, filtrate per furnizor | PDF / Excel |
| Avize livrare | Toate ieșirile pe perioadă, filtrate per client | PDF / Excel |
Raport esențial zilnic: Istoric Inventar
Unde: /admin/warehouse/warehouse_history
Jurnalul complet al tuturor tranzacțiilor de stoc:
- Fiecare intrare și ieșire cu timestamp, document sursă, operator
- Sold înainte și după fiecare mișcare (
old_quantity) - Filtrabil după: produs, depozit, tip tranzacție, perioadă
- Singura sursă de adevăr pentru reconcilieri și audituri
Configurarea depozitului
Unde: /admin/warehouse/setting și /admin/warehouse/warehouse_mange
Setări critice
| Opțiune | Valoare | Efect |
|---|---|---|
auto_create_goods_received |
1 |
Aviz recepție creat automat la aprobarea PO |
auto_create_goods_delivery |
1 |
Aviz livrare creat automat la generarea facturii client |
goods_delivery_required_po |
1 |
PO obligatoriu pe avizele de livrare |
goods_receipt_required_po |
1 |
PO obligatoriu pe avizele de recepție |
cancelled_invoice_reverse_inventory |
1 |
Anularea facturii refacturează stocul automat |
warehouse_show_lot_number_column |
1 |
Afișează coloana Lot Number în documente |
warehouse_show_expiry_date_column |
1 |
Afișează coloana Data Expirare |
wh_products_by_serial |
1 |
Activează tracking serial number |
Configurarea fluxurilor de aprobare
Unde: wh_approval_setting — accesibil din setările Warehouse
| Tip document | Cod | Cine aprobă |
|---|---|---|
| Aviz Recepție | 1 | Manager depozit / gestionar șef |
| Aviz Livrare | 2 | Manager depozit / logistică |
| Pierderi & Ajustări | 3 | Manager depozit + CFO (pentru valori mari) |
| Transfer Intern | 4 | Manager depozit |
| Packing List | 5 | Șef expedieri |
| Retur | 6 | Manager depozit |
Prefixe documente
Toate prefixele sunt configurabile din setări:
| Document | Prefix implicit | Exemplu |
|---|---|---|
| Aviz Recepție | NK |
NK-0001 |
| Aviz Livrare | XK |
XK-0001 |
| Packing List | PL |
PL-0001 |
| Transfer Intern | ID |
ID-0001 |
| Retur | ReReturn |
ReReturn-0001 |
Alertă stoc minim — procedura recomandată
Deși sistemul nu declanșează automat comenzi de aprovizionare, echipa de depozit poate implementa un proces manual:
Zilnic sau săptămânal:
- Rulezi raportul Stoc curent exportat în Excel
- Filtrezi: coloana
stoc_curent < inventory_number_min - Lista rezultată → trimisă la Achiziții
- Achizițiile creează RFQ-uri pentru fiecare articol sub minim
- Cantitate comandată =
inventory_number_max - stoc_curent
Cu Workflow Automation:
Configurezi un task recurent săptămânal → „Verificare stoc sub minim" → alocat managerului depozit + buyer achiziții.
Integrare cu alte departamente
| Departament | Cum interacționezi |
|---|---|
| Vânzări | Avizele de livrare se creează din facturile lor; confirmă disponibilul pentru comenzi mari înainte de confirmare |
| Achiziții | Creezi avizele de recepție din PO-urile lor; raportezi discrepanțe de cantitate/calitate |
| Producție | Consumul de materiale (Bon Consum) pe Ordine de Producție; primești produse finite în stoc |
| Financiar | Prețurile de achiziție din avizele de recepție sunt baza pentru valorizarea stocului din contabilitate |
Permisiuni comune
Solicită administratorului la /admin/roles:
| Permisiune | Necesar pentru |
|---|---|
| Warehouse → View / Create | Acces general la module depozit |
| Goods Receipt → Approve | Aprobare avize recepție (manageri) |
| Goods Delivery → Approve | Aprobare avize livrare |
| Loss Adjustment → Approve | Aprobare ajustări stoc |
| Physical Inventory → Create | Inițierea sesiunilor de inventar |
| Warehouse Reports → View | Acces rapoarte |
Referințe rapide
Workflow-uri: Warehouse Inbound → Outbound · OmniSales Fulfillment · Purchase to Pay · Manufacturing Order · Full Commercial Cycle
Module: Warehouses · Warehouse Settings · Commodities · Goods Receipt Note · Goods Issue Note · Delivery Notes · Packing Lists · Internal Transfers · Physical Inventory · Loss & Adjustments · Purchase Returns · Delivery Returns · Inventory History · Warehouse Reports