ŠTUDIJA PRIMERA

Amore OMS

Custom OMS za večtržno e-commerce poslovanje.

Povzetek

  • Industrija: E-commerce
  • Velikost podjetja: Večtržni e-commerce operater z več trgovinami po EU
  • Deliverable: Custom OMS (operativna web aplikacija)
  • Vloga: Sistemska arhitektura, full-stack implementacija, integracije, operativna orodja
  • Integracijske točke: Webhooki trgovin, API/SDK prevoznikov, tracking izvozi/uvozi, operativni dokumenti
  • Status: Aktiven produkcijski sistem
  • Časovnica: Iterativna dostava s postopnim rolloutom

Kontekst

Naročnik upravlja več storefrontov in dostavlja v različne evropske trge. Vnos naročil, izpolnjevanje in odpremni postopki so bili razdeljeni med platformna orodja in procese posameznih prevoznikov. Z rastjo obsega je rastel tudi operativni napor. Glavna bolečina ni bila manjkajoča funkcionalnost, temveč pomanjkanje enotnega operativnega pogleda in predvidljivega upravljanja stanj.

Problem

Ključen problem ni bil pomanjkanje funkcij, temveč pomanjkanje nadzora in zanesljivosti.

  • Naročila so prihajala brez normalizirane interne predstavitve.
  • Odpremni postopki so se razlikovali po prevoznikih (etikete, formati, sledenje).
  • Skladiščne poti (picking/packing) so bile težko standardizirane brez orodij.
  • Formati naslovov in telefonov so se razlikovali po državah, kar je povzročalo neuspele dostave.
  • Manjkala je zanesljiva poravnava “zastalih” naročil (plačano, a ne poslano; poslano, a ne sledeno).

Cilji projekta

  • Centralizirati upravljanje naročil v en operativni sistem.
  • Ustvariti predvidljiv življenjski cikel naročila z eksplicitnimi stanji in izjemami.
  • Standardizirati skladiščne tokove (batching, skeniranje, pakiranje) in zmanjšati človeške napake.
  • Integrirati več prevoznikov s konsistentnim odpošiljanjem in sledenjem.
  • Omogočiti širitev na nove trge/prevoznike brez prepisovanja jedra.

Omejitve in izzivi

  • Brez izpada v vnosu naročil iz storefrontov.
  • Različne stopnje DDV in izjeme po državah.
  • Različni tipi plačil (vključno COD) in operativne variante po trgih.
  • Različni API-ji prevoznikov, formati etiket in identifikatorji sledenja.
  • Legacy podatki in nekonsistentni payloadi iz zunanjih sistemov.

Rešitev je morala soobstajati z obstoječim okoljem, preden je postopno postala primarni operativni sistem.

Pregled rešitve

Zasnovali in izdelali smo custom OMS, ki deluje kot operativni kontrolni sloj med storefronti in logistiko. OMS ne zamenja storefrontov, temveč orkestrira fulfillment: vnos, normalizacijo, sledenje stanjem, odpošiljanje, tracking in operativne tokove.

  • En sam vir resnice za stanje naročila
  • Eksplicitne tranzicije stanj in poravnava izjem
  • Verificirani vhodni dogodki (webhooki) in deterministične posodobitve
  • Jasna ločitev med vnosom, operacijami in integracijami prevoznikov

Arhitektura in tehnični pristop

Sistem je implementiran kot pragmatična operativna web aplikacija z relacijsko bazo. Jedro zasnove je podatkovni model: naročila, trgovine, statusi, batchi, produkti in artefakti prevoznikov.

  • Vnos naročil: verificirani webhooki za dogodke storefrontov in kreacijo naročil, z zaščito pred duplikati.
  • Normalizacija: konsistentna interna predstavitev (naslovi, telefoni, pravila držav/DDV, SKU-ji).
  • Upravljanje stanj: eksplicitni statusi in obravnava izjem za operativno predvidljivost.
  • Operativni UI: filtriranje, triage, priprava batchov in akcije po naročilih za operativno ekipo.
  • Skladiščna orodja: skeniranje črtnih kod in batch tokovi za pakiranje/odpošiljanje.
  • Sloj prevoznikov: integracije za generiranje etiket, dodeljevanje sledenja, preklice in posodobitve.
  • Background opravila: načrtovana poravnava in tracking posodobitve za zaključek “on-hold” stanj.

Vsaka integracija je izolirana, kar omogoča spremembe brez vpliva na jedro. Struktura podpira postopni rollout in predvidljive razširitve (novi storefronti, prevozniki, trgi).

Tehnološki sklad

  • Backend: PHP
  • Baza: MySQL
  • UI: Server-rendered interna web UI (MDL + JS utilities)
  • Background opravila: Cron-based scheduled tasks
  • Integracije: Shopify webhooki + več carrier API/SDK-jev (DPD, GLS, Packeta, UrgentCargus, BRT), tracking izvozi/uvozi
  • Dokumenti: PDF generiranje operativnih artefaktov (etikete, dokumenti)

Tehnološke odločitve so prioritizirale stabilnost, vzdržljivost in poznanost ekipe pred eksperimentalnimi rešitvami.

Proces implementacije

  1. Analiza in mapiranje poslovnih procesov
  2. Definicija življenjskega cikla naročil in stanj
  3. Postopna implementacija vnosa, notranjega podatkovnega modela in operativnega UI
  4. Dodajanje integracij prevoznikov eno po eno s konsistentnimi abstrakcijami in fall-backi
  5. Postopni rollout skladiščnih orodij (batching, skeniranje) in background poravnave

Redni checkpointi z naročnikom so zagotavljali usklajenost med tehničnimi odločitvami in operativno realnostjo.

Rezultati in učinek

  • Manj ročnega obdelovanja in manj odpremnih napak.
  • Boljša transparentnost za operativne in podporne ekipe (en pogled na stanje naročila).
  • Hitrejše dodajanje novih prevoznikov/trgov zaradi jasnih integracijskih meja.
  • Stabilna osnova za avtomatizacijo in operativno poročanje.

OMS je postal kritičen del dnevnih operacij.

Refleksija

Odločitev za orkestracijo namesto zamenjave je bila ključna. Znižala je tveganje in naročniku omogočila zgodnjo vrednost. Najbolj vplivna investicija je bila podrobna začetna modelacija stanj in tranzicij, ki je zmanjšala operativno nejasnost skozi razvoj in kasnejše spremembe.

Povzetek

Projekt pokaže, kako lahko dobro zasnovan custom sistem prinese red in stabilnost v kompleksne e-commerce operacije brez motenj obstoječega poslovanja. Poudarja pragmatičen, arhitekturno voden pristop k reševanju realnih operativnih problemov.