Documentation8 min de lecture

L'analytique sur les ventes, les achats et le stock

Le module OCA `stock_analytic` (dépôt `account-analytic`, version 18.0.1.2.0, licence AGPL-3) ajoute une **répartition analytique au mouvement de stock** — ce qui permet d'imputer la valorisation d'un mouvement à un axe d'analyse, et non seulement la facture qui l'accompagne. Quatorze autres modules propagent l'analytique depuis les produits, les entrepôts, les achats et la caisse.

Entrepôt vu depuis une allée de stockage

Une analytique qui ne couvre que les factures laisse dehors l'essentiel d'une entreprise industrielle ou commerçante : les mouvements de stock, les coûts logistiques, les tickets de caisse, le temps passé.

Quinze modules communautaires étendent l'analytique à ces flux — et terminent le dépôt account-analytic.

Résumé

Quatre modules traitent le stock : une répartition analytique sur le mouvement de stock, sa définition au niveau du transfert, la copie de la répartition de la ligne de commande d'achat vers le mouvement, et l'analytique sur les lignes de coûts logistiques, reportée sur les écritures à la validation.

Trois modules traitent l'origine du modèle de répartition : des modèles de répartition définis sur les produits et les catégories de produits, des modèles choisis selon l'entrepôt sur les commandes de vente, et selon l'entrepôt du type de transfert sur les commandes d'achat.

Cinq modules traitent les étiquettes analytiques sur les flux : notes de frais, feuilles de temps, ventes, achats — et l'analytique sur les commandes d'achat elles-mêmes.

Trois modules enfin traitent des cas particuliers : la répartition analytique sur un équipement de maintenance, le compte analytique défini sur la configuration de caisse et appliqué aux commandes, et l'analytique sur les commandes d'achat via l'héritage de vues.

L'essentiel

  • Une répartition analytique sur le mouvement de stock.
  • L'analytique définie au niveau du transfert.
  • La répartition de la commande d'achat copiée sur le mouvement.
  • L'analytique sur les coûts logistiques, reportée aux écritures.
  • Des modèles de répartition sur les produits et leurs catégories.
  • Des modèles choisis selon l'entrepôt, à la vente comme à l'achat.
  • Un compte analytique par configuration de caisse.
  • Les étiquettes analytiques sur les frais, les temps, les ventes et les achats.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Stockstock_analytic, stock_picking_analytic, purchase_stock_analytic, stock_landed_costs_analytic4
Origine du modèleproduct_analytic, sale_analytic_distribution_model_warehouse, purchase_analytic_distribution_model_warehouse3
Étiquettes et achatshr_expense_analytic_tag, hr_timesheet_analytic_tag, sale_analytic_tag, purchase_analytic_tag, purchase_analytic5
Cas particuliersaccount_analytic_maintenance, pos_analytic_by_config2

Aucun de ces modules n'ajoute de menu : ils enrichissent les écrans existants et les mécanismes de répartition.

L'analytique sur le stock

Dans une entreprise qui stocke, la facture n'est pas l'événement économique : le mouvement de stock l'est. Une sortie de matière pour un chantier est une charge du chantier, même si la facture fournisseur est arrivée deux mois plus tôt et a été imputée ailleurs.

stock_analytic ajoute une répartition analytique au mouvement de stock. C'est le module socle : deux autres en dépendent.

  • stock_picking_analytic permet de définir l'analytique au niveau du transfert, et non mouvement par mouvement — le bon niveau de saisie pour un opérateur.
  • purchase_stock_analytic copie la répartition analytique de la ligne de commande d'achat vers le mouvement de stock généré. L'imputation décidée à l'achat se propage jusqu'à la valorisation.
  • stock_landed_costs_analytic ajoute un compte et des étiquettes analytiques aux lignes de coûts logistiques, et les reporte sur les écritures comptables à la validation.

Le dernier comble un manque précis : le transport, les droits de douane et l'assurance d'un approvisionnement sont des coûts réels qui, sans imputation, disparaissent dans un compte de charge global.

Les coûts logistiques eux-mêmes sont traités dans routage, valorisation et rebut du stock.

D'où vient le modèle de répartition

Trois modules répondent à la même question — qui décide de l'imputation — avec trois réponses différentes :

ModuleLe modèle vient deCas d'usage
product_analyticLe produit ou sa catégorieUne famille d'articles toujours imputée au même axe
sale_analytic_distribution_model_warehouseL'entrepôt de la commande de venteUn axe par site de vente ou par dépôt
purchase_analytic_distribution_model_warehouseL'entrepôt du type de transfert de la commande d'achatUn axe par site de réception

Le choix entre ces trois origines n'est pas technique, il est organisationnel : si l'axe d'analyse est le site, il vient de l'entrepôt ; s'il est l'activité, il vient du produit. Installer les trois sans décider produit des imputations qui s'écrasent.

purchase_analytic ajoute l'analytique aux commandes d'achat elles-mêmes, via l'héritage de vues. Son README est réduit à sa catégorie.

Les étiquettes analytiques sur les flux

Quatre modules posent les étiquettes analytiques — l'axe transversal du mécanisme — sur les flux qui en manquent :

  • hr_expense_analytic_tag sur les notes de frais.
  • hr_timesheet_analytic_tag sur les feuilles de temps.
  • sale_analytic_tag sur les ventes.
  • purchase_analytic_tag sur les achats.

