CDG-01 — Short report mensuel
| Fonction | Nature | Framework | Score | Statut |
|---|---|---|---|---|
| Contrôle de gestion | Workflow (le plus lourd du portefeuille) | n8n (orchestration multi-source) | 19 | 🔴 Bloqué (API Nibelis + format Marine da Rocha) |
Source : atelier CDG 28/07/2026 (Sonia Gantou DAF, Anne Guerry, Marine da Rocha) — synthèse enrichie + transcript verbatim.
Contexte métier (extrait transcript)
Section titled “Contexte métier (extrait transcript)”- Short report = vitrine CDG livrée à J+5 après clôture
- 10-12 onglets consolidant données de Nibelis + Progessi + CEDGE + Sage + Amelkis
- Chaque entité produit un fichier propre → copier-coller manuel dans fichier maître (risque décalage de lignes)
- Retraitements manuels :
- Alternants / stagiaires (liste à jour nécessaire)
- Provisions (règles CDG spécifiques)
- Cotisations
- Temps réel : 15-30 min à 1h par entité × 10-12 onglets + retraitements + consolidation
- Écart méthodo : 3h pour l’un vs 15 min pour l’autre — pratiques hétérogènes entre entités
- Contrôle humain gardé sur qualité (validation Anne/Marine avant publication)
- Marine da Rocha = nouvelle interlocutrice clé qui reprend le short report — validation des formats critique
- Reporting Groupe alimenté par “Marie” — question ouverte sur articulation
- Amelkis = SaaS de consolidation (compta+budget+forecast+historiques) → exports Excel
- CEDGE = source à identifier (probable outil compta groupe ou variante Sage)
Verbatims — CDG atelier 28/07/2026
Section titled “Verbatims — CDG atelier 28/07/2026”« On a fait un fichier de conso où on remet chaque entité à son onglet et on fait vraiment un copier-coller en dur. » (Anne Guerry, verbatim 28/07)
« J’avais des short reports qui me sont envoyés et qui ont parfois quelqu’un [qui a] rajouté des lignes… et du coup ça me fausse tout. Parce qu’en réalité, quand je vais le recoller, ça va décaler. » (Marine da Rocha, verbatim 28/07)
« Pour le temps des shorts, ça dépend des filiales. Sur KCOP ou sur AXSEN, je mets un peu plus de temps… sur Cassiopée et sur Axel, je vais mettre beaucoup plus de temps pour analyser, faire les retraitements à la main. » (Marine da Rocha, verbatim 28/07)
« Pour ce retraitement-là, il faut prendre en compte une liste de stagiaires qu’on va renseigner et une fois qu’on connaît la liste des personnes qui sont des stagiaires, voilà ce qu’il y a à faire — et ça peut être fait automatiquement. » (Anne Guerry, verbatim 28/07)
« En lien avec les reportings : sortir les balances automatiquement de la compta. » (Marine da Rocha, verbatim 28/07 — demande explicite Sage)
« Le short report mensuel […] regroupe environ 10-12 onglets consolidant données issues de Nibelis, Progessi et CEDGE […] la préparation prend jusqu’à 15-30 minutes selon les entités, avec plus de temps pour des retraitements spécifiques. » (synthèse CDG 28/07, § 30:31)
Transcripts sources : CDG atelier 28/07/2026 (synthèse + verbatim ~178 KB), restitution DG consolidée vagues 1-2 Proxiad (CDG-01 identifié comme irritant n°1 du domaine, 8 cas d’usage cartographiés).
Objectif du cas d’usage
Section titled “Objectif du cas d’usage”Automatiser toute la chaîne d’extraction → retraitement → consolidation → mise en forme du short report mensuel, tout en gardant le contrôle qualité humain final. Passer de “1 semaine CDG mobilisée” à “1h de validation”.
Ce qui est faisable en READ-only Progessi (spec OpenAPI 2026-08-25)
Section titled “Ce qui est faisable en READ-only Progessi (spec OpenAPI 2026-08-25)”- CA du mois par BU :
POST /salesInvoicesavecFilterModelsurinvoiceDate(range mois M) + agrégation locale parbusinessUnit/legalEntity. Champs disponibles :consolidatedAmount,accountingAmount,outstandingAmount,paidAmount,dunningLevel,isFactoring,electronicInvoiceStatusCode(e-invoicing 2026 natif). - Marge sold vs purchased par BU :
POST /timesheetsavecperiod=M+ agrégation parbusinessUnit. Champs disponibles :nbDays,potentialDays,ecart,intercontract,amountSold,amountPurchased— la séparation sous-traitance est native. - DSO / encours client par BU : dérivé de
outstandingAmount×invoiceDatesursalesInvoices. - Missions actives et volumes CRA validés :
POST /projects,POST /timesheetsfiltrés. - Comptes clients / prospects / opportunités :
POST /customers,POST /prospects,POST /opportunities.
Ce qui reste hors périmètre de l’API Progessi (nécessite sources externes)
Section titled “Ce qui reste hors périmètre de l’API Progessi (nécessite sources externes)”- Comparatifs vs budget / forecast : le budget vit dans Amelkis (SaaS conso) et n’est pas dans Progessi → extraction Amelkis obligatoire.
- Balances comptables détaillées, provisions Sage : Sage 1000 FRP V11 on-prem, pas d’API — export CSV planifié sur share réseau (cf. verbatim Marine : « sortir les balances automatiquement de la compta »).
- Effectifs / masse salariale / absences : Nibelis (paye) — pas dans Progessi, API Nibelis non ouverte à date → BLOQUANT #1.
- Retraitements alternants / stagiaires : la liste des profils à exclure/réintégrer est maintenue par CDG dans SharePoint, pas dans Progessi.
- CEDGE : source non identifiée à date.
- Toute écriture (créer/modifier une facture, envoyer sur Chorus Pro, créer une écriture, trigger BPM) : Progessi actuellement READ-only côté API — Write API demandée à Progessi (
clalanne@progessi.com), bloquant ouvert.
Étapes fonctionnelles détaillées
Section titled “Étapes fonctionnelles détaillées”- Trigger : J+3 après clôture comptable OU déclenchement manuel Anne/Marine.
- Extractions parallèles :
- Nibelis API : effectifs, masse salariale, absences par entité
- Progessi API : facturation, missions, volumes CRA validés
- Sage : balances + provisions via export planifié (share réseau, pas d’API)
- Amelkis API : données consolidées (compta + budget + forecast + historiques)
- CEDGE : à qualifier (API ? export ?)
- Retraitements par entité :
- Charger liste alternants/stagiaires (maintenue par équipe CDG dans SharePoint) et exclure/réintégrer selon règles
- Calculer provisions selon règles CDG documentées
- Jointure paie × compta pour cotisations
- Harmoniser formats (préalable → cf. CDG-02)
- Détection anomalies :
- Masse salariale = 0 → alerte
- Écart > 20% vs M-1 sur un KPI → alerte
- Entité manquante (aucune donnée reçue) → alerte
- Consolidation : moteur produit 1 onglet par entité + 1 onglet global consolidé.
- Mise en forme : application du template Excel standard Proxiad (couleurs, colonnes, sous-totaux, commentaires standards M-1 M-12).
- Envoi validation : fichier généré → Anne + Marine + Sonia par mail avec liste des anomalies détectées.
- Override sheet : si Marine corrige une valeur, elle le fait via un fichier versionné (SharePoint) → prochaine génération lit ces overrides.
- Publication finale après validation Marine → SharePoint CDG + notif directions.
- Traçabilité : chaque cellule a une source traçable (quelle API/export/ligne).
Flot d’appels API
Section titled “Flot d’appels API”flowchart TD
Trigger[J+3 clôture OU déclenchement Anne/Marine] --> Parallel{Extractions parallèles}
Parallel --> ProgInv[Progessi<br/>POST /salesInvoices<br/>filter invoiceDate range mois M<br/>fields: consolidatedAmount, outstandingAmount,<br/>paidAmount, party, customer, businessUnit,<br/>legalEntity, electronicInvoiceStatusCode]
Parallel --> ProgTs[Progessi<br/>POST /timesheets<br/>filter period=M<br/>fields: nbDays, potentialDays, ecart,<br/>intercontract, amountSold, amountPurchased,<br/>producer, businessUnit, legalEntity]
Parallel --> ProgProj[Progessi<br/>POST /projects<br/>filter status=active<br/>relations customer, businessUnit]
Parallel --> ProgProd[Progessi<br/>POST /productionAcctgItems<br/>filter period=M]
Parallel --> Nib[Nibelis API<br/>GET /employees + /payroll + /leaves<br/>BLOQUANT — API non ouverte]
Parallel --> Sage[Sage 1000 FRP V11<br/>Read CSV share réseau<br/>balances + provisions]
Parallel --> Amel[Amelkis SaaS<br/>Export Excel budget + forecast<br/>API à qualifier]
Parallel --> Cedge[CEDGE ?<br/>Source à identifier]
ProgInv --> AggBU[Agrégation n8n par businessUnit<br/>CA, encours, DSO, e-invoicing status]
ProgTs --> AggBU
ProgProj --> AggBU
ProgProd --> AggBU
Nib --> Merge[Merge multi-source par entité]
Sage --> Merge
Amel --> Merge
Cedge --> Merge
AggBU --> Merge
Merge --> AltList[Lire liste alternants stagiaires<br/>SharePoint Graph API]
AltList --> Retrait[Retraitements n8n<br/>exclusion alternants<br/>provisions règles CDG<br/>cotisations paie x compta]
Retrait --> Detect{Anomalies ?<br/>MS=0 / écart >20% M-1 /<br/>entité manquante}
Detect -->|Oui| AlertList[Liste anomalies]
Detect -->|Non| Conso[Consolidation<br/>1 onglet par entité + global]
AlertList --> Conso
Conso --> Template[Application template Excel Proxiad]
Template --> Override[Lire override sheet<br/>SharePoint versionné]
Override --> Send[Microsoft Graph<br/>POST /me/sendMail<br/>Anne + Marine + Sonia<br/>+ fichier + anomalies]
Send --> Wait[Validation Marine]
Wait --> Publish[Graph API PUT<br/>/sites id /drives id /root<br/>short-report period.xlsx]
Confrontation à l’API Progessi réelle
Section titled “Confrontation à l’API Progessi réelle”Vérification faite contre la spec OpenAPI progessi-read-api.json reçue 2026-08-25 (base URL https://proxiad.progessi.com/api/control/rest, BasicAuth, 20 resources exposées en lecture).
| Besoin fonctionnel | Endpoint Progessi | Disponible ? | Commentaire |
|---|---|---|---|
| CA du mois par BU | POST /salesInvoices filter invoiceDate range M + agrégation par businessUnit | ✅ | 58 fields dont consolidatedAmount, accountingAmount |
| Encours client par BU (DSO) | POST /salesInvoices fields outstandingAmount, paidAmount, dunningLevel | ✅ | Relance client native (dunningLevel) |
| Marge sold vs purchased par BU | POST /timesheets fields amountSold, amountPurchased, agrégation businessUnit | ✅ | Séparation sous-traitance native |
| Intercontrat par BU | POST /timesheets field intercontract, ecart (nb jours) | ✅ | Champ dédié |
| E-invoicing 2026 / Chorus Pro (statut) | POST /salesInvoices field electronicInvoiceStatusCode | ✅ | Lecture seule du statut |
| Missions actives | POST /projects FilterModel + relations customer, businessUnit | ✅ | — |
| Prod comptable | POST /productionAcctgItems filter période | ✅ | Utile pour rapprochement |
| Prospects / opportunités du mois | POST /prospects, POST /opportunities | ✅ | Complément vue commerciale |
| Effectifs / masse salariale / absences | — | ❌ | Pas dans Progessi (paie = Nibelis) |
| Balances comptables détaillées, provisions | — | ❌ | Pas dans Progessi (compta = Sage 1000 on-prem) |
| Budget / forecast / historiques consolidés | — | ❌ | Pas dans Progessi (conso = Amelkis SaaS) |
| Créer une facture / envoyer sur Chorus Pro | — | ❌ | Write API demandée, bloquant ouvert |
| Créer une écriture comptable | — | ❌ | Idem — READ-only spec actuelle |
| Trigger BPM (workflow interne Progessi) | — | ❌ | Idem — hors périmètre READ |
Bloquants API identifiés :
- Nibelis — pas d’API ouverte à date. La masse salariale, effectifs et absences ne peuvent pas alimenter le short report en flux. Bloquant #1 (Sonia + David).
- Sage 1000 FRP V11 — pas d’API, on-prem. Balances et provisions passent par export CSV planifié sur share réseau (Marine a explicitement demandé cette automatisation, verbatim 28/07 : « sortir les balances automatiquement de la compta »).
- Amelkis — SaaS de consolidation, périmètre API à qualifier. Sinon export Excel manuel systématique.
- CEDGE — source non identifiée (non nommée dans la spec Progessi, non documentée par le CDG). À qualifier avant tout dev.
- Progessi Write API — non disponible dans la spec 2026-08-25. Aucun blocage pour CDG-01 (lecture pure), mais à surveiller pour CDG-02/03 et pour toute action retour (ex. lever un flag sur une facture).
Contournements retenus :
- Côté Progessi : construire un connecteur n8n générique
POST /{resource}avec FilterModel AND/OR récursif (utile aussi pour ADV, RH, Compta). Cache Redis facultatif (limit/offset pagination). Un shortcut « Progessi Facturation Mois » et un shortcut « Progessi Timesheets Mois » masquent la complexité du FilterModel. - Côté Nibelis : mode dégradé export Excel manuel posé sur SharePoint tant que l’API n’est pas ouverte — le workflow détecte le fichier et l’ingère (pattern déjà retenu pour Amelkis).
- Côté Sage : export CSV planifié par David sur un share réseau — n8n lit le fichier posé (fallback : dépôt manuel mensuel).
- Côté Amelkis : fallback export Excel sur SharePoint si API non contractualisée.
- Côté CEDGE : investigation urgente (Q1 ci-dessous) — mode dégradé identique aux autres si outil sans API.
- Le contrôle qualité humain (Anne + Marine) reste ancré : le workflow prépare le short report, l’humain valide avant publication.
API map — fonctions requises
Section titled “API map — fonctions requises”| # | Étape | Fonction / endpoint | Application | Existe ? | Accès dispo ? | Notes |
|---|---|---|---|---|---|---|
| 1 | Effectifs / masse salariale | GET /employees + GET /payroll | Nibelis | ❓ À confirmer | 🔴 API demandée | Bloquant #1 — validation Sonia |
| 2 | Absences | GET /leaves | Nibelis | ❓ | 🔴 | Idem |
| 3 | Facturation par entité | POST /salesInvoices FilterModel | Progessi | ✅ | ✅ | Shortcut à créer |
| 4 | Missions actives | POST /projects FilterModel | Progessi | ✅ | ✅ | — |
| 5 | Volumes CRA | POST /timesheets FilterModel | Progessi | ✅ | ✅ | — |
| 6 | Balances comptables | Export CSV planifié → share | Sage 1000 FRP V11 | ❓ On-prem | ⚠️ Confirmer avec David : share, planification, format | Pas d’API — exports fichier obligatoires |
| 7 | Données conso Amelkis | GET /consolidation/{period} | Amelkis SaaS | ❓ | ⚠️ Accès direct confirmé, périmètre API à valider | Ou export Excel manuel en fallback |
| 8 | Source CEDGE | ? | CEDGE | ❓ À identifier | ❓ | Investigation : Sage variante ? Autre outil ? |
| 9 | Liste alternants/stagiaires | Fichier SharePoint | M365 | ✅ | ⚠️ | Maintenue par CDG |
| 10 | Envoi mail validation | POST /me/sendMail avec attachment | Microsoft Graph | ✅ | ⚠️ Extension droits | Fichier joint Excel |
| 11 | Publication SharePoint | PUT /sites/{id}/drives/{id}/root/short-report-{period}.xlsx | Microsoft Graph | ✅ | ⚠️ | Publication |
| 12 | Override sheet | Fichier SharePoint versionné | M365 | ✅ | ⚠️ | Marine édite, workflow relit |
Prérequis techniques
Section titled “Prérequis techniques”- API Nibelis BLOQUANT #1 — pas de dev possible sans
- Comptes démo Progessi × Nibelis corrélés (mêmes collaborateurs)
- Share réseau Sage (accès David)
- Amelkis credentials + périmètre API
- Identification et accès CEDGE
- Site SharePoint CDG (test + prod)
- Template Excel maître (fichier de référence fourni par Marine)
Livrables Proxiad attendus
Section titled “Livrables Proxiad attendus”Priorité 1 — Bloquant :
- Validation API Nibelis (Sonia + David)
- Diagramme complet du short report actuel — atelier 60 min avec Marine + Anne : onglet par onglet, source par source, retraitement par retraitement
- Liste des alternants et stagiaires à jour + règle de retraitement
- Règles de provisions documentées
- Identification CEDGE : quel outil, où vivent les données, comment y accéder
Priorité 2 :
- Formats validés avec Marine da Rocha
- Périmètre exact des entités couvertes par les 10-12 onglets
- Template Excel maître (fichier de référence complet)
- Question “Marie” (reporting Groupe) : articulation avec short report
- Liste reportings d’agences standardisables (préalable CDG-02)
Priorité 3 — Pour la production :
- Cycle de recette : Anne + Marine valident sur 3 mois consécutifs avant bascule prod
- Décision override sheet : où (SharePoint versionné ?), qui a le droit d’y écrire
Timeline estimative
Section titled “Timeline estimative”Effort dev : 10 jours-n8n (le cas le plus lourd).
Jalons :
- S+0 : cartographie 60 min avec Marine + Anne (préalable)
- S+0 : réception livrables Proxiad (liste alternants, règles provisions, template Excel)
- S+0 : BLOQUANT : validation API Nibelis
- S+1 (dès API) : dev connecteur Nibelis n8n (~3 j) — shortcuts effectifs + masse salariale + absences
- S+2 : dev export Sage + Amelkis + CEDGE (~2 j)
- S+2-3 : dev workflow orchestration + moteur retraitements (~3 j)
- S+3 : consolidation + template Excel + override (~1 j)
- S+4 : tests + démo Anne/Marine/Sonia
- S+5 à S+8 : pilote 3 mois consécutifs (M+0, M+1, M+2) — comparaison auto vs manuel
- S+9 (nov-déc 2026) : bascule production après validation
Critères de recette
Section titled “Critères de recette”- Sur 3 mois consécutifs : short report auto ≡ short report manuel avec écart ≤ 0,5% par ligne
- Livraison en ≤ 30 min de temps CDG (préparation + validation) au lieu de 3h+ actuellement
- Traçabilité chaque valeur : “cette cellule vient de [source X] > [ligne Y] au [date Z]”
- Retraitements alternants/stagiaires appliqués correctement
- Provisions calculées selon règles CDG documentées
- Consolidation multi-entités sans erreur de collage
- Override sheet fonctionnelle (Marine peut corriger une valeur avant publication)
- Anomalies détectées auto (MS=0, écart >20% M-1, entité manquante)
Risques identifiés
Section titled “Risques identifiés”| Risque | Impact | Mitigation |
|---|---|---|
| API Nibelis retardée | Blocage pilote paye ET short report | Piste A avance en parallèle, escalade DSI hebdo Nibelis |
| Sage share réseau inaccessible | Balance manquante | Fallback : export manuel mensuel par David, agent lit fichier posé |
| CEDGE inconnu / sans API | Source manquante | Investigation urgente ; fallback export manuel |
| Amelkis SaaS API limitée | Perte sources reporting | Fallback : export Excel chargé sur SharePoint |
| Retraitements alternants trop spécifiques par entité | Complexité explose | Règles COMMUNES d’abord, exceptions manuelles |
| Écart détecté au pilote → défiance CDG | Retour manuel | Validation collaborative 3 mois, corrections itératives |
| Marine da Rocha indisponible | Bloque décisions format | Backup Anne Guerry pour co-décision |
Questions ouvertes
Section titled “Questions ouvertes”- Q1 : CEDGE — quel outil ? Où vivent les données ? Comment y accéder ? (Non identifié dans les transcripts)
- Q2 : Format d’export Sage — CSV ? XLS ? Chemin exact du share réseau ? Fréquence de rafraîchissement ?
- Q3 : Amelkis — quel niveau d’API dans le contrat Proxiad ? Ou export Excel manuel systématique ?
- Q4 : Marie / reporting Groupe — quelle articulation ? Le short report alimente son reporting ? Ou l’inverse ?
- Q5 : Anomalies — seuils exacts (écart 20% ou 10% ? sur quels KPI ?)
- Q6 : Override sheet — quel format ? Excel versionné SharePoint ? Google Sheets ? Base de données ?
- Q7 : Retraitements provisions — règles documentées quelque part ? Ou à formaliser ex-nihilo avec Marine ?
- Q8 : Cycle de recette — 3 mois consécutifs de comparaison en parallèle du process manuel — accepté par Marine ?
- Q9 : Publication finale — quel canal ? SharePoint CDG + mail directions ? Teams ? Amelkis ?