Aller au contenu

Modèle de données du budget

Cette page décrit comment KANAP organise les données budgétaires : les objets, leurs relations, les champs qui identifient un enregistrement et les fichiers qui font entrer et sortir chaque objet. Elle s'adresse aux contrôleurs de gestion et aux administrateurs du budget qui préparent un passage depuis des tableurs ou un autre outil, et à l'équipe technique qui branche un outil de BI sur une installation on-premise.

Les fichiers décrits ici sont le contrat sur lequel s'appuyer. Leurs colonnes sont documentées dans ce manuel et vérifiées à l'import, et quand une disposition change, un import refuse un fichier à l'ancienne disposition et en donne la raison. Les tables de la base de données derrière eux sont internes : elles changent quand KANAP évolue. Appuyez un passage depuis un autre outil, et toute intégration, sur les fichiers.

Les objets en un coup d'œil

Objet Ce qu'il contient Où le gérer
Ligne OPEX Un coût récurrent, reporté d'une année sur l'autre Gestion budgétaire > Lignes budgétaires
Ligne CAPEX Un investissement, reporté d'une année sur l'autre Gestion budgétaire > Lignes budgétaires
Colonnes budgétaires Les cinq colonnes de montants que chaque ligne budgétaire a pour chaque année Gestion budgétaire > Administration > Colonnes budgétaires
Lignes Quantité et prix Les lignes à partir desquelles une colonne peut être calculée L'onglet Budget d'une ligne
Ventilation La répartition du coût d'une année d'une ligne entre sociétés ou départements L'onglet Ventilations d'une ligne
Société Une entité juridique qui paie, avec ses indicateurs annuels Données de référence > Sociétés
Département Une unité d'une société, avec son effectif annuel Données de référence > Départements
Plan comptable et compte Les comptes sur lesquels une société impute ses lignes budgétaires Données de référence > Plans comptables
Centre de coûts Qui porte la dépense, dans une arborescence de groupes Données de référence > Centres de coûts
Fournisseur Qui est payé Données de référence > Fournisseurs
Dimension analytique et valeur Des classifications libres pour le reporting Données de référence > Dimensions analytiques
Calendrier de jours ouvrés Les jours ouvrés par mois et par année, pour les prix par jour Données de référence > Calendriers de jours ouvrés
Utilisateur Responsables IT et métier, responsables budgétaires Administration > Utilisateurs
Devises Devises autorisées, devise de reporting, taux de change Gestion budgétaire > Administration > Devises

Les relations entre les objets

Objet Fait référence à Combien
Ligne OPEX ou CAPEX Société payeuse Une
Compte, dans le plan comptable de la société payeuse Un
Devise, parmi les devises autorisées Une
Centre de coûts Zéro ou un. Un groupe ne peut pas être utilisé
Fournisseur Zéro ou un
Valeur de chaque dimension analytique active Zéro ou une par dimension. Une sur une nouvelle ligne pour une dimension obligatoire
Responsable IT et responsable métier (utilisateurs) Zéro ou un chacun
Années budgétaires Une par année
Année budgétaire d'une ligne Colonnes budgétaires Cinq, chacune avec douze montants mensuels
Lignes Quantité et prix Jusqu'à 50 par colonne
Ventilation Une méthode, avec ses sociétés ou ses départements
Ligne Quantité et prix avec un prix par jour Calendrier de jours ouvrés Un
Centre de coûts Société Une
Responsable budgétaire (utilisateur) Zéro ou un
Groupe parent Zéro ou un
Groupe de centres de coûts Groupe parent Zéro ou un. Un groupe n'a pas de société
Société Plan comptable Un. Une société sans plan propre utilise le plan par défaut des autres pays
Pays et devise de base Un de chaque
Indicateurs : effectif, utilisateurs IT, chiffre d'affaires Un jeu par année
Département Société Une
Compte Plan comptable Un
Valeur analytique Dimension analytique Une

Une ligne se lie aussi à des projets, des demandes, des applications, des actifs, des contrats, des contacts, des tâches, des sites web et des pièces jointes. Voir Liens vers d'autres objets.

Les lignes budgétaires

Lignes OPEX et CAPEX

