Odoo a refondu sa comptabilité analytique et perdu en route ce qui la rendait exploitable : la hiérarchie des comptes, leur référence, les répartitions nommées et réutilisables, et toute possibilité de rendre l'imputation obligatoire.
Quatorze modules communautaires rendent l'analytique utilisable — et ajoutent des restrictions d'accès que le standard ne prévoit pas.
Résumé
Quatre modules restaurent ce qui a disparu : la hiérarchie des comptes analytiques avec niveau et nom complet, sa restriction à un seul plan, la référence du compte analytique, et une politique d'analytique par compte comptable — obligatoire, interdite ou optionnelle.
Deux modules traitent les répartitions : un référentiel de répartitions manuelles nommées et réutilisables, posées sur les lignes d'écriture, les modèles de répartition, les modèles de lettrage et les notes de frais — avec un champ de répartition importable ; et la répartition d'un montant selon une étiquette analytique, avec son filtre de comptes et son opération.
Quatre modules traitent les axes d'analyse : un référentiel d'organisations analytiques rattaché au contact et repris sur les lignes, le partenaire commercial sur les lignes analytiques, la recherche et le regroupement des lignes par partenaire, et le lien entre comptes analytiques et départements.
Quatre modules enfin traitent les droits et la navigation : un groupe restreignant la visibilité des montants sur les lignes analytiques, la restriction des comptes et des plans par département, la navigation d'une ligne d'écriture vers les lignes analytiques générées, et la modification de l'analytique sur une écriture comptabilisée.
L'essentiel
- La hiérarchie des comptes analytiques, retirée du standard.
- La référence du compte analytique, également retirée.
- Des répartitions manuelles nommées et réutilisables.
- Une politique d'analytique par compte comptable : obligatoire, interdite, optionnelle.
- Les montants analytiques masqués aux utilisateurs sans le groupe adéquat.
- Comptes et plans restreints par département.
- La navigation d'une écriture vers ses lignes analytiques.
- L'analytique modifiable sur une écriture déjà comptabilisée.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Restaurations | account_analytic_parent, account_analytic_parent_plan_restrict, account_analytic_sequence, account_analytic_required | 4 |
| Répartitions | account_analytic_distribution_manual, account_analytic_spread_by_tag | 2 |
| Axes d'analyse | account_analytic_organization, account_analytic_line_commercial_partner, analytic_partner, analytic_base_department | 4 |
| Droits et navigation | analytic_amount_security, analytic_hr_department_restriction, account_move_analytic_link, account_move_update_analytic | 4 |
Les menus, sous la racine Facturation : Configuration ▸ Comptabilité analytique ▸ Répartitions analytiques manuelles et Analytic Organization.
Ce qu'Odoo a retiré
La refonte de l'analytique a remplacé les comptes hiérarchiques par des plans et des axes. Le gain est réel en souplesse ; la perte est que l'on ne peut plus agréger des sous-comptes dans un compte parent, ni référencer un compte analytique par un code.
account_analytic_parent réintroduit la hiérarchie : un compte parent, des sous-comptes, un niveau et un nom complet calculé. account_analytic_parent_plan_restrict la limite à un seul plan, pour éviter un arbre qui traverse des axes d'analyse différents.
account_analytic_sequence restaure la référence du compte analytique — le code court, dont dépendent tous les usages d'import et de rapprochement.
account_analytic_required ajoute une politique d'analytique sur le compte comptable : obligatoire, interdite ou optionnelle. Son README est réduit à sa catégorie ; le champ est relevé sur instance.
La politique par compte est le seul mécanisme qui rend une analytique fiable : un compte de charge sans imputation produit un écart entre la comptabilité générale et l'analytique, et cet écart se découvre à la clôture — quand il est trop tard pour retrouver l'affectation.
Les répartitions réutilisables
account_analytic_distribution_manual crée un référentiel de répartitions manuelles nommées : une répartition analytique, sa précision, ses comptes, sa société. Elle se pose ensuite sur les lignes d'écriture, les modèles de répartition, les lignes de modèle de lettrage, les notes de frais et leurs ventilations.
Il ajoute aussi un champ de répartition analytique importable sur ces mêmes modèles — ce qui rend l'analytique renseignable par import de fichier, impossible autrement avec le format de répartition natif.
Une clé de répartition — 60 % production, 30 % administratif, 10 % commercial — se saisit une fois et s'applique partout. Dans le standard, elle se ressaisit à chaque ligne, avec des pourcentages qui divergent au fil des mois.
account_analytic_spread_by_tag permet de répartir un montant selon une étiquette analytique : l'étiquette porte un marqueur de répartition, un filtre de comptes analytiques et une opération, et le compte analytique porte l'étiquette correspondante. Son README est réduit à sa catégorie.
Les axes d'analyse
account_analytic_organizationcrée un référentiel d'organisations analytiques rattaché au contact, et le reprend sur les lignes d'écriture et les lignes analytiques. Utile quand l'axe pertinent n'est ni le projet ni le département, mais l'entité du client.account_analytic_line_commercial_partnerajoute le partenaire commercial aux lignes analytiques — l'entité de facturation, distincte du contact livré.analytic_partnerpermet de rechercher et regrouper les lignes analytiques par partenaire.analytic_base_departmentrelie les comptes analytiques aux départements : un département sur le compte et sur la ligne, et la liste des comptes sur le département.
Les deux derniers répondent à la même question, posée différemment : combien ce client nous coûte-t-il, et combien ce service dépense-t-il. Dans un plan analytique organisé par projet, aucune des deux réponses n'est immédiate.
Les droits et la navigation
analytic_amount_security (LGPL-3) ajoute un groupe restreignant la visibilité du montant sur les lignes analytiques.
Un chef de projet doit voir les temps passés sur son projet, pas forcément leur valorisation — qui révèle les taux horaires, donc les salaires. Dans le standard, l'un ne va pas sans l'autre.
analytic_hr_department_restriction restreint les comptes analytiques et les plans par département : un responsable ne voit que les comptes de son périmètre. Son README est réduit à sa catégorie ; les deux champs sont relevés.
account_move_analytic_linkpermet de naviguer d'une ligne d'écriture portant une répartition analytique vers les lignes analytiques générées. Geste élémentaire, absent du standard.account_move_update_analyticpermet de modifier l'analytique sur une écriture déjà comptabilisée, sans la contre-passer.
Le dernier mérite une mise en garde : modifier l'analytique d'une écriture comptabilisée est acceptable parce que l'analytique n'est pas la comptabilité générale — mais cela doit rester encadré, et la traçabilité de la modification repose sur la journalisation générale, pas sur le module.
Limites connues
- Quatre modules ont un README réduit à leur catégorie :
account_analytic_required,account_analytic_spread_by_tag,analytic_hr_department_restrictionetanalytic_partner. Leurs champs sont relevés sur instance, sauf le dernier qui n'en ajoute aucun. - La hiérarchie réintroduite n'est pas celle du standard : les rapports natifs ne l'exploitent pas, et les agrégations par parent restent à construire.
- Rendre l'analytique obligatoire bloque les imports et les écritures automatiques qui ne la fournissent pas : traiter les flux avant d'activer.
- Le masquage des montants analytiques est un masquage d'affichage : un utilisateur capable d'exporter y accède.
account_move_update_analytictouche des écritures comptabilisées : restreindre l'accès et documenter la procédure.- Plusieurs de ces modules dépendent de
account_analytic_tag, lui-même une réintroduction d'un mécanisme retiré du standard. - Cinq modules dépendent de
hrou decontacts: l'analytique par département ou par organisation suppose ces applications installées.
Identité technique
Les quatorze modules viennent du dépôt OCA account-analytic, branche 18.0 — 29 modules au total. Treize sont en AGPL-3, analytic_amount_security est en LGPL-3. Les dépendances : account et analytic pour la plupart, hr pour les départements, contacts pour les organisations, account_analytic_tag pour la répartition par étiquette.
Voir aussi l'analytique sur les ventes, les achats et le stock pour le reste du dépôt.
Questions fréquentes
Odoo a-t-il perdu la hiérarchie des comptes analytiques ?
Oui : la refonte de l'analytique l'a remplacée par des plans et des axes. account_analytic_parent la réintroduit — compte parent, sous-comptes, niveau, nom complet — et account_analytic_parent_plan_restrict la limite à un seul plan. Attention : les rapports natifs ne l'exploitent pas.
Peut-on rendre l'imputation analytique obligatoire ?
Oui, avec account_analytic_required, qui ajoute une politique d'analytique par compte comptable — obligatoire, interdite ou optionnelle. C'est le seul mécanisme qui rend une analytique fiable : un écart entre comptabilité générale et analytique se découvre sinon à la clôture, trop tard pour retrouver l'affectation.
Comment réutiliser une clé de répartition analytique ?
account_analytic_distribution_manual crée un référentiel de répartitions manuelles nommées, posées sur les lignes d'écriture, les modèles de répartition et de lettrage, et les notes de frais. Il ajoute aussi un champ de répartition importable, qui rend l'analytique renseignable par fichier.
Peut-on montrer les temps passés sans montrer leur valorisation ?
Oui : analytic_amount_security ajoute un groupe restreignant la visibilité du montant sur les lignes analytiques. Un chef de projet doit voir les temps de son projet, pas forcément leur valorisation — qui révèle les taux horaires, donc les salaires. C'est un masquage d'affichage, pas un chiffrement.
Peut-on corriger l'analytique d'une écriture déjà comptabilisée ?
Oui, avec account_move_update_analytic, sans contre-passer l'écriture. C'est acceptable parce que l'analytique n'est pas la comptabilité générale, mais cela doit rester encadré : restreindre l'accès, documenter la procédure, et savoir que la traçabilité repose sur la journalisation générale.
Se faire accompagner
L'analytique est le domaine où Odoo a fait un choix d'architecture qui simplifie le modèle et complique l'usage. Sans hiérarchie, sans référence, sans répartitions réutilisables et sans obligation d'imputation, elle produit des chiffres qu'on ne peut ni agréger ni croire.
Nous posons donc le plan analytique avant les premières écritures, avec sa hiérarchie, ses clés de répartition et sa politique par compte — puis nous séparons ce que chacun peut voir. Une analytique étroite et juste vaut mieux qu'une analytique large et fausse. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- L'analytique sur les ventes, les achats et le stock
- Verrouiller et contrôler les écritures comptables
En résumé
Odoo a refondu son analytique et perdu en route ce qui la rendait exploitable : hiérarchie des comptes, référence, répartitions réutilisables, obligation d'imputation. Quatorze modules les restaurent, et ajoutent des restrictions d'accès que le standard ne prévoit pas. Parlons de votre plan analytique.