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 projetdescription: Description détailléeuserId: Référence à l'utilisateur propriétairestartDate: Date de début du plan financiercreatedAt: 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
{ "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 parentyear: 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
{ "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 :
Documentation API
Pour explorer comment utiliser ces structures dans l'API externe de Finance_App, consultez la page API & Sécurité.