ŠTUDIJA PRIMERA
Heineken (Pivovarna Laško Union)
Integracija Shopify naročil v SAP za dve trgovini.
Povzetek
- Industrija: FMCG / Beverages / E-commerce
- Naročnik: Pivovarna Laško Union d.o.o. (Heineken group)
- Deliverable: Integracijska storitev za prenos Shopify naročil v SAP
- Vloga: 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
Naročnik upravlja dve Shopify trgovini (rundasekunda.si in union-experience.si), obdelava naročil pa poteka v SAP. Ročni vnos je povzročal zamude in napake. Cilj je bil determinističen tok naročil neposredno v SAP.
Problem
- Naročila niso bila pravočasno na voljo v SAP, kar je upočasnilo fulfillment.
- Ročno prepisovanje je povzročalo napake v podatkih kupcev in artiklov.
- Operativna ekipa je izgubljala čas z administracijo.
Integracija mora biti deterministična, SAP-kompatibilna in robustna na variacije Shopify podatkov.
Cilji projekta
- Prenesti naročila iz dveh Shopify trgovin v SAP-kompatibilna sporočila.
- Vključiti vse postavke, cene, davke in podatke kupcev.
- Zanesljivo obravnavati edge-case naslove in VAT identifikatorje.
- Podpreti potrjevanje naročil in spremembe plačilnih statusov.
- Po potrebi zagotoviti product/inventory sync endpointa.
Omejitve in izzivi
- SAP zahteva strogo strukturo sporočil in natančno obravnavo qualifierjev.
- Shopify podatki so fleksibilni (billing vs shipping, opcijski address fields).
- Plačilni gateway določa SAP payment terms in mora biti pravilno mapiran.
- Refunds in partial refunds morajo biti pravilno predstavljeni v line itemih.
Pregled rešitve
Implementirali smo Python/Flask integracijski servis, ki iz Shopifyja bere naročila, jih pretvori v SAP-kompatibilna sporočila in omogoča potrditve ter plačilne prehode.
Rezultat je determinističen tok naročil iz dveh Shopify trgovin neposredno v SAP brez ročnega vnosa.
Arhitektura in tehnični pristop
Shopify integracija
- Uporaba Shopify Admin API (REST + GraphQL) preko uradnega klienta.
- Podpora za dve trgovini z environment konfiguracijo.
- Filtriranje naročil po plačilnem in fulfillment statusu.
SAP order message generation
- Generiranje SAP-kompatibilnih sporočil s headerji, partnerji in line itemi.
- Mapiranje davkov, popustov in dostave v strukturirane postavke.
- Payment terms določeni glede na Shopify gateway.
Naslovi in VAT logika
- Izbira billing vs shipping glede na državo.
- Izluščenje podjetniških/VAT identifikatorjev iz dodatnih polj.
- Normalizacija podatkov za manj SAP napak.
Operativni endpointi
- Export endpoint za SAP intake.
- Confirm endpoint za zaprtje naročil v Shopify po SAP obdelavi.
- Unpaid/paid endpointi za stanje plačil.
- Product/inventory endpointa za opcijske backflow potrebe.
Tehnološki sklad
- Python
- Flask
- ShopifyAPI (Shopify Admin API client)
- lxml / objectify (XML generacija)
- HTTP Basic Auth
Proces implementacije
- Modeliranje SAP zahtev in mapiranje na Shopify strukturo.
- Implementacija extraction logike za obe trgovini.
- Generiranje sporočil z vsemi zahtevanimi segmenti.
- Dodana logika za naslove/VAT in payment terms.
- Operativni endpointi za potrditve in plačila.
- Product/inventory endpointa za backflow scenarije.
Rezultati in učinek
- Naročila tečejo v SAP avtomatsko brez ročnega vnosa.
- Manj napak zaradi kopiranja podatkov.
- Hitrejša obdelava naročil in boljša točnost fulfillmenta.
- Enoten integracijski sloj za obe Shopify trgovini.
Refleksija
Ključ do stabilnosti je bila stroga skladnost s SAP strukturo in normalizacija Shopify podatkov. Shopify je fleksibilen, SAP pa strog. Integracija deluje kot deterministični prevajalec med obema.
Povzetek
Projekt je zagotovil produkcijsko Shopify → SAP integracijo za Heinekenovo slovensko poslovanje. Odpravil je ročni vnos, zmanjšal napake in pospešil obdelavo naročil iz dveh Shopify trgovin v SAP.