Skip to content

RH-01 — Consolidation fichiers RH multi-entités

FonctionNatureFrameworkScoreStatut
RHWorkflown8n + UI conflits légère18*🟠 Vague 2, harmonisation à cadrer

Source : atelier RH 27/08 (Alexandra Delcourt DRH, Anoukone Savatmoungkhoune, Maëva Saucerotte) — synthèse.


  • Priorité n°1 de l’atelier RH : consolidation mensuelle multi-entités — validée en séance avec Alexandra Delcourt (DRH) et confirmée dans la restitution DG des vagues 1-2.
  • Périmètre : ~1000 collaborateurs Proxiad (référence entretiens Michaël Ohana), ~9 entités RH contributrices (Bordeaux, Grim, Isinéo, Lyon, Île-de-France… certaines reprises en direct par Maëva).
  • Aujourd’hui : chaque entité envoie son propre fichier Excel via Teams, Maëva consolide manuellement puis re-vérifie ligne à ligne.
  • Verbatim Maëva Saucerotte : “Comme dit Alexandra, on va se faire des fichiers, quoi. Et en fait, je perds un temps infini à retrouver des colonnes supprimées, retrouver des entités supprimées.”
  • Verbatim Maëva : “Tous les mois, j’ai un seul fichier” — cadence mensuelle unique confirmée. “Ça me prend facilement toutes les BU que je consolide moi-même. Ça prend du temps.”
  • Verbatim Maëva sur la qualité : “Sur la partie salariée, elle est fiable, mais sur la partie plus sous-traitante, c’est compliqué.” → fiabilité asymétrique salariés vs indépendants/sous-traitants.
  • Verbatim Michaël Ohana : “Il y a l’histoire de fichiers partagés. Et quand vous l’avez mis en partage, vous l’avez mis sur le SharePoint ou sur OneDrive ou sur Teams ?”Réponse : Teams aujourd’hui, cible à arbitrer (SharePoint RH pressenti).
  • Type de fichier de référence : fichier XPY (fichier d’actualisation) — entrées, sorties, modifications de contrat, changements de client — envoyé via Teams, deadlines rarement respectées.
  • Données consolidées : salariés, indépendants, entité, client, mission, statut, entrées/sorties.
  • Qualité affectée par doublons, champs supprimés, données obsolètes — la partie sous-traitants est la plus touchée.
  • Sources potentielles côté systèmes : Nibelis (référence paie), Progessi (opérationnel), Boond Manager (CRM/ATS — dit “Boone” ou “Boon” dans les verbatims).
  • Nibelis = référence paie — les fichiers Excel remontés par les entités en sont dérivés et divergent souvent.
  • Fil rouge RH (restitution DG) : “un socle de données fiable d’abord — chaque automatisation en dépend”.
  • Restitution priorisation consolidée avec Alexandra fin août / début septembre.
  • Sonia Gantou = interlocutrice Nibelis (accès API demandé, en attente).
  • Référents par Business Unit à définir (action item Alexandra) pour gouvernance données sources.

Transcripts sources : RH audit Mekorai 27/08/2026 (synthèse + verbatim), restitution DG consolidée vagues 1-2.

Automatiser la collecte des fichiers Excel remontés par les 9 entités RH, la validation qualité (doublons, champs obsolètes, cohérence dates), la consolidation en un fichier maître mensuel, avec UI d’arbitrage des conflits pour Alexandra et Maëva. Objectif de charge : passer de “plusieurs jours de consolidation” à ~1h d’arbitrages par mois.

Ce que l’API Progessi READ apporte :

  • Cross-check référentiel consultants actifs : POST /profiles (34 champs — id, email, businessUnit, legalEntity, hireDate, statut, matricule Progessi).
  • Cross-check missions actives / anciennes : POST /projects.
  • Détection écarts entrées/sorties : croiser les hireDate/endDate Progessi avec les colonnes des Excel remontés par les BU.

Ce qui vient de sources externes :

  • Fichiers Excel mensuels de chaque BU (Teams / SharePoint) : Graph API GET /drive/items.
  • Nibelis (paye — référence de vérité pour matricule, statut contrat, dates réelles) : API demandée, non ouverte à date → fallback = export mensuel Nibelis en attendant.
  • Boond Manager (CRM/ATS) : disponible via API DSI-confirmée, marginalement utile pour ce cas (utilisation renforcée sur RH-04 / LAB).

