Structure de données

Modèle de données Finance_App

Documentation technique sur les entités core et leurs relations

Finance_App est construit autour d'un modèle de données cohérent qui permet la génération de prévisions financières détaillées. Cette documentation présente les entités principales du système, leurs relations et comment elles s'articulent pour produire des analyses financières précises.

Entités principales

User

Utilisateur avec informations d'authentification et contrôle d'accès aux projets

Project

Projet financier contenant un ensemble de prévisions, budgets et articles

Forecast

Prévision financière pour une période donnée avec un ensemble de charges et revenus

Article

Produit ou service générant des revenus, avec prix et quantités prévisionnelles

Personnel Charge

Charge liée aux employés et collaborateurs avec salaires et charges sociales

Operation Charge

Charge d'exploitation non liée au personnel (loyer, matériel, etc.)

Détail des entités

Project

Représente un business plan ou un projet financier complet. Un projet peut appartenir à un utilisateur et contenir plusieurs prévisions.

Attributs principaux

  • id: Identifiant unique interne (UUID)
  • externalId: Identifiant externe pour intégrations (facultatif)
  • title: Nom du projet
  • description: Description détaillée
  • userId: Référence à l'utilisateur propriétaire
  • startDate: Date de début du plan financier
  • createdAt: Date de création

Relations

  • User: Relation 1:N (un utilisateur peut avoir plusieurs projets)
  • Forecast: Relation 1:N (un projet peut avoir plusieurs prévisions annuelles)
  • Article: Relation 1:N (un projet peut avoir plusieurs articles)
  • ShareLink: Relation 1:N (liens de partage générés)

Exemple JSON

JSON
{ "id": "550e8400-e29b-41d4-a716-446655440000", "externalId": "PROJ-EXT-123", "title": "Business Plan Restaurant Bio", "description": "Plan financier pour l'ouverture d'un restaurant bio au centre-ville", "userId": "b3deb6c8-c280-45c4-9bce-2d8831b61455", "startDate": "2025-01-01", "createdAt": "2024-12-15T10: 30: 00.000Z", "forecasts": [ { "id": "6a7c8b9d-5e4f-4d3c-2b1a-0f9e8d7c6b5a", "startYear": 2025, "projectId": "550e8400-e29b-41d4-a716-446655440000" }, { "id": "7b8c9d0e-6f5g-5e4d-3c2b-1a0f9e8d7c6b", "startYear": 2026, "projectId": "550e8400-e29b-41d4-a716-446655440000" } ], "articles": [ { "id": "a1b2c3d4-e5f6-7g8h-9i0j-1k2l3m4n5o6p", "title": "Menu du jour", "articleType": "PRODUCT", "unitPrice": 15.50, "productionPrice": 5.0, "monthlyValues": [ { "month": 1, "value": 200 }, { "month": 2, "value": 220 } ] } ], "shareLinks": [ { "id": "s1h2a3r4-e5l6-i7n8-k9s0-123456789abc", "token": "uniqueToken123", "expiresAt": "2025-12-31T23: 59: 59.999Z", "isPasswordProtected": true } ] }

Forecast

Une prévision financière annuelle avec budgets et indicateurs financiers.

Représente une prévision financière sur une période définie (généralement une année). Chaque projet peut avoir plusieurs prévisions (par exemple, une par année).

Lors de la création d'un projet via l'API externe, la première prévision est automatiquement répliquée pour les années suivantes selon la configuration.

Attributs principaux

  • id: Identifiant unique (UUID)
  • projectId: Référence au projet parent
  • year: Année de la prévision (2025, 2026, etc.)
  • startMonth: Mois de début (1-12)
  • growthRate: Taux de croissance appliqué (facultatif)
  • budgets: Collection des budgets mensuels

Relations et indicateurs

  • Articles: Références aux articles avec quantités prévisionnelles
  • Personnel: Charges de personnel associées
  • Operation: Charges d'exploitation associées
  • Indicators: Indicateurs financiers calculés

Exemple JSON

JSON
{ "id": "6a7c8b9d-5e4f-4d3c-2b1a-0f9e8d7c6b5a", "projectId": "550e8400-e29b-41d4-a716-446655440000", "startYear": 2025, "budgets": [ { "month": 1, "expenses": 25000, "income": 18000 }, { "month": 2, "expenses": 25000, "income": 20000 }, { "month": 3, "expenses": 24500, "income": 22000 } // ... autres mois ], "personnelCharges": [ { "id": "p1e2r3s4-5o6n7-8e9l0-1c2h3-456789abcdef", "title": "Chef cuisinier", "budgetType": "PERSONNEL", "cashFlowType": "EXPENSE", "januaryValue": 3500, "februaryValue": 3500, "marchValue": 3500, "aprilValue": 3500 }, { "id": "s1e2r3v4-e5u6r7-8s9e0-1r2v3-456789abcdef", "title": "Serveur", "budgetType": "PERSONNEL", "cashFlowType": "EXPENSE", "januaryValue": 2200, "februaryValue": 2200, "marchValue": 2400 } ], "operationCharges": [ { "id": "l1o2y3e4-r5l6o7c-a8l9-0123-456789abcdef", "title": "Loyer local commercial", "budgetType": "OPERATION", "cashFlowType": "EXPENSE", "januaryValue": 3000, "februaryValue": 3000, "marchValue": 3000, "aprilValue": 3000 }, { "id": "m1a2t3i4-e5r6e7s-8p9r0-e1m2i-345678901234", "title": "Matières premières", "budgetType": "OPERATION", "cashFlowType": "EXPENSE", "januaryValue": 4500, "februaryValue": 5000, "marchValue": 5200 } ], "forecastBudgets": [ { "id": "b1u2d3g4-5e6t7-t8y9p0-e1n2t3-ry4567890", "budgetType": "REVENUE", "forecastId": "6a7c8b9d-5e4f-4d3c-2b1a-0f9e8d7c6b5a", "entries": [ { "id": "e1n2t3r4-y5i6d7-8v9a0l-u1e2s3-456789012345", "title": "Ventes de produits", "budgetType": "REVENUE", "cashFlowType": "INCOME", "januaryValue": 15000, "februaryValue": 16500, "marchValue": 18000 } ] } ] }

Hiérarchie des données

Les entités de Finance_App sont organisées en hiérarchie. Voici la structure principale :

UserPropriétaire de multiples projets
ProjectContainer principal avec externalId pour intégrations
ForecastUne prévision par année (1 à n années)
ArticleProduits/services avec prix et quantités
ChargesPersonnel et opérations avec montants mensuels
BudgetsRevenus/dépenses aggrégés par mois

Documentation API

Pour explorer comment utiliser ces structures dans l'API externe de Finance_App, consultez la page API & Sécurité.