Faites de GSE-Web le WMS de votre
ERP Odoo
Odoo garde vos articles, vos tiers, vos commandes et votre comptabilité. GSE-Web prépare, sort, reçoit et compte la marchandise, et fait foi sur le stock physique.
Cette documentation décrit le fonctionnement du connecteur Odoo. Il n'est pas encore ouvert aux organisations : l'entrée « Odoo » de la page « Intégrations » ne devient disponible qu'une fois sa mise en service terminée. Écrivez-nous si vous voulez être prévenu de son ouverture.
En bref
Le connecteur Odoo relie un Odoo (versions 17, 18 et 19) à un magasin de GSE-Web. Odoo reste le maître de ses articles, de ses tiers et de ses commandes ; GSE-Web fait foi sur le stock physique. Il se configure par un administrateur de l'organisation, dans le menu ADMIN › « Intégrations ». Chaque échange est une option, désactivée par défaut : vous composez le connecteur qui vous convient.
- Ce qui arrive dans GSE-Web : les commandes de vente confirmées de l'entrepôt relié, qui deviennent des bons de sortie confirmés, stock réservé ; les commandes d'achat confirmées, qui deviennent des commandes fournisseurs ; en option, les articles et les tiers d'Odoo.
- Ce qui part vers Odoo : chaque entrée, sortie, ajustement, inventaire ou transfert du magasin relié, sous forme de mouvement de stock (jamais une quantité écrasée), quelques secondes plus tard ; les livraisons et les réceptions validées dans GSE-Web ; en option, les fiches produits de GSE-Web.
- Quand : si vous cochez « Recevoir les notifications d'Odoo », une commande arrive dès qu'Odoo prévient GSE-Web. Un passage périodique (5 minutes par défaut, de 1 à 15) sert de filet et rattrape ce qui aurait manqué.
- Ce qui n'est jamais fait : aucune quantité n'est convertie, aucun bon partiel n'est créé, rien n'est supprimé dans Odoo, et un écart de stock n'est jamais corrigé en silence. La facturation et la comptabilité restent à Odoo.
- Coupure : pause, déconnexion ou fermeture du module à tout moment, sans rien perdre ; à la reprise, les commandes passées entre-temps sont rattrapées.
Prérequis
Vérifiez ces points avant d'ouvrir l'écran du connecteur : le test de connexion les contrôle et refuse en clair ce qui ne convient pas.
Odoo 17, 18 ou 19
Les trois versions sont prises en charge. GSE-Web lit la version d'Odoo et choisit le protocole d'échange : JSON-RPC jusqu'à Odoo 18, JSON-2 à partir d'Odoo 19. Une autre version est refusée en clair.
Un utilisateur d'intégration et sa clé d'API
Créez dans Odoo un utilisateur réservé à GSE-Web et générez-lui une clé d'API (Préférences › Sécurité du compte › Nouvelle clé d'API). Droits utiles : « Inventaire / Utilisateur » pour écrire des mouvements, « Ventes / Utilisateur » et « Achats / Utilisateur » pour lire les commandes, « Paramètres techniques » seulement pour armer le temps réel.
Un Odoo joignable sur Internet, en HTTPS
L'adresse du serveur doit être publique et en HTTPS, sans identifiants ni paramètres. Une adresse de réseau privé est refusée. Sur Odoo Online, l'accès externe n'existe que sur les offres « Custom ».
Les modules ouverts pour votre organisation
« Intégrations », puis « Odoo ». Leur ouverture se demande à KLS-Concept. Sans « Intégrations », l'entrée du menu n'apparaît pas ; sans « Odoo », sa carte indique « Non disponible pour votre organisation ».
Un compte ADMIN avec double authentification
La saisie de la clé d'API est refusée tant que la double authentification n'est pas activée sur votre compte, dans « Mes informations ».
Un magasin réel et un entrepôt Odoo
Le connecteur relie un entrepôt d'Odoo à un magasin réel de GSE-Web. Un magasin d'exercice est refusé. Un seul entrepôt par connexion.
La même devise
La devise de la société Odoo doit être celle de votre organisation. Si Odoo compte plusieurs sociétés, vous choisissez celle à relier.
Pour le temps réel : « Actions automatisées »
Pour que les commandes arrivent dès qu'Odoo prévient GSE-Web, le module « Actions automatisées » doit être installé dans Odoo. Sinon, seul le passage périodique fonctionne, et un point à traiter vous le dit.
Configuration pas à pas
Six étapes, dans l'ordre de l'écran.
Ouvrir l'écran du connecteur
Menu ADMIN › « Intégrations ». La carte Odoo se trouve dans la catégorie « ERP ». Cliquez sur « Configurer » (le bouton devient « Gérer » une fois la connexion enregistrée).
Carte « Serveur Odoo »
Renseignez l'« Adresse du serveur » (par exemple https://monentreprise.odoo.com), la « Base de données », l'« Identifiant de l'utilisateur d'intégration » (en général son adresse e-mail dans Odoo), la « Clé d'API » et le « Magasin GSE-Web » à relier. Le « Protocole d'échange » reste sur « Automatique » sauf besoin précis.
La clé d'API est en écriture seule : une fois enregistrée, elle n'est plus jamais réaffichée, l'écran en montre seulement quelques caractères. Pour la conserver, laissez le champ vide ; pour la remplacer, saisissez-en une nouvelle. Si vous changez l'adresse du serveur ou la base, la clé doit être ressaisie : elle ne suit jamais une autre cible.
Tester la connexion, puis choisir la société et l'entrepôt Odoo
Enregistrez, puis « Tester la connexion » : GSE-Web interroge Odoo, vérifie la clé, les droits, la version et la devise, et l'écran affiche par exemple « Odoo 18.0 · protocole JSON-RPC ». Odoo déclare alors ses sociétés et ses entrepôts : choisissez la « Société Odoo » (obligatoire dès qu'il y en a plusieurs) et l'« Entrepôt Odoo » relié au magasin GSE-Web, puis « Enregistrer ». Même refusé, le test garde ce qu'Odoo a déclaré, pour que vous puissiez corriger.
Composer les options
La carte « Ce qui passe entre GSE-Web et Odoo » regroupe les options par thème. Tout est décoché par défaut : cochez seulement ce dont vous avez besoin.
- Ventes › « Importer les commandes de vente d'Odoo » : avec les « États de commande de vente importés » (« Confirmée » par défaut, « Verrouillée » en plus si vous le souhaitez).
- Ventes › « Valider les livraisons dans Odoo » : un bon livré valide la livraison de la commande dans Odoo.
- Stock › « Envoyer les mouvements de stock à Odoo en temps réel » : chaque mouvement du magasin relié part vers Odoo.
- Stock › « Mesurer les écarts de stock chaque nuit » : GSE-Web compare son stock à celui d'Odoo.
- Achats › « Importer les commandes d'achat d'Odoo » : avec les « États de commande d'achat importés » (« Confirmée » par défaut, « Verrouillée » en plus si vous le souhaitez).
- Achats › « Valider les réceptions dans Odoo » : une réception faite dans GSE-Web est validée dans Odoo.
- Articles et tiers › « Reprendre les articles d'Odoo » ou « Envoyer les fiches produits de GSE-Web à Odoo » : exclusives l'une de l'autre, un seul maître des articles ; cocher l'une décoche l'autre. La « Correspondance des unités de mesure » associe l'identifiant d'une unité d'Odoo au code de l'unité GSE-Web.
- Articles et tiers › « Reprendre les tiers d'Odoo » : adresse, TVA et conditions de règlement des clients.
- Temps réel › « Recevoir les notifications d'Odoo » : les commandes arrivent dès qu'Odoo prévient GSE-Web.
- Temps réel › « Cadence de la scrutation de secours (minutes) » : 5 par défaut, de 1 à 15. « Âge maximal d'une commande rattrapée (jours) » : 30 par défaut, de 1 à 90 ; une commande plus ancienne devient un point à traiter au lieu d'être importée d'office.
Enregistrer et tester
Cliquez sur « Enregistrer ». « Tester la connexion » et « Activer » agissent sur la configuration enregistrée : tant qu'une modification n'est pas enregistrée, l'écran le rappelle. Si une option qui écrit dans Odoo est cochée alors que l'utilisateur d'intégration n'a pas le droit d'écriture, le test le signale.
Activer
« Activer » refait le test (un entrepôt Odoo est alors exigé). Si « Recevoir les notifications d'Odoo » est cochée, GSE-Web crée dans Odoo des actions automatisées « GSE-Web » qui le préviennent à chaque changement. L'état passe à « Active — scrutation de secours toutes les N minutes ». Ce qui précède l'activation n'est jamais rejoué : ni commandes, ni mouvements de stock antérieurs.
Ce qui se synchronise, et qui fait foi
Chaque donnée a un seul maître. GSE-Web ne dicte pas à Odoo ses articles ni ses commandes ; Odoo ne dicte jamais à GSE-Web une quantité physique.
📦 GSE-Web fait foi
- ✓Stock physique : quantités et mouvements
- ✓Livraisons : ce qui est réellement parti
- ✓Réceptions : ce qui est réellement arrivé
- ✓Articles, si vous choisissez « Envoyer les fiches produits de GSE-Web à Odoo »
🏢 Odoo fait foi
- ✓Commandes de vente
- ✓Commandes d'achat
- ✓Tiers (clients)
- ✓Articles, par défaut ou si vous choisissez « Reprendre les articles d'Odoo »
- ✓Facturation
- ✓Comptabilité
Les règles
- Un seul maître des articles. « Reprendre les articles d'Odoo » et « Envoyer les fiches produits de GSE-Web à Odoo » s'excluent. Les articles sont rapprochés par référence (code interne d'Odoo = référence GSE-Web) ; ils ne sont jamais supprimés dans Odoo, un produit retiré y est archivé.
- Une commande de vente = un bon de sortie confirmé du magasin relié, sur la quantité restant à livrer, case « Réserver les produits pour ce bon » cochée : toute la quantité est réservée, même au-delà du stock (le manque se lit « En attente de réception » sur le bon).
- Jamais de bon partiel. Si une ligne pose problème — article inconnu, unité différente de l'unité de stock, article suivi par lot ou numéro de série, devise différente, client archivé — aucun bon n'est créé et un point à traiter l'explique. « Rejouer » reprend l'import une fois la cause corrigée. Aucune quantité n'est jamais convertie.
- Un client = un tiers au code d'Odoo. Le code du tiers est la référence (
ref) du client dans Odoo, ouODOO-suivi de son identifiant s'il n'en a pas. Il n'est jamais rapproché par e-mail. - Commande annulée dans Odoo : le bon est annulé et ses réservations libérées, sauf s'il est déjà pris en charge par quelqu'un ; un point à traiter laisse alors la décision à l'équipe. Commande modifiée après l'import : la modification n'est pas reportée sur le bon, un point à traiter vous invite à le vérifier. Commande déjà livrée hors de GSE-Web : aucun bon, un point à traiter le dit.
- Livraison validée dans Odoo : un bon livré ou clôturé valide la livraison avec les quantités réellement préparées. Si moins que la demande est parti, le reliquat reste ouvert dans Odoo. GSE-Web n'annule jamais une commande dans Odoo.
- Stock en mouvements, jamais en valeur écrasée. Chaque entrée, ajustement, inventaire ou transfert du magasin relié devient un mouvement de stock dans Odoo, quelques secondes après le changement. Un même mouvement n'est jamais envoyé deux fois. Rien d'antérieur à l'activation n'est rejoué. La valorisation (coût) reste à Odoo.
- Pas de double décompte. Une sortie issue d'une commande importée d'Odoo est décomptée dans Odoo par sa livraison, et une réception d'une commande d'achat importée par sa réception : ces mouvements ne partent pas en plus comme mouvements de stock.
- Écarts mesurés, jamais corrigés en silence. Chaque nuit, GSE-Web compare son stock à celui d'Odoo, article par article. Un écart devient un point à traiter avec les deux quantités ; rien n'est écrit, dans aucun sens. « Aligner Odoo sur GSE-Web » est un geste de l'ADMIN : il envoie à Odoo un ajustement daté, le stock de GSE-Web n'est pas modifié.
- Une commande d'achat = une commande fournisseur confirmée du module Achats, au tiers fournisseur de même code, au prix net de la ligne, avec sa date prévue. Mêmes refus que pour les ventes : jamais de commande partielle. Une commande modifiée ou annulée dans Odoo après l'import n'est pas reportée : un point à traiter le dit.
- Réception validée dans Odoo : une réception faite dans GSE-Web sur une commande importée valide la réception de la commande dans Odoo avec la quantité reçue ; ce qui reste à recevoir reste ouvert.
- Temps réel et filet. Avec « Recevoir les notifications d'Odoo », Odoo prévient GSE-Web à chaque changement ; GSE-Web regroupe les notifications (2 secondes de calme, 10 au plus) puis relit les enregistrements dans Odoo. Sans cette option, ou si Odoo ne peut pas appeler, le passage périodique suffit. Les déclinaisons d'Odoo sont reprises comme des produits simples indépendants.
Au quotidien
L'écran du connecteur se lit de haut en bas : l'état, le serveur, les options, les boutons, puis les points à traiter et le journal.
La carte « État »
Elle dit où en est la connexion, la version d'Odoo et le protocole retenu, la date de la dernière synchronisation, la dernière erreur et le nombre de points à traiter. Sur la carte de la page « Intégrations », l'état tient en une puce.
- À activer « Configurée, pas encore activée ».
- Connecté « Active — scrutation de secours toutes les N minutes ».
- En pause « En pause — rien n'est envoyé ni importé ».
- Arrêté — à vérifier « Arrêtée par le serveur — vérifiez la clé et testez ».
« Synchroniser maintenant »
Les commandes arrivent dès qu'Odoo prévient GSE-Web, ou au plus tard à la prochaine scrutation, et le stock part vers Odoo quelques secondes après chaque mouvement : l'écran le rappelle sous le bouton. Ce bouton sert seulement à lancer tout de suite un passage complet. Le message dit si le passage est terminé, s'il a relevé des points à traiter, ou pourquoi il n'a pas été lancé.
La carte « Ce qui passe entre GSE-Web et Odoo »
Elle liste les options par thème — Ventes, Stock, Achats, Articles et tiers, Temps réel — avec, pour chacune, ce qu'elle fait. Les options qui écrivent dans Odoo portent la mention « Écrit dans Odoo : l'utilisateur d'intégration doit avoir le droit d'écriture ». Si Odoo ne peut pas prévenir GSE-Web, l'écran l'indique et seule la scrutation de secours fonctionne.
Le « Journal »
Chaque passage y figure avec son type et son résultat. Types : « Envoi des fiches produits », « Reprise des articles d'Odoo », « Reprise des tiers d'Odoo », « Envoi du stock (rattrapage) », « Stock en direct », « Rattrapage des commandes de vente », « Commande reçue d'Odoo », « Livraisons validées dans Odoo », « Rattrapage des commandes d'achat », « Réceptions validées dans Odoo », « Mesure des écarts de stock », « Contrôle des actions automatisées », « Test de connexion ». Résultats : « Réussi », « Partiel », « Échec », « En cours », « Interrompu ». Un clic sur un passage ouvre son détail, élément par élément : commande importée, livraison validée, mouvement envoyé ou déjà présent dans Odoo, article créé, mis à jour ou relié… (200 éléments au plus par passage). Les passages qui n'ont rien changé peuvent être masqués.
Les « Points à traiter »
Une ligne qui ne passe pas ne bloque jamais la synchronisation : elle devient un point à traiter et le reste continue. Corrigez la cause dans Odoo ou dans GSE-Web, puis « Rejouer » ; sinon « Ignorer ».
- « Rejouer » est proposé pour les commandes de vente et d'achat, les livraisons et les réceptions : il relit l'enregistrement dans Odoo et retente. Les autres points disparaissent d'eux-mêmes une fois leur cause corrigée.
- « Ignorer » range le point : un point ignoré ne revient pas tant que sa cause n'a pas disparu puis réapparu. « Tout ignorer », en tête de la liste, range d'un coup tous les points ouverts après confirmation ; aucune commande n'est importée pour autant.
Notifications d'Odoo
- Cause
- « Recevoir les notifications d'Odoo » est cochée, mais le module « Actions automatisées » n'est pas installé dans Odoo, ou l'utilisateur d'intégration n'a pas les droits techniques pour créer les actions.
- Que faire
- Installez le module dans Odoo et donnez à l'utilisateur d'intégration le droit « Paramètres techniques », puis testez à nouveau. En attendant, le passage périodique importe les commandes.
- Cause
- Quelqu'un a désactivé ou supprimé dans Odoo une action « GSE-Web » ; le contrôle, toutes les 6 heures, l'a détecté.
- Que faire
- GSE-Web la réactive ou la recrée quand il le peut, et le journal le dit. Sinon, vérifiez dans Odoo que les actions « GSE-Web » sont actives.
Articles et tiers
- Cause
- Les mouvements de stock sont envoyés, mais aucun article stockable d'Odoo n'a la référence de ce produit.
- Que faire
- Créez l'article dans Odoo avec la même référence (stockable), ou cochez « Envoyer les fiches produits de GSE-Web à Odoo ». Le point disparaît quand le mouvement part.
- Cause
- Odoo a refusé la fiche envoyée par GSE-Web ; son code de refus est affiché.
- Que faire
- Vérifiez les droits de l'utilisateur d'intégration et la fiche de l'article dans Odoo à partir de ce code.
- Cause
- L'article relié n'existe plus dans Odoo.
- Que faire
- Recréez-le dans Odoo avec la même référence. S'il ne doit plus y figurer, écrivez-nous.
- Cause
- Le connecteur ne gère pas les articles suivis par lot ou par numéro de série d'Odoo.
- Que faire
- Rien à faire dans GSE-Web : cet article n'est pas repris. Gérez-le directement dans Odoo.
- Cause
- L'unité de mesure de l'article dans Odoo n'est pas dans la « Correspondance des unités de mesure ».
- Que faire
- Ajoutez l'identifiant de l'unité d'Odoo et le code de l'unité GSE-Web correspondante, enregistrez, puis relancez la synchronisation.
- Cause
- La référence de ce produit est portée par plusieurs articles dans Odoo, ou par un article déjà relié à un autre produit de GSE-Web.
- Que faire
- Faites en sorte qu'une référence désigne un seul article, des deux côtés.
- Cause
- La fiche du tiers n'a pas pu être créée ou mise à jour dans GSE-Web.
- Que faire
- Vérifiez la fiche du tiers dans Odoo (nom, adresse), puis relancez la synchronisation ; si le point revient, écrivez-nous.
Commandes de vente
- Cause
- Une ligne de la commande porte une référence qui n'existe pas dans GSE-Web.
- Que faire
- Créez le produit avec la même référence (ou cochez « Reprendre les articles d'Odoo »), puis « Rejouer ».
- Cause
- La ligne est exprimée dans une autre unité que l'unité de stock de l'article (par exemple des douzaines). Aucune quantité n'est jamais convertie.
- Que faire
- Corrigez la ligne dans Odoo pour qu'elle soit dans l'unité de stock, puis « Rejouer ».
- Cause
- Une ligne porte un article suivi par lot ou par numéro de série dans Odoo.
- Que faire
- Traitez cette commande directement dans Odoo ; le connecteur ne prend pas en charge ces articles.
- Cause
- La devise de la commande n'est pas celle de votre organisation.
- Que faire
- Utilisez la devise de l'organisation pour cette commande dans Odoo, puis « Rejouer ».
- Cause
- La commande date de plus de jours que l'« Âge maximal d'une commande rattrapée » (30 par défaut), par exemple après une longue pause.
- Que faire
- Si vous voulez quand même la traiter, « Rejouer » l'importe ; sinon « Ignorer ».
- Cause
- Le tiers correspondant au client est archivé dans GSE-Web.
- Que faire
- Réactivez le tiers dans GSE-Web, puis « Rejouer ».
- Cause
- Le bon est déjà pris en charge par quelqu'un : GSE-Web ne l'annule pas sous les pieds de l'équipe.
- Que faire
- Décidez avec l'équipe d'annuler le bon ou de le servir, puis « Rejouer » ou « Ignorer ».
- Cause
- GSE-Web n'écrit pas dans un bon déjà créé les changements faits ensuite dans la commande.
- Que faire
- Vérifiez le bon et corrigez-le à la main si besoin, puis « Ignorer ».
- Cause
- Odoo a déjà livré cette commande quand elle arrive : un bon ferait sortir la marchandise une seconde fois.
- Que faire
- Saisissez la sortie de stock correspondante dans GSE-Web si elle n'y est pas, puis « Ignorer ».
- Cause
- Le bon n'a pas pu être créé ; le motif est affiché.
- Que faire
- Corrigez la cause indiquée, puis « Rejouer » ; si le point revient, écrivez-nous.
- Cause
- GSE-Web n'annule jamais une commande dans Odoo.
- Que faire
- Annulez la commande dans Odoo si nécessaire, puis « Ignorer ».
Livraisons et stock
- Cause
- Odoo n'a pas accepté la validation : commande supprimée dans Odoo, ligne du bon absente de la commande, ou aucune quantité préparée.
- Que faire
- Corrigez la cause indiquée dans Odoo ou dans GSE-Web, puis « Rejouer ».
- Cause
- Odoo a refusé le mouvement ; le motif est affiché.
- Que faire
- Vérifiez les droits « Inventaire / Utilisateur » de l'utilisateur d'intégration et l'article dans Odoo. Le point disparaît quand le mouvement part.
- Cause
- Le stock de GSE-Web et celui d'Odoo diffèrent pour cet article. Rien n'a été écrit.
- Que faire
- Cherchez l'origine de l'écart. Si GSE-Web a raison, « Aligner Odoo sur GSE-Web » envoie à Odoo un ajustement daté, après confirmation des deux quantités.
Achats et réceptions
- Cause
- Une ligne de la commande d'achat porte une référence absente de GSE-Web.
- Que faire
- Créez le produit avec la même référence, puis « Rejouer ».
- Cause
- La ligne est exprimée dans une autre unité que l'unité de stock. Aucune quantité n'est convertie.
- Que faire
- Corrigez la ligne dans Odoo, puis « Rejouer ».
- Cause
- Aucun tiers fournisseur de GSE-Web n'a le code du fournisseur de la commande.
- Que faire
- Créez le fournisseur avec le même code (ou cochez « Reprendre les tiers d'Odoo »), puis « Rejouer ».
- Cause
- La devise de la commande n'est pas celle de votre organisation.
- Que faire
- Utilisez la devise de l'organisation dans Odoo, puis « Rejouer ».
- Cause
- Une ligne porte un article suivi par lot ou par numéro de série dans Odoo.
- Que faire
- Traitez cette commande directement dans Odoo.
- Cause
- La commande date de plus de jours que l'« Âge maximal d'une commande rattrapée ».
- Que faire
- « Rejouer » l'importe malgré son âge ; sinon « Ignorer ».
- Cause
- GSE-Web ne reporte pas dans une commande fournisseur déjà créée les changements faits ensuite dans Odoo.
- Que faire
- Vérifiez la commande fournisseur et corrigez-la à la main si besoin, puis « Ignorer ».
- Cause
- La commande fournisseur n'a pas pu être créée ; le motif est affiché.
- Que faire
- Corrigez la cause indiquée, puis « Rejouer » ; si le point revient, écrivez-nous.
- Cause
- Odoo n'a pas accepté la validation de la réception ; le motif est affiché.
- Que faire
- Corrigez la cause indiquée dans Odoo ou dans GSE-Web, puis « Rejouer ».
Pause, reprise et changements
Le connecteur se coupe et se rouvre à tout moment. Certains changements ont une règle, que l'écran rappelle et que le serveur fait respecter.
« Mettre en pause »
Plus rien n'est envoyé ni importé, et rien n'est perdu.
« Reprendre »
Le rattrapage est lancé : les commandes passées pendant la pause sont importées si elles ont moins de N jours (« Âge maximal d'une commande rattrapée », 30 par défaut). Plus anciennes, elles deviennent des points à traiter.
Changer de serveur, de base, de clé, d'entrepôt ou de magasin
Sous une connexion active, ces réglages sont verrouillés. Suivez cet ordre : « Mettre en pause », modifier, « Enregistrer », « Tester la connexion », « Reprendre ». Pour changer de serveur, « Déconnecter » d'abord : les actions automatisées de l'ancien Odoo sont retirées. La clé d'API se ressaisit dès que le serveur ou la base change.
« Déconnecter »
Après confirmation, les actions automatisées « GSE-Web » sont retirées d'Odoo et la clé d'API est effacée. Rien n'est supprimé, ni dans Odoo ni dans GSE-Web : les bons, tiers et commandes déjà créés restent. Si Odoo ne répond pas, l'écran vous demande de supprimer vous-même les actions « GSE-Web » depuis Odoo.
Reconnecter le même serveur
Les commandes, articles et tiers déjà reliés sont retrouvés : aucun second bon n'est créé pour une commande déjà importée.
Ce qui précède l'activation
Les commandes et les mouvements de stock antérieurs à l'activation ne sont jamais rejoués. Le passage périodique relit le journal de stock un peu en arrière pour ne rien perdre, sans jamais remonter avant l'activation.
Choisir qui est maître des articles
« Reprendre les articles d'Odoo » et « Envoyer les fiches produits de GSE-Web à Odoo » ne se cochent pas ensemble : cocher l'une décoche l'autre. Réfléchissez-y avant d'activer, pour éviter qu'un côté ne réécrive l'autre.
Fermeture du module
Si KLS-Concept ferme le module pour votre organisation, tout s'arrête sans rien supprimer. À la réouverture, le passage suivant rattrape les commandes ; les bons, tiers et commandes déjà créés restent ordinaires.
Sécurité et données
Ce que le connecteur garde, et comment.
Clé d'API chiffrée
La clé d'API est chiffrée sur le serveur (AES-256-GCM). Elle est en écriture seule : jamais réaffichée, ni inscrite dans les journaux, et ressaisie dès que le serveur ou la base change.
Double authentification
Elle est exigée pour saisir ou remplacer la clé d'API d'un Odoo.
HTTPS public seulement
Le connecteur n'appelle que l'adresse HTTPS saisie, sur un hôte public ; aucune redirection n'est suivie et une adresse de réseau privé est refusée.
Notifications à adresse secrète
Odoo ne signe pas ses notifications. Chaque notification arrive sur une adresse secrète, et son contenu n'est jamais cru : GSE-Web relit l'enregistrement dans Odoo avant d'agir.
Mouvements sans doublon
Chaque mouvement de stock porte une référence qui permet à GSE-Web de vérifier, avant d'écrire, qu'il n'est pas déjà dans Odoo. Aucune quantité n'est jamais écrasée, rien n'est supprimé dans Odoo.
Traçabilité
Qui a branché Odoo, changé la clé, suspendu la synchronisation, et chaque écriture de GSE-Web dans Odoo (livraison, réception, mouvement, alignement) figurent dans le journal d'audit de l'organisation, sans jamais la valeur de la clé.
Dépannage
Le message affiché par l'écran, ce qu'il faut faire. Le code entre crochets aide le support à retrouver le cas.
« Arrêtée par le serveur — vérifiez la clé et testez »
Après cinq refus d'authentification d'affilée (clé révoquée, utilisateur supprimé, mot de passe changé), le serveur arrête la connexion pour ne pas insister. Vérifiez la clé dans Odoo, saisissez-en une nouvelle si besoin, « Enregistrer », « Tester la connexion », puis « Activer ».
- Que faire
- Saisissez l'adresse complète, qui commence par https://, sans identifiant ni paramètre.
[ODOO_SERVER_URL_INVALID]
- Que faire
- Le connecteur n'appelle que des serveurs publics. Utilisez l'adresse publique de votre Odoo.
[ODOO_SERVER_URL_PRIVATE_HOST]
- Que faire
- Renseignez le nom de la base à laquelle l'utilisateur d'intégration se connecte, enregistrez, puis testez.
[ODOO_DATABASE_REQUIRED]
- Que faire
- Vérifiez la base, l'identifiant et la clé d'API, et que l'utilisateur d'intégration est actif. Générez une nouvelle clé si besoin.
[ODOO_SERVER_AUTH_FAILED]
- Que faire
- Le connecteur ne se branche pas sur une autre version d'Odoo.
[ODOO_SERVER_VERSION_UNSUPPORTED]
- Que faire
- Donnez-lui les droits « Inventaire / Utilisateur », ou décochez l'option qui écrit dans Odoo.
[ODOO_SERVER_READ_ONLY]
- Que faire
- « Tester la connexion », choisissez la « Société Odoo », puis « Enregistrer ».
[ODOO_COMPANY_REQUIRED]
- Que faire
- Testez de nouveau la connexion et choisissez une société dans la liste proposée.
[ODOO_COMPANY_UNKNOWN]
- Que faire
- Le connecteur ne relie qu'une société dans la devise de votre organisation.
[ODOO_SERVER_CURRENCY_MISMATCH]
- Que faire
- Choisissez le « Magasin GSE-Web » à relier, puis « Enregistrer ».
[ODOO_WAREHOUSE_REQUIRED]
- Que faire
- Choisissez un magasin réel.
[ODOO_WAREHOUSE_EXERCISE_REFUSED]
- Que faire
- « Tester la connexion », choisissez l'« Entrepôt Odoo », « Enregistrer », puis « Activer ».
[ODOO_REMOTE_WAREHOUSE_REQUIRED]
- Que faire
- Testez de nouveau la connexion et choisissez un entrepôt de la société retenue.
[ODOO_REMOTE_WAREHOUSE_UNKNOWN]
- Que faire
- Vérifiez que votre Odoo répond depuis Internet, puis réessayez.
[ODOO_SERVER_UNREACHABLE]
- Que faire
- Réessayez un peu plus tard.
[ODOO_SERVER_TIMEOUT]
- Que faire
- Patientez : le passage suivant reprend de lui-même.
[ODOO_SERVER_RATE_LIMITED]
- Que faire
- Réessayez ; si le message revient, écrivez-nous avec le code ci-dessous.
[ODOO_SERVER_RESPONSE_INVALID]
- Que faire
- Lisez le message d'Odoo : il dit en général ce qui manque (droit, enregistrement, champ). Corrigez-le dans Odoo, puis réessayez.
[ODOO_REMOTE_ERROR]
- Que faire
- « Mettre en pause », modifier, « Enregistrer », « Tester la connexion », « Reprendre ».
[ODOO_CONNECTION_ACTIVE_CHANGE_REFUSED]
- Que faire
- « Déconnecter », puis saisissez le nouveau serveur.
[ODOO_SERVER_CHANGE_REQUIRES_DISCONNECT]
- Que faire
- Saisissez la clé d'API. Elle se ressaisit dès que l'adresse du serveur ou la base change.
[ODOO_CREDENTIALS_REQUIRED]
- Que faire
- Activez-la dans « Mes informations » (l'écran propose « Ouvrir « Mes informations » »), puis enregistrez de nouveau.
[ODOO_CONNECTION_TWO_FACTOR_REQUIRED]
- Que faire
- Le plus souvent : « Reprendre les articles d'Odoo » et « Envoyer les fiches produits de GSE-Web à Odoo » sont cochées ensemble. Gardez-en une seule.
[ODOO_SETTINGS_INVALID]
- Que faire
- Rien à faire : l'écart a déjà été résorbé.
[ODOO_STOCK_ALIGN_NOTHING_TO_DO]
- Que faire
- Saisissez de nouveau la clé d'API, testez, puis activez.
[INTEGRATIONS_CREDENTIALS_UNREADABLE]
- Que faire
- Attendez la fin du passage en cours.
[INTEGRATIONS_CONNECTION_BUSY]
Questions fréquentes
Le connecteur Odoo est-il disponible ?
Il est en cours de mise en service : cette page décrit son fonctionnement, mais il n'est pas encore ouvert aux organisations. Écrivez-nous depuis la page de contact si vous voulez être prévenu de son ouverture.
Quelles versions d'Odoo sont prises en charge ?
Odoo 17, 18 et 19. GSE-Web lit la version et choisit le protocole : JSON-RPC jusqu'à Odoo 18, JSON-2 à partir d'Odoo 19. Une autre version est refusée en clair, sans basculement silencieux.
Qui fait foi : GSE-Web ou Odoo ?
GSE-Web fait foi pour le stock physique, les livraisons et les réceptions. Odoo garde les articles (ou GSE-Web, si vous le choisissez), les tiers, les commandes de vente et d'achat, la facturation et la comptabilité. Odoo n'écrit jamais une quantité physique dans GSE-Web : son stock est seulement lu, pour mesurer les écarts.
Le stock de GSE-Web écrase-t-il celui d'Odoo ?
Non. Chaque entrée, ajustement, inventaire ou transfert part vers Odoo sous forme de mouvement de stock, jamais comme une quantité écrasée. Un mouvement déjà présent dans Odoo n'est pas renvoyé. Un écart est mesuré chaque nuit et jamais corrigé en silence : « Aligner Odoo sur GSE-Web » est un geste de l'ADMIN.
Faut-il tout activer ?
Non. Chaque échange est une option, désactivée par défaut : ventes, livraisons, stock, écarts, achats, réceptions, articles, tiers, notifications. Vous cochez seulement ce dont vous avez besoin, par exemple les commandes de vente, le stock et les livraisons sans les achats, ou l'inverse.
Que se passe-t-il si une ligne de commande pose problème ?
Aucun bon n'est créé, jamais un bon partiel, et un point à traiter explique pourquoi : article inconnu, unité différente de l'unité de stock, article suivi par lot ou numéro de série, devise différente. Corrigez la cause puis « Rejouer ». Aucune quantité n'est jamais convertie.
Les articles à lot ou numéro de série sont-ils gérés ?
Non. Les articles suivis par lot ou par numéro de série dans Odoo sont refusés, avec un point à traiter. La facturation et la comptabilité ne sont pas non plus dans le périmètre du connecteur.
Les déclinaisons d'Odoo sont-elles reprises ?
Oui, comme des produits simples indépendants. La hiérarchie parent et enfant des déclinaisons de GSE-Web n'est pas reprise pour le moment.
Au bout de combien de temps une commande arrive-t-elle dans GSE-Web ?
Aussitôt si « Recevoir les notifications d'Odoo » est cochée et si Odoo peut appeler GSE-Web (module « Actions automatisées » installé). Sinon, au plus tard au passage périodique suivant (5 minutes par défaut, réglable de 1 à 15).
Et le stock vers Odoo ?
Quelques secondes après chaque changement dans le magasin relié, si « Envoyer les mouvements de stock à Odoo en temps réel » est cochée. Le passage périodique rattrape un envoi qui se serait perdu.
Mon Odoo n'est pas joignable depuis Internet. Est-ce possible ?
Non. Le connecteur n'appelle que des serveurs publics en HTTPS. Sur Odoo Online, l'accès externe n'existe que sur les offres « Custom ».
Que se passe-t-il si je mets en pause ou si je déconnecte ?
En pause, rien n'est envoyé ni importé et rien n'est perdu ; à la reprise, les commandes passées entre-temps sont rattrapées. À la déconnexion, les actions automatisées « GSE-Web » sont retirées d'Odoo et la clé est effacée ; les bons, tiers et commandes déjà créés restent, et reconnecter le même serveur ne crée aucun second bon.
Relier votre Odoo à GSE-Web
Demandez à être prévenu de l'ouverture du connecteur pour votre organisation, ou posez-nous vos questions sur votre cas.