We Do Dev Work
We Do Dev Work
Software developmentWeb app
• 17 Oct 2026

Connecter Odoo et Exact Online : options et coûts

Connecter Odoo et Exact Online : options et coûts

Réponse courte : une connexion entre Odoo et Exact Online envoie les clients, les factures de vente et les notes de crédit d'Odoo vers Exact, et rapatrie le statut de paiement dans Odoo. Testez d'abord un connecteur prêt à l'emploi de l'Odoo Apps store (celui de Callista, une société belge, démarre à 708 € par an) : il suffit souvent pour une seule société avec une TVA classique. Le sur mesure se justifie avec plusieurs dossiers, des centres de coûts, des sociétés belges et néerlandaises côte à côte ou beaucoup d'exceptions. Comptez alors 6 à 10 jours de développement pour un seul sens (environ 3 000 à 5 500 €) et 12 à 20 jours pour les deux sens (environ 6 000 à 11 000 €). Cet article se concentre sur Exact Online. Pour la vue d'ensemble de tous les logiciels comptables, lisez notre guide sur l'intégration d'Odoo avec votre comptabilité.

Pourquoi garder Exact Online à côté d'Odoo ?

Le scénario est presque toujours le même. Une PME dépasse son outil de facturation et choisit Odoo pour la vente, le stock, les achats, les projets ou une boutique en ligne. Mais son expert-comptable ou sa fiduciaire travaille dans Exact Online, pour vous et pour des dizaines d'autres clients, avec ses propres contrôles, rapports et déclarations TVA. Il ne passera pas à Odoo. Exact Online est très répandu en Belgique comme aux Pays-Bas, donc il y a de bonnes chances que votre fiduciaire tourne entièrement dessus.

Le partage des rôles est alors clair : Odoo fait foi pour les clients et les marchandises, Exact fait foi pour le grand livre. La connexion doit protéger cette frontière. Décidez qui peut modifier quoi, et dans quel système, avant d'écrire la moindre ligne de code.

Ce qui se synchronise, dans quel sens et quand

Voici la répartition que nous construisons le plus souvent. Les noms de ressources viennent de la documentation REST d'Exact Online.

DonnéesSensQuand
Clients et relations (Accounts)Odoo vers Exact ; le code Exact est enregistré sur la fiche OdooÀ la première facture de ce client, et lors d'un changement de nom, d'adresse ou de numéro de TVA
Factures de venteOdoo vers ExactDès la validation de la facture dans Odoo, via une file d'attente
Notes de créditOdoo vers Exact, liées à la facture d'origineÀ la validation dans Odoo ; ne jamais modifier une facture comptabilisée
Paiements et statut de lettrageExact vers OdooChaque heure ou chaque nuit, à partir des postes ouverts dans Exact
Codes TVA (VATCodes)Exact vers Odoo (lecture seule, pour le mapping)Une fois au départ, puis à chaque changement de taux
Comptes généraux (GLAccounts)Exact vers Odoo (lecture seule)Une fois, puis à chaque modification du plan comptable
Centres de coûts (Costcenters)Exact vers Odoo, comme comptes analytiquesUne fois, puis quand le comptable en ajoute un
Articles (Items)Odoo vers Exact, seulement si Exact doit rapporter par articleÀ la création ou modification ; souvent inutile