Ce qui reste manuel :

  • Arbitrage des conflits par Alexandra / référents BU (décisions métier non déléguables).
  • Validation des “champs obsolètes” nécessitant contexte humain (ex : poste renommé mais collaborateur inchangé).
  • Enrichissement des exceptions (fusion doublons, exclusion, corrections).
  1. Cron mensuel J+2 après réception fichiers.
  2. Lister fichiers Excel sur /RH/Consolidation/<mois>/ (SharePoint).
  3. Parseur robuste : matching header labels + dictionnaire synonymes RH.
  4. Reconnaissance des 4 types : salariés / indépendants / missions / entrées-sorties.
  5. Validation qualité :
    • Détection doublons cross-entités (matricule Nibelis + nom + prénom + DDN)
    • Détection champs obsolètes (poste vs référentiel, entité vs référentiel)
    • Cohérence dates (entrée < sortie)
    • Complétude (champs obligatoires)
  6. Consolidation vers fichier maître :
    • 1 onglet par type (salariés / indépendants / missions / entrées-sorties)
    • 1 onglet “Conflits” avec doublons/incohérences
  7. Interface web arbitrage conflits :
    • Alexandra + équipe voient conflits
    • Actions : merger doublons / corriger / exclure
    • Décisions traçables
  8. Publication : fichier maître sur SharePoint RH + notif équipes.
  9. Historique : versions mensuelles archivées.
flowchart TD
    Cron[Cron mensuel J+2] --> List[Graph API<br/>GET /sites/rh/drive/items<br/>/Consolidation/mois/children]
    List --> Download[Graph API<br/>GET /drive/items/id/content<br/>XLSX binaire par entite]
    Download --> Parse[Parseur Excel n8n<br/>Spreadsheet File<br/>dictionnaire synonymes RH]
    Parse --> Types{Reconnaissance type}
    Types --> Sal[Salaries]
    Types --> Ind[Independants]
    Types --> Miss[Missions]
    Types --> ES[Entrees/Sorties - fichier XPY]

    Sal --> Prog[Progessi<br/>POST /profiles<br/>FilterModel active=true<br/>fields: id,email,businessUnit,<br/>legalEntity,hireDate,endDate]
    Ind --> Prog
    Miss --> ProgProj[Progessi<br/>POST /projects<br/>FilterModel]
    ES --> Prog

    Prog --> Dedup[Detecteur doublons<br/>matricule Progessi + nom<br/>prenom + DDN + email]
    ProgProj --> Dedup
    Dedup --> Valid[Validation qualite<br/>champs obsoletes<br/>coherence hireDate/endDate<br/>completude obligatoires]
    Valid --> NibFallback{API Nibelis<br/>ouverte ?}
    NibFallback -->|Non v1| SkipNib[Fallback matching<br/>nom+prenom+DDN]
    NibFallback -->|Oui v2| NibCall[Nibelis API<br/>GET /employees<br/>verif matricule paie]
    SkipNib --> Conso[Consolidation<br/>1 onglet par type<br/>+ onglet Conflits]
    NibCall --> Conso
    Conso --> UI[UI web arbitrage<br/>Alexandra + referents BU<br/>merger/corriger/exclure]
    UI --> Publish[Graph API<br/>PUT /sites/rh/drive/root:<br/>/master-YYYY-MM.xlsx:/content]
    Publish --> Notif[Graph API<br/>POST /me/sendMail<br/>equipes RH + DRH]
    Publish --> Hist[Graph API<br/>PUT /drive/root:/Historique/<br/>YYYY-MM/master.xlsx]

Base URL : https://proxiad.progessi.com/api/control/restBasicAuthREAD-ONLY. Une Write API est absente ; toute demande d’ouverture passe par clalanne@progessi.com.

Besoin RH-01Endpoint ProgessiFaisabilitéContournement
Extraire liste consultants actifs pour cross-checkPOST /profiles (FilterModel active=true)✅ 34 fields disponibles
Cross-check missions/clientsPOST /projects (FilterModel)
Détecter entrées/sorties (dates réelles paie)GET /profiles/{id} (hireDate/endDate)✅ mais donnée SIRH, pas paieNibelis reste référence — attente API
Mettre à jour un profil corrigé après arbitrage❌ Aucun PUT /profiles/{id}🔴 impossibleCorrection manuelle côté Progessi par l’entité concernée après arbitrage
Trigger workflow RH (embauche, mutation, sortie)❌ Pas de BPM exposé🔴 impossibleReste manuel côté Nibelis / Progessi UI

Sources externes à qualifier :

  • Fichiers Excel RH mensuels par entité — aujourd’hui via Teams, cible SharePoint RH dédié (site à créer/confirmer, chemin /RH/Consolidation/YYYY-MM/). Extension droits Graph API prérequise.
  • Fichier XPY d’actualisation (entrées/sorties/modifs) — même canal.
  • Nibelis (paye) — API en attente. Fallback v1 : export mensuel Nibelis manuel côté Sonia.

