Operațiuni multi-depozit¶
Companiile care stochează aceleași produse în mai multe depozite au nevoie de trei lucruri pe care Odoo standard nu le oferă complet din start: o modalitate controlată de a muta bunurile între depozite printr-un număr arbitrar de pași de ridicare/ambalare/expediere, posibilitatea de a aproviziona liniile individuale ale comenzilor de vânzare din depozite diferite, în loc de un singur depozit pentru fiecare comandă, și un magazin online a cărui disponibilitate este calculată din mai multe depozite (sau din reguli explicite de stoc), în loc de un singur depozit. Modulele eYssen multi-depozit le adaugă pe toate trei, plus logică de adrese de preluare/livrare specifică transportatorului pentru transferurile interne expediate prin integrările de livrare eYssen Custom și GLS.
Funcționalități cheie¶
Transferuri între depozite¶
- menu
- Inventory ‣ Transfers ‣ Internal Transfers ‣ New
- shows
- A draft internal transfer form with the Source Warehouse, Destination Warehouse and Carrier filled in, and the "Create Picking", "Create Orders" and "Start Transfer" buttons in the header.
- highlight
- The header buttons (red frame).
- data
- Source "YourCompany HU", destination "Store", carrier "GLS"; transfer reference IT000001.
- module
- eyssen_stock_multi_warehouse
- notes
- English UI, light theme, 1440px width, crop to the header and the main fields.
O înregistrare Transfer intern reprezintă o expediere de bunuri de la un Source Warehouse la un Destination Warehouse, ambele trebuind să fie marcate ca utilizabile pentru tranzit intern (vezi Configurare). Înregistrarea este clasificată automat ca Transfer intracompanie sau Transfer intercompanii, în funcție de apartenența celor două depozite la aceeași companie, și conține un Transportator obligatoriu, o referință de transfer bazată pe secvență (IT000001, …), o Descriere opțională și un total al cantităților transferate (Cantitate totală).
Un transfer intern trece prin următoarele stări: Ciornă → În așteptarea depozitului sursă → Procesare sursă → În tranzit → Procesare destinație → Efectuat (cu o stare secundară Reconciliere necesară și o stare Anulat). Transferurile în ciornă nu mai pot fi șterse după ce părăsesc starea de ciornă.
Pentru un transfer intracompanie, Creează livrare generează direct primul transfer de stoc, folosind primul pas de ieșire configurat al depozitului sursă.
Pentru un transfer intercompanii, Creează comenzi creează în schimb un Comandă sursă legat (o comandă de vânzare în compania sursă) și un Comandă destinație (o comandă de achiziție în compania de destinație), rezolvând automat, acolo unde este posibil, înregistrările de parteneri între companii.
Începe transferul confirmă primul transfer și mută transferul în starea În așteptarea depozitului sursă.
- menu
- Inventory ‣ Transfers ‣ Internal Transfers
- shows
- The Internal Transfers list with records in different states (Draft, Waiting for Source Warehouse, In Transit, Done), so the coloured state badges are visible, next to the transfer reference, the source and destination warehouse and the carrier.
- highlight
- The "State" column (red frame).
- data
- Four internal transfers, one per state.
- module
- eyssen_stock_multi_warehouse
- notes
- English UI, light theme, 1440px width, full list view.
Rutare în mai mulți pași între depozite¶
- menu
- Inventory ‣ Configuration ‣ Warehouses ‣ (a warehouse) ‣ Inter Warehouse Transfer tab
- shows
- The "Inter Warehouse Transfer" tab with "Can be used for internal transit" ticked, a populated Out Steps list and In Steps list, and the validity banner below them.
- highlight
- The two step lists and the validity banner (red frames).
- data
- Two out steps (Pick, Ship) and two in steps (Receive, Store) on the warehouse "YourCompany HU"; the banner reads "Step settings are valid."
- module
- eyssen_stock_multi_warehouse
- notes
- English UI, light theme, 1440px width, crop to the tab.
Fiecare depozit care poate acționa ca sursă sau destinație a unui transfer intern își definește propriul lanț de Pași ieșire (cum părăsesc bunurile depozitul spre locația de tranzit) și Pași intrare (cum ajung bunurile din locația de tranzit în depozit). Fiecare pas indică un Tip operație, iar locația sursă și cea de destinație ale pasului sunt preluate din acel tip de operație.
Sistemul renumerotează și validează automat lanțul ori de câte ori pașii sunt adăugați, editați sau eliminați:
primul pas de ieșire trebuie să înceapă la locația de stoc a depozitului, iar ultimul pas de ieșire trebuie să se încheie la o locație de tranzit;
primul pas de intrare trebuie să înceapă la o locație de tranzit, iar ultimul pas de intrare trebuie să se încheie la locația de stoc a depozitului;
pașii consecutivi trebuie să se conecteze (destinația fiecărui pas trebuie să fie egală cu sursa pasului următor), iar lanțul nu poate conține bucle.
Formularul depozitului afișează un banner de validitate în timp real, care rezumă orice problemă găsită; câmpurile Transfer între depozite, în afară de comutator, rămân ascunse până când este bifat Poate fi folosit pentru tranzit intern. Pe măsură ce transferurile (pickings) sunt validate unul câte unul, următorul transfer din lanț este creat automat — preluând mișcările deschise și pachetele — până când bunurile ajung la locația de stoc a depozitului de destinație, moment în care transferul este marcat ca Efectuat sau ca Reconciliere necesară dacă vreo cantitate a fost livrată în minus pe parcurs.
- menu
- Inventory ‣ Transfers ‣ Internal Transfers ‣ (an in-progress transfer) ‣ Pickings tab
- shows
- The Pickings tab of a confirmed internal transfer, listing one picking per step with different statuses, ending with a Done picking at the destination warehouse.
- highlight
- The chain of pickings and their statuses (red frame).
- data
- Four pickings: two Done at the source, one In Transit, one Ready at the destination.
- module
- eyssen_stock_multi_warehouse
- notes
- English UI, light theme, 1440px width, crop to the tab.
- menu
- Inventory ‣ Configuration ‣ Warehouse Steps
- shows
- The standalone "Warehouse Steps" list with rows for several warehouses, showing the Warehouse, Direction (In/Out), Operation Type, Source Location and Destination Location columns.
- highlight
- None.
- data
- Two warehouses, each with two out steps and two in steps.
- module
- eyssen_stock_multi_warehouse
- notes
- English UI, light theme, 1440px width, full list view.
Notă
Este prevăzut un șablon de pași pentru precompletarea lanțului de pași al unui depozit dintr-o definiție reutilizabilă, dar până acum este implementat doar Nume al șablonului — selectorul Creează pași din șablon de pe formularul depozitului nu populează încă pașii.
Ambalare, dezambalare și transferuri inverse¶
- menu
- Inventory ‣ Configuration ‣ Operations Types ‣ (an operation type)
- shows
- The operation type form scrolled to the "Package In", "Package Out", "All In Packing" and "Allow Reverse Picking" checkboxes, with the "Reverse Picking Type" field visible because "Allow Reverse Picking" is ticked.
- highlight
- The four checkboxes and the "Reverse Picking Type" field (red frame).
- data
- Operation type used as an out step; Package In and Allow Reverse Picking ticked.
- module
- eyssen_stock_multi_warehouse
- notes
- English UI, light theme, 1440px width, crop to the option block near "Show Entire Packs".
Fiecare Tip operație primește patru opțiuni suplimentare utilizate de lanțul de transferuri:
Pachet intrare — transferul poate fi validat doar după ce fiecare mișcare este acoperită de un pachet; când această opțiune este setată pe pas, transportatorul transferului este copiat automat pe transferul de stoc.
Pachet ieșire — transferul trebuie dezambalat complet (fără niveluri de pachet rămase) înainte de a putea fi validat.
Totul în ambalare — rezervat pentru viitoare reguli de ambalare; nu are încă niciun efect.
Permite livrare inversă și Tip livrare inversă — când un transfer este validat cu un deficit (cantitate livrată mai mică decât cea necesară), deficitul este separat automat într-un transfer invers pe tipul de operație ales (sau pe același, dacă nu este setat niciunul), returnând cantitatea lipsă la locația (locațiile) sursă inițială(e). Dacă cantitatea lipsă provenea din mai multe locații sursă în transferul inițial, pe transferul invers este programată o activitate prin care se solicită unui utilizator din depozit să verifice încă o dată împărțirea.
Livrare Custom și GLS pentru transferuri interne¶
- menu
- Inventory ‣ Transfers ‣ Internal Transfers ‣ (a transfer) ‣ Pickings tab ‣ (a picking)
- shows
- A picking that belongs to an internal transfer, with the transfer-specific header buttons ("Mark as Todo", "Check Availability", "Validate", "Print") and the "View Int.Transfer" smart button in the button box.
- highlight
- The header buttons and the "View Int.Transfer" smart button (red frames).
- data
- One leg of the transfer IT000001.
- module
- eyssen_stock_multi_warehouse
- notes
- English UI, light theme, 1440px width, crop to the header and button box.
Transferurile care aparțin unui transfer intern folosesc un antet dedicat (Marchează ca de făcut, Verifică disponibilitatea, Validează, Tipărește) în locul celui standard și expun un buton inteligent Vezi transfer intern; același buton este adăugat pe formularele comenzilor de vânzare și de achiziție ori de câte ori acestea sunt legate de un transfer.
Când modulele de livrare Custom sau GLS construiesc eticheta de expediere pentru un transfer care aparține unui transfer intern, adresele de preluare și de livrare sunt preluate de la partenerii depozitelor sursă și destinație ale transferului, în loc de clientul comenzii de vânzare:
eyssen_stock_multi_warehouse_delivery_customrezolvă adresa de preluare și de livrare din contactul depozitului sursă și al celui de destinație pentru transportatorul eYssen Custom.eyssen_stock_multi_warehouse_delivery_glsface același lucru pentru GLS și, în plus, prefixează numele cu compania depozitului (<Company> - <Contact>), astfel încât eticheta GLS să arate clar ce locație a companiei expediază sau primește.
- menu
- Inventory ‣ Transfers ‣ Internal Transfers ‣ (a transfer) ‣ Pickings tab ‣ (a GLS leg) ‣ (package)
- shows
- A package of an internal-transfer outgoing picking shipped through GLS, showing its GLS parcel number and tracking status.
- highlight
- The GLS parcel number and tracking status (red frame).
- data
- One package with a GLS parcel number; use a throw-away parcel number, not a real one.
- module
- eyssen_stock_multi_warehouse_delivery_gls
- notes
- English UI, light theme, 1440px width, crop to the package fields.
Pentru GLS, odată ce fiecare pachet de pe un transfer ajunge în starea de urmărire GLS predat, transferul este validat automat — astfel, o etapă a unui transfer în mai mulți pași se finalizează singură de îndată ce GLS confirmă că toate coletele au fost mutate, fără ca un utilizator din depozit să facă clic pe Validează. Identificatorii coletelor GLS sunt preluați pe pachetul reambalat creat pentru pasul următor, iar un transfer intern poate fi căutat după Număr pachet sau Număr de urmărire în lista de transferuri.
Împărțirea comenzilor de vânzare între depozite¶
- menu
- Sales ‣ Orders ‣ Quotations ‣ New
- shows
- A quotation whose order-line list shows the per-line "Warehouse" column, with two lines set to two different warehouses.
- highlight
- The "Warehouse" column (red frame).
- data
- Line 1 from "YourCompany HU", line 2 from "Store".
- module
- eyssen_sale_multiple_warehouse
- notes
- English UI, light theme, 1440px width, crop to the order lines. The column requires the Multiple Warehouses group.
eyssen_sale_multiple_warehouse adaugă un câmp obligatoriu Depozit direct pe liniile comenzilor de vânzare, cu valoarea implicită depozitul implicit al agentului de vânzări. Aceasta permite livrarea unei singure comenzi din mai multe depozite simultan — de exemplu, o linie de comandă expediată din depozitul principal și alta dintr-unul regional — în loc de a forța întreaga comandă pe un singur Depozit la nivel de antet:
modificarea câmpului Depozit la nivel de comandă propagă acel depozit pe fiecare linie de comandă existentă;
fiecare linie generează livrarea din propriul depozit; și
indicatorul Make to Order de pe o linie urmează ruta propriului depozit al liniei, nu pe cea a comenzii.
Coloana Depozit este afișată doar utilizatorilor din grupul Multiple Warehouses, pe care Odoo îl activează automat odată ce o companie are mai mult de un depozit, și devine doar pentru citire după ce comanda părăsește etapa Ofertă / Ofertă trimisă.
Disponibilitatea stocului în magazinul online¶
eyssen_website_sale_advanced_stock stabilește ce disponibilitate afișează magazinul online, pe baza cifrelor pre-agregate pe depozit din Advanced Stock (vezi Controlul stocului și disponibilitatea). Un câmp Mod stoc pe site alege între două moduri:
Pe depozit — disponibilitatea este totalul depozitelor listate în câmpul Depozite al site-ului. Aceasta înlocuiește Depozit-ul unic standard al magazinului online și revine la acesta când lista este goală.
Bazat pe reguli — disponibilitatea este calculată din filtre de stoc explicite, ceea ce permite distingerea între ce poate fi expediat acum și ce este pe drum.
- menu
- Website ‣ Configuration ‣ Settings
- shows
- The "Shop - Products" section of the website settings with the standard "Warehouse" field, the eYssen "Stock Mode" selector set to "Per Warehouse", and the "Warehouses" tags field below it holding two warehouses.
- highlight
- The "Stock Mode" selector and the "Warehouses" field (red frames).
- data
- Website "eYssen Shop"; warehouses "YourCompany HU" and "Store".
- module
- eyssen_website_sale_advanced_stock
- notes
- English UI, light theme, 1440px width, crop to the Shop - Products section. The Stock Mode selector is only visible to users in the Multiple Warehouses group.
Modul bazat pe reguli¶
În modul Bazat pe reguli, site-ul definește până la patru niveluri de disponibilitate. Fiecare nivel are propriul filtru de stoc și propriul Tip cantitate — Liber de utilizat (în stoc - rezervat), În stoc sau Prognozat:
Disponibil — mereu activ; aceasta este cantitatea pe care magazinul online o tratează ca vandabilă.
Imediat, Termen scurt și Termen lung — fiecare activat separat, pentru a afișa promisiuni de livrare mai îndepărtate alături de cantitatea vandabilă imediat.
O a cincea regulă, independentă, vizează clienții business:
Stoc B2B — când este activat, se calculează o disponibilitate separată din Categorii de stocare selectate, restrânsă opțional în continuare printr-un Domain Override.
- menu
- Website ‣ Configuration ‣ Settings
- shows
- The website settings with "Stock Mode" set to "Rule-based", showing the "Available" block with its Quantity Type and filter, the "Immediate", "Short Term" and "Long Term" toggles, the "B2B Stock" toggle with its Storage Categories field, and the "Recompute Stock" button at the bottom.
- highlight
- The "Available" block and the "Recompute Stock" button (red frames).
- data
- Available = Free to Use with no extra filter; Immediate enabled with Forecasted; B2B Stock enabled with the storage category "Wholesale".
- module
- eyssen_website_sale_advanced_stock
- notes
- English UI, light theme, 1440px width, crop to the rule blocks.
Important
Modificarea oricăreia dintre aceste setări nu recalculează cifrele stocate. În setări apare un banner de avertizare până când se utilizează butonul Recalculează stocul.
Notă
Disponibilitatea afișată pe pagina unui produs și verificarea efectuată la adăugarea unei cantități în coș sunt ambele citite în timp real din stoc, deci o rezervare făcută de o comandă de vânzare confirmată se reflectă imediat, chiar și între două recalculări.
Notă
Necesită eyssen_stock_advanced_stock. Modulul anterior eyssen_website_sale_multiple_warehouse, care doar agrega stocul prognozat al depozitelor unui site, este înlocuit de acesta și nu mai este livrat.
Configurare¶
Activați modul multi-depozit. Acesta este un mecanism standard Odoo, nu o setare eYssen: crearea unui al doilea depozit pentru o companie () activează automat setarea Locații de stocare și acordă grupul de acces Multiple Warehouses utilizatorilor interni. Coloana Depozit pe fiecare linie a comenzilor de vânzare și câmpul Mod stoc al site-ului sunt vizibile doar utilizatorilor din acest grup.
Marcați depozitele utilizate pentru transferuri interne. Pe fiecare depozit sursă și destinație (), deschideți fila Transfer între depozite și bifați Poate fi folosit pentru tranzit intern.
Configurați lanțul de pași de ieșire/intrare pentru fiecare dintre aceste depozite în aceeași filă (sau global, în ), alegând un Tip operație pentru fiecare pas. Bannerul de pe formularul depozitului trebuie să devină verde (Step settings are valid.) înainte ca depozitul să poată fi utilizat ca sursă sau destinație de transfer —
stock.internal.transferrestricționează câmpurile sale Depozit sursă / Depozit destinație la depozitele cu un lanț de pași valid, cu tranzit activat.Setați comportamentul de ambalare pe tipurile de operații relevante (): activați Pachet intrare pe pașii de ieșire care trebuie ambalați înainte de expediere (de ex. înainte de predarea către GLS), Pachet ieșire pe pașii de intrare care trebuie dezambalați complet și Permite livrare inversă (cu un Tip livrare inversă dedicat, opțional) oriunde livrările incomplete trebuie să genereze automat un transfer invers.
Instalați modulul de livrare corespunzător dacă transferurile interne trebuie să poarte adrese de preluare/livrare specifice transportatorului:
eyssen_stock_multi_warehouse_delivery_custompentru transportatorul eYssen Custom,eyssen_stock_multi_warehouse_delivery_glspentru GLS. Ambele extind pur și simplueyssen_stock_multi_warehouseși necesită ca modulul de livrare de bază corespunzător (eyssen_delivery_custom/eyssen_delivery_gls) să fie deja instalat.Activați depozitele pe linie în oferte instalând
eyssen_sale_multiple_warehouse— nu este implicat niciun ecran suplimentar de setări; coloana Depozit a liniei de comandă apare de îndată ce grupul Multiple Warehouses (pasul 1) este activ.Configurați disponibilitatea în magazinul online instalând
eyssen_website_sale_advanced_stock(care necesităeyssen_stock_advanced_stock), apoi accesați , derulați la secțiunea Magazin - Produse, setați Mod stoc și fie listați Depozite ale site-ului, fie definiți regulile de disponibilitate. Încheiați cu Recalculează stocul.
Utilizare¶
Efectuarea unui transfer intern¶
Accesați și creați o înregistrare nouă.
Setați Depozit sursă, Depozit destinație și Transportator. Câmpul Tip (Transfer intracompanie / Transfer intercompanii) este calculat automat din companiile celor două depozite.
Pentru un transfer intracompanie, faceți clic pe Creează livrare, apoi deschideți transferul de stoc și adăugați produsele și cantitățile de mutat; pentru un transfer intercompanii, faceți clic în schimb pe Creează comenzi pentru a genera comenzile de vânzare/achiziție legate.
Faceți clic pe Începe transferul pentru a confirma primul transfer de stoc. Transferul trece în starea În așteptarea depozitului sursă.
Procesați și validați pe rând fiecare transfer de stoc din fila Ridicări (sau din butonul inteligent Vezi transfer intern al transferului de stoc). Fiecare transfer validat generează automat transferul pasului următor, până când bunurile ajung la depozitul de destinație, moment în care transferul ajunge în starea Efectuat.
Dacă un transfer este livrat în minus pe un tip de operație cu Permite livrare inversă activat, pentru deficit este creat automat un transfer invers; dacă acesta necesită atenție manuală (mai multe locații sursă), pe acel transfer invers este programată o activitate de tip de făcut.
Vânzarea din mai multe depozite pe o singură comandă¶
Pe o comandă de vânzare, adăugați liniile de comandă ca de obicei. Fiecare linie are implicit depozitul implicit al agentului de vânzări.
Afișați sau editați coloana Depozit din lista liniilor de comandă (sau setați-o pe formularul fiecărei linii) pentru a direcționa liniile individuale către un alt depozit, cât timp comanda este încă o ofertă.
Confirmați comanda — fiecare linie generează livrarea din propriul depozit.
Vânzarea din mai multe depozite în magazinul online¶
Setați Mod stoc și Depozite ale site-ului (sau regulile de disponibilitate) conform descrierii din Configurare, apoi faceți clic pe Recalculează stocul.
În magazin, disponibilitatea afișată pentru un produs stocabil reflectă depozitele sau regulile configurate, în loc de un singur depozit.
Când un client adaugă o cantitate în coș, aceasta este validată în raport cu aceeași valoare.
Domeniu de aplicare și module¶
eyssen_stock_multi_warehouse— modelulstock.internal.transfer, configurarea pașilor depozitului, meniurile Transferuri interne și Pași depozit și opțiunile de ambalare/transfer invers ale tipurilor de operații.eyssen_stock_multi_warehouse_delivery_custom— direcționează adresele de preluare/livrare ale transferurilor interne prin depozitele transferului, pentru transportatorul eYssen Custom.eyssen_stock_multi_warehouse_delivery_gls— aceeași direcționare a adreselor pentru GLS, plus validare automată pe baza coletelor GLS și recrearea pachetelor de-a lungul lanțului de transferuri.eyssen_sale_multiple_warehouse— adaugă câmpul Depozit pe fiecare linie de comandă a comenzilor de vânzare.eyssen_website_sale_advanced_stock— disponibilitatea în magazinul online pe depozit sau din reguli explicite de stoc, cu patru niveluri de disponibilitate și o regulă B2B separată.