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

  1. Modeliranje SAP zahtjeva i mapiranje na Shopify strukturu.
  2. Implementacija extraction logike za obje trgovine.
  3. Generiranje poruka sa svim zahtijevanim segmentima.
  4. Dodana logika za naslove/VAT i payment terms.
  5. Operativni endpointi za potvrde i plaćanja.
  6. 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.