Celui qui cherche une « intégration API douane pour marketplaces » imagine souvent un service auquel Odoo envoie la commande et qui renvoie le dédouanement fait. Cela n'existe pas tel quel. Il y a trois pièces à assembler : les données de chaque ligne, qui vivent dans Odoo ; le canal par lequel elles arrivent à la douane, qui est le transporteur ou votre représentant en douane ; et le régime fiscal, qui décide s'il y a exportation, IOSS ou rien.
D'abord : votre envoi passe-t-il en douane ?
Entre pays de l'UE, il n'y a pas de douane. Une commande Amazon Allemagne qui part de votre entrepôt de Barcelone ne comporte pas de déclaration : elle porte la TVA du pays de destination et son OSS, comme expliqué dans vendre sur plusieurs Amazon avec un seul Odoo. La douane apparaît quand la marchandise sort de l'UE (Royaume-Uni, Suisse, Norvège, Andorre) et quand elle entre depuis l'extérieur : stock dans un entrepôt britannique ou fournisseur qui expédie directement d'Asie à votre client. Sans quitter l'Espagne, elle concerne aussi les Canaries, Ceuta et Melilla.
Si tout ce que vous vendez part d'un entrepôt de la péninsule vers des pays de l'UE, cet article n'est pas votre problème. N'intégrez pas la douane « au cas où » : vérifiez les positions fiscales et l'OSS, c'est là que l'argent s'échappe vraiment.
Ce que demande la déclaration, ligne par ligne
La déclaration l'exige par ligne : code tarifaire (le code SH à six chiffres, que l'UE porte à huit à l'exportation et à dix à l'importation), description précise, quantité, poids net, valeur avec sa devise et pays d'origine. Par envoi : incoterm, numéro EORI de l'exportateur et numéro de facture. Dans Odoo 19, le produit a déjà un code tarifaire et un pays d'origine ; l'erreur habituelle, c'est que personne ne les renseigne ou qu'ils n'arrivent pas jusqu'au transporteur, comme nous l'avons vu avec les modules OCA de DHL et GLS. Et « cadeau » ou « accessoires » ne sont pas des descriptions : ce sont des motifs de retenue.
Et la valeur de la ligne n'est pas le prix de la marketplace. La commande comporte des remises, des frais de port facturés au client et parfois un coupon sur le total. La douane veut la valeur de chaque ligne, et elle doit correspondre à la facture : la remise globale est répartie entre les lignes selon un critère fixe et les frais de port sont à part, pas cachés dans la dernière ligne. C'est là que les intégrations faites à la hâte échouent.
Il n'y a pas d'« API douanière » : il y a deux voies
En colis express ou postal, le dédouanement est fait par le transporteur. Son API accepte les données douanières avec l'expédition, sous forme de facture commerciale électronique, et c'est lui qui dépose la déclaration. Intégrer, c'est qu'Odoo envoie code tarifaire, origine et valeur par ligne au moment de générer l'étiquette.
Pour les palettes, le B2B ou les montants élevés, la déclaration est déposée par un représentant en douane auprès de l'AEAT. Le faire directement depuis votre ERP est possible, mais pour une PME cela n'en vaut presque jamais la peine. Intégrer, c'est qu'Odoo lui remette les données dans le format qu'il accepte et récupère le MRN, le numéro de la déclaration, pour l'archiver avec le bon de livraison et la facture.
IOSS : uniquement quand la marchandise entre dans l'UE
Depuis juillet 2021, tout ce qui entre dans l'UE paie la TVA. Pour les ventes à des consommateurs jusqu'à 150 € (hors frais de port et assurance s'ils sont facturés à part, et hors alcool, tabac et autres produits soumis à accises), le vendeur peut percevoir la TVA du pays de destination lors de la vente et la déclarer chaque mois via l'IOSS. Le numéro IOSS circule dans les données douanières électroniques, pas écrit sur le carton, et le client ne paie rien à la livraison. Sans IOSS, il paie la TVA et des frais de gestion à la réception, et celui qui ne s'y attendait pas refuse le colis.
Avec les marketplaces, les rôles changent : la plateforme est considérée comme le fournisseur au regard de la TVA, perçoit la taxe et utilise son numéro IOSS, qu'elle vous fournit pour l'envoi. Votre Odoo ne doit pas appliquer à nouveau la TVA sur la facture et doit transmettre au transporteur l'IOSS de la marketplace, pas le vôtre. Le Royaume-Uni fait cavalier seul : jusqu'à 135 livres, la TVA britannique est perçue lors de la vente, et s'il y a une marketplace, c'est elle qui la perçoit.
Quels documents accompagnent l'envoi
- Facture commerciale, ou proforma s'il n'y a pas de vente : code tarifaire, origine et valeur par ligne, incoterm et EORI.
- CN22 ou CN23 si l'envoi part par la poste, selon la valeur.
- Déclaration d'exportation avec son MRN. Conservez-la : elle prouve l'exonération de TVA.
- Déclaration d'origine sur la facture si la destination a un accord commercial avec l'UE, comme le Royaume-Uni ou la Suisse, et que la marchandise respecte les règles d'origine.
- Pour les retours, la référence à l'exportation d'origine. Sans elle, ce qui revient peut être traité comme une nouvelle importation.
Ce que nous avons et ce que nous n'avons pas
Nous n'avons pas de connecteur douanier publié : chaque transporteur et chaque représentant demande les données à sa manière. Sont publiés les connecteurs qui font remonter les commandes dans Odoo, comme Amazon, Temu ou AliExpress et le reste du catalogue, sur Odoo 17, 18 et 19, et pour la plupart aussi sur Odoo 20 (chaque fiche indique ses versions). La couche douanière relève du développement sur mesure, et son périmètre dépend du nombre de destinations et de canaux de dédouanement. Et si vous expédiez quelques colis par mois hors de l'UE, n'intégrez rien : renseignez code tarifaire et origine, utilisez le formulaire du transporteur et conservez les factures.
Questions fréquentes
Ai-je besoin de l'IOSS pour vendre sur Amazon France depuis l'Espagne ?
Non. Entre pays de l'UE, il n'y a pas d'importation, donc pas d'IOSS. Ce qui s'applique, c'est la TVA du pays de destination, déclarée via l'OSS.
Les envois vers les Canaries passent-ils en douane ?
Oui. Les Canaries sont dans le territoire douanier de l'UE mais hors du champ de la TVA, donc les envois depuis la péninsule comportent une déclaration et, à destination, c'est l'IGIC qui s'applique, pas la TVA. Ceuta et Melilla sont directement en dehors de l'union douanière.
Qui décide du code tarifaire, la marketplace ou moi ?
Vous, ou la personne qui déclare en votre nom. La marketplace peut vous le demander sur la fiche, mais bien classer relève de la responsabilité de celui qui déclare. Si vous hésitez entre deux codes, vous pouvez demander à l'AEAT un renseignement tarifaire contraignant (RTC) pour votre produit.
Liens utiles dans FlexigoTech
Ce que nous faisons à ce sujet
Vous vendez hors de l'UE et la douane se fait à la main ?
Dites-nous vers quels pays vous expédiez, avec quels transporteurs, si vous travaillez avec un représentant en douane et depuis quelles marketplaces arrivent les commandes. Nous vous dirons ce qui se règle avec des données bien renseignées dans Odoo et ce qui nécessite une intégration. Écrivez à comercial@flexigobe.com ou planifiez un appel.

