Š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

  1. Modeliranje SAP zahtev in mapiranje na Shopify strukturo.
  2. Implementacija extraction logike za obe trgovini.
  3. Generiranje sporočil z vsemi zahtevanimi segmenti.
  4. Dodana logika za naslove/VAT in payment terms.
  5. Operativni endpointi za potrditve in plačila.
  6. 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.