Nordlet

← Blog

Nordlet vs Odoo pour les créateurs de plateformes

Une comparaison destinée aux développeurs qui hésitent entre une API de comptabilité intégrée et une suite ERP open source, basée sur la documentation officielle de chaque produit.

Nordlet Team · · 10 min de lecture

Odoo et Nordlet sont souvent sélectionnés conjointement par les équipes de plateformes, pourtant il ne s'agit pas du même type de produit. Odoo est une suite d'applications d'entreprise polyvalente intégrant la comptabilité, que vous pouvez auto-héberger et modifier. Nordlet est un backend comptable qui n'a d'autre ambition que la comptabilité, conçu pour être appelé depuis le produit d'un tiers.

Le choix se résume généralement à deux questions : quelle part de votre activité souhaitez-vous centraliser dans un seul système, et qui va l'exploiter. Tout ce qui suit concernant Odoo provient de la documentation officielle et des pages de tarification d'Odoo, dont les liens sont fournis lorsque c'est pertinent.

Ce que sont ces produits

Odoo est une suite open source couvrant la comptabilité, les stocks, la fabrication, les ventes, le CRM, les ressources humaines, les sites web et bien plus encore, disponible via Odoo Online, sur Odoo.sh ou en auto-hébergement. Ses points forts résident dans sa richesse fonctionnelle, son extensibilité et la possibilité de l'exécuter vous-même. Le comportement comptable propre à chaque pays est assuré par des modules de localisation, et sa communauté est vaste.

Nordlet est une API de comptabilité cloud. Elle propose un grand livre en partie double (double-entry ledger) immuable, la facturation, les achats, les flux bancaires et le rapprochement (reconciliation), la gestion des stocks, les immobilisations (fixed assets), la paie, le reporting et la gestion de la TVA européenne via une unique interface REST - soit actuellement plus de 400 points de terminaison (endpoints) répartis sur 29 modules, générés à partir d'une unique spécification OpenAPI. Une application est également fournie et s'exécute sur les mêmes points de terminaison (endpoints) que ceux utilisés par les appelants externes.

La question de l'API, qui tranche la plupart des évaluations

C'est ici que les produits divergent le plus nettement pour les concepteurs de plateformes.

L'API externe d'Odoo se situe au niveau des modèles. Vous vous authentifiez, puis vous appelez des méthodes ORM sur des modèles de données tels que account.move pour les écritures de journal et les factures, res.partner pour les contacts et account.account pour le plan comptable (chart of accounts), via XML-RPC ou JSON-RPC. C'est puissant : tout ce que le système peut modéliser est accessible. Cela signifie également que la responsabilité d'utiliser correctement les modèles vous incombe, et que votre intégration est couplée au modèle de données interne d'Odoo plutôt qu'à un contrat de domaine stable.

Deux faits issus de la documentation d'Odoo modifient le calcul :

  • La documentation d'Odoo indique que l'accès à l'API externe est disponible sur le niveau tarifaire Custom et non sur les formules One App Free ou Standard. L'accès à l'API relève donc d'un choix tarifaire autant que technique. Les formules et tarifs actuels sont consultables sur la page de tarification d'Odoo.
  • Odoo a annoncé que les points de terminaison (endpoints) /xmlrpc, /xmlrpc/2 et /jsonrpc sont appelés à être supprimés (dans Odoo 22 et Odoo Online 21.1) et remplacés par une nouvelle API JSON-2. Une intégration écrite pour les points de terminaison (endpoints) RPC actuels devra donc nécessairement être migrées à l'avenir.

L'API de Nordlet se situe au niveau du domaine. Les opérations s'effectuent via POST /v1/{module}/{resource}/{action} avec un corps (body) JSON, ce qui vous amène à appeler sales/invoices/issue plutôt qu'à manipuler directement un modèle de journal, les conséquences comptables étant gérées par l'API. Les clés (keys) comportent des portées (scopes) telles que sales:write. Les nouvelles tentatives (retries) sont protégées par un en-tête (header) Idempotency-Key : une même clé associée à une même charge utile (payload) renvoie la réponse enregistrée, tandis qu'une même clé associée à une charge utile (payload) modifiée est rejetée avec l'erreur idempotency_key_reuse au lieu d'être acceptée silencieusement. Les événements Webhook sont écrits dans une table de messagerie transactionnelle (transactional outbox) au sein de la même transaction de base de données, si bien qu'un document dont la transaction est annulée n'émet jamais d'événement, et les livraisons sont signées au moyen d'une signature HMAC que vous pouvez vérifier.

Comparaison des fonctionnalités

Les cellules portant la mention « non confirmé publiquement » indiquent que nous n'avons pas pu vérifier la fonctionnalité au niveau de détail requis par un développeur avant de s'engager. Il ne s'agit pas d'affirmations quant à leur absence.

