Fulfilment de dispozitive
dispozitive serializate, de la fișierul de comandă la coletul facturat
Un fișier de comandă sosește de la clientul care comandă; dispozitivele pleacă drept colete personalizate, împachetate, etichetate, expediate, urmărite și facturate; fiecare pas dintre cele două e o stare înregistrată, care poate fi auditată și, la nevoie, anulată. Platforma rulează back-office-ul și munca de depozit a operatorului ca să ajungă de la primul la al doilea. Clientul care comandă își urmărește coletele, corectează adresele și gestionează coletele nelivrabile în propriul portal. Personalul operatorului lucrează pe ecrane care arată următoarea sarcină și nimic altceva. Factura pentru serviciu se calculează din aceleași înregistrări ca operațiunea.
- Potrivit pentru
- Logistică
- Domeniu
- Operațiuni
Problema
Un operator de fulfilment pregătește dispozitive fizice în numele unui client care comandă și le expediază clienților acestuia. Fiecare dispozitiv trebuie comandat, asociat unei unități fizice, personalizat cu datele clientului final, etichetat, împachetat cu documentele potrivite, expediat, urmărit, uneori returnat, și facturat. E simplu de descris și greu de rulat:
- Mai multe tipuri de dispozitive, mai mulți producători, mai multe seturi de reguli: formate de fișier diferite, etichete diferite, pași de procesare diferiți.
- Adrese de livrare în mai multe țări, cu formate poștale diferite și țări în care nu se poate expedia; o adresă greșită înseamnă un dispozitiv irosit și un colet care se întoarce mult mai târziu.
- Mai multe organizații într-un singur proces: clientul comandă, producătorii livrează stocul, operatorul pregătește, transportatorii expediază, iar serviciul clienți al clientului răspunde la telefon. Toți au nevoie de același status.
- Termene cu niveluri de serviciu agreate per țară, pentru personalizare și pentru livrare.
- Banii urmează munca: pregătirea, cartoanele, transportul după greutate și zonă, suprataxele și taxele vamale trebuie facturate corect pentru fiecare colet.
Pentru cine e
Se potrivește unui operator care mută articole fizice serializate prin mai multe organizații, termene și documente, în numele unuia sau mai multor clienți care comandă: dispozitivele vin de la producători, sunt personalizate per client final la posturi de lucru și pleacă drept colete urmărite. Se potrivește cel mai bine acolo unde mai multe tipuri de dispozitive împart același spațiu, unde clientul care comandă are propriile departamente și propriul serviciu clienți, și unde clientul e dispus să-și corecteze datele într-un portal, nu prin e-mail.
Nu se potrivește unei companii care caută personal de depozit sau servicii de transport: ce se livrează aici este software-ul operațional. Nu se potrivește unei operațiuni fără articole serializate sau fără un pas de procesare per articol — expedierea simplă de colete e treaba unui transportator, nu a acestei platforme. Nu e un produs de raft: e forma de referință a unei platforme livrate, adaptată per implementare.
Capabilități
Comenzi și adrese
| Capabilitate | Ce face |
|---|---|
| Preluarea comenzilor din fișiere | Fișiere de comandă colectate de pe un server de fișiere după un program, parsate per tip de dispozitiv și transformate în comenzi, colete și linii de dispozitive; un fișier eșuat e raportat imediat, iar un fișier care așteaptă ridică o alertă |
| Validarea adreselor și corectarea de către client | Fiecare adresă de livrare verificată față de o bază de date poștală de referință, cu reguli specifice per țară și o listă de țări în care nu se poate expedia; clientul corectează adresele greșite în propriul portal, iar procesarea se reia singură |
| Altă țară de destinație | Reguli poștale, un marcaj de neexpediabil și propriul termen de livrare agreat |
Stoc și personalizare
| Capabilitate | Ce face |
|---|---|
| Stoc de intrare după număr de serie | Stoc înregistrat din fișierele de aviz de livrare ale producătorilor, verificat pentru cantități și numere de serie duplicate, și urmărit per unitate — livrări, paleți, articole de stoc — după număr de serie și stare |
| Personalizare la post de lucru pe tablete | Operatorul se scanează, alege un post de lucru, ia următorul colet, scanează și personalizează fiecare dispozitiv și îi verifică etichetele una câte una; un dispozitiv e marcat gata doar când trec toate verificările |
| Asociere în două faze | Pentru tipurile de dispozitive care o cer, unitatea fizică e întâi asociată liniei de comandă după numărul de serie și personalizată mai târziu; documentele se regenerează când toate unitățile din colet sunt gata |
| Alt tip de dispozitiv sau produs | Propriul parser de fișier, etichete, tip de post de lucru și stări de procesare pe același schelet |
| Alt format de aviz de livrare al unui producător | Un parser pentru fișierul de stoc de intrare, cu aceleași verificări de cantitate și duplicate |
Documente și expediere
| Capabilitate | Ce face |
|---|---|
| Documente și etichete de colet din șabloane editabile | Eticheta de transport, scrisoarea însoțitoare, factura, avizul de livrare și fișierul de stoc generate la pasul potrivit din șabloane întreținute per tip de document, departament, limbă și flux de dispozitiv, fără dezvoltator |
| Etichete de transport, predare și urmărire | Etichete generate în formatul transportatorului, colete predate și date de urmărire aduse înapoi per colet |
| Pagină publică de urmărire | Starea unui colet la transportator, accesibilă după referința lui, fără autentificare |
| Colete nelivrabile, retururi și reciclare | Gestionate de echipa clientului direct din pagina coletului — retrimitere sau reciclare — și procesate pe partea operatorului ca sarcini structurate; coletele returnate și reciclate sunt stări formale |
| Alt transportator | Un format de etichetă de transport și un parser pentru fișierul de urmărire |
| Propriile șabloane de documente și limbi | Scrisori, facturi și avize de livrare per departament, limbă și flux |
Partea clientului
| Capabilitate | Ce face |
|---|---|
| Portal de client | Urmărirea coletelor, exporturi, tichete de suport, statistici și proprii utilizatori, roluri și șabloane de scrisori |
| API REST extern | O interfață versionată pentru sistemele clientului: dispozitive, colete, adrese, stoc și colete nelivrabile |
| Tichete de suport sincronizate între cele două părți | Tichete deschise de echipa clientului și rezolvate pe partea operatorului, printr-un motor de ticketing integrat în ambele portaluri |
| Propriile sisteme | Fișiere de comandă la intrare și documente sau fișiere de stoc la ieșire pe un server de fișiere, sau API-ul REST |
Facturare, niveluri de serviciu și operare
| Capabilitate | Ce face |
|---|---|
| Rulări de facturare a serviciului | Per perioadă: coletele finalizate selectate, tarifele calculate din grile de preț datate, zone, taxe și suprataxe; o estimare și un raport verificate înainte de confirmare |
| Propriile reguli de tarifare | Grile de preț, zone, trepte de greutate, taxe, suprataxe și extra per dispozitiv, datate |
| Monitorizarea nivelului de serviciu și export KPI | Personalizarea și livrarea măsurate față de nivelul de serviciu agreat per țară, cu detaliere și export |
| Propriile niveluri de serviciu | Ținte de personalizare și livrare per țară, calendar de zile lucrătoare și sărbători |
| Fișiere de stoc și consum pentru un ERP extern | Fișiere de consum de stoc produse pentru ERP-ul clientului, în formatul agreat |
| Jurnal de audit și întoarcere la o stare anterioară | Fiecare pas e o tranziție de stare înregistrată cu autor și moment; un administrator poate întoarce un colet la o stare anterioară, iar întoarcerea e la rândul ei înregistrată |
| Administrare și configurare | Tipuri de dispozitive, transportatori, țări, șabloane, grile de preț, utilizatori și posturi de lucru, administrate de administratorii operatorului |
Dependențe: retrimiterea unui colet nelivrabil are nevoie de generarea etichetelor de transport; nivelul de serviciu la livrare are nevoie de datele de urmărire ale transportatorului; editarea șabloanelor de către client are nevoie de portalul de client; o rulare de facturare are nevoie ca produsele, zonele, transportatorii și grilele de preț să fie configurate întâi.
Ce e inclus într-o livrare anume și cum se livrează: configurare vs. custom · abordarea de livrare.
Ce NU e inclus
- Personal de depozit sau servicii de transport. Ce se livrează este software operațional, nu un serviciu fizic de fulfilment sau transport.
- Dispozitivele, echipamentul de personalizare și contractele cu producătorii. Platforma le urmărește și le comandă; nu le furnizează.
- Contractele și tarifele transportatorilor. Rămân între operator și transportator.
- Sistemul contabil. Rularea de facturare calculează serviciul și produce rapoarte; emiterea fiscală și contabilitatea se fac în afară.
- ERP-ul care consumă fișierele de stoc. Platforma produce fișierele; ce se face cu ele mai departe e treaba clientului.
- Motorul de tichete. O componentă terță, integrată, nu construită.
- Operarea în producție și acordul de prelucrare a datelor. Cine operează platforma și cine semnează ca persoană împuternicită se stabilesc prin acordul de livrare; acolo unde o operăm noi, se contractează prin Managed Hosting.
- Validarea strictă a fiecărui format de cod de bare scanat. Scanările sunt verificate de flux — coletul corect, dispozitivul corect, fiecare etichetă — nu printr-o regulă de format per tip de cod. O validare mai strictă a intrărilor se dimensionează acolo unde un tip de dispozitiv o cere.
- Un set de date poștale de referință și abonamentul la unul. Validarea adreselor rulează pe datele de referință încărcate în platformă, nu pe un furnizor extern de validare. Datele trebuie aduse și ținute la zi pentru fiecare țară din acoperire; procurarea și licențierea lor nu fac parte din platformă.
Fluxul de referință
Citește pașii
Drumul unui dispozitiv, așa cum îl rulează platforma livrată. Excepțiile sunt numite acolo unde apar.
- Fișierul de comandă. Clientul care comandă depune un fișier de comandă pe serverul de fișiere. Platforma îl colectează după program, îl parsează cu parserul pentru acel tip de dispozitiv și creează comanda, coletele și liniile de dispozitive. Excepție: un fișier care nu poate fi parsat e mutat într-un dosar de erori și pleacă un e-mail de eroare; un fișier care așteaptă prea mult ridică o alertă. Cât timp rulează un import, tranzițiile de procesare sunt reținute, ca o comandă încărcată pe jumătate să nu fie niciodată lucrată.
- Adresa. Fiecare adresă de livrare e validată față de baza poștală de referință: țară, oraș și interval de cod poștal, cu reguli specifice per țară. Excepție: un colet cu adresă greșită nu blochează restul comenzii; așteaptă într-o stare de corectare vizibilă clientului în portal, clientul o corectează într-un formular cu autocompletare, iar procesarea se reia singură. O țară de pe lista de neexpediabile e refuzată.
- Stocul de intrare. Un administrator înregistrează o livrare așteptată și alege fișierul de aviz al producătorului. Platforma verifică numărul de paleți și de unități și numerele de serie duplicate, apoi creează paleții și articolele de stoc, fiecare cu număr de serie și stare. Excepție: o nepotrivire față de fișier e raportată, iar livrarea nu e acceptată.
- Personalizarea. Un operator se scanează pe o tabletă, alege un post de lucru și vede doar coada acelui post. Ia următorul colet, scanează și personalizează fiecare dispozitiv și îi verifică etichetele una câte una; dispozitivul e marcat personalizat doar când trec toate verificările. Excepție: o unitate respinsă merge într-un fișier de stoc rebut; o unitate care pică o actualizare de firmware sau hardware e marcată și scrisă într-un fișier de stoc invalidat. Variantă: pentru tipurile de dispozitive care o cer, unitatea fizică e întâi asociată liniei de comandă după numărul de serie și personalizată mai târziu; documentele se regenerează automat când fiecare unitate din colet e gata.
- Documentele. Documentele coletului se generează în secvență — eticheta de transport, scrisoarea însoțitoare, factura, avizul de livrare, fișierul de stoc — din șablonul pentru acel tip de document, departament, limbă și flux, și se transferă pe serverul de fișiere al partenerului. Fiecare document are propriul ciclu de viață: generat, transferat, regenerat, regenerat pentru o reexpediere.
- Transportatorul. Coletul e predat transportatorului. Fișierele de urmărire sunt preluate de agenți programați și afișate per colet în portal și pe pagina publică de urmărire.
- Livrat, sau nu. Coletul e livrat, sau transportatorul îl raportează nelivrabil. Excepție: echipa clientului cere o retrimitere sau o reciclare din pagina coletului; partea operatorului o procesează, etichetele de transport se regenerează, iar răspunsul apare live în portal. Returnat și reciclat sunt stări formale, cu propria vizualizare.
- Facturarea. Un administrator deschide o rulare de facturare pentru o perioadă. Platforma selectează coletele finalizate și calculează pentru fiecare tariful de pregătire per tip de dispozitiv, tariful de carton, transportul după zonă, transportator și treaptă de greutate din grilele de preț datate, taxele de țară și taxele vamale non-UE, suprataxa de combustibil a transportatorului pentru perioadă și extra-urile per dispozitiv. Se afișează o estimare, se generează un prim raport per entitate care comandă pentru verificare, administratorul confirmă și se produce un raport final agregat. Excepție: o rulare eșuată poate fi reluată.
Fiecare pas de mai sus e o tranziție de stare înregistrată cu cine a făcut-o și când. Un administrator poate întoarce un colet la o stare anterioară ca să recupereze o eroare, iar întoarcerea e la rândul ei \1
Arhitectura de referință
Forma soluției, neutră tehnologic:
Cele două părți au modele de utilizatori și ecrane separate. Sunt conectate printr-un bus de evenimente și o conexiune read-only la date. Izolarea posturilor de lucru — un utilizator de tabletă vede doar coletele postului pe care l-a ales — e impusă de API, nu de ecran.
Stiva tehnică a platformei livrate: servicii PHP pe Laravel cu API GraphQL, RabbitMQ, MySQL și Redis; aplicații web Vue și React; containerizată și livrată printr-un pipeline CI.
Integrări
La ce se conectează platforma, în ce direcție și ce circulă:
| Sistem | Direcție | Ce circulă |
|---|---|---|
| Fișiere de comandă | in | Fișierele clientului care comandă, pe un server de fișiere, câte un format pentru fiecare tip de dispozitiv |
| Avize de livrare ale producătorilor | in | Câte un format de fișier pentru fiecare producător, din care se creează paleți și stoc cu numere de serie |
| Date poștale de referință | in | O bază de date poștală cu țări, orașe și intervale de coduri poștale, încărcată dintr-un fișier de referință |
| Transportatori | both | Etichetele în formatul transportatorului ies din platformă; fișierele de urmărire intră după program |
| Documente și fișiere de stoc | out | Documentele generate ajung pe un server de fișiere partener; fișierele de consum de stoc includ o variantă pentru un ERP extern |
| Echipament de personalizare | both | Pentru un tip de dispozitiv, fișierele de personalizare sunt schimbate cu o mașină externă |
| API REST | out | Date versionate, accesibile prin token și cu limitarea ratei, despre dispozitive, colete, adrese, stoc și colete nelivrabile |
Orice în afara acestui set — alt transportator, alt format de producător, o conexiune ERP în oricare direcție, un sistem vamal sau de plăți — se dimensionează după discovery și se contractează separat.
Securitate și proprietate
- Două părți izolate. Partea operatorului și partea clientului au autentificare separată și baze de date separate; partea clientului lucrează pe o copie read-only a datelor și trimite înapoi corecțiile și cererile ca evenimente.
- Autentificare per suprafață. Autentificare cu parolă și token-uri pentru dashboard-uri, token-uri personale și un cod de etichetă scanat pentru tablete, coduri de unică folosință pentru resetarea parolelor clientului, acces pe bază de token cu limită de rată pentru API-ul extern, linkuri temporare pentru descărcări. Serviciile se autentifică între ele cu o cheie semnată, rotită zilnic.
- Roluri și izolare pe server. Permisiuni pe bază de roluri pe ambele părți; un utilizator de tabletă e limitat de API la postul de lucru pe care l-a ales; administratorii clientului își gestionează proprii utilizatori, roluri și limbi, cu un context per departament.
- Jurnal de audit. Fiecare schimbare de stare pe fiecare comandă, colet, dispozitiv, document, livrare, palet, articol de stoc, sarcină de post de lucru și rulare de facturare e înregistrată cu actorul și un instantaneu; o întoarcere la o stare anterioară e înregistrată ca orice altă tranziție.
- Date personale. Numele și adresele clienților finali trec prin platformă. Un job programat curăță datele sensibile din coletele finalizate. Pagina publică de urmărire e accesibilă fără autentificare oricui deține referința unui colet; ce arată ea dincolo de starea de la transportator e o decizie privind datele personale, luată la implementare. Regula de retenție, guvernanța ștergerii și acordul de prelucrare a datelor dintre operator și clientul care comandă se stabilesc prin acordul de livrare.
Baza comună e documentată o singură dată: baza de securitate. Nu se revendică nicio certificare pentru această soluție. Cine deține și operează platforma în producție se stabilește prin acordul de livrare.
Seamănă vreuna cu operațiunea ta?
Începe cu diagnosticul. Cartografiem cum circulă munca de fapt, apoi adaptăm blueprintul la ea.