Produit

Sync Odoo et collecte de dons : ce qu'il faut savoir avant de signer

L'équipe LingoPay · · 8 min de lecture

Maintenir deux bases (collecte + CRM) diverge en six mois. Voici les cinq critères qui font qu'une intégration Odoo tient la route.

Illustration de la synchronisation Odoo et plateforme de dons

Beaucoup d'associations gèrent leurs dons d'un côté (plateforme spécialisée) et leur CRM de l'autre (Odoo le plus souvent). Sur le papier, c'est défendable. En pratique, les deux bases divergent en six mois : un changement d'adresse e-mail dans Odoo n'est jamais reporté côté collecte, un nouveau donateur n'apparaît dans Odoo qu'au prochain export Excel, et les relances passent à côté de la moitié des cibles. Voici les cinq critères qui distinguent une vraie intégration Odoo d'un connecteur jouet.

1. Bidirectionnelle, sinon vous bricolez

C'est le critère qui élimine 80 % des solutions du marché. Beaucoup de plateformes proposent un export vers Odoo : tous les soirs, un fichier CSV est poussé vers Odoo et importé. C'est mieux que rien, mais c'est unidirectionnel — les modifications faites dans Odoo (un donateur qui corrige son adresse via votre CRM, un tag commercial ajouté à un compte) ne reviennent jamais côté plateforme.

Conséquence : vous finissez par tenir deux bases en parallèle, et la « source de vérité » devient un sujet de réunion. La bidirectionnalité doit être native :

  • un donateur créé côté collecte apparaît dans Odoo en quelques secondes,
  • un champ modifié dans Odoo (mail, téléphone, segment) est propagé côté collecte,
  • les conflits (la même fiche modifiée des deux côtés simultanément) sont résolus par règle explicite (last_write_wins, ou avec arbitrage côté Odoo).

Si vous voyez le mot « export » dans la documentation sans le mot « import », passez votre chemin.

2. Temps réel, ou quasi

La synchronisation par batch nocturne (une fois par 24 h) est un héritage des années 2010. Aujourd'hui, le standard est la propagation rapide (généralement quelques secondes à une minute selon la charge) — pas de batch nuit.

Pourquoi c'est important : un donateur qui fait un don à 9 h du matin et reçoit dans la foulée un appel commercial à 9 h 15 (pour le remercier ou lui proposer un don-conseil) ne supporte pas que l'agent qui l'appelle ignore l'existence du don. Si la sync attend la nuit, l'agent travaille sur des données vieilles de 23 h.

Critère pratique : interrogez l'éditeur sur le délai médian de propagation. Une réponse honnête se compte en secondes ou en minutes, pas en heures. Une réponse vague (« en temps quasi-réel ») cache souvent un batch d'une heure.

3. Mappable sur les champs custom

Odoo est un ERP. Toute asso un peu structurée a ajouté ses champs propres : un segment_donateur, une date_dernier_contact, un canal_acquisition, un tag_capacité_de_don. Ces champs custom sont l'intelligence de votre CRM.

Une intégration sérieuse permet de les exposer côté collecte :

  • lecture : un don affiche le segment du donateur (utile pour le trésorier qui vérifie un gros donateur),
  • écriture : la plateforme peut écrire dans un champ Odoo (par exemple date_dernier_don ou montant_cumulé_annuel),
  • filtre : les campagnes d'e-mailing côté collecte peuvent cibler un segment Odoo.

Si le connecteur se limite aux trois champs natifs (nom, e-mail, montant), il ne sert qu'à faire des stats agrégées. Vous n'avez pas besoin d'un connecteur pour ça — un export mensuel suffit.

4. Idempotente et résiliente

Une synchronisation qui plante en milieu de course (panne réseau, Odoo en maintenance, quota atteint) doit pouvoir reprendre exactement là où elle s'est arrêtée, sans créer de doublon ni écraser un champ déjà à jour.

