PAY-02 — Variables paie Progessi → Nibelis
| Fonction | Nature | Framework | Score | Statut |
|---|---|---|---|---|
| Paye | Automatisation | n8n | 19 | 🔴 Bloqué API Nibelis (partiel) |
Source : atelier Paye 28/07 — synthèse Michaël + doc Paye.
Contexte métier
Section titled “Contexte métier”- Variables de paie (frais, primes, remboursements transport) saisies dans Progessi côté équipe Paye (Sujita Antoneverest, Clément Dalonneau)
- Doivent être importées mensuellement dans Nibelis pour alimenter le calcul de paye
- Fonctionnalité export-import existe dans les 2 outils mais non exploitée pour toutes les sociétés du groupe — verbatim audit Paye 28/07/2026 : “le transfert des variables de paie de Progessi vers Nibelis est en grande partie manuel (frais, primes, remboursements de transport), malgré l’existence d’une fonctionnalité d’export-import non exploitée pour certaines sociétés”
- Aujourd’hui : ressaisie manuelle pour beaucoup de sociétés → risque erreur + chronophage, difficile à tracer
- Cas particulier août : abonnements mensuels non pris (Swile ? mutuelle ? à préciser) → gestion spécifique côté paye
- Modifications tardives : politique à définir (refus après clôture ? re-sync + alerte ? verrou mensuel ?)
- Position Mekorai en séance : automatiser “l’export-import entre Progessi et Nibelis pour toutes les typologies de frais, avec vérification automatique de la présence des justificatifs” (via Payhawk)
- Verrou d’accès Nibelis : au 30/08/2026 l’API Nibelis est toujours “en attente — validation Sonia” (restitution DG consolidée vagues 1-2, 31/08/2026). Le volet écriture de l’API (import de variables) reste le bloquant central — même en présence d’une API READ, sans endpoint d’écriture le workflow s’arrête à un CSV posé sur un share
Transcripts sources : synthèse audit Paye Mekorai (28/07/2026, seul verbatim long disponible pour la Paye) — pas de transcript verbatim long disponible pour la Paye vague 2. Transverses : restitution DG consolidée vagues 1-2 (31/08/2026) + ateliers Discover vague 2 (27/08/2026, RH/Compta uniquement, la Paye n’a pas rejoué en vague 2) + notes d’audit consolidées Michaël.
Objectif du cas d’usage
Section titled “Objectif du cas d’usage”Généraliser l’export-import Progessi → Nibelis à toutes les sociétés du groupe et tous les types de variables, en trois blocs :
- Extraction Progessi (READ-only, API confirmée) : lecture des variables du mois par société — les données CRA/frais/primes remontent via
POST /timesheets(agrégatsnbDays,nbLeaves,intercontract),POST /expenses(frais approuvés) etPOST /timeEntries(28 fields — entrées CRA détaillées) selon la typologie. Filtrage par société via champ société sur les profils - Vérification justificatifs (Payhawk, API confirmée) : jointure des frais Progessi ↔ pièces Payhawk pour bloquer toute variable frais sans justificatif approuvé
- Injection Nibelis (API à confirmer — BLOQUANT OUVERT) : POST batch d’import des variables consolidées par société. L’API Nibelis d’écriture des variables de paye n’est à ce jour pas documentée côté éditeur ; une demande commerciale/technique est en cours (portée Sonia, DSI). Nibelis expose historiquement une API de saisie de variables de paye — le format exact (JSON, CSV, schéma proprio) et les endpoints restent à confirmer
Ce qui reste manuel côté paye : arbitrage des rejets Nibelis, décision sur les modifications tardives, validation finale avant clôture. Le workflow n’écrit jamais dans Progessi (READ-only) — les corrections de variables sources se font toujours dans l’UI Progessi par l’équipe métier.
Étapes fonctionnelles détaillées
Section titled “Étapes fonctionnelles détaillées”- Trigger : cron mensuel J-3 clôture OU manuel Sujita OU quotidien (option à arbitrer).
- Lister variables paye du mois par société dans Progessi.
- Vérifier justificatifs Payhawk pour les frais (jointure).
- Filtrer :
- Variables déjà importées ce cycle → skip
- Variables sans justificatif → alerter demandeur
- Variables OK → prêtes à transférer
- Format Nibelis : générer batch d’import par société (schéma à confirmer).
- Import Nibelis : POST batch API Nibelis.
- Capture rejets/succès par variable.
- Rapport :
- Nb variables transférées OK / KO
- Liste rejets avec cause
- Notification Sujita + Clément
- Réconciliation J+1 : contrôle croisé variables Progessi vs Nibelis pour détecter divergences.
- Traçabilité : chaque variable → source Progessi + timestamp + statut.
Flot d’appels API
Section titled “Flot d’appels API”flowchart TD
Trigger[Cron mensuel J-3 cloture<br/>OU Sujita manuel<br/>OU quotidien option] --> Progessi[Progessi POST /timesheets<br/>FilterModel period=M<br/>fields: nbDays, potentialDays,<br/>ecart, nbLeaves, nbSickLeaves,<br/>intercontract]
Trigger --> Progessi2[Progessi POST /emplLeaves<br/>FilterModel period=M<br/>conges valorises]
Trigger --> Progessi3[Progessi POST /sickLeaves<br/>FilterModel period=M<br/>arrets maladie]
Trigger --> Progessi4[Progessi POST /expenses<br/>FilterModel period=M<br/>approved only]
Trigger --> Profiles[Progessi POST /profiles<br/>societe rattachement]
Progessi --> Consolidate[Consolidation n8n<br/>variables par consultant<br/>groupees par societe]
Progessi2 --> Consolidate
Progessi3 --> Consolidate
Progessi4 --> Consolidate
Profiles --> Consolidate
Consolidate --> Justif[Payhawk API<br/>GET /expenses?status=approved<br/>jointure sur variables frais]
Justif --> Filter{Filtres :<br/>deja importe ?<br/>sans justif ?<br/>modif tardive ?}
Filter -->|Sans justif| MailUser[Microsoft Graph<br/>POST /me/sendMail<br/>demandeur alerte]
Filter -->|OK| Format[Formater batch par societe<br/>schema Nibelis a confirmer]
Format --> Nibelis[Nibelis API<br/>POST /payroll-variables<br/>a confirmer editeur<br/>BLOQUANT OUVERT]
Nibelis --> Capture[Capture rejets/succes<br/>par variable + societe]
Capture --> Report[Generer rapport OK/KO<br/>par societe]
Report --> Notif[Microsoft Graph<br/>POST /me/sendMail<br/>Sujita + Clement]
Recon[Cron J+1 reconciliation] --> ProgessiRe[Progessi POST /timesheets<br/>relecture agregats M]
Recon --> NibelisRe[Nibelis GET variables?period=M<br/>a confirmer]
ProgessiRe --> Compare[Compare Progessi vs Nibelis]
NibelisRe --> Compare
Compare --> Divergence{Divergence ?}
Divergence -->|Oui| Alert[Alerte divergence<br/>Sujita + Clement]
Divergence -->|Non| End[Fin cycle]
API map
Section titled “API map”| # | Étape | Fonction / endpoint | Application | Existe ? | Accès dispo ? | Notes |
|---|---|---|---|---|---|---|
| 1 | Lister variables Progessi | POST /variables FilterModel period | Progessi | ✅ | ✅ | Shortcut à créer |
| 2 | Justificatifs | GET /expenses | Payhawk | ✅ | ✅ | Jointure |
| 3 | Import variables Nibelis | POST /variables/import | Nibelis | ❓ À confirmer | 🔴 API demandée | Bloquant |
| 4 | Vérif import Nibelis | GET /variables?period=M | Nibelis | ❓ | 🔴 | Réconciliation |
| 5 | Notification mail | POST /me/sendMail | Microsoft Graph | ✅ | ⚠️ Extension droits | — |
Confrontation à l’API Progessi réelle
Section titled “Confrontation à l’API Progessi réelle”L’API Progessi (https://proxiad.progessi.com/api/control/rest, BasicAuth, READ-only) a été spécifiée le 25/08/2026. Confrontation aux besoins PAY-02 :
| Besoin PAY-02 | Ressource Progessi | Champs / notes | Faisable ? |
|---|---|---|---|
| Agrégats CRA du mois par consultant | POST /timesheets FilterModel period | 39 fields dont nbDays, potentialDays, ecart, nbLeaves, nbSickLeaves, intercontract | ✅ Oui — base des variables temps |
| CRA détaillé (imputation par mission) | POST /timeEntries FilterModel period | 28 fields | ✅ Oui — si granularité mission requise pour paye |
| Congés du mois (variables absences) | POST /emplLeaves FilterModel period | date, type, consultant | ✅ Oui |
| Arrêts maladie (jours de carence, IJSS) | POST /sickLeaves FilterModel period | date, motif, consultant | ✅ Oui |
| Frais approuvés du mois | POST /expenses FilterModel period + statut | montant, statut, consultant | ✅ Oui |
| Rattachement société consultant | POST /profiles (34 fields) | société | ✅ Oui — clé de groupement par société |
| Marquer une variable “envoyée à Nibelis” côté Progessi | ❌ Aucun endpoint d’écriture | — | ❌ Impossible — Progessi READ-only. La traçabilité se tient côté n8n (table locale) |
| Injecter les variables dans Nibelis | Hors Progessi | Nibelis /payroll-variables (nom hypothétique) | ❓ Bloquant central — API Nibelis d’écriture à confirmer avec l’éditeur |
| Vérification post-import (relecture Nibelis) | Hors Progessi | Nibelis GET variables period | ❓ Même bloquant |
Bloquants ouverts :
- Nibelis WRITE : l’existence même d’un endpoint d’import batch (JSON ? CSV ? schéma proprio ?) est une demande commerciale/technique ouverte au 30/08/2026. Sans elle, PAY-02 s’arrête à la génération d’un fichier d’import à déposer manuellement — le gain reste réel mais partiel
- Nibelis READ : la réconciliation J+1 suppose aussi une lecture des variables importées — même canal, même incertitude
- Modifications tardives : politique non tranchée par le service Paye (question ouverte de l’audit 28/07)
Contournements possibles si Nibelis n’ouvre pas l’écriture :
- Fallback CSV : n8n génère le CSV au format Nibelis attendu, dépose sur share Nibelis (SFTP ou SharePoint), import manuel déclenché par Sujita ou Clément — dégradé, mais démarrable
- Doublon natif à vérifier : Nibelis dispose-t-il déjà d’une intégration Progessi native ? Si oui, PAY-02 se réduit à la vérification justificatifs + réconciliation
- Volet Progessi livrable en avance : extraction + consolidation + rapport pré-import peuvent tourner avant ouverture Nibelis — livre un “rapport pré-clôture des variables du mois par société” utilisable dès aujourd’hui par le service paye
Ce qui reste manuel côté gestionnaire paye :
- Arbitrage des rejets Nibelis (variable mal formatée, consultant inconnu, société non paramétrée)
- Décision sur les modifications tardives (re-sync avec alerte ou refus après clôture)
- Correction dans Progessi côté équipe métier (Progessi READ, donc aucune écriture retour depuis n8n)
- Validation finale avant lancement du calcul de paye
Prérequis techniques
Section titled “Prérequis techniques”- API Nibelis BLOQUANT (écriture variables spécifiquement)
- Comptes démo corrélés Progessi × Nibelis
- Format d’import Nibelis (schéma exact)
Livrables Proxiad attendus
Section titled “Livrables Proxiad attendus”- API Nibelis validation Sonia (bloquant)
- Format d’import Nibelis exact (JSON / CSV)
- Liste sociétés du groupe (périmètre v1)
- Typologies variables à couvrir (exhaustif)
- Arbitrage fréquence : mensuel clôture (simple/safe) OU quotidien (anticipation) ?
- Règles cas août (abonnements mensuels non pris)
- Politique modifications tardives (refus après clôture ? re-sync ?)
- Justificatifs obligatoires ou non par typologie
Timeline estimative
Section titled “Timeline estimative”Effort : 5 jours-n8n.
- S+0 : réception format + sociétés + typologies
- S+0 : BLOQUANT : validation API Nibelis
- S+1 (dès API) : dev connecteur Nibelis write (~2 j)
- S+2 : shortcut Progessi + handler PAY-02 (~2 j)
- S+2 : réconciliation + rapport (~1 j)
- S+3 : tests + démo
- Septembre : pilote sur 1-2 sociétés
- Octobre : généralisation
Livrable partiel : volet Progessi (lecture) peut démarrer avant API Nibelis (avec mock Nibelis).
Critères de recette
Section titled “Critères de recette”- 2 sociétés pilotes, 1 mois complet : 100% variables Progessi → Nibelis
- Justificatifs vérifiés (alerte si manquant)
- Rejets remontés avec cause claire
- Réconciliation J+1 : 0 divergence non expliquée
- Cas août géré (abonnements non pris)
- Traçabilité complète
- Temps Sujita/Clément réduit d’au moins 70%
Risques identifiés
Section titled “Risques identifiés”| Risque | Impact | Mitigation |
|---|---|---|
| API Nibelis lecture seule (pas d’écriture) | Blocage total | Escalade DSI, fallback CSV posé sur share Nibelis |
| Format Nibelis complexe / évolutif | Coût maintenance | Cadrer avec David amont, prototyper 1 société |
| Modifications tardives sans workflow | Incohérences paye | Politique claire décidée avec Sujita AVANT dev |
| Doublon si Nibelis a déjà intégration native | Redondance | Vérifier existence import natif Nibelis |
Questions ouvertes
Section titled “Questions ouvertes”- Q1 : Nibelis dispose-t-il d’un endpoint POST/import batch ou juste création unitaire ?
- Q2 : Format d’import exact — JSON ? CSV ? Format proprio Nibelis ?
- Q3 : Fréquence — mensuelle à clôture confirmée par Sujita ? Ou quotidien pour anticiper ?
- Q4 : Politique modifications tardives — refus après clôture ? Ou re-sync + alerte ?
- Q5 : Cas août — quel abonnement est concerné (Swile ? mutuelle ?) ? Comment le refléter ?
- Q6 : Justificatifs obligatoires — par typologie de variable ? Politique par société ?
- Q7 : Doublon Nibelis natif — Nibelis a-t-il déjà une intégration Progessi ?
- Q8 — matière à collecter : la Paye n’a pas rejoué en vague 2 (27/08/2026 = RH + Compta uniquement). Le seul verbatim long disponible reste l’audit du 28/07/2026. Prévoir une session flash (60 min, Sujita + Clément + Sonia) captée en verbatim pour arrêter : (a) le schéma d’import Nibelis attendu par l’éditeur, (b) la politique modifications tardives, (c) la typologie exhaustive des variables à couvrir par société, (d) le cas août précis.