STUDIJA SLUČAJA
Heineken (Pivovarna Laško Union)
Integracija Shopify narudžbi u SAP za dvije trgovine.
Sažetak
- Industrija: FMCG / Beverages / E-commerce
- Klijent: Pivovarna Laško Union d.o.o. (Heineken group)
- Deliverable: Integracijska usluga za prijenos Shopify narudžbi u SAP
- Uloga: Sistemska arhitektura, backend implementacija, SAP integracijska logika
- Integracijske točke: Shopify Admin API (orders/products/inventory), SAP order messaging, HTTP Basic Auth
- Status: Produkcijska integracija
Kontekst
Klijent upravlja s dvije Shopify trgovine (rundasekunda.si i union-experience.si), a obrada narudžbi odvija se u SAP-u. Ručni unos uzrokovao je kašnjenja i pogreške. Cilj je bio determinističan tok narudžbi izravno u SAP.
Problem
- Narudžbe nisu bile pravovremeno dostupne u SAP-u, što je usporavalo fulfillment.
- Ručni prijepis uzrokovao je pogreške u podacima kupaca i artikala.
- Operativni tim gubio je vrijeme na administraciju.
Integracija mora biti deterministična, SAP-kompatibilna i robustna na variacije Shopify podataka.
Ciljevi projekta
- Prenijeti narudžbe iz dvije Shopify trgovine u SAP-kompatibilne poruke.
- Uključiti sve stavke, cijene, poreze i podatke kupaca.
- Pouzdano obrađivati edge-case adrese i VAT identifikatore.
- Podržati potvrđivanje narudžbi i promjene statusa plaćanja.
- Po potrebi osigurati product/inventory sync endpointa.
Ograničenja i izazovi
- SAP zahtijeva strogu strukturu poruka i preciznu obradu qualifiera.
- Shopify podaci su fleksibilni (billing vs shipping, opcionalna address polja).
- Payment gateway određuje SAP payment terms i mora biti pravilno mapiran.
- Refunds i partial refunds moraju biti pravilno predstavljeni u line itemima.
Pregled rješenja
Implementirali smo Python/Flask integracijski servis koji iz Shopifyja čita narudžbe, pretvara ih u SAP-kompatibilne poruke i omogućuje potvrde te prijelaze statusa plaćanja.
Rezultat je determinističan tok narudžbi iz dvije Shopify trgovine izravno u SAP bez ručnog unosa.
Arhitektura i tehnički pristup
Shopify integracija
- Korištenje Shopify Admin API-ja (REST + GraphQL) preko službenog klijenta.
- Podrška za dvije trgovine uz konfiguraciju okruženja.
- Filtriranje narudžbi po plaćanju i fulfillment statusu.
SAP order message generation
- Generiranje SAP-kompatibilnih poruka s headerima, partnerima i line itemima.
- Mapiranje poreza, popusta i dostave u strukturirane stavke.
- Payment terms određeni prema Shopify gatewayu.
Adrese i VAT logika
- Odabir billing vs shipping adrese ovisno o državi.
- Izdvajanje poslovnih/VAT identifikatora iz dodatnih polja.
- Normalizacija podataka radi manje SAP pogrešaka.
Operativni endpointi
- Export endpoint za SAP intake.
- Confirm endpoint za zatvaranje narudžbi u Shopifyju nakon SAP obrade.
- Unpaid/paid endpointi za stanje plaćanja.
- Product/inventory endpointa za opcijske backflow potrebe.
Tehnološki stack
- Python
- Flask
- ShopifyAPI (Shopify Admin API client)
- lxml / objectify (XML generacija)
- HTTP Basic Auth
Proces implementacije
- Modeliranje SAP zahtjeva i mapiranje na Shopify strukturu.
- Implementacija extraction logike za obje trgovine.
- Generiranje poruka sa svim zahtijevanim segmentima.
- Dodana logika za naslove/VAT i payment terms.
- Operativni endpointi za potvrde i plaćanja.
- Product/inventory endpointa za backflow scenarije.
Rezultati i učinak
- Narudžbe teku u SAP automatski bez ručnog unosa.
- Manje pogrešaka zbog kopiranja podataka.
- Brža obrada narudžbi i bolja točnost fulfillmenta.
- Jedinstven integracijski sloj za obje Shopify trgovine.
Refleksija
Ključ do stabilnosti je bila stroga skladnost s SAP strukturo i normalizacija Shopify podataka. Shopify je fleksibilan, SAP je strog. Integracija radi kao deterministički prevoditelj između sustava.
Sažetak
Projekt je isporučio produkcijsku Shopify → SAP integraciju za Heinekenovo poslovanje u Sloveniji. Uklonio je ručni unos, smanjio pogreške i ubrzao obradu narudžbi iz dvije Shopify trgovine u SAP.