Trois symptômes d'une intégration non idempotente :

  • doublons : le même donateur apparaît plusieurs fois dans Odoo après une re-sync,
  • écrasements : un import manuel d'Odoo (par exemple via tableur) est écrasé la nuit par la sync,
  • boucles : un champ propagé d'un côté à l'autre rebondit et déclenche une nouvelle propagation, multipliant les écritures.

La parade technique est connue : identifier chaque entité par une clé stable (UUID côté plateforme + ID Odoo en miroir), tracer le hash du contenu au moment du dernier sync, et n'écrire que si le hash a changé. Ce sont des techniques de base, mais beaucoup de connecteurs sautent l'étape.

5. Gérée par la plateforme, pas par vous

Le dernier critère est commercial. L'intégration repose sur l'API d'Odoo : pas de module .zip à installer côté Odoo, la configuration se fait depuis le dashboard LingoPay (URL Odoo + identifiants techniques). Vous devez tout de même pouvoir compter sur :

  • une documentation d'installation claire,
  • un mapping des champs configurable côté plateforme,
  • des mises à jour gérées par l'éditeur lorsque l'API Odoo évolue,
  • un support qui répond quand la sync casse après une mise à jour Odoo.

Si l'éditeur vous propose « on vous fournit un script Python à mettre dans un cron », fuyez. Vous allez devenir le mainteneur du script, et la moindre mise à jour d'Odoo cassera tout sans préavis.

Les coûts cachés à anticiper

Une intégration Odoo, même bien faite, suppose trois efforts initiaux que les éditeurs minimisent :

  1. La migration initiale. Si vous avez déjà des donateurs des deux côtés, il faut décider quelle base est la source de vérité, matcher les fiches existantes (clé : e-mail + nom), et accepter de trancher manuellement les doublons qui ne se matchent pas tout seuls. Pour une base de 2 000 donateurs, c'est 1 à 2 jours-homme de tri.
  2. Le mapping des champs custom. À faire une seule fois, mais avec soin. Un mapping bâclé revient hanter l'équipe pendant des mois.
  3. La formation des admins. Qui a le droit d'écrire dans quel champ ? Comment gérer un donateur qui demande la suppression de ses données ? Les règles du RGPD se rejouent à chaque interface — il faut les écrire noir sur blanc.

Le piège de la sync facturée à part

Plusieurs éditeurs du marché proposent un connecteur Odoo en option payante à 1 500 € à 4 000 € par an, en plus de l'abonnement plateforme. C'est une rente sur une fonctionnalité qui devrait être incluse dès que vous traitez un volume sérieux de dons.

Chez LingoPay, la sync Odoo est incluse dans le plan Intégral (200 €/mois). Côté plateforme → Odoo : création et mise à jour des donateurs, des dons et des transactions sont propagées en temps réel. Côté Odoo → plateforme : la sync inverse est en cours d'implémentation au cas par cas selon les besoins clients. Pas de facturation séparée, pas de palier de volume, pas de surcoût caché — un CRM bien synchronisé est une condition de viabilité opérationnelle, pas un module premium.

Avant de signer, posez ces six questions

Pour court-circuiter les démos commerciales et obtenir des réponses concrètes :

  1. La sync est-elle bidirectionnelle ? (Si oui : montrez-moi le scénario inverse — modification Odoo qui revient côté plateforme.)
  2. Quel est le délai médian de propagation ? (Réponse attendue en secondes, pas en heures.)
  3. Puis-je mapper mes champs custom Odoo ? (Et si oui : combien ?)
  4. La sync est-elle idempotente ? (Et qu'est-ce qui se passe si je relance un import manuel sur un donateur déjà synchronisé ?)
  5. Le connecteur est-il un module Odoo officiel installable depuis Apps, ou un script à faire tourner soi-même ?
  6. La sync est-elle incluse dans le forfait ou facturée à part ?

Les réponses honnêtes filtrent immédiatement les solutions de surface.

Pour aller plus loin