« Les commandes Amazon arrivent toutes seules dans Odoo. » Elles arrivent, oui. La vraie question est ailleurs : arrivent-elles avec tout ce qu'il faut pour préparer, facturer et rapprocher ? Car ce qui casse, ce n'est pas la connexion (cela se voit tout de suite), c'est le mapping. Une commande mal importée ne génère aucune erreur : elle génère un bon de livraison en double en octobre et une TVA qui ne cadre pas en janvier.
Ce que contient une commande Amazon, et ce qu'elle ne contient pas encore
L'en-tête contient l'identifiant de la commande, la date d'achat, le statut, le canal (FBA ou FBM), la place de marché où la vente a eu lieu et la date limite d'expédition. Les lignes arrivent à part, avec l'ASIN, votre SKU vendeur, la quantité, le prix, la taxe et les frais d'expédition séparément, ainsi que les remises promotionnelles. Et il y a un moment où une commande existe sans rien contenir d'utile : tant que le paiement n'est pas autorisé, la commande apparaît en attente, avec des lignes sans prix ni taxes et sans adresse exploitable. Si votre import la crée à cet instant, il crée une commande à moitié vide que personne ne saura réparer ensuite.
L'identifiant fait la loi : sans lui, des doublons
Chaque commande arrive avec son identifiant Amazon. Ce numéro doit être enregistré sur la commande Odoo et être la première chose consultée avant de créer quoi que ce soit. Si l'import crée d'abord et vérifie ensuite, n'importe quelle nouvelle tentative (une coupure réseau en plein cycle, une action planifiée qui chevauche la précédente, une synchronisation lancée à la main pendant que l'automatique tournait) vous laisse deux commandes identiques et deux bons de livraison. Enregistrez aussi l'identifiant de chaque ligne : c'est ce qui permet de reconnaître une ligne modifiée sans supprimer puis recréer toute la commande.
Un détail qui paraît mineur et qui ne l'est pas : la vérification doit s'appuyer sur un index unique dans la base de données, et pas seulement sur une recherche préalable en Python. Deux processus qui tournent en même temps peuvent passer tous les deux la recherche et créer tous les deux. C'est l'un des défauts que nous voyons le plus souvent lorsque nous auditons des connecteurs développés par quelqu'un d'autre.
Adresses : elles arrivent restreintes et il faut les supprimer
Les données de l'acheteur ne viennent pas avec la lecture normale de la commande. L'adresse de livraison et le contact se demandent à part, avec une autorisation spécifique pour les données restreintes, et l'e-mail fourni est un alias Amazon qui cesse de fonctionner. De plus, vous avez l'obligation de ne pas les conserver : passé le délai fixé par la politique de protection des données d'Amazon, les données personnelles sont supprimées, et seul ce que la réglementation fiscale oblige à conserver est gardé. Dans Odoo, cela a deux conséquences pratiques : créer un contact permanent pour chaque acheteur n'est pas toujours une bonne idée, et il faut un mécanisme de purge conçu à dessein, pas un oubli.
Taxes : dans de nombreux cas, ce n'est pas vous qui les collectez
Sur pas mal de places de marché, c'est Amazon qui retient et reverse la taxe sur la vente, et les lignes de la commande peuvent indiquer qui en est responsable. Si votre import applique toujours la même taxe sans regarder cette donnée, la comptabilité se fausse dans les deux sens : déclarer trop ou trop peu. Ce qu'il faut mettre en place avant la première commande, c'est une position fiscale par pays de destination, une liste de prix par devise et une règle claire pour le cas où le responsable est Amazon. Le détail par pays se trouve dans vendre sur plusieurs Amazon avec un seul Odoo.
Annulations : ne lire que les nouvelles commandes ne suffit pas
Une commande peut être annulée alors qu'elle était en attente, et elle n'est alors jamais devenue une vraie commande. Elle peut aussi être annulée après être entrée dans Odoo et avant de sortir de l'entrepôt : si la synchronisation sait seulement créer, l'annulation n'arrive pas et vous finissez par expédier une marchandise que personne ne paiera. L'import doit relire les commandes déjà connues dans une fenêtre de temps, en les triant par date de dernière modification, et pas seulement demander les nouvelles. Et si le bon de livraison est déjà validé, ce n'est plus une annulation : c'est un retour, et il se comptabilise comme un retour.
Ce que fait notre connecteur
Le connecteur Amazon pour Odoo gère l'entrée des commandes dans Odoo 17, 18, 19 et 20 : il ne crée pas la commande client tant qu'Amazon la garde en attente, enregistre l'identifiant Amazon avec une contrainte d'unicité par compte et réutilise la commande client existante au lieu de la dupliquer, conserve l'identifiant de chaque ligne, demande l'adresse de livraison dans un appel séparé et relit les commandes par date de dernière modification, de sorte que les changements de statut, annulations comprises, se reflètent dans la commande client. Pour les taxes, il ne décide pas à votre place : par défaut la commande entre sans taxes et, si vous activez la facturation depuis Odoo, il applique celles du produit via la position fiscale que vous configurez. Si vous avez un connecteur qui dysfonctionne déjà, le diagnostic se trouve dans erreurs fréquentes de SP-API avec Odoo, et parfois la bonne réponse est de réparer celui que vous avez, pas d'en acheter un autre.
Questions fréquentes
À quelle fréquence faut-il importer les commandes ?
Plusieurs fois par heure est raisonnable, mais en interrogeant par date de dernière modification, et non l'historique entier à chaque fois. L'API d'Amazon a des limites de débit, et un cycle qui demande trop se retrouve sans quota précisément lors d'un pic de ventes.
Puis-je importer d'anciennes commandes ?
Oui, avec un chargement initial borné par des dates. Si vous avez déjà des commandes créées à la main, écrivez-y l'identifiant Amazon avant d'activer la synchronisation : sinon, le premier cycle les recrée.
Et les commandes Amazon Business ?
Elles arrivent marquées comme telles et s'accompagnent d'une attente de facture avec les données fiscales de l'acheteur. Mieux vaut les séparer dès le premier jour, car les traiter comme une commande de particulier oblige à refaire des factures ensuite.
Liens utiles chez FlexigoTech
Ce que nous faisons sur ce sujet
Les commandes arrivent, mais rien ne cadre ?
Dites-nous sur quelles places de marché vous vendez, si c'est en FBA, en FBM ou les deux, et ce qui ne cadre pas : doublons, taxes ou annulations. Nous examinons le mapping avant de proposer quoi que ce soit. Écrivez à comercial@flexigobe.com ou planifiez un appel.

