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
- SAP-ordervereisten gemodelleerd en afgestemd op Shopify-datastructuren.
- Orderextractie en filtering voor beide stores geïmplementeerd.
- Berichtgeneratiepijplijn gebouwd met alle vereiste segmenten.
- Logica toegevoegd voor adres-/btw-parsing en mapping van betalingscondities.
- Operationele endpoints geïmplementeerd voor bevestigingen en betaalstatus.
- 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.