Appearance
Module d'élaboration budgétaire (approche structurée « A »)
Prolonge Projection / Saisie (base + ajustement + commentaires). Un budget = une campagne (cf.
ForecastCampaigndéjà en base) dont la base est un forecast/extrapolation, qu'on ajuste par méthode de calcul selon le type de poste. À terme, ouverture possible vers un tableur libre « B ».
0. Cadrage : Restitution ≠ Budget (deux temps distincts)
1) Restitution (reporting / projection / dashboards) — déjà conçu dans rapport
- Doit rester paramétrable pour s'adapter à plusieurs clients.
- Alimentée majoritairement par les ERP (compta, facturation, paie) → données en lecture.
- ➜ L'architecture actuelle de rapport convient : c'est le socle, on ne le refait pas.
2) Budget — trois façons de faire (non exclusives)
- a) Comptable → un module dans rapport : grille structurée (méthodes de calcul, §2). Le plus standard.
- b) RH → raisonner SIRH / ERP de paie : registre des salariés détaillé (§2.b). Modélisation sur-mesure.
- c) Métier → moteur paramétrable (config par client) : on absorbe les spécificités par configuration (drivers, formules, grilles), sans recoder. Générique et réutilisable, conçu pour être très agile.
Priorités posées : (c) = moteur paramétrable par client (pas du code jetable) ; et modéliser une vraie partie RH (b) (noms des personnes, dates d'arrivée/départ, contrats & types de contrat, poste, salaire, primes, ancienneté…), amorcée depuis l'ERP de paie puis projetée dans rapport. Les méthodes de calcul du §2 (CA / MS / le reste) vivent dans l'approche comptable (a) ; (b) est la version fine/SIRH de la masse salariale ; (c) est le moteur configurable transverse.
0. Cadrage stratégique : restitution ≠ budget
Deux briques de nature différente, à ne pas confondre :
Restitution (cœur de Rapport) — paramétrable, multi-clients. Alimentée majoritairement par les ERP (compta, facturation, paie). L'architecture actuelle de Rapport (dimensions, scénarios, vues, dashboards, saisie) est la bonne base → on la garde telle quelle.
Budget (élaboration) — trois façons de faire, très différentes :
- a) Comptable → un module dans Rapport : décomposition par poste (cf. §2), base + ajustement + inflation. Faisable nativement.
- b) RH → on bascule en logique SIRH / ERP de paie : registre salariés détaillé (cf. §2.b). Modèle de données dédié.
- c) Métier → sur-mesure, très agile pour absorber les spécificités de chaque client (s'appuie sur §2.a Projets/Service + drivers volume). Pas de modèle figé.
➜ Convictions : sur-mesure assumé sur (c) métier, et modéliser une vraie partie RH (b) (personnes nommées, contrats, salaires…) — pas une simple ligne « masse salariale ».
Relation §0 ↔ §2 : §2 décrit la maille comptable par poste (a) ; (b) la spécialise en registre RH, (c) en sur-mesure métier.
1. Base du budget
- Référence de départ : généralement Fcst P10 (octobre) ou extrapolation fin octobre.
- Réutilise le mécanisme de base des campagnes (
baseScenario) : ajouter l'option « forecast figé / P10 » en plus de Budget / A-1. (Lien avec la suite prévue « figer un forecast comme base ».) - Maille : poste × mois × établissement (comme Saisie).
2. Trois méthodes de calcul (par poste / groupe de postes)
Chaque poste a une méthode qui pilote sa saisie :
a) CA — deux modes selon le métier
Mode 1 — Volume × Prix (récurrent / unités)
- Part toujours de la base, qu'on ajuste.
- Drivers par ligne : quantité (volume) et prix → CA = Σ (quantité × prix).
- Saisie : ajuster volumes et/ou prix (delta vs base).
Mode 2 — Projets / Service (par client)
- Clients = liste libre (créée dans le budget ; pas rattachée à une dimension existante).
- Une fiche par client :
- CA attendu annuel, avec répartition par mois (saisie annuelle ventilée, ou directement mois par mois).
- Probabilité optionnelle (pondération pipeline) → permet un CA pondéré à côté du CA brut.
- Bloc « à aller chercher » : objectif de CA non encore attribué à un client (pipeline / reste à gagner).
- Répartissable (par commercial / segment / sous-bloc), pas forcément un montant unique.
- Deux modes au choix : saisie libre, ou calculé = cible totale − Σ fiches clients.
- Total CA = Σ fiches clients (+ pondération) + « à aller chercher ».
- Au fil de l'année, le « à aller chercher » se transforme en fiches clients quand les affaires sont gagnées.
b) Masse salariale — registre salariés (mini-SIRH, sur-mesure)
Approche RH : on raisonne SIRH / paie, pas en lignes comptables. Extrapolation de la MS réelle, salarié par salarié.
Source de la donnée (décidé) : hybride. Rapport amorce le registre depuis l'ERP de paie (photo réelle des salariés), puis on le projette/ajuste sur 12 mois dans rapport. Le réel reste à la paie ; le prévisionnel (arrivées, départs, augmentations, primes…) vit dans rapport. → Nécessite un import paie (API ou fichier) au démarrage de campagne.
Modèle « Salarié » (réel importé, ou poste à pourvoir créé dans rapport) :
- Identité : nom (/ prénom), matricule éventuel.
- Rattachement : établissement, service, poste / fonction.
- Contrat : type (CDI, CDD, alternance, stage, intérim…), date de début, date de fin (si CDD), ETP / quotité (%).
- Dates & ancienneté : date d'arrivée, date de départ prévue, ancienneté (calculée).
- Rémunération : salaire de base, primes (collectives / individuelles), augmentations (générale / individuelle).
- Statut projeté par mois : présent / arrivée / départ / remplacé / non remplacé → ETP mensuel.
Construction du coût par salarié (par mois) : salaire P10 (ou de base)
- augmentation générale (RH) + primes collectives (RH/manager)
- augmentation individuelle + prime individuelle (manager) → × ETP du mois → × (1 + taux de charge)
Paramètres globaux :
- Taux de charge (RH) — partir du réel.
- Médecine du travail & assimilés (RH) — montant / ETP ou % de la MS.
➜ Agrégation des coûts mensuels par salarié = masse salariale (par établissement / service / poste). ➜ C'est le sous-module le plus lourd : registre + projection mensuelle + chiffrage (cf. phasage §6).
c) Le reste (autres produits / charges)
- Souvent une extrapolation de la base.
- On ajuste + on applique l'inflation : taux par défaut décidé par la DAF, modifiable ligne à ligne.
- ➜ Très proche de Projection/Saisie actuel (base + ajustement) + un facteur inflation.
3. Commentaires
- Toute ligne commentable.
- Deux niveaux : commentaire à l'année, ou somme des commentaires mensuels (déjà partiellement en place côté Saisie).
4. Rôles (qui saisit quoi)
- DAF : taux d'inflation par défaut.
- RH : taux de charge, médecine du travail, augmentation générale, (primes collectives).
- Manager : augmentations & primes individuelles, (primes collectives).
- ➜ Gating par rôle → s'appuiera sur le module droits (
permissions-model.md). En attendant : champs modélisés, gating branché plus tard.
5. Réutilisation de l'existant
ForecastCampaign/ForecastAdjustment(base + delta + commentaire) → socle du budget.- Écran Projection / Saisie → base de l'UI (grille postes × mois, atterrissage live).
- Dimensions (postes = nœuds Catégorie), établissement en filtre, unités/format.
6. Phasage proposé
- Base = P10 / extrapolation : ajouter l'option de base « forecast » + notion de campagne budget.
- Méthode « le reste » (extrapolation + inflation) — quasi déjà là : ajouter facteur inflation (défaut DAF + surcharge ligne) + commentaire annuel. ➜ point de départ recommandé (rapide, réutilise Projection).
- Méthode CA : Volume × Prix (drivers volume/prix), puis Projets/Service (fiches clients + « à aller chercher »).
- Méthode Masse salariale (RH / mini-SIRH) : registre salariés + projection mensuelle + chiffrage + charges + médecine. (le plus gros — sous-module à part)
- Approche métier (c) : moteur paramétrable (drivers/formules/grilles configurables par client) — lot transverse, à concevoir générique.
- Workflow : saisir → contrôler → figer → comparer (réel vs budget).
Dépendances : (3) le mini-SIRH (+ import paie) et le gating par rôle touchent fortement le modèle de données + droits → à cadrer avec le CTO (Postgres, schéma). (1) est faisable tout de suite sur l'existant.
