Toute entreprise qui adopte un ERP a déjà des outils : une caisse, une boutique en ligne, un logiciel de paie, un outil de signature électronique, un tableur partagé. La tentation est de tout relier.
C'est rarement la bonne décision. Une intégration est un objet vivant : elle casse, elle se maintient, et elle casse en silence.
L'essentiel
- Quatre niveaux de raccordement, du plus simple au plus coûteux : rien, export-import, import planifié, intégration par API.
- L'API externe d'Odoo couvre la lecture et l'écriture sur l'ensemble des modèles.
- 19 modules du dépôt communautaire
rest-framework, et 6 du dépôtconnector, outillent les intégrations. - Le coût d'une intégration n'est pas son développement : c'est sa surveillance.
- La question à poser : que se passe-t-il si elle s'arrête pendant trois jours sans que personne ne le voie ?
Les quatre niveaux, et leur vrai coût
| Niveau | Ce que c'est | Coût initial | Coût de maintenance |
|---|---|---|---|
| 0 — Rien | Les deux outils cohabitent sans échange | Nul | Nul |
| 1 — Export / import manuel | Un fichier, une fois par mois | Nul | Faible, et visible |
| 2 — Import planifié | Un fichier déposé, importé automatiquement | Faible | Moyen : peut casser en silence |
| 3 — Intégration par API | Échange en continu, dans les deux sens | Élevé | Élevé et permanent |
La colonne de droite est la seule qui compte sur cinq ans. Et la ligne 2 est la plus traîtresse : son coût initial est bas, ce qui la rend attirante, mais elle s'arrête sans bruit — un format de fichier qui change, un dossier renommé, un mot de passe expiré.
La ligne 0 mérite d'être défendue : deux outils qui ne communiquent pas, mais dont chacun fait bien son travail, valent mieux qu'une intégration fragile qui fait douter des deux.
La question qui tranche
Avant de chiffrer quoi que ce soit : que se passe-t-il si l'échange s'arrête pendant trois jours sans que personne ne le remarque ?
- Rien de grave → niveau 1 ou 2 suffisent. Un import mensuel fait l'affaire.
- Des commandes clients sont perdues → niveau 3, avec surveillance et alerte. Pas de niveau 2.
- Des chiffres sont faux dans un tableau de bord → niveau 1. Et acceptez un décalage : il vaut mieux un chiffre d'hier qu'un chiffre faux d'aujourd'hui.
La deuxième réponse mérite une précision : si l'arrêt d'une intégration fait perdre des commandes, alors la surveillance fait partie de l'intégration. Une intégration de niveau 3 sans alerte n'est pas une intégration de niveau 3 : c'est un niveau 2 déguisé en niveau 3, et c'est le pire des deux mondes.
Les intégrations qui valent presque toujours le coût
- La boutique en ligne, si elle n'est pas celle d'Odoo. Les commandes doivent arriver en temps réel, et le stock doit être lu en temps réel. L'alternative — ressaisir les commandes — ne tient pas au-delà de quelques unités par jour.
- La banque, pour l'import des relevés. C'est l'un des rares cas où un import planifié de niveau 2 est largement suffisant, et où un décalage d'un jour est sans conséquence.
- La paie, dans un seul sens : Odoo exporte les variables — heures, absences, frais — et reçoit les écritures en retour. Deux échanges simples valent mieux qu'une synchronisation permanente.
- La plateforme agréée de facturation électronique, qui est par nature une intégration permanente — et c'est précisément pour cela qu'elle doit être portée par des modules maintenus, pas par un développement maison.
Celles qui n'en valent presque jamais le coût
- Un CRM séparé synchronisé avec Odoo. Deux bases de clients synchronisées produisent inévitablement des doublons et des conflits d'écriture. Mieux vaut trancher : l'un des deux est la source.
- Un outil de tableaux de bord externe, quand les vues d'Odoo suffisent. Vous ajoutez une dépendance pour un confort d'affichage.
- Une synchronisation bidirectionnelle d'articles avec un outil tiers. Qui gagne en cas de modification simultanée ? Si vous n'avez pas de réponse écrite à cette question, ne le faites pas.
La dernière ligne est la règle générale des intégrations bidirectionnelles : il faut un maître. Sans maître désigné pour chaque champ, vous construisez une machine à produire des conflits silencieux.
Si vous développez : cinq exigences non négociables
- Un utilisateur dédié à l'intégration, avec les droits strictement nécessaires — jamais un compte administrateur partagé.
- Une journalisation de chaque échange, consultable sans accès au serveur.
- Une alerte en cas d'échec, envoyée à une personne nommée. C'est l'exigence la plus souvent omise, et la seule qui évite les pannes silencieuses.
- L'idempotence : rejouer un échange deux fois ne doit pas créer deux commandes.
- Une documentation d'une page : quoi, dans quel sens, qui est maître, qui est alerté. Elle vaudra de l'or dans trois ans.
Le point 1 est aussi un point de sécurité : un jeton d'intégration avec tous les droits est un trousseau de clés dans une boîte aux lettres. Voir les droits utilisateurs et la sécurité des accès.
Questions fréquentes
Odoo dispose-t-il d'une API ?
Oui, une API externe permettant de lire et d'écrire sur l'ensemble des modèles, et des modules communautaires facilitent l'exposition de services web — 19 dans le dépôt rest-framework, 6 dans connector. La faisabilité technique n'est donc presque jamais le sujet : le sujet est la maintenance.
Vaut-il mieux une intégration ou un import mensuel ?
Posez la question du silence : que se passe-t-il si l'échange s'arrête trois jours sans que personne ne le voie ? Si la réponse est « rien de grave », un import mensuel suffit et coûte dix fois moins. Si la réponse est « on perd des commandes », il faut une intégration avec alerte.
Comment éviter les doublons entre deux systèmes ?
En désignant un maître pour chaque champ, par écrit. Une synchronisation bidirectionnelle sans maître désigné produit des conflits silencieux : deux versions d'un même client, deux prix pour un même article, et personne ne sait lequel fait foi.
Faut-il relier sa boutique en ligne existante ou la refaire dans Odoo ?
Si elle fonctionne et que votre croissance vient du marketing, gardez-la et reliez-la : Odoo reste la gestion. Refaire la boutique dans Odoo se justifie quand l'intégration native apporte quelque chose qu'un raccordement ne donne pas — typiquement des tarifs et des encours par client professionnel.
Que surveiller sur une intégration en production ?
Trois choses : la date du dernier échange réussi, le nombre d'échecs sur les dernières 24 heures, et le fait qu'une personne nommée reçoive l'alerte. Une intégration dont personne ne reçoit les erreurs n'est pas surveillée, quelle que soit la qualité de sa journalisation.
Pour aller plus loin
- Les droits utilisateurs et la sécurité des accès
- La boutique en ligne intégrée : quand elle vaut le coup
- Automatiser les tâches répétitives dans une PME
En résumé
Quatre niveaux, et le bon n'est pas le plus élaboré : c'est celui dont vous accepterez le coût de surveillance. Posez la question du silence de trois jours, désignez un maître pour chaque champ, et exigez une alerte nommée. Une intégration sans alerte est une panne qui attend. Parlons de vos outils.