# Documentation de la base Grist : marchés, subventions et budget

Base de suivi des marchés publics, des paiements, des recettes de subventions et du budget pluriannuel par projet. Elle est créée par le script `grist_setup.py`.

**Légende** : *Saisie* = renseignée à la main · *Calculée* = formule, ne pas modifier · *Préremplie* = proposée automatiquement, modifiable · *Réf.* = lien vers une autre table.

## Principes

- Le **projet** est l'axe central : budget, dépenses et subventions s'y rattachent.
- Un **lot** est un marché à part entière ; les lots d'une même consultation partagent le champ `Consultation`.
- Une **lettre de commande** est un BC sans marché.
- Le **budget** se compose de postes échelonnés par exercice. Les BC sont imputés sur un poste, ce qui relie le prévu au réel.
- Les **subventions** se calculent à partir des factures payées : aucune saisie par facture.

## Vue d'ensemble

| Table | Rôle |
| --- | --- |
| Entreprises | Titulaires, sous-traitants, fournisseurs |
| Projets | Opérations suivies, avec leur synthèse financière |
| Postes_budget | Lignes du budget d'un projet (dépense ou recette) |
| Lignes_budget | Montants prévus par poste et par exercice |
| Marches | Marchés et lots |
| DC4 | Sous-traitance déclarée sur un marché |
| Lignes_BPU | Prix du bordereau d'un marché |
| BC | Bons de commande sur marché et lettres de commande |
| Lignes_BC | Prestations commandées sur un BC |
| Factures | Factures reçues et leur cycle de paiement |
| Subventions | Aides de l'État, de l'Europe ou des collectivités |
| Versements | Appels de fonds et encaissements des subventions |

## Entreprises

Annuaire unique des tiers.

| Colonne | Nature | Description |
| --- | --- | --- |
| Raison_sociale | Saisie | Nom de l'entreprise (affichée dans les listes) |
| SIRET, Contact, Email | Saisie | Identification et contact |

## Projets

| Colonne | Nature | Description |
| --- | --- | --- |
| Nom, Statut, Dossier | Saisie | Nom, état (En cours, Terminé, Suspendu), lien vers le dossier documentaire |
| Budget | Calculée | Somme des budgets des postes de dépense |
| Recettes_budgetees | Calculée | Somme des budgets des postes de recette |
| Depense_engagee | Calculée | Total des BC du projet (brouillons compris) |
| Engage_hors_poste | Calculée | Engagé des BC sans poste budgétaire : doit rester à 0 |
| Depense_payee | Calculée | Factures au statut « Payée » |
| Aides_previsionnelles | Calculée | Somme des aides prévisionnelles des subventions actives |
| Aides_engagees | Calculée | Somme des aides calculées sur l'engagé |
| Subventions_acquises | Calculée | Somme des droits acquis (sur dépenses payées) |
| Autofinancement | Calculée | Budget − aides prévisionnelles |
| Taux_autofinancement | Calculée | Autofinancement / budget |
| Reste_a_charge | Calculée | Dépense payée − subventions acquises |
| Alerte | Calculée | Message si l'autofinancement passe sous 20 % (paramétrable) |

## Postes_budget

Un poste regroupe une nature de dépense (ou une recette) d'un projet, tous exercices confondus.

| Colonne | Nature | Description |
| --- | --- | --- |
| Projet (Réf.), Libelle, Sens | Saisie | Projet, intitulé (ex. « Travaux »), Dépense ou Recette |
| Subvention (Réf.) | Saisie | Pour un poste de recette : subvention attendue |
| Intitule | Calculée | « Projet - Libellé », affiché dans les listes |
| Budget, Budget_initial | Calculée | Somme des montants prévus (révisés / initiaux) |
| Engage | Calculée | Total des BC imputés (dépenses) |
| Realise | Calculée | Payé (dépenses) ou perçu (recettes) |
| Reste_a_engager | Calculée | Budget − engagé (dépenses) |
| Reste_a_realiser | Calculée | Budget − réalisé |
| Revision | Calculée | Révisions de prix cumulées des factures du poste |

## Lignes_budget

Une ligne par poste et par exercice.