Deux choix déterminent le reste. D'abord : si votre comptable encode lui-même les factures d'achat dans Exact (souvent via le scan d'Exact), inutile de les envoyer depuis Odoo. Ensuite : vous suffit-il de voir « payé ou non » dans Odoo, ou voulez-vous aussi les paiements partiels et l'extrait bancaire correspondant ? Le premier cas représente quelques jours de travail ; le second relève de la version bidirectionnelle.

L'API Exact Online : ce qu'il faut savoir avant de commencer

Celui qui développe doit vérifier les points ci-dessous dans votre propre environnement Exact.

Enregistrer une application dans l'App Center

Toute connexion est une application enregistrée dans l'Exact Online App Center. Vous obtenez un client ID, un client secret et vous définissez une URL de retour. Selon Apideck, une application qu'Exact n'a pas encore validée ne peut se connecter qu'aux utilisateurs de l'environnement Exact qui l'a créée ; une application publique doit passer la revue d'Exact. Pour une connexion propre à votre entreprise, nous enregistrons donc généralement l'application dans votre propre environnement Exact.

OAuth2 et des jetons de courte durée

Exact utilise OAuth2 avec un code d'autorisation. Un jeton d'accès est valable 600 secondes. Selon Maesn, vous ne pouvez en demander un nouveau qu'après 570 secondes, et chaque jeton de rafraîchissement ne sert qu'une fois : chaque renouvellement en fournit un nouveau, et l'ancien renvoie ensuite une erreur 401. Un jeton de rafraîchissement inutilisé pendant 30 jours expire. Si votre connexion est arrêtée un mois (congés, serveur éteint), quelqu'un doit se reconnecter à Exact. Deux processus qui renouvellent les jetons en même temps se bloquent mutuellement : un stockage central des jetons est une exigence, pas un détail.

Par dossier (division)

Chaque appel API contient le numéro du dossier, sous la forme /api/v1/{division}/.... Trois sociétés dans Exact, ce sont trois dossiers, chacun avec ses relations, son grand livre et ses codes TVA. La connexion doit savoir vers quel dossier envoyer chaque société Odoo.

Limites par minute et par jour

Les limites documentées par Exact sont de 60 appels par minute et 5 000 par jour, par application et par dossier. Au-delà, vous recevez une erreur HTTP 429. Exact demande d'enchaîner les appels un par un, pas en parallèle. Exact Online Premium permet davantage d'appels par jour ; les sources citent jusqu'à 30 000 mais divergent sur les règles exactes, donc renseignez-vous auprès d'Exact. Maesn et Barcode Scan décrivent aussi une limite d'erreurs : une dizaine d'erreurs par endpoint et par heure, après quoi Exact vous bloque temporairement. Une connexion qui réessaie sans fin la même facture erronée se met elle-même hors service.

Faites le calcul. Une facture pour un nouveau client coûte facilement trois ou quatre appels (chercher la relation, la créer, envoyer la facture, vérifier). Mille factures en fin de mois, ce sont 3 000 à 4 000 appels, et à 60 par minute au moins une heure. Les endpoints bulk et sync renvoient jusqu'à 1 000 enregistrements par appel au lieu de 60.

Webhooks

Exact propose des webhooks, mais pas pour tout. La liste des ressources les indique entre autres pour les relations, les factures de vente, les comptes généraux et les articles, mais pas pour les codes TVA ni les centres de coûts. Un webhook ne contient pas les données, seulement l'enregistrement modifié ; il faut un appel supplémentaire pour les lire. Les abonnements se font par dossier et votre Odoo doit être joignable via une adresse HTTPS publique. Pour les paiements, une vérification périodique des postes ouverts reste plus fiable en pratique.

Exact Online Belgique et Pays-Bas : deux mondes

Exact Online a un environnement et une URL de base par pays (start.exactonline.be et start.exactonline.nl). Un dossier belge a un autre plan comptable et d'autres codes TVA, parce que la déclaration est différente : en Belgique, vous remplissez des grilles comme 01 à 03 (6, 12 et 21 %), 44 et 46 (services et biens à des entreprises de l'UE), 45 (cocontractant belge) et 47 (hors UE) ; aux Pays-Bas, ce sont des rubriques comme 1a (21 % national) et 3b (livraisons à des entreprises d'autres pays de l'UE). Un mapping qui fonctionne pour votre filiale néerlandaise ne se copie donc pas sur votre société belge. Si vous facturez des entreprises belges, décidez aussi quel système envoie la facture Peppol : Exact a son propre point d'accès Peppol, Odoo aussi, et votre client ne doit pas la recevoir deux fois.

Connecteur standard ou connexion sur mesure ?

