CASESTUDIE

Heineken (Pivovarna Laško Union)

Shopify-bestelintegratie met SAP voor twee retailwebshops.

Overzicht

  • Branche: FMCG / Beverages / E-commerce
  • Klant: Pivovarna Laško Union d.o.o. (Heineken group)
  • Opgeleverd: Integratieservice die Shopify-bestellingen synchroniseert naar SAP
  • Rol: Systeemarchitectuur, backend-implementatie, SAP-integratielogica
  • Integratiepunten: Shopify Admin API (orders/products/inventory), SAP order messaging, HTTP Basic Auth
  • Status: Integratie in productie

Context

De klant beheert twee Shopify-stores (rundasekunda.si en union-experience.si) terwijl alle orderverwerking in SAP gebeurt. Handmatige herinvoer veroorzaakte vertragingen en vermijdbare fouten. Het doel was een deterministische, SAP-klare orderpijplijn die handmatige stappen elimineert.

Probleem

  • Bestellingen waren niet direct beschikbaar in SAP, wat de fulfillment vertraagde.
  • Handmatig copy-pasten veroorzaakte fouten in klant- en orderregeldata.
  • Operations besteedde tijd aan administratieve taken in plaats van uitvoering.

De integratie moest deterministisch zijn, SAP-compatibel en robuust tegen variaties in Shopify-data.

Projectdoelen

  • Bestellingen uit twee Shopify-stores ophalen en mappen naar SAP-compatibele orderberichten.
  • Volledige orderregels, prijzen, belastingen en klantgegevens meenemen.
  • Adressen-edgecases en btw-identificaties betrouwbaar afhandelen.
  • Orderbevestiging en overgangen van betaalstatus ondersteunen.
  • Waar nodig endpoints voor product- en voorraadsynchronisatie aanbieden.

Beperkingen & Uitdagingen

  • SAP vereist een strikte berichtstructuur en qualifier-afhandeling.
  • Shopify-data is flexibel en varieert per bestelling (factuur vs levering, optionele adresvelden).
  • Betaalgateways beïnvloeden SAP-betalingscondities en moeten correct gemapt worden.
  • Refunds en gedeeltelijke refunds moeten in orderregels worden verwerkt.

Oplossingsoverzicht

We hebben een Python/Flask-integratieservice geïmplementeerd die bestellingen uit Shopify ophaalt, omzet naar SAP-compatibele orderberichten en endpoints aanbiedt voor bevestigingen en updates van betaalstatus.

Het resultaat is een deterministische pijplijn van twee Shopify-stores rechtstreeks naar SAP, zonder handmatige tussenkomst.

Architectuur & Technische aanpak

Shopify-integratie

  • Gebruikt de Shopify Admin API (REST + GraphQL) via de officiële client.
  • Ondersteunt twee stores via omgevingsgebaseerde configuratie.
  • Filtert bestellingen op betaal- en fulfillmentstatus.

Genereren van SAP-orderberichten

  • Genereert SAP-compatibele orderberichten met headers, partnerdata en orderregels.
  • Mapt belastingen, kortingen en verzendkosten als gestructureerde orderregels.
  • Stelt betalingscondities in op basis van Shopify-gateway.

Adres- en btw-logica

  • Kiest factuur- vs verzendadres op basis van landcontext.
  • Haalt bedrijfs-/btw-identificaties uit extra adresvelden.
  • Normaliseert velden om SAP-parsingproblemen te verminderen.

Operationele endpoints

  • Export-endpoint voor SAP-import.
  • Bevestigings-endpoint om bestellingen in Shopify af te sluiten na SAP-ingestie.
  • Endpoints voor betaalstatus (onbetaald/betaald).
  • Product- en voorraad-endpoints voor optionele SAP → Shopify-flows.

Technologiestack

  • Python
  • Flask
  • ShopifyAPI (Shopify Admin API client)
  • lxml / objectify (XML-generatie)
  • HTTP Basic Auth

Implementatieproces

  1. SAP-ordervereisten gemodelleerd en afgestemd op Shopify-datastructuren.
  2. Orderextractie en filtering voor beide stores geïmplementeerd.
  3. Berichtgeneratiepijplijn gebouwd met alle vereiste segmenten.
  4. Logica toegevoegd voor adres-/btw-parsing en mapping van betalingscondities.
  5. Operationele endpoints geïmplementeerd voor bevestigingen en betaalstatus.
  6. Product-/voorraad-endpoints toegevoegd voor optionele backflows.

Resultaten en impact

  • Bestellingen stromen automatisch SAP in zonder handmatige herinvoer.
  • Minder operationele fouten door het kopiëren van orderdata.
  • Snellere orderverwerking en betere fulfillmentnauwkeurigheid.
  • Eén integratielaag die beide Shopify-stores afdekt.

Reflectie

De kern voor betrouwbaarheid was strikte naleving van de SAP-berichtstructuur en zorgvuldige normalisatie van Shopify-data. Shopify-bestellingen zijn flexibel; SAP is strikt. De integratie fungeert als een deterministische vertaler tussen de twee.

Samenvatting

Dit project leverde een Shopify → SAP-integratie op productieniveau voor de Sloveense activiteiten van Heineken. Het elimineert handmatige orderverwerking, vermindert fouten en creëert een consistente orderflow van twee Shopify-stores rechtstreeks naar SAP.