ETUDE DE CAS
Heineken (Pivovarna Laško Union)
Intégration de commandes Shopify vers SAP pour deux boutiques en ligne.
Aperçu
- Industrie : FMCG / Boissons / E-commerce
- Client : Pivovarna Laško Union d.o.o. (groupe Heineken)
- Livrable : Service d'intégration synchronisant les commandes Shopify vers SAP
- Rôle : Architecture système, implémentation backend, logique d'intégration SAP
- Points d'intégration : API Admin Shopify (commandes/produits/inventaire), messagerie de commande SAP, HTTP Basic Auth
- Statut : Intégration en production
Contexte
Le client exploite deux boutiques Shopify (rundasekunda.si et union-experience.si) tandis que tout le traitement des commandes se fait dans SAP. La saisie manuelle créait des retards et des erreurs évitables. L'objectif était un pipeline de commandes déterministe et prêt pour SAP qui élimine les étapes manuelles.
Problème
- Les commandes n'étaient pas disponibles immédiatement dans SAP, ralentissant l'exécution.
- Le copier-coller manuel introduisait des erreurs dans les données client et articles.
- Les opérations passaient du temps sur des tâches administratives au lieu de l'exécution.
L'intégration devait être déterministe, compatible SAP et robuste face aux variations de données Shopify.
Objectifs du projet
- Récupérer les commandes de deux boutiques Shopify et les mapper en messages de commande compatibles SAP.
- Inclure tous les articles, prix, taxes et données client.
- Gérer de manière fiable les cas limites d'adresses et les identifiants TVA.
- Supporter la confirmation de commande et les transitions d'état de paiement.
- Fournir des endpoints de synchronisation produit et inventaire si nécessaire.
Contraintes et défis
- SAP nécessite une structure de message stricte et une gestion des qualificateurs.
- Les données Shopify sont flexibles et varient par commande (facturation vs expédition, champs d'adresse optionnels).
- Les passerelles de paiement influencent les conditions de paiement SAP et doivent être mappées correctement.
- Les remboursements complets et partiels doivent être reflétés dans les articles.
Aperçu de la solution
Nous avons implémenté un service d'intégration Python/Flask qui récupère les commandes depuis Shopify, les transforme en messages de commande compatibles SAP, et expose des endpoints pour les confirmations et mises à jour d'état de paiement.
Le résultat est un pipeline déterministe depuis deux boutiques Shopify directement vers SAP sans intervention manuelle.
Architecture et approche technique
Intégration Shopify
- Utilise l'API Admin Shopify (REST + GraphQL) via le client officiel.
- Supporte deux boutiques via une configuration basée sur l'environnement.
- Filtre les commandes par statut de paiement et d'exécution.
Génération de message de commande SAP
- Génère des messages de commande compatibles SAP avec en-têtes, données partenaires et articles.
- Mappe les taxes, remises et expédition comme articles structurés.
- Définit les conditions de paiement selon la passerelle Shopify.
Logique d'adresse et TVA
- Sélectionne facturation vs expédition selon le contexte pays.
- Extrait les identifiants société/TVA des champs d'adresse auxiliaires.
- Normalise les champs pour réduire les problèmes d'analyse SAP.
Endpoints opérationnels
- Endpoint d'export de commande pour ingestion SAP.
- Endpoint de confirmation pour clôturer les commandes dans Shopify après ingestion SAP.
- Endpoints d'état de paiement pour transitions non payé/payé.
- Endpoints produit et inventaire pour flux SAP → Shopify optionnels.
Stack technologique
- Python
- Flask
- ShopifyAPI (client API Admin Shopify)
- lxml / objectify (génération XML)
- HTTP Basic Auth
Processus d'implémentation
- Modélisé les exigences de commande SAP et les aligner avec les structures de données Shopify.
- Implémenté l'extraction et le filtrage de commande pour les deux boutiques.
- Construit le pipeline de génération de message avec tous les segments requis.
- Ajouté l'analyse adresse/TVA et la logique de mapping des conditions de paiement.
- Implémenté les endpoints opérationnels pour confirmations et états de paiement.
- Ajouté les endpoints produit/inventaire pour flux retour optionnels.
Résultats et impact
- Les commandes affluent automatiquement dans SAP sans saisie manuelle.
- Réduction des erreurs opérationnelles causées par la copie de données de commande.
- Traitement des commandes plus rapide et précision d'exécution améliorée.
- Couche d'intégration unique couvrant les deux boutiques Shopify.
Réflexion
Le facteur de fiabilité principal était l'adhésion stricte à la structure de message SAP et la normalisation soigneuse des données Shopify. Les commandes Shopify sont flexibles ; SAP est strict. L'intégration agit comme un traducteur déterministe entre les deux.
Résumé
Ce projet a livré une intégration Shopify → SAP de qualité production pour les opérations slovènes de Heineken. Il élimine la gestion manuelle des commandes, réduit les erreurs et crée un flux de commandes cohérent depuis deux boutiques Shopify directement vers SAP.