01Décider qui possède quoi
Avant tout code, écrivez quel système possède chaque champ. Deux systèmes qui pensent tous deux posséder le niveau de stock produisent un problème de réconciliation qu'on ne peut plus automatiser plus tard.
Tout le reste devient un modèle de lecture — rapide, mis en cache, jetable et reconstructible depuis le propriétaire.
02Ne jamais écrire directement depuis la boutique
Placez une file d'attente entre le système côté client et l'ERP. Les commandes arrivent immédiatement, la synchronisation relance en cas d'échec, et une panne de l'ERP se dégrade en simple délai plutôt qu'en vente perdue.
Rendez chaque écriture idempotente grâce à une clé métier, pour qu'un message rejoué ne puisse pas créer de facture en double.
03Synchroniser dans le sens du moindre risque
Poussez des événements, sondez uniquement quand c'est indispensable, et réconciliez selon un calendrier pour détecter les écarts. Une comparaison nocturne qui signale les incohérences coûte moins cher qu'un client qui les découvre.
Gardez la logique de transformation dans une seule couche d'intégration. Des règles métier dispersées dans les deux systèmes, c'est ainsi que les intégrations deviennent ingérables.
04Prévoir les montées de version
Les ERP sont mis à jour et les personnalisations cassent. Intégrez-vous via des API documentées, gardez une surface réduite, et testez le chemin de synchronisation à chaque répétition de montée de version.
