STUDIJA SLUČAJA

Amore OMS

Prilagođeni OMS za višetržno e-commerce poslovanje.

Sažetak

  • Industrija: E-commerce
  • Veličina tvrtke: Višetržni e-commerce operater s više trgovina diljem EU-a
  • Deliverable: Custom OMS (operativna web aplikacija)
  • Uloga: Sistemska arhitektura, full-stack implementacija, integracije, operativni alati
  • Integracijske točke: Webhooki trgovin, API/SDK prijevoznika, tracking izvozi/uvozi, operativni dokumenti
  • Status: Aktiven produkcijski sustav
  • Vremenski okvir: Iterativna dostava s postupnim rolloutom

Kontekst

Klijent upravlja više storefrontova i dostavlja na različita europska tržišta. Unos narudžbi, fulfillment i otpremni procesi bili su raspodijeljeni između alata platforme i procesa pojedinih prijevoznika. Kako je volumen rastao, rastao je i operativni napor. Glavni problem nije bio nedostatak funkcionalnosti, nego nedostatak jedinstvenog operativnog pogleda i predvidljivog upravljanja statusima.

Problem

Ključni problem nije bio nedostatak funkcija, nego nedostatak kontrole i pouzdanosti.

  • Narudžbe su pristizale bez normalizirane interne reprezentacije.
  • Otmepni procesi razlikovali su se po prijevoznicima (etikete, formati, praćenje).
  • Skladišni tokovi (picking/packing) teško su se standardizirali bez alata.
  • Formati adresa i telefona razlikovali su se po državama, što je uzrokovalo neuspjele dostave.
  • Nedostajalo je pouzdano usklađivanje “zastalih” narudžbi (plaćeno, a nije poslano; poslano, a nije praćeno).

Ciljevi projekta

  • Centralizirati upravljanje narudžbi u jedan operativni sustav.
  • Stvoriti predvidljiv životni ciklus narudžbe s eksplicitnim stanjima i iznimkama.
  • Standardizirati skladišne tokove (batching, skeniranje, pakiranje) i smanjiti ljudske pogreške.
  • Integrirati više prijevoznika s konzistentnom otpremom i praćenjem.
  • Omogućiti širenje na nova tržišta/prijevoznike bez prepisivanja jezgre.

Ograničenja i izazovi

  • Bez prekida u unosu narudžbi iz storefrontova.
  • Različite stope PDV-a i iznimke po državama.
  • Različite vrste plaćanja (uključujući COD) i operativne varijante po tržištima.
  • Različiti API-ji prijevoznika, formati etiketa i identifikatori praćenja.
  • Legacy podaci i nekonzistentni payloadi iz vanjskih sustava.

Rješenje je moralo koegzistirati s postojećim okruženjem prije nego što je postupno postalo primarni operativni sustav.

Pregled rješenja

Dizajnirali i izradili smo custom OMS koji radi kao operativni kontrolni sloj između storefrontova i logistike. OMS ne zamjenjuje storefrontove, nego orkestrira fulfillment: unos, normalizaciju, praćenje statusa, otpremu, tracking i operativne tokove.

  • Jedan sam izvor istine za stanje narudžbe
  • Eksplicitne tranzicije stanja i usklađivanje iznimki
  • Verificirani ulazni događaji (webhooki) i deterministička ažuriranja
  • Jasno razdvajanje između unosa, operacija i integracija prijevoznika

Arhitektura i tehnički pristup

Sustav je implementiran kao pragmatična operativna web aplikacija s relacijskom bazom. Srž dizajna je podatkovni model: narudžbe, trgovine, statusi, batchi, proizvodi i artefakti prijevoznika.

  • Unos narudžbi: verificirani webhooki za događaje storefrontova i kreiranje narudžbi, uz zaštitu od duplikata.
  • Normalizacija: konsistentna interna predstavitev (adrese, telefoni, pravila držav/DDV, SKU-ji).
  • Upravljanje stanja: eksplicitni statusi i obrada iznimki za operativnu predvidljivost.
  • Operativni UI: filtriranje, triage, priprema batchova i akcije po narudžbama za operativnu ekipu.
  • Skladišni alati: skeniranje barkodova i batch tokovi za pakiranje/otpremu.
  • Sloj prijevoznika: integracije za generiranje etiketa, dodjeljivanje tracking brojeva, otkazivanja i ažuriranja.
  • Pozadinski poslovi: planirano usklađivanje i ažuriranja trackinga za zaključivanje “on-hold” stanja.

Svaka integracija je izolirana, što omogućuje promjene bez utjecaja na jezgru. Struktura podržava postupni rollout i predvidljiva proširenja (novi storefrontovi, prijevoznici, tržišta).

Tehnološki stack

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

Tehnološke odluke prioritizirale su stabilnost, izdržljivost i poznatost ekipe u odnosu na eksperimentalna rješenja.

Proces implementacije

  1. Analiza i mapiranje poslovnih procesa
  2. Definicija životnog ciklusa narudžbi i stanja
  3. Postupna implementacija unosa, internog podatkovnog modela i operativnog UI-ja
  4. Dodavanje integracija prijevoznika jednu po jednu s konzistentnim apstrakcijama i fallbackovima
  5. Postupni rollout skladišnih alata (batching, skeniranje) i pozadinskog usklađivanja

Redoviti checkpointi s klijentom osiguravali su usklađenost između tehničkih odluka i operativne realnosti.

Rezultati i učinak

  • Manje ručne obrade i manje otpremnih pogrešaka.
  • Bolja transparentnost za operativne i podršne ekipe (jedan pogled na stanje narudžbe).
  • Brže dodavanje novih prijevoznika/trgovina zahvaljujući jasnim integracijskim granicama.
  • Stabilna osnova za automatizaciju i operativno izvještavanje.

OMS je postao kritičan dio dnevnih operacija.

Refleksija

Odluka za orkestraciju umjesto zamjene bila je ključna. Smanjila je rizik i klijentu omogućila ranu vrijednost. Najutjecajnija investicija bila je detaljna početna modelacija stanja i tranzicija koja je smanjila operativnu nejasnoću tijekom razvoja i kasnijih promjena.

Sažetak

Projekt pokazuje kako dobro dizajniran custom sustav može donijeti red i stabilnost u kompleksne e-commerce operacije bez ometanja postojećeg poslovanja. Naglašava pragmatičan, arhitekturno vođen pristup rješavanju realnih operativnih problema.