| Colonne | Nature | Description |
| --- | --- | --- |
| Poste (Réf.), Exercice | Saisie | Poste concerné, année (ex. 2027) |
| Montant_prevu | Saisie | Montant prévu, révisable |
| Montant_initial | Préremplie | Copie du montant prévu à la création de la ligne |
| Hypothese | Saisie | Base du calcul (ex. « 40 j × 650 € + 10 % d'aléas ») |
| Projet | Calculée | Projet du poste |
| Ecart_revision | Calculée | Prévu − initial |
| Realise_exercice | Calculée | Payé (ou perçu) pendant l'exercice |
| Ecart | Calculée | Prévu − réalisé de l'exercice |
| Engage_exercice | Calculée | BC du poste datés de l'exercice (dépenses) |
| Marge_engagement | Calculée | Prévu − engagé de l'exercice : négative = BC au-delà de l'enveloppe |
| Engage_cumule, Paye_cumule | Calculée | Engagé et payé depuis l'origine jusqu'à la fin de l'exercice |
| Reste_a_payer_fin | Calculée | Engagé cumulé − payé cumulé : charge reportée sur l'exercice suivant |

## Marches

Un marché ou un lot.

| Colonne | Nature | Description |
| --- | --- | --- |
| Reference, Objet | Saisie | Référence (ex. `2026-012-L3`) et objet |
| Consultation, Lot | Saisie | Regroupement des lots d'une même consultation, libellé du lot |
| Projet, Titulaire (Réf.) | Saisie | Projet principal ; entreprise attributaire (vide avant attribution) |
| Date_debut, Date_fin | Saisie | Durée du marché |
| Montant_estimation, Nb_offres | Saisie | Estimation avant consultation ; nombre d'offres reçues |
| Montant_max | Saisie | Montant maximum attribué, à actualiser par avenant |
| Statut, Dossier | Saisie | En consultation, Actif, Terminé, Résilié ; lien documentaire |
| Consomme | Calculée | Total des BC du marché |
| Reste_disponible | Calculée | Montant max − consommé |
| Ecart_estimation | Calculée | Montant max − estimation |
| Revision_cumulee | Calculée | Révisions de prix cumulées sur le marché |
| Aides_previsionnelles, Autofinancement_previsionnel | Calculée | Indicatifs : taux des subventions concernées × montant max |

## DC4

Sous-traitance déclarée sur un marché.

| Colonne | Nature | Description |
| --- | --- | --- |
| Marche, Sous_traitant (Réf.) | Saisie | Marché et entreprise sous-traitante |
| Montant, Paiement_direct | Saisie | Montant sous-traité HT ; paiement direct au sous-traitant ou non |
| Date_DC4, Statut, Pieces | Saisie | Date, état (Demandé, Accepté, Refusé), DC4 signé |
| Cumul_facture | Calculée | Factures non rejetées du sous-traitant sur ce marché |
| Reste_DC4 | Calculée | Montant − cumul facturé |

## Lignes_BPU

Bordereau des prix d'un marché.

| Colonne | Nature | Description |
| --- | --- | --- |
| Marche (Réf.) | Saisie | Marché concerné |
| Code, Designation, Unite | Saisie | Identification de la prestation |
| Prix_unitaire | Saisie | Prix unitaire HT |

## BC

Bon de commande sur marché, ou lettre de commande si le marché est vide.

| Colonne | Nature | Description |
| --- | --- | --- |
| Numero, Date_BC, Objet | Saisie | Identification de la commande |
| Marche (Réf.) | Saisie | Vide pour une lettre de commande |
| Entreprise (Réf.) | Préremplie | Titulaire du marché ; à saisir pour une lettre de commande |
| Projet (Réf.) | Préremplie | Projet du marché ; à saisir pour une lettre de commande |
| Poste (Réf.) | Saisie | Poste budgétaire d'imputation |
| Statut, Pieces | Saisie | Brouillon, Émis, Réalisé, Soldé ; bon signé |
| Type | Calculée | « BC sur marché » ou « Lettre de commande » |
| Total_BC, Realise | Calculée | Total commandé HT, total réalisé HT |
| Facture | Calculée | Total facturé HT, factures rejetées exclues |
| Revision | Calculée | Part de révision de prix dans les factures non rejetées |
| Reste_a_facturer | Calculée | Réalisé − (facturé − révision) ; une valeur négative signale une sur-facturation |

## Lignes_BC

| Colonne | Nature | Description |
| --- | --- | --- |
| BC, Ligne_BPU (Réf.) | Saisie | Commande ; ligne du bordereau (vide pour une lettre de commande) |
| Designation | Préremplie | Reprise de la ligne BPU, libre pour une lettre de commande |
| Quantite, Quantite_realisee | Saisie | Quantités commandée et réalisée |
| PU_fige | Préremplie | Prix du BPU au moment de la commande, ou prix saisi (lettre de commande) |
| Montant_commande, Montant_realise | Calculée | Quantité × PU figé |

## Factures

| Colonne | Nature | Description |
| --- | --- | --- |
| Numero, BC, Entreprise (Réf.) | Saisie | Entreprise = sous-traitant en cas de paiement direct |
| Date_reception, Montant_HT | Saisie | Réception et montant |
| Dont_revision | Saisie | Part du montant HT due à la révision de prix |
| Statut | Saisie | Reçue, Vérifiée, Rejetée, Mandatée, Payée |
| Date_paiement | Saisie | Date de paiement effectif |
| Id_Chorus, Commentaire, Pieces | Saisie | Identifiant de dépôt, motif de rejet, facture PDF |
| Echeance | Calculée | Réception + 30 jours (paramétrable) |
| Marche, Projet, Poste | Calculée | Repris du BC |

## Subventions

| Colonne | Nature | Description |
| --- | --- | --- |
| Intitule, Type_financeur, Organisme, Programme | Saisie | Identification de l'aide |
| Projet (Réf.) | Saisie | À toujours renseigner |
| Marches (Réf. multiple) | Saisie | Marchés couverts. **Vide = tout le projet**, lettres de commande comprises |
| Taux | Saisie | Part de la dépense subventionnée |
| Montant_notifie, Plafond_depense | Saisie | Plafond de l'aide ; plafond de la dépense retenue |
| Debut_eligibilite, Fin_eligibilite | Saisie | Fenêtre de paiement des dépenses éligibles |
| Statut, Dossier | Saisie | Demandée, Notifiée, En cours, Soldée, Rejetée, Caduque ; lien documentaire |
| Aide_previsionnelle | Calculée | Taux × (montant max des marchés, ou budget du projet), plafonné |
| Aide_engagee | Calculée | Même calcul sur l'engagé |
| Depense_eligible | Calculée | Factures payées dans la fenêtre, plafonnées |
| Droits_acquis | Calculée | Taux × dépense éligible, sans dépasser le montant notifié |
| Demande, Percu | Calculée | Somme des versements demandés / perçus |
| A_demander | Calculée | Droits acquis − demandé |
| En_attente | Calculée | Demandé − perçu |

## Versements

| Colonne | Nature | Description |
| --- | --- | --- |
| Subvention (Réf.) | Saisie | Aide concernée |
| Nature, Montant | Saisie | Avance, Acompte, Solde ; montant |
| Date_demande, Date_perception | Saisie | Une date de perception vide = en attente |

## Règles de gestion

1. **Budget** : le prévu se saisit dans `Lignes_budget`. Le réel y arrive par les BC imputés sur un poste, sans ressaisie.
2. **Engagé** : somme des BC, brouillons compris. Passez un BC en « Brouillon » uniquement si vous acceptez qu'il compte.
3. **Subventions** : seules les factures « Payée » comptent, avec la date de paiement dans la fenêtre d'éligibilité.
4. **Prix figé** : une modification ultérieure du BPU ne change pas les BC déjà créés.
5. **Révision de prix** : le BPU et les BC restent aux prix initiaux. La révision se saisit sur la facture (`Dont_revision`) et est exclue du reste à facturer. Elle compte dans le payé, donc dans le budget et les subventions. Prévoyez-la dans une provision budgétaire.
6. **Annualité** : engagé par exercice selon la date du BC, payé selon la date de paiement. Créez un BC par an pour les prestations récurrentes, car un BC pluriannuel est compté en entier l'année de sa date.

## Points de vigilance

- **Colonnes calculées** : ne pas les modifier. Les changements se font dans les colonnes de saisie.
- **Montant initial** : saisissez le montant prévu en premier à la création d'une ligne budgétaire, sinon renseignez l'initial à la main.
- **Subvention rattachée à des marchés** : les lettres de commande du projet n'y sont pas comptées.
- **Paramètres** : le délai de 30 jours et le seuil de 20 % sont des valeurs courantes, modifiables en tête du script.
- **Listes déroulantes** : à régler dans Grist sur `Lignes_BC.Ligne_BPU` (`choice.Marche == $BC.Marche`) et `BC.Poste` (`choice.Projet == $Projet`).
- **Synthèses annuelles** : ajoutez dans Grist une page Résumé de `Lignes_budget`, groupée par Projet et Exercice (non créable par le script).