« Odoo gère-t-il la facturation électronique française ? » La réponse courte est oui, et elle est trompeuse : ce n'est pas Odoo seul qui la gère, c'est Odoo plus un ensemble de modules communautaires, plus un raccordement à une plateforme agréée, plus un paramétrage de TVA correct.
Comme nous documentons ces modules un par un, voici le détail de ce qui est réellement couvert — et, ce qui est plus utile, de ce qui ne l'est pas.
L'essentiel
- 9 modules dans le dépôt communautaire
fr-einvoicing, dontl10n_fr_einvoicingcomme module central. - Génération des formats : Factur-X (PDF/A-3 avec XML CII embarqué), UBL, CII, conformes à la norme EN 16931.
- Annuaire national : interrogation par SIREN ou SIRET, synchronisation des fiches clients, lignes d'annuaire actives.
- Cycle de vie : les statuts normalisés AFNOR/CDAR remontent sur la facture elle-même.
- Contrôles bloquants à la validation : une facture dont la ligne d'annuaire est inactive ne part pas.
- Non couvert : le paramétrage de vos taxes, le nettoyage de votre fichier clients, et le choix de la plateforme.
Ce que les modules apportent, écran par écran
Le module central ajoute un menu « France - Facturation électronique » dans la configuration comptable, avec quatre écrans qui structurent tout le dispositif.
| Écran | Ce qu'on y trouve | Quand on l'ouvre |
|---|---|---|
| Lignes d'annuaire | Les adresses de facturation électronique connues, par SIREN, SIRET ou code de routage | Quand une facture ne trouve pas son destinataire |
| Flux | Chaque transmission, entrante ou sortante, avec son état | Pour vérifier qu'une facture est bien partie |
| Événements de facture | Les statuts du cycle de vie reçus et envoyés | Quand un client ne paie pas et conteste la réception |
| Journaux | La trace technique de chaque opération, en INFO, WARNING ou ERROR | Quand il faut comprendre un rejet |
Sur la fiche d'une facture apparaît un onglet dédié : la ligne d'annuaire du destinataire, le flux associé, l'historique des événements, et un bouton pour transmettre immédiatement sans attendre la tâche planifiée.
Sur la fiche d'un contact société, un groupe dédié affiche le statut dans l'annuaire national et un bouton de synchronisation. C'est l'écran le plus utile du dispositif, et le moins spectaculaire.
Les contrôles qui bloquent une facture — et pourquoi c'est souhaitable
À la validation d'une facture client, les modules exécutent une série de vérifications. Si l'une échoue, la facture ne se valide pas. Cela surprend au début, et c'est exactement ce qu'il faut.
- Si le statut du client dans l'annuaire est inconnu ou inactif, la synchronisation est déclenchée automatiquement.
- La ligne d'annuaire retenue est vérifiée : active, et cohérente avec le client.
- Pour une entité publique, la présence du SIRET de votre société et d'un mode de paiement sur la facture est contrôlée.
Sans ces contrôles, la facture serait validée, comptabilisée, puis rejetée par la plateforme — et vous l'apprendriez plus tard, sur une facture déjà dans vos comptes. Un blocage à la validation coûte trente secondes ; un rejet après comptabilisation coûte un avoir et une relance.
Deux blocages de gestion complètent l'ensemble : une facture liée à un flux ne peut plus être supprimée, et elle ne peut plus revenir en brouillon. C'est la contrepartie logique d'un document transmis à l'administration.
Le refus d'une facture, et l'avoir automatique
Le cas qui mérite d'être compris avant qu'il n'arrive : votre client refuse la facture. Le refus est définitif — ce n'est pas un rejet technique qu'on corrige, c'est une décision commerciale.
Les modules proposent une option d'avoir automatique : à la réception d'un événement de refus, Odoo crée et valide un avoir marqué comme interne, et annule la facture. Vous repartez d'une base propre.
L'inverse existe aussi, côté factures fournisseurs : si vous refusez une facture, un assistant vous demande le motif, les actions attendues du fournisseur — facture rectificative, avoir total, avoir partiel — et exige une confirmation explicite, puisque le refus est irréversible.
Deux automatisations facultatives méritent d'être activées : l'envoi de l'événement « prise en charge » à l'import d'une facture fournisseur, et de l'événement « approuvée » à sa validation. Elles informent votre fournisseur de l'avancement, et réduisent les appels de relance. Voir aussi le cycle de vie et ses quatre statuts obligatoires.
Les trois points qui restent à votre charge
- Le paramétrage de vos taxes. Les modules fournissent un bouton de vérification de la configuration TVA pour la génération EN 16931 — preuve que le problème est courant. Des taxes approximatives produisent des fichiers rejetés, et c'est la première cause de rejet technique.
- Le nettoyage de votre fichier clients. Aucun module ne devinera les SIREN manquants. C'est le poste le plus long du projet, et il n'est pas technique.
- Le choix et le contrat de la plateforme agréée. Les modules savent dialoguer avec une plateforme ; ils ne la choisissent pas pour vous, et l'abonnement reste à souscrire.
Un quatrième point, plus discret : les tâches planifiées d'import et d'envoi sont désactivées par défaut à l'installation. C'est un choix prudent de la communauté, et un piège si personne ne les active : les factures restent à l'état « créé » sans que rien ne le signale. Nous les activons au paramétrage, et la liste de contrôle en 7 points rappelle de le vérifier.
Ce que coûte le raccourci « je le ferai plus tard »
Le dispositif est robuste mais il n'est pas instantané : il faut un compte auprès d'une plateforme, un enrôlement de votre société à l'annuaire, un choix de ligne d'annuaire par défaut, une vérification des taxes, et un test réel.
Chez nous, ce paramétrage prend de 1 à 3 jours. Ce n'est pas le délai qui compte, c'est le fait qu'il ne se comprime pas : il suppose des allers-retours avec la plateforme et avec vos données.
Questions fréquentes
Odoo Community suffit-il, ou faut-il la version Enterprise ?
Pour la réforme française, la Community avec les modules communautaires du dépôt fr-einvoicing couvre le dispositif : annuaire, formats, flux, statuts, contrôles. C'est l'un des domaines où la communauté est allée loin, parce que l'obligation concerne tout le monde.
Quels formats Odoo génère-t-il ?
Factur-X — un PDF/A-3 avec XML CII embarqué — ainsi qu'UBL et CII en XML pur, le tout conforme à la norme EN 16931. Le choix se fait par société et se change sans toucher aux factures déjà émises, puisque votre plateforme agréée convertit de toute façon vers le format attendu par le destinataire.
Les statuts du cycle de vie remontent-ils dans Odoo ?
Oui, sur la facture elle-même : le dernier événement reçu apparaît dans une colonne de la liste des factures et dans l'onglet dédié, avec l'historique complet. Les statuts suivent la liste normalisée AFNOR/CDAR, chacun avec son code et sa couleur.
Puis-je envoyer une facture immédiatement sans attendre la tâche automatique ?
Oui : un bandeau sur la facture validée propose de la transmettre tout de suite. C'est utile pour une facture urgente, et indispensable pour tester le raccordement au moment du paramétrage.
Que se passe-t-il si mon client n'est pas dans l'annuaire ?
La validation déclenche une synchronisation, et si le client reste introuvable, la facture ne part pas — ce qui vaut mieux qu'un rejet après comptabilisation. En pratique, cela signale un SIREN erroné dans votre fiche ou une entité qui n'a pas achevé son enrôlement.
Pour aller plus loin
- Choisir sa plateforme agréée : 8 critères
- Les quatre nouvelles mentions obligatoires sur la facture
- Odoo Community pour une PME : ce que contient la version libre
En résumé
Odoo 18 Community couvre la réforme française par 9 modules communautaires : annuaire, formats EN 16931, flux, statuts du cycle de vie et contrôles bloquants à la validation. Restent à votre charge le paramétrage de vos taxes, les SIREN de vos clients et le contrat de plateforme — c'est précisément ce que couvre notre paramétrage accompagné. Parlons de votre instance ou voyez les offres.