Une ligne vit sur plusieurs années : une licence sur trois ans est une ligne avec trois années budgétaires. KANAP donne un numéro à chaque ligne budgétaire à sa création, sa référence BL-12, dans la même série pour l'OPEX et le CAPEX. La liste, l'espace de travail et l'adresse de la page l'affichent. Les lignes budgétaires créées avant cette série avaient aussi un numéro OPX-12 ou CPX-3 : les liens, les recherches et le fichier budgétaire retrouvent toujours une ligne par ce numéro. Dans un fichier sans colonne nature, un nombre seul garde son sens antérieur (CPX-3 quand la liste est filtrée sur CAPEX). Voir Références.

Champ Colonne du fichier budgétaire Obligatoire Remarques
Nature nature Oui opex ou capex. Un fichier ne change pas la nature d'une ligne existante (voir Changer le type d'une ligne). Un fichier sans cette colonne est lu comme des lignes OPEX, ou comme des lignes CAPEX quand la liste est filtrée sur CAPEX
Numéro item_number Attribué par KANAP BL-12. Vide dans le fichier : crée une ligne
Titre name Oui La colonne Nom du produit de la liste
Description description Non
Société payeuse company_name Oui Reprise du centre de coûts quand seul le centre de coûts est donné
Fournisseur supplier_name, supplier_erp_id Non
Compte account_number Oui Dans le plan comptable de la société payeuse
Centre de coûts cost_center_code Non Un groupe est refusé
Run ou build run_build Non run ou build
Valeurs analytiques analytics:<code> Pour une dimension obligatoire Une colonne par dimension active. Une ligne ne prend de valeurs que sur les dimensions de sa nature. Une dimension obligatoire demande une valeur sur une nouvelle ligne de sa nature. Un nouvel espace de travail démarre avec les dimensions recommandées, dont aucune n'est obligatoire
Responsable IT, responsable métier owner_it_email, owner_business_email Non Utilisateurs actifs
Projet project Non Un numéro de projet, par exemple PRJ-3
Devise currency Oui Code ISO à trois lettres
Début d'effet effective_start Oui Dans un fichier, le 1er janvier de la première année portant un montant dans la ligne, sinon de l'année en cours
Fin de validité end_of_validity Non La seule date de fin d'une ligne
Notes notes Non

Une ligne n'a pas de statut à charger. Elle est active jusqu'à sa fin de validité, puis désactivée dans l'heure. Le responsable budgétaire affiché sur une ligne vient de son centre de coûts et n'est pas enregistré sur la ligne.

Changer le type d'une ligne

Une ligne passe d'OPEX à CAPEX, ou l'inverse, dans son espace de travail (Changer le type... dans le menu ..., voir Changer le type). Un fichier budgétaire ne le change jamais. Le changement commence le 1er janvier d'une année :

  • À partir de la première année de la ligne, la ligne elle-même change de type. Elle garde son numéro BL, ses années budgétaires, ventilations, liens, pièces jointes et tâches
  • À partir d'une année ultérieure, la ligne se termine le 31 décembre de l'année précédente et garde ses années budgétaires antérieures. Une nouvelle ligne de l'autre type, avec son propre numéro BL, porte les années budgétaires suivantes, les contacts et les liens vers les applications, actifs, contrats, projets et demandes. La nouvelle ligne enregistre la ligne à laquelle elle succède, et chaque ligne budgétaire affiche l'autre

Une ligne est remplacée par une seule ligne au plus. Le changement est refusé tant qu'une colonne gelée contient des montants de la ligne sur les années qui changent.

Années budgétaires

Chaque ligne budgétaire porte un budget par année. L'onglet Budget affiche l'année en cours, les deux années précédentes et les deux suivantes. Un fichier budgétaire peut exporter jusqu'à douze années à la fois.

Une année budgétaire contient les cinq colonnes budgétaires avec leurs montants mensuels, les lignes Quantité et prix de chaque colonne et la ventilation de l'année.

Colonnes budgétaires

Chaque ligne budgétaire a les mêmes cinq colonnes pour chaque année. Elles sont définies une fois pour toute l'organisation, pour l'OPEX comme pour le CAPEX.

