CPT-01 — Cycle des pièces vers Sage/Agicap
| Fonction | Nature | Framework | Score | Statut |
|---|---|---|---|---|
| Comptabilité | Workflow | n8n (orchestration multi-source) | 19* | 🟠 Attend calendrier Agicap |
Source : atelier Compta 27/08 (Bruno Dias, Najia Gouzzal, Isabelle Perdriau, Kevin Cam) — synthèse.
Contexte métier
Section titled “Contexte métier”- Irritant n°1 confirmé de toute la vague 2 : intégration des pièces (factures d’achat, ventes, notes de frais) dans Sage 1000 FRP V11.
- Bruno DE SOUSA DIAS (chef comptable, 29:50) : “C’est toutes les pièces manquantes et vraiment la validation aussi. C’est un gros boulot parce que sans tous ces éléments, on ne peut pas sortir des chiffres au plus juste.”
- Bruno DE SOUSA DIAS (35:22) sur les rapprochements bancaires : “On intègre les relevés bancaires normalement de manière quotidienne dans la compta et à l’heure actuelle ce n’est pas fait, c’est fait manuellement. Donc c’est une fois par mois, donc je ne sais pas comment ça va être traité par Agicap.”
- Michaël Ohana synthétisant Sonia (37:20) : “Tout le circuit de relance, les rapprochements bancaires, les récupérations de relevés bancaires, les intégrations dans Sage, on est en train de le mettre en place [dans Agicap].”
- Bruno (1:00:42), format d’import Sage confirmé côté ventes Progessi : “En fait ils exportent le fichier, ils vont l’importer dans Sage, et dans Sage ils sortent un journal de vente.” Fichier CSV renommé en TXT (extension propriétaire
.PNMcôté CIG/Sage — cf. 1:02:37). - Sonia (1:41:33), sens du flux Sage → Agicap déjà en place : “C’est dans Sage que je vais exporter tous les jours les clients et la mise de fonction sur FTP qui est accessible par Agicap.” → l’échange Sage ↔ Agicap se fait par dépôt fichier FTP, pas par API Sage.
- Obligation légale : réception des factures fournisseurs dans Agicap au 1er septembre 2026 (Sonia, 36:11). Pulceo (banque) et Zeendoc (factures) supprimés dans la foulée. PO à intégrer aussi (Sonia, 44:35).
- Volumes / fréquences actuellement non chiffrés — à qualifier avec Bruno et Isabelle (livrable P2 ci-dessous). Ce qui est connu : reporting mensuel = 4 onglets exportés depuis Progessi “systématiquement, par entité” (Bruno, 53:00) — cadence mensuelle donc coût récurrent.
- Bruno = référent centralisation validation factures. Kevin + Isabelle : doc de transition Agicap. Formation Agicap octobre 2026. Bascule effective : novembre 2026 (post-formation).
- Recouvrement client : hors périmètre CPT-01, couvert par le module Agicap éditeur (~2027) — coordination architecture uniquement.
Transcripts sources : Comptabilité audit Mekorai 27/08/2026 (synthèse + verbatim), restitution DG consolidée vagues 1-2.
Objectif du cas d’usage
Section titled “Objectif du cas d’usage”Orchestrer, dans un workflow n8n unique, la collecte des pièces validées J-1 depuis les trois sources (Agicap, Payhawk, Progessi), la répartition par entité juridique, les contrôles de cohérence, la génération du fichier d’import Sage et son dépôt sur le share réseau, puis la réconciliation post-ingestion. Sage n’exposant pas d’API accessible, l’intégration est fichier-based dans les deux sens (dépôt vers Sage, FTP Sage → Agicap déjà en place). Progessi étant en READ-only (BasicAuth, base https://proxiad.progessi.com/api/control/rest), le workflow ne peut qu’extraire — jamais créer une écriture, jamais lettrer un encaissement, jamais pousser une facture Chorus Pro.
Ce que chaque source apporte réellement :
- Progessi (READ) — extraire les factures de vente (
salesInvoices, 58 champs dontoutstandingAmount,paidAmount,dunningLevel,electronicInvoiceStatusCode,isFactoring), les factures d’achat historiques (purchasesInvoices, pertinent tant que la bascule Agicap n’est pas complète), les encaissements/décaissements (incomingPayments,outgoingPayments) pour audit et pré-matching, les écritures produites (finAccountTranses) pour la réconciliation. - Agicap (API tierce, indépendante de Progessi) — banque/relevés bancaires, factures fournisseurs post-01/09/2026, relances/dunning côté fournisseurs (le module éditeur les prend en charge). Niveau d’accès API à confirmer contractuellement (Sonia).
- Payhawk (API tierce) — notes de frais approuvées et justificatifs attachés. API confirmée bonne qualité.
- Sage 1000 FRP V11 — pas d’API accessible. Import par fichier CSV renommé
.TXT(ventes) ou format propriétaire.PNM(CIG). Le share/FTP existe déjà côté sortant (Sage exporte quotidiennement clients et matricules vers FTP consommé par Agicap — cf. verbatim Sonia 1:41:33). - Reste manuel (par choix ou par contrainte) — validation humaine des rapprochements complexes (“Je pense que le contrôle doit être manuel en tout cas derrière”, Bruno 54:09), corrections d’anomalies détectées, écritures de complément non standard.
Étapes fonctionnelles détaillées
Section titled “Étapes fonctionnelles détaillées”- Chaque nuit à 06:00 : collecte parallèle des pièces validées J-1
- Agicap : factures fournisseurs (post-bascule)
- Payhawk : notes de frais validées
- Progessi : factures clients / ventes
- Répartition par entité (règles paramétrées CDG) — chaque pièce → entité comptable de rattachement.
- Détection pièces manquantes :
- NDF sans justificatif attaché
- Facture référencée sans PDF → mail au responsable pour compléter, escalade si pas de réponse
- Contrôles avant intégration :
- Cohérence débit / crédit
- Codes analytiques valides (référentiel Sage)
- Comptes existants dans plan comptable Sage
- Génération fichier import Sage : format d’import Sage 1000 FRP V11 (CSV ou format propriétaire — à confirmer avec David).
- Dépôt fichier sur share réseau Sage (mode “import planifié”).
- Sage ingère le fichier (fenêtre planifiée par David).
- Rapport d’intégration : nb pièces OK / KO + causes rejets → mail Bruno + Najia + Isabelle.
- Réconciliation J+1 : contrôle croisé pièces sources vs écritures Sage.
- Journalisation : chaque écriture → source traçable (pièce, timestamp, statut).
Flot d’appels API
Section titled “Flot d’appels API”flowchart TD
Cron[Cron nuit 06:00 - n8n] --> Agicap[Agicap API<br/>GET /invoices?status=validated<br/>niveau API a confirmer]
Cron --> Payhawk[Payhawk API<br/>GET /expenses?status=approved]
Cron --> ProgSales[Progessi READ<br/>POST /salesInvoices<br/>FilterModel: emissionDate range<br/>fields: outstandingAmount, paidAmount,<br/>electronicInvoiceStatusCode, dunningLevel]
Cron --> ProgIn[Progessi READ<br/>POST /incomingPayments<br/>FilterModel: paymentDate range<br/>fields: amount, invoiceRef, bankAccount]
Cron --> ProgOut[Progessi READ<br/>POST /outgoingPayments<br/>fields: amount, supplierRef]
Agicap --> Merge[n8n: normaliser<br/>pivot commun pieces]
Payhawk --> Merge
ProgSales --> Merge
ProgIn --> Match[n8n: matching<br/>reference + montant + date<br/>facture vs encaissement]
ProgOut --> Match
Match --> Merge
Merge --> Route[Repartition par entite<br/>regles CDG parametrees]
Route --> Missing{Pieces<br/>manquantes ?}
Missing -->|Oui| MailValid[Microsoft Graph<br/>POST /me/sendMail<br/>relance valideur]
Missing -->|Non| Ctrl[Controles n8n<br/>coherence debit/credit<br/>codes analytiques<br/>comptes plan comptable]
Ctrl --> Reject{Rejets ?}
Reject -->|Oui| RejList[Liste rejets<br/>SharePoint audit]
Reject -->|Non| GenFile[n8n: generer fichier<br/>CSV renomme TXT<br/>ou PNM format CIG]
RejList --> GenFile
GenFile --> Depose[Depot SMB/SFTP<br/>share reseau Sage<br/>chemin a confirmer David]
Depose --> SageIngest[Sage 1000 FRP V11<br/>ingestion planifiee<br/>pas d API - fichier only]
SageIngest --> Recon[J+1 reconciliation<br/>Progessi finAccountTranses<br/>vs pieces sources]
Recon --> Report[Microsoft Graph<br/>POST /me/sendMail<br/>rapport OK/KO<br/>Bruno + Najia + Isabelle]
SageExport[Sage cron quotidien<br/>export clients + matricules<br/>vers FTP - deja en place] --> AgicapIn[Agicap consomme FTP]
Confrontation à l’API Progessi réelle
Section titled “Confrontation à l’API Progessi réelle”| Étape workflow | Endpoint Progessi correspondant | Verdict | Notes |
|---|---|---|---|
| Extraire factures de vente J-1 | POST /salesInvoices avec FilterModel (emissionDate range, entityCode equals) | ✅ Faisable | 58 fields exposés. Utiliser outstandingAmount, paidAmount pour matching et electronicInvoiceStatusCode pour la conformité Chorus/facturation électronique. |
| Extraire encaissements pour matching | POST /incomingPayments (FilterModel paymentDate range) | ✅ Faisable | Base du pré-matching facture ↔ encaissement côté n8n avant dépôt Sage. |
| Extraire décaissements | POST /outgoingPayments | ✅ Faisable | Utile pour audit fournisseurs tant qu’Agicap n’a pas absorbé le flux (transition sept.-nov. 2026). |
| Lister factures fournisseurs historiques | POST /purchasesInvoices (48 fields) | ✅ Transitoire | Utilisable jusqu’à bascule complète Agicap. Après 01/09/2026, source Agicap uniquement. |
| Réconciliation écritures produites | POST /finAccountTranses | ✅ Faisable | Contrôle croisé J+1 : ce que Sage a ingéré vs. écritures visibles en Progessi. |
| Rechercher notes de frais | POST /expenses | ⚠️ Doublon | Source primaire = Payhawk. expenses Progessi n’est qu’un miroir post-intégration. |
| Créer une écriture / lettrer un encaissement | (aucun) | ❌ Bloqué | Write API absente — action ouverte à clalanne@progessi.com (spec OpenAPI 2026-08-25). |
| Créer/modifier une facture, envoyer sur Chorus Pro | (aucun) | ❌ Bloqué | READ-only. Chorus Pro pilotée par Agicap dans la cible. |
| Modifier statut facture (marquer payé, annulée) | (aucun) | ❌ Bloqué | READ-only. |
Bloquants structurels
- Sage 1000 FRP V11 n’expose pas d’API accessible → intégration fichier-based obligatoire (CSV → TXT, ou format propriétaire
.PNMcôté CIG). Chemin share + fenêtre d’ingestion à confirmer avec David. - Progessi READ-only → CPT-01 n’écrit rien dans Progessi. Toute correction reste manuelle côté ADV/compta, hors périmètre.
- Agicap : la partie banque, factures fournisseurs post-01/09/2026 et relances dépend de l’API Agicap éditeur — indépendante de Progessi. Niveau contractuel à confirmer par Sonia (livrable P1 ci-dessous).
Contournements
- Utiliser Progessi READ comme source d’audit et de matching en amont du fichier Sage (ce qui évite de faire écrire à Progessi).
- Reproduire côté n8n le format d’import Sage attendu (le fichier CSV que Bruno renomme en
.TXTaujourd’hui — cf. verbatim 1:01:33) : la standardisation demandée à Progessi “il faudrait qu’ils standardisent un petit peu” (Bruno, 57:34) devient inutile puisque n8n génère directement le bon format. - Sens Sage → Agicap : ne rien redévelopper, le cron quotidien Sage → FTP décrit par Sonia (1:41:33) reste inchangé.
- Pour la partie tiers (création client/fournisseur), voir CPT-03/04 — hors périmètre CPT-01.
API map
Section titled “API map”| # | Étape | Fonction / endpoint | Application | Existe ? | Accès dispo ? | Notes |
|---|---|---|---|---|---|---|
| 1 | Lister factures validées | GET /invoices?status=validated | Agicap SaaS | ❓ À qualifier | 🟠 Attend contrat + niveau API | Bloquant — Sonia vérifie |
| 2 | Lister NDF approuvées | GET /expenses?status=approved | Payhawk | ✅ | ✅ | API confirmée bonne qualité |
| 3 | Lister factures clients | POST /salesInvoices FilterModel | Progessi | ✅ | ✅ | Shortcut à créer |
| 4 | Envoyer relance valideur | POST /me/sendMail | Microsoft Graph | ✅ | ⚠️ Extension droits | Idem CPT-02 |
| 5 | Dépôt fichier Sage | Copie SMB / SFTP → share réseau | Sage on-prem | ⚠️ Pas d’API | ⚠️ Confirmer avec David | Chemin share + fenêtre ingestion |
| 6 | Vérif ingestion Sage | Read log Sage OU query balance après ingest | Sage | ⚠️ | ⚠️ | Post-import check |
Prérequis techniques
Section titled “Prérequis techniques”- Bascule Agicap effective (fin 2026)
- API Agicap avec niveau d’accès contractualisé
- Format d’import Sage confirmé par David + share réseau accessible
- Site SharePoint compta (test + prod) + historique fichiers imports
- Comptes de service Payhawk + Progessi ✅
Livrables Proxiad attendus
Section titled “Livrables Proxiad attendus”Priorité 1 — Bloquant :
- Calendrier bascule Agicap officialisé (Sonia)
- Périmètre exact Agicap (quoi est repris de Zeendoc/Pulceo)
- Niveau API Agicap dans contrat Proxiad
- Format d’import Sage 1000 FRP V11 : schéma exact, share cible, planification ingestion
Priorité 2 :
- Cartographie périmètres (entités juridiques) + règles rattachement pièces
- Volumes pièces/mois/périmètre (base chiffrage)
- Temps par cycle actuel
- Contrôles bloquants avant intégration (règles validation)
- Politique rejets (rejet ? alerte + intégration ? correction manuelle ?)
- Coordination formation Agicap équipes (octobre)
Priorité 3 :
- Session partage écran Bruno / Najia sur cycle complet actuel (pré-Agicap)
- Décision pilote : quelle entité on démarre ?
Timeline estimative
Section titled “Timeline estimative”Effort : 10 jours-n8n.
Séquencement conditionné par bascule Agicap :
- S+0 → S+X : attente calendrier Agicap
- S+X (dès contrat + API confirmés) : dev connecteur Agicap n8n (~3 j)
- S+X : dev connecteur Payhawk n8n (~2 j) — parallélisable
- S+X+1 : dev connecteur Sage mode export (~2 j)
- S+X+2 : dev workflow orchestration + contrôles (~3 j)
- S+X+3 : tests + démo compta
- S+X+4 : pilote sur 1 entité
- Novembre 2026 (post-bascule Agicap) : mise en production progressive
Critères de recette
Section titled “Critères de recette”- Sur 1 entité pilote : 100% pièces validées (Agicap + Payhawk + Progessi) → fichier import Sage sans erreur
- Rejet auto avec alerte valideur si pièce manquante
- Répartition par entité correcte (0 erreur d’affectation)
- Import Sage successful → écritures visibles
- Temps de cycle réduit d’au moins 60% vs actuel
- Traçabilité complète pièce → écriture Sage
Risques identifiés
Section titled “Risques identifiés”| Risque | Impact | Mitigation |
|---|---|---|
| Bascule Agicap retardée | Blocage complet | Volets Payhawk + Progessi livrables en avance |
| API Agicap limitée contrat | Fallback exports manuels | Négocier montée en gamme si limité |
| Format import Sage complexe | Génération coûteuse | Cadrer avec David amont, prototyper avec 1 fichier test |
| Compta refuse écritures auto | Perte valeur | Mode “pré-écritures à valider” plutôt qu’intégration directe |
| Agicap ne remplace pas tout Zeendoc du 1er coup | Double flux transitoire | Support Zeendoc → Sage jusqu’à bascule complète |
Questions ouvertes
Section titled “Questions ouvertes”- Q1 : Calendrier Agicap officialisé quand ? Date effective de bascule ?
- Q2 : Contrat Proxiad × Agicap — quel niveau API inclus ? Écriture ? Lecture seule ?
- Q3 : Format d’import Sage 1000 FRP V11 — CSV ? XML ? Format proprio ?
- Q4 : Share réseau Sage — chemin exact ? Protocole (SMB/SFTP/NFS) ? Fenêtre d’ingestion ?
- Q5 : Cartographie entités juridiques — où trouve-t-on cette info ? Sage ? Progessi ? Manuel ?
- Q6 : Contrôles avant intégration — sont-ils déjà documentés ou à formaliser avec Bruno ?
- Q7 : Périmètre v1 — 1 entité pilote (laquelle ?) ou toutes en même temps ?
- Q8 : Rejets — mail Bruno seul ou workflow retour au valideur d’origine ?
- Q9 : Recouvrement Agicap 2027 — coordination architecture (on ne dev pas relance client dans CPT-01) confirmé ?