Bloquants n8n / règles métier :

  • Le champ matricule Nibelis n’existe pas directement sur Progessi /profiles → matching heuristique nom+prénom+DDN+email en fallback (règle à cadrer avec Alexandra).
  • La notion de “champ obsolète” (poste, entité) exige un référentiel Proxiad — à fournir en Livrables.
  • L’écriture du fichier maître se fait côté n8n dans SharePoint RH (Graph API PUT /content). Aucune écriture Progessi n’est déclenchée par ce workflow.
#ÉtapeFonction / endpointApplicationExiste ?Accès dispo ?Notes
1Lister fichiers SharePointGET /sites/{id}/drive/items/{path}/childrenMicrosoft Graph⚠️ Extension droitsSite RH
2Lire contenu ExcelGET /sites/{id}/drive/items/{id}/contentMicrosoft Graph⚠️Binaire XLSX
3Cross-check matriculesGET /employeesNibelis🔴 API demandéeOptionnel v1 (fallback matching nom+prénom+DDN)
4Parseur ExcelNoeud n8n Spreadsheet Filen8n natifMutualisé CDG-02
5UI arbitrage conflitsInterface web légèreReact ou plateforme AbraÀ dev~1j de dev
6Upload fichier maîtrePUT /sites/{id}/drive/root:/master.xlsx:/contentMicrosoft Graph⚠️
7Notif mailPOST /me/sendMailMicrosoft Graph⚠️Équipes RH
  • Extension droits M365 + SharePoint RH
  • Site SharePoint RH dédié (test + prod)
  • Fichiers RH actuels de chaque entité (calibrage parser)
  • Référentiels : postes, entités, statuts (CDI/CDD/indé/intérim/alternant/stagiaire)
  • API Nibelis (optionnel v1, requis v2 pour cross-check matricules)
  • Liste entités RH couvertes (nombre + noms)
  • Exemplaires fichiers RH actuels par entité — calibrer parser
  • Format cible fichier maître (template)
  • Dictionnaire synonymes RH validé
  • Référentiels : postes valides / entités / statuts
  • Règles doublons : confirmer heuristiques (matricule > nom+prénom+DDN)
  • Politique conflits : qui tranche ? (Alexandra seule ? référents BU ?)
  • Atelier harmonisation avec entités — préalable métier essentiel
  • Référents par BU identifiés (gouvernance données sources)

Effort : 7 jours-n8n.

  • S+0 : atelier harmonisation entités (préalable métier)
  • S+0 : fichiers exemples + référentiels
  • S+1 J1-2 : parseur Excel (mutualise composant CDG-02)
  • S+1 J3 : détecteur doublons + validation qualité
  • S+1 J4 : handler orchestration
  • S+2 J1-2 : UI conflits (léger)
  • S+2 J3 : tests + démo Alexandra
  • S+3 : pilote 1 mois
  • Octobre : mise en production
  • Fichiers d’un mois complet : 100% entités parsées sans erreur
  • Doublons cross-entités détectés (test avec 3 collabs volontairement dupliqués)
  • Champs obsolètes alertés
  • UI conflits accessible Alexandra + équipe
  • Arbitrages traçables (qui, quand, décision)
  • Fichier maître mensuel généré + archivé
  • Temps Alexandra : “1 jour consolidation” → “1h arbitrages”
RisqueImpactMitigation
Fichiers entités trop hétérogènesBlocage parserHarmonisation en amont — atelier prioritaire
Nb doublons énorme (data historique pas propre)UI conflits inutilisableNettoyage initial avec Alexandra, seuils confiance élevés
API Nibelis non ouverteCross-check matricules manquantFallback matching nom+prénom+DDN uniquement
Sensibilité RGPDBlocage juridiqueCadrage droits par rôle, environnement isolé, comm DRH
Adoption Alexandra (change habitudes)Adoption faibleCo-dev 2 mois avec Alexandra, itérations UI
  • Q1 : Nombre exact d’entités RH concernées ?
  • Q2 : Format fichier maître consolidé — existe déjà (template) ou à créer avec Alexandra ?
  • Q3 : Politique conflits — Alexandra seule décide ou déléguée aux référents BU ?
  • Q4 : Fichier maître — publication SharePoint uniquement ou aussi export vers autre outil (Nibelis ? Boond ?) ?
  • Q5 : Cadence — mensuelle confirmée ? Ou bi-mensuelle / trimestrielle ?
  • Q6 : Statut “obsolète” — comment détecte-t-on ? (dernière modif > 6 mois ? champ “actif=non” ?)
  • Q7 : Cross-check matricules Nibelis — attend API ou peut-on avoir un export mensuel Nibelis initialement ?
  • Q8 : Restitution priorisation 31 août — impact sur ordre de priorité de ce cas dans le portefeuille ?