Position Nom standard Nom dans les fichiers
1 Budget budget
2 Révision revision
3 Prévision (masquée par défaut) forecast
4 Réalisé actual
5 Atterrissage prévu landing
  • Un administrateur du budget peut renommer une colonne (jusqu'à 40 caractères), la masquer et choisir la colonne par défaut. Le nom dans les fichiers reste le même : un fichier continue de fonctionner après un renommage. Voir Colonnes budgétaires.
  • Une colonne masquée garde ses montants et accepte toujours les imports.
  • Les colonnes sont gelées par année, par colonne et par type (OPEX ou CAPEX). Une colonne gelée refuse les modifications, les imports, les copies et les réinitialisations. Voir Geler / Dégeler les données.

Il n'y a pas de sixième colonne. Pour conserver plusieurs tours budgétaires, utilisez une colonne par tour, ou copiez une colonne vers une autre année ou une autre colonne avec Copier les colonnes budgétaires.

Montants mensuels

Chaque colonne d'une année budgétaire contient douze montants mensuels, à deux décimales, dans la devise de la ligne. Le total annuel est la somme des mois. Un fichier peut porter le total annuel ou les douze mois d'une colonne : un total annuel est réparti sur la période de la colonne, comme dans l'onglet Budget.

Chaque colonne enregistre aussi sa période dans l'année et l'origine de ses montants : une répartition, une copie, une saisie à la main ou ses lignes Quantité et prix. Les rapports convertissent les montants dans la devise de reporting avec les taux de change de l'année. Voir Paramètres de devises.

Lignes Quantité et prix

Une colonne peut être calculée à partir de lignes, chacune une quantité multipliée par un prix unitaire. Chaque ligne a une description (jusqu'à 200 caractères), une quantité (jusqu'à 3 décimales), une unité (personnes, jours ou pièces), un prix unitaire (jusqu'à 4 décimales), une fréquence, une période ou une date, et un calendrier de jours ouvrés quand le prix est par jour. L'ETP de la colonne est déduit des lignes. Voir Quantité et prix.

Ces lignes se saisissent dans l'onglet Budget. Aucun fichier ne les porte. Un fichier budgétaire écrit les montants mensuels d'une colonne, et les lignes restent avec elle comme référence.

Ventilations

Chaque année budgétaire d'une ligne a une méthode de ventilation :

Méthode Répartition selon
Par défaut La méthode par défaut de l'organisation pour l'année, définie dans Méthode de ventilation par défaut
Effectif, Utilisateurs IT, Chiffre d'affaires Les indicateurs des sociétés pour l'année
Manuel par société Un indicateur, entre les sociétés que vous choisissez
Manuel par département L'effectif des départements que vous choisissez
Pourcentages manuels Les pourcentages que vous saisissez, dont la somme fait 100 %

Les ventilations alimentent les rapports de refacturation, pour les lignes OPEX et CAPEX. Aucun fichier ne les importe. Copier les colonnes budgétaires les reporte d'une année sur la suivante, et les rapports de refacturation exportent leurs tableaux en CSV. Voir Rapports.

Liens vers d'autres objets

Lien Où il se crée Dans un fichier
Projets L'onglet Relations de la ligne, ou du projet Le fichier budgétaire porte un projet par ligne budgétaire dans project. Les liens de l'onglet Relations ne sont pas dans le fichier. Les listes affichent les deux
Demandes L'onglet Relations de la demande Non
Applications L'onglet Relations de la ligne, ou de l'application Non
Actifs L'onglet Relations de l'actif Non
Contrats L'onglet Relations de la ligne, ou du contrat Non
Contacts, sites web, pièces jointes L'onglet Relations de la ligne Non
Tâches L'onglet Vue d'ensemble de la ligne Non

Données de référence

Le fichier budgétaire retrouve les données de référence par des identifiants métier. Chargez d'abord les données de référence. Le fichier budgétaire crée les fournisseurs manquants quand Créer les fournisseurs manquants est cochée, ainsi que les valeurs analytiques manquantes. Il ne crée rien d'autre.

Objet Identifié dans les fichiers par Obligatoire Sur une ligne budgétaire
Société name Nom, pays, devise de base. L'écran demande aussi une ville company_name
Département company_name et name Société, nom Utilisé par les ventilations
Plan comptable Son code (coa_code dans le fichier des comptes) Code, nom, portée Par la société payeuse
Compte account_number dans son plan (coa_code dans le fichier global) Numéro, nom account_number
Centre de coûts code, sans tenir compte de la casse Code, nom, type, et la société d'un centre de coûts cost_center_code
Fournisseur name Nom supplier_erp_id, puis supplier_name
Dimension analytique Son code Code L'en-tête de colonne analytics:<code>
Valeur analytique axis_code et name Nom La cellule de la colonne de sa dimension
Calendrier de jours ouvrés code, sans tenir compte de la casse Code, nom Utilisé par les lignes Quantité et prix
Utilisateur email E-mail owner_it_email, owner_business_email

Les points qui comptent quand vous faites correspondre un autre outil à KANAP :

  • Les sociétés portent leur effectif, leurs utilisateurs IT et leur chiffre d'affaires par année. Le chiffre d'affaires est en millions de la devise de base de la société. Les ventilations par effectif, utilisateurs IT ou chiffre d'affaires ont besoin des indicateurs de l'année.
  • Les comptes appartiennent à un plan comptable, et une société utilise un plan. Un numéro de compte est un nombre entier, unique dans son plan. Le compte d'une ligne budgétaire doit exister dans le plan de sa société payeuse, et chaque compte indique s'il sert aux lignes OPEX, aux lignes CAPEX ou aux deux. Voir Plans comptables et gestion des comptes.
  • Les centres de coûts forment une arborescence. Un groupe rassemble des centres de coûts et d'autres groupes, et peut couvrir plusieurs sociétés. Un centre de coûts appartient à une société, n'a pas d'enfants et est le seul nœud qu'une ligne peut utiliser. Son responsable budgétaire s'affiche sur chaque ligne budgétaire qu'il porte. Voir Centres de coûts.
  • Les fournisseurs sont mis en correspondance par leur nom dans leur propre fichier. Le fichier budgétaire les retrouve d'abord par l'ID ERP, puis par le nom : renseignez l'ID ERP quand votre ERP en a un.
  • Les dimensions analytiques se créent sur leur page, chacune avec un code. Une ligne porte au plus une valeur par dimension. Voir Dimensions analytiques.
  • Les calendriers de jours ouvrés sont standard (ils suivent les jours fériés d'un pays) ou personnalisés. Ils contiennent les jours ouvrés de chaque mois, année par année. Voir Calendriers de jours ouvrés.
  • Les devises sont des codes ISO à trois lettres. Les devises autorisées, la devise de reporting et les taux de change se règlent à l'écran et n'ont pas de fichier.

Formats d'échange

Chaque fichier ci-dessous s'exporte et s'importe depuis la page qui gère l'objet. Les imports se font en deux étapes : une vérification qui n'écrit rien, puis un chargement. À l'exception du fichier des contrats, ils partagent les règles d'encodage, de séparateur, de dates et de montants et la limite de taille décrites dans Fichiers CSV.

Objet Export Import Correspondance par Détails
Lignes OPEX et CAPEX et leurs montants Oui Oui item_number (BL-12) Charger un budget depuis un tableur
Sociétés et leurs indicateurs Oui Oui name Sociétés
Départements Oui Oui company_name et name Départements
Comptes Oui Oui account_number dans le plan Plans comptables et gestion des comptes
Plans comptables Non Non Créés sur la page ou depuis un modèle. Voir Plans comptables et gestion des comptes
Centres de coûts Oui Oui code Centres de coûts
Fournisseurs Oui Oui name Fournisseurs
Valeurs analytiques Oui Oui axis_code et name Dimensions analytiques
Calendriers de jours ouvrés Oui Oui code, une ligne par calendrier et par année Calendriers de jours ouvrés
Utilisateurs Oui Oui email Fichier CSV des utilisateurs
Contrats Oui Oui name et supplier_name Contrats. Le fichier ne porte pas les liens vers les lignes budgétaires
Ventilations Depuis les rapports de refacturation Non Rapports
Lignes Quantité et prix, paramètres des colonnes budgétaires, gels, devises Non Non Réglés à l'écran

Le fichier budgétaire lit et écrit les montants de n'importe quelle colonne et année, en totaux annuels ou en mois, avec le détail de la ligne budgétaire sur la même ligne du fichier. C'est la porte d'entrée d'un budget préparé ailleurs et la porte de sortie vers un tableur ou un outil de BI. Un seul fichier contient les deux types de ligne, et sa colonne nature indique lequel. Gestion budgétaire > Lignes budgétaires exporte les lignes budgétaires qu'elle affiche, des deux types, et importe un fichier qui contient les deux, avec le niveau Admin sur Budget.

Faire entrer un budget dans KANAP

  1. Faites correspondre chaque objet de votre outil actuel aux tableaux ci-dessus, et ses identifiants à la colonne Correspondance par.
  2. Chargez les données de référence dans l'ordre donné dans Charger un budget complet.
  3. Exportez le fichier budgétaire depuis la liste pour obtenir la ligne d'en-tête de votre organisation, avec une colonne par dimension analytique. Une liste sans ligne budgétaire exporte la ligne d'en-tête seule.
  4. Remplissez une ligne par ligne budgétaire avec sa nature, en laissant item_number vide, avec une colonne de montant par colonne budgétaire et par année (budget_2027), ou par mois (budget_2027_03).
  5. Importez le fichier. La vérification signale les erreurs par ligne du fichier, et rien n'est écrit avant le chargement.

Un jeu cohérent de fichiers d'exemple, avec une société fictive et ses données de référence, se trouve dans le dépôt KANAP.

Lire les données directement

Sur une installation on-premise, la base PostgreSQL vous appartient : KANAP tourne sur la base que vous fournissez. Vous pouvez la lire, la sauvegarder et y brancher des outils.

Avant de le faire, gardez trois points en tête.

La sécurité au niveau des lignes filtre chaque lecture. KANAP se connecte avec un rôle applicatif dédié qui ne peut pas contourner la sécurité au niveau des lignes. Il refuse de démarrer avec un rôle superutilisateur ou un rôle qui la contourne. Chaque table qui contient vos données ne montre ses lignes qu'à une session qui a indiqué l'espace de travail qu'elle lit. Une session qui ne l'a pas indiqué obtient des résultats vides, sans erreur.

Les tables sont internes. Leurs noms, leurs colonnes et leur stockage changent d'une version à l'autre, par les migrations qui s'exécutent à chaque mise à jour. Les noms de colonnes en base sont des clés de stockage et diffèrent des noms affichés à l'écran et dans les fichiers. Une requête écrite sur les tables d'aujourd'hui peut renvoyer des résultats faux ou vides après une mise à jour.

Vos objets peuvent bloquer une mise à jour. PostgreSQL refuse de modifier ou de supprimer une colonne dont dépend une vue. Une vue créée sur les tables de KANAP peut faire échouer une mise à jour. Gardez vos requêtes dans l'outil de BI ou dans une base de reporting séparée.

Pour un outil de BI, utilisez d'abord les exports. Le fichier budgétaire et les fichiers des données de référence portent des noms et des identifiants métier, documentés dans ce manuel.

Quand un outil doit lire la base, donnez-lui son propre rôle en lecture seule. Ne réutilisez jamais le rôle applicatif. Par exemple, en tant qu'administrateur PostgreSQL, avec kanap comme rôle applicatif et comme base :

-- The workspace of this installation
SELECT id FROM tenants;

CREATE ROLE kanap_bi LOGIN PASSWORD 'change-me' NOSUPERUSER NOBYPASSRLS;
GRANT CONNECT ON DATABASE kanap TO kanap_bi;
GRANT USAGE ON SCHEMA public TO kanap_bi;
GRANT SELECT ON spend_items, companies, accounts TO kanap_bi;
ALTER ROLE kanap_bi IN DATABASE kanap SET app.current_tenant = '<id from the first query>';

N'accordez SELECT que sur les tables dont vos rapports ont besoin. La base contient aussi des comptes utilisateurs, des données de connexion et des paramètres dont un outil de reporting n'a pas l'usage. Vérifiez les droits et les requêtes après chaque mise à jour.