Les quatre ont un README réduit à leur catégorie. Ils dépendent tous du module d'étiquettes analytiques, lui-même une réintroduction d'un mécanisme retiré du standard d'Odoo.

L'intérêt des étiquettes est de croiser deux axes sans multiplier les comptes : un chantier (compte analytique) et une nature de dépense (étiquette), au lieu d'un compte par couple.

Deux cas particuliers

account_analytic_maintenance ajoute une répartition analytique à l'équipement de maintenance. Les interventions sur cet équipement s'imputent alors automatiquement au bon axe — le site, la ligne de production, le centre de coût.

pos_analytic_by_config utilise le compte analytique défini sur la configuration de caisse pour les commandes de ce point de vente.

Pour un commerce à plusieurs points de vente, l'axe analytique est le magasin — et il est connu par la configuration de caisse. Sans ce module, il faut l'imputer après coup, sur des milliers de tickets.

La caisse et ses modules sont traités dans la caisse Odoo et ses modules OCA, et la maintenance dans planifier et exécuter la maintenance.

Limites connues

  • Cinq modules ont un README réduit à leur catégorie : purchase_analytic et les quatre modules d'étiquettes analytiques.
  • Les trois origines de modèle de répartition peuvent entrer en conflit : produit, entrepôt de vente, entrepôt d'achat. Décider laquelle prime avant d'installer.
  • stock_analytic modifie la valorisation des mouvements : à tester sur une base de recette, car il touche les écritures de stock.
  • Les étiquettes analytiques dépendent de account_analytic_tag, une réintroduction d'un mécanisme retiré : une dépendance qu'Odoo ne maintient pas.
  • stock_landed_costs_analytic agit à la validation des coûts logistiques : une imputation oubliée avant validation ne se rattrape pas sans contre-passation.
  • pos_analytic_by_config impute par configuration de caisse : plusieurs caisses d'un même magasin demandent la même configuration, ou plusieurs axes.
  • Deux modules dépendent de base_view_inheritance_extension : une brique technique d'héritage de vues du dépôt des outils serveur.

Identité technique

Les quinze modules viennent du dépôt OCA account-analytic, branche 18.0 — dont les 29 modules sont désormais tous documentés ici —, tous en licence AGPL-3. Les dépendances : analytic et stock_account pour le stock, purchase_stock et sale_stock pour les modèles par entrepôt, stock_landed_costs pour les coûts logistiques, point_of_sale pour la caisse, maintenance pour les équipements, account_analytic_tag pour les étiquettes.

L'autre fiche du dépôt : la comptabilité analytique reprise.

Questions fréquentes

Peut-on imputer un mouvement de stock à un axe analytique ?

Oui : stock_analytic ajoute une répartition analytique au mouvement de stock, stock_picking_analytic permet de la définir au niveau du transfert, et purchase_stock_analytic copie celle de la ligne de commande d'achat. Dans une entreprise qui stocke, le mouvement est l'événement économique — pas la facture.

Peut-on imputer les frais de transport et de douane d'un approvisionnement ?

Oui, avec stock_landed_costs_analytic : il ajoute un compte et des étiquettes analytiques aux lignes de coûts logistiques et les reporte sur les écritures à la validation. Sans lui, transport, droits de douane et assurance disparaissent dans un compte de charge global.

Comment faire renseigner l'analytique automatiquement ?

Trois origines possibles : le produit ou sa catégorie (product_analytic), l'entrepôt de la commande de vente, ou l'entrepôt du type de transfert à l'achat. Le choix est organisationnel : si l'axe est le site, il vient de l'entrepôt ; s'il est l'activité, il vient du produit. Installer les trois produit des imputations qui s'écrasent.

Peut-on imputer les tickets de caisse par magasin ?

Oui : pos_analytic_by_config utilise le compte analytique défini sur la configuration de caisse pour les commandes de ce point de vente. Sans lui, il faut imputer après coup des milliers de tickets. Attention si plusieurs caisses d'un même magasin ont des configurations distinctes.

À quoi servent les étiquettes analytiques plutôt que des comptes ?

À croiser deux axes sans multiplier les comptes : un chantier (compte analytique) et une nature de dépense (étiquette), au lieu d'un compte par couple. Quatre modules les posent sur les frais, les temps, les ventes et les achats — tous dépendants de account_analytic_tag, une réintroduction d'un mécanisme qu'Odoo a retiré.

Se faire accompagner

Une analytique limitée aux factures donne une image fausse d'une entreprise qui stocke ou qui produit : les charges apparaissent au moment de la facture fournisseur, pas au moment où la matière est consommée. L'écart peut atteindre plusieurs mois et rend tout suivi de marge par affaire inexploitable.

Nous étendons donc l'analytique aux mouvements de stock et aux coûts logistiques, et nous choisissons une seule origine pour les modèles de répartition. Une imputation automatique et cohérente vaut mieux que trois mécanismes qui s'écrasent. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Une analytique limitée aux factures donne une image fausse d'une entreprise qui stocke : la charge apparaît à la facture fournisseur, pas quand la matière est consommée. Quinze modules étendent l'analytique aux mouvements de stock, aux coûts logistiques et à la caisse. Parlons de votre suivi par affaire.

Documentation OCAComptabilitéOdoo Community

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo