Données & reprise · MCD · svc-contributions
svc-contributions — modèle de données minimal
Le schéma le plus lourd et le plus exposé du SI. Le retour du chantier migration a révélé ici un manque structurel : la source de vérité de l'assiette n'avait pas de table cible. Trois tables sont à ajouter avant tout chargement de LOGPROD.
6tables du noyau
3compléments
3manquantes
0,8–3 Mlignes d'attestation
MCD minimal
Contenu minimal en tables
Le noyau est ce sans quoi le service ne peut pas tenir ses agrégats ni sa première tranche fonctionnelle. Les tables du socle technique s'ajoutent à cette liste et ne sont pas répétées.
| Niveau | Table | Contenu et point de vigilance |
|---|---|---|
| NOYAU | insurer_statements | En-tête de bulletin par compagnie et période : base déclarée, montant dû, statut. 1 567 bordereaux. |
| MANQUE | statement_lines | Le manque le plus grave du schéma. Cible de la table attestation (0,8 à 3 M lignes), source de vérité de l'assiette des 2 %. Sans elle le montant dû n'est ni recalculable ni auditable ligne à ligne. Exigences : générer la PK absente, float → numeric, périodes varchar → date, dédoublonnage sur clé fonctionnelle à valider, partitionnement par période, re-contrôle 2 % ± 1 FCFA après chargement. |
| MANQUE | statement_imports | Manquante. Journal d'import (cible de attestation_log) : fichier, empreinte, compteurs, résultat. C'est elle qui porte la référence MinIO du bordereau Excel justificatif. |
| MANQUE | statement_rejects | Manquante. Cible de attestation_erronees : lignes rejetées, motif, correction. Question ouverte : reprend-on les rejets jamais corrigés ? |
| NOYAU | state_contributions | Contribution de l'État. |
| NOYAU | uninsured_contributions | Contribution des non-assurés. |
| NOYAU | penalties | Pénalités 10 %/mois de retard, exigibles au 30 du mois n+2 (RG-18). Aucune source applicative : calculées par le service, pas reprises. |
| NOYAU | production_slips | Bordereaux de production émis. |
| NOYAU | collection_slips | Bordereaux d'encaissement. |
| COMPL. | tax_base_assessments | Évaluation de l'assiette, sous-déclaration constatée. |
| COMPL. | nettings | Compensations avec les compagnies. |
| COMPL. | contribution_overdue_alerts | Alertes d'échéance, calculées au runtime. |
| PROJ. | known_insurers | Projection du référentiel compagnies. |
Sources legacy et transformations
| Table legacy | Volumétrie | Table cible | Transformation clé |
|---|---|---|---|
| attestation | 0,8 à 3 M lignes | statement_lines | Générer la PK absente ; dédoublonner (clé fonctionnelle à valider) ; float → numeric ; périodes varchar → date ; re-contrôle 2 % ± 1 FCFA. |
| attestation_log | à mesurer | statement_imports | Rattacher chaque import à son fichier justificatif archivé dans MinIO. |
| attestation_erronees | à mesurer | statement_rejects | Question ouverte : reprendre ou non les rejets jamais corrigés ? |
| bordereaux Excel (AUTO / POLICE / CONTROLE) | 19 compagnies | <b>aucune</b> | Ne pas charger. Justificatifs vers MinIO, référentiel compagnies, jeux de parité, rattrapage des seuls bordereaux jamais importés. |
Points de vigilance
Le rôle des bordereaux Excel, écrit noir sur blanc. La table
attestation contient déjà le résultat de leur import : c'est elle la source de vérité, et elle seule est chargée. Les fichiers Excel ne sont pas une seconde source — les lire aussi produirait un double comptage de l'assiette des 2 %, la faute la plus grave possible sur ce périmètre financier. Leur rôle est limitatif : pièces justificatives archivées dans MinIO et liées au journal d'import, source du référentiel compagnies, jeux de tests de parité, et rattrapage des seuls bordereaux jamais importés.La table centrale du legacy n'a pas de clé primaire et ses montants sont en float. Le dédoublonnage doit donc s'appuyer sur une clé fonctionnelle — compagnie + période + n° d'attestation + immatriculation + nature d'opération — qui reste à valider avec le métier. Se tromper de clé, c'est soit perdre des lignes, soit compter deux fois.
Décisions attendues
- Bloquant : compléter le schéma des trois tables manquantes avant le premier chargement de LOGPROD.
- Valider la clé fonctionnelle de dédoublonnage de
attestation. - Trancher la reprise ou non des
attestation_erroneesjamais corrigées. - Arbitrer les écarts d'arrondi float vs totaux bigint.