Fonctionnalité Nordlet Odoo
Format du produit API de comptabilité, hébergée Suite de gestion complète ; hébergée ou auto-hébergée
Interface principale API REST avec SDK TypeScript typé Application web ; API externe au niveau des modèles
Protocole API JSON sur HTTPS, style RPC POST par action XML-RPC et JSON-RPC, avec une transition vers une API JSON-2
Disponibilité de l'API Toutes les formules, tous les modules Formule Custom selon la documentation d'Odoo
Grand livre en partie double (double-entry ledger) Oui, équilibre garanti par un déclencheur (trigger) de base de données à la validation Oui, au sein du module comptable
Clôture de période Oui ; les écritures datées d'une période clôturée sont rejetées avec le code 409 Dates de verrouillage prises en charge dans le module comptable
Clés d'idempotence (idempotency keys) Oui, sémantique documentée incluant rejeu et collision Non confirmé publiquement pour l'API externe
Webhooks Oui, signés, avec nouvelle tentative, issus d'une table de messagerie transactionnelle (transactional outbox) Actions automatisées et webhooks existants ; garanties de livraison non confirmées publiquement
Piste d'audit (audit record) Chaque modification enregistre l'acteur, l'action, l'entité et le différentiel (diff), interrogeable Notes de discussion (chatter) et journaux ; la portée varie selon le modèle
TVA européenne Taux par pays pour l'UE-27, validation VIES, calcul OSS/IOSS avec corrections Modules de localisation par pays ; la profondeur varie selon le pays
Facturation électronique (e-invoicing) EN 16931 UBL pour Peppol BIS 3.0 ; formats nationaux pour IT, PL, RO Les modules de localisation couvrent plusieurs formats nationaux
Stocks, fabrication Stock FIFO, nomenclatures (bills of materials), assemblage et désassemblage, gammes, centres de charge, ordres de fabrication avec suivi par opération, contrôles qualité, maintenance Étendu, un point fort majeur
CRM, site web, marketing Demandes partenaires, groupes et statuts uniquement ; pas de constructeur de site web ni d'outils marketing Oui, un point fort majeur
Auto-hébergement Non ; support BYOC indiqué sur la formule Custom Oui
Disponibilité du code source Propriétaire Noyau open source, avec des éditions payantes
Multi-société Sociétés illimitées sous un même compte, accès basé sur les rôles Gestion multi-société prise en charge

Modèles tarifaires

Ces modèles ne sont pas comparables ligne par ligne car ils facturent des éléments différents.

Odoo facture par utilisateur et par mois, avec une formule gratuite limitée à une seule application et un accès à l'API externe réservé à la formule Custom. Pour une plateforme, la difficulté réside dans le fait que le nombre « d'utilisateurs » constitue un mauvais indicateur de la charge lorsque c'est votre logiciel, et non votre personnel, qui génère les écritures comptables. L'auto-hébergement supprime le coût d'abonnement mais ajoute des coûts d'infrastructure et de maintenance.

Nordlet facture à la requête. Les tarifs publiés s'élèvent à 10 € par mois pour 3 000 requêtes, 50 € pour 30 000 requêtes et 300 € pour 200 000 requêtes, les requêtes supplémentaires étant facturées à l'unité, avec une formule sur mesure (custom) disponible sur demande. Chaque formule inclut l'intégralité des modules et l'API complète ; le nombre d'utilisateurs, de sociétés et de sociétés de test (sandbox) est illimité. Une requête correspond à toute action effectuée via l'API ou l'application.

Conséquence pratique : une place de marché (marketplace) comptant quatre collaborateurs et 50 000 actions comptables par mensuelles paie pour 50 000 actions dans le cadre d'un modèle à l'usage, contre quatre utilisateurs dans le cadre d'un modèle par utilisateur. De plus, ce dernier chiffre ne bouge pas si le volume double, ce qui va dans les deux sens. Pensez à simuler vos propres chiffres.

Dans quels cas Odoo constitue le meilleur choix

  • Vous souhaitez regrouper la comptabilité, les stocks, la fabrication, le CRM et un site web au sein d'un même système doté d'une base de données unique.
  • Vous devez impérativement recourir à l'auto-hébergement pour des raisons de souveraineté des données, de coût ou de politique interne.
  • Vous souhaitez modifier le code source et disposez en interne des compétences nécessaires pour maintenir ces modifications au fil des mises à niveau.
  • Votre comptabilité relève de la gestion administrative interne plutôt que d'une fonctionnalité du produit que vous commercialisez.
  • Vous vous situez dans un pays où le module de localisation d'Odoo est performant et activement maintenu.

La richesse fonctionnelle d'Odoo est réelle, et aucune API de comptabilité ne peut s'y substituer.