Soyons honnêtes : un connecteur standard suffit souvent. En octobre 2026, l'Odoo Apps store propose entre autres l'Exact Online Connector de Callista (708 € par an en Standard, 948 € par an en Advanced avec retour des paiements vers Odoo, et une file de synchronisation avec bouton de relance) et celui de Mainframe Monkey (environ 1 060 $, Odoo Enterprise uniquement, récupère codes TVA et journaux, mais pas encore de multi-société). On y trouve aussi quelques modules plus petits d'autres éditeurs.

Un connecteur convient si vous avez une seule société, un seul dossier Exact, une TVA belge et intracommunautaire classique, et si factures et statut de paiement vous suffisent. Testez-le un mois sur une copie de votre Odoo et faites vérifier la déclaration TVA par votre comptable.

Le sur mesure convient si vous avez plusieurs sociétés ou dossiers (surtout belges et néerlandais ensemble), voulez envoyer des centres de coûts ou des projets par ligne de facture, avez besoin des paiements partiels et du détail du lettrage dans Odoo, êtes sur Odoo Online où le connecteur ne fonctionne pas (Callista indique que son application n'est pas compatible avec Odoo Online), ou si le connecteur ne couvre pas votre version d'Odoo. Attention : selon la page tarifaire d'Odoo, une connexion qui dialogue avec Odoo depuis l'extérieur nécessite l'abonnement Custom.

Où une connexion Odoo Exact échoue

  1. Le mapping TVA. Odoo travaille avec des taxes et des positions fiscales, Exact avec des codes TVA par dossier. Autoliquidation, livraisons intracommunautaires, exportation et cocontractant belge exigent chacun une règle explicite. Il en manque une, et Exact refuse la facture ou la place dans la mauvaise grille.
  2. Les écarts d'arrondi. Odoo peut arrondir par ligne ou sur le total ; Exact recalcule parfois la TVA. Un centime d'écart et le poste ouvert ne correspond plus à Odoo. Envoyez les montants de TVA explicitement et alignez l'arrondi dans les deux systèmes.
  3. Multi-société et plusieurs dossiers. Une facture de la société A qui atterrit dans le dossier de la société B, c'est pire qu'une facture qui n'arrive pas. Un dossier fixe par société Odoo, et des tests pour chacun.
  4. Les relations en double. Le client existe déjà dans Exact, créé à la main par le comptable. Sans correspondance sur le numéro de TVA ou le numéro d'entreprise (BCE), la connexion en crée un second. Enregistrez le code Exact sur la fiche Odoo.
  5. Les jetons expirés. Un serveur éteint pendant un mois, un deuxième environnement qui utilise le même jeton : la connexion s'arrête sans bruit. Faites-vous prévenir avant.
  6. Les limites en fin de mois. C'est précisément quand tout le monde facture que le budget journalier s'épuise. Une file qui attend la fin de l'erreur 429 et reprend le lendemain vaut mieux qu'un script qui plante.
  7. La file d'erreurs que personne ne lit. Période clôturée, relation bloquée, code TVA inconnu : ces erreurs demandent une intervention humaine. Sans alerte, le comptable les découvre à la déclaration trimestrielle.

Comment nous construisons une connexion Odoo Exact Online

  1. Atelier de mapping avec votre comptable. Une séance où nous mettons chaque taxe Odoo, position fiscale, journal et compte de produits en regard des codes Exact. Le résultat est un tableau validé par votre comptable.
  2. Dossier de test. Nous développons et testons sur un dossier de test séparé dans Exact et une copie de votre Odoo, jamais sur votre comptabilité réelle.
  3. Une file avec limites et gestion des jetons. Chaque facture devient une tâche avec un statut. Les appels s'enchaînent un par un, sous les 60 par minute, avec un budget journalier par dossier et un seul endroit où les jetons sont renouvelés.
  4. File d'erreurs avec alertes. Les erreurs temporaires sont relancées ; les erreurs de contenu non. Elles arrivent dans une liste dans Odoo, et vous ou votre comptable recevez un e-mail qui dit quoi corriger.
  5. Un mois de test en parallèle. Un mois de vraies factures via la connexion, puis le comptable compare la déclaration TVA et les postes ouverts.
  6. Passation. Le tableau de mapping, un guide pour la file d'erreurs et le code dans votre dépôt. Vous en êtes propriétaire.

Combien ça coûte et combien de temps ?

OptionContenuJoursEstimation hors TVA
Connecteur standardInstallation, configuration, mois de testQuelques jours, en partie par vous708 à 948 € par an de licence (Callista), plus votre temps
Sur mesure, un sensRelations, factures et notes de crédit vers Exact, mapping TVA et comptes, file d'erreurs6 à 10Environ 3 000 à 5 500 €
Sur mesure, deux sensPlus paiements et lettrage en retour, centres de coûts, plusieurs dossiers ou Belgique et Pays-Bas ensemble12 à 20Environ 6 000 à 11 000 €

Nous facturons un tarif journalier senior de 495 € hors TVA, en projet au jour. Une connexion sur mesure est généralement en production en 3 à 6 semaines, selon la vitesse à laquelle le mapping est validé avec votre comptable. Après la mise en production arrivent les petits changements : un nouveau code TVA, un journal supplémentaire, une nouvelle version d'Odoo. Une carte d'heures s'y prête bien : 14 heures pour 910 €, et nous commençons dans les 24 heures.

Quand faire appel à un spécialiste ?

Vous pouvez vous en charger si un connecteur couvre votre version d'Odoo, que vous avez un seul dossier et que le mois de test est juste. Faites appel à quelqu'un si votre comptable corrige des factures à la main chaque mois, si des relations sont en double dans Exact, si la connexion s'arrête sans que personne sache pourquoi, ou si vous voulez brancher un dossier belge et un dossier néerlandais sur un même Odoo. Ces problèmes ne diminuent pas avec le temps : chaque mois sans connexion fiable, c'est un mois que votre comptable doit corriger après coup.

Vous voulez savoir si un connecteur standard suffit ou s'il vous faut du sur mesure ? Découvrez nos intégrations Odoo, ou décrivez-nous votre situation : version et abonnement Odoo, nombre de sociétés et de dossiers Exact, Belgique ou Pays-Bas, et nombre de factures par mois. Vous recevez un avis honnête et une estimation en jours.

Questions fréquentes

Existe-t-il un connecteur Odoo prêt à l'emploi pour Exact Online ?

Oui. L'Odoo Apps store propose entre autres l'Exact Online Connector de Callista (708 ou 948 € par an) et celui de Mainframe Monkey (Enterprise uniquement). Les deux envoient relations et factures vers Exact ; le retour des paiements est inclus dans la version Advanced de Callista.

Une connexion Odoo Exact fonctionne-t-elle avec Exact Online Belgique ?

Techniquement oui, mais un dossier belge tourne dans son propre environnement, avec d'autres codes TVA et un autre plan comptable. Demandez explicitement à l'éditeur du connecteur s'il gère la Belgique, et prévoyez un mapping TVA distinct.

Combien d'appels API une connexion peut-elle faire dans Exact Online ?

Selon la documentation d'Exact, 60 par minute et 5 000 par jour, par application et par dossier. Exact Online Premium permet davantage ; confirmez la limite exacte auprès d'Exact.

Pourquoi ma connexion Exact s'arrête-t-elle d'un coup ?

Le plus souvent à cause d'un jeton de rafraîchissement expiré ou réutilisé, d'une limite journalière atteinte ou d'une erreur relancée en boucle. Une bonne connexion vous alerte tout de suite au lieu de s'arrêter en silence.

Combien coûte une intégration Odoo Exact Online sur mesure ?

Un seul sens demande en général 6 à 10 jours, environ 3 000 à 5 500 €. Avec retour des paiements, centres de coûts ou plusieurs dossiers, comptez 12 à 20 jours, environ 6 000 à 11 000 € hors TVA.

Un problème de dev ?

Pas besoin de savoir exactement ce qui ne va pas. C'est justement le principe.

Envoyer le signal