Dans quels cas Nordlet s'impose

  • C'est votre logiciel, et non votre personnel, qui génère les événements comptables.
  • Vous avez besoin de tenir les livres de nombreuses sociétés sous un même compte sans devoir souscrire un abonnement par entité.
  • Vous avez besoin d'invariants garantis sur lesquels votre plateforme peut s'appuyer : écritures équilibrées, numérotation sans rupture (gapless numbering), périodes clôturées, historique immuable, écritures idempotentes.
  • Vous préférez intégrer un contrat de domaine stable plutôt qu'un modèle de données interne.
  • Vos obligations en matière de TVA européenne s'étendent à plusieurs pays et vous préférez ne pas avoir à maintenir cette logique par vous-même.

Les limites, exprimées sans détour : Nordlet en est au stade de l'accès anticipé (early access) et de l'accompagnement des partenaires de conception ; la solution est hébergée et non auto-hébergée ; les fiches de partenaires gèrent les demandes, groupes et statuts plutôt qu'un pipeline de ventes ; il n'y a pas de constructeur de site web ni de fonctionnalités marketing ; la paie est limitée à la Lituanie ; et les déclarations fiscales nationales sont actuellement disponibles pour trois pays seulement (la Lituanie avec FR0600, l'Allemagne avec UStVA et la Pologne avec JPK_V7M), tandis que les calculs OSS et IOSS sont pris en charge mais ne font pas l'objet d'une télédéclaration en votre nom.

Ce qu'il convient de valider avant de s'engager

  1. Confirmez la formule Odoo dont vous avez réellement besoin. Si l'accès à l'API externe exige la formule Custom, chiffrez cette formule en fonction de votre nombre d'utilisateurs, et non de la formule d'entrée de gamme.
  2. Renseignez-vous sur le calendrier de migration RPC pour toute intégration Odoo que vous prévoyez de conserver au-delà de la suppression annoncée des points de terminaison (endpoints) actuels.
  3. Testez les nouvelles tentatives (retries) sur les deux solutions. Envoyez la même requête deux fois et comptez les écritures générées.
  4. Testez le verrouillage. Clôturez une période, puis essayez d'y comptabiliser une écriture.
  5. Vérifiez vos pays d'implantation. Pour Odoo, identifiez le module de localisation et son degré de maintenance active ; pour Nordlet, vérifiez quels états de TVA sont actuellement disponibles pour ces pays.
  6. Simulez le coût total sur trois ans, en incluant l'hébergement et l'effort de mise à niveau en cas d'auto-hébergement, ou la croissance du volume de requêtes en cas de facturation à l'usage.

FAQ

Odoo est-il gratuit ?

Odoo propose une formule gratuite limitée à une seule application, et l'édition communautaire est open source. Dans le cadre d'une intégration pour une plateforme, les coûts pertinents concernent généralement l'hébergement, les mises à niveau, la maintenance de la localisation et la formule payante requise pour l'accès à l'API externe, plutôt que la licence en elle-même.

Peut-on utiliser Odoo comme un backend de comptabilité intégré pour une place de marché (marketplace) ?

Il est possible de l'intégrer, et certaines équipes le font effectivement. Les points de vigilance résident dans le fait que l'API externe fonctionne au niveau du modèle de données, que l'accès à l'API est lié à une formule tarifaire spécifique, que les points de terminaison (endpoints) RPC actuels sont appelés à être remplacés, et que vous assumez la responsabilité de l'utilisation correcte des modèles comptables. Validez ces aspects au regard de vos propres exigences plutôt que de faire des suppositions.

Nordlet fait-il tout ce qu'Odoo fait ?

Non. Nordlet se concentre sur la comptabilité et les opérations connexes (facturation, grand livre, banque, stocks, immobilisations, production, paie, reporting, fiscalité européenne). La fabrication couvre les nomenclatures, les gammes, les centres de charge, les ordres de fabrication avec suivi par opération, les contrôles qualité et la maintenance des équipements, sans toutefois proposer la planification de la demande et des capacités offerte par Odoo. Les fiches de partenaires gèrent les demandes, groupes et statuts plutôt qu'un pipeline de ventes, et il n'y a ni constructeur de site web ni outils marketing.

Lequel est le mieux adapté à la TVA européenne ?

Cela dépend du pays. Nordlet intègre les taux de TVA de l'UE-27 par pays, la validation VIES, le calcul des déclarations OSS et IOSS avec gestion des corrections des périodes antérieures, les registres i.SAF et le format EN 16931 UBL, la Lituanie disposant du pack pays le plus approfondi. La couverture d'Odoo provient de modules de localisation dont la profondeur et la maintenance varient selon les pays ; la réponse honnête pour un pays donné est donc de vérifier l'état du module correspondant.

Puis-je auto-héberger Nordlet ?

Pas avec les formules standard. La formule Custom mentionne le support du cloud personnalisé (bring-your-own-cloud), ce qui constitue l'option à privilégier si l'auto-hébergement est un impératif.

Pour aller plus loin