Skip to content

CPT-01 — Cycle des pièces vers Sage/Agicap

FonctionNatureFrameworkScoreStatut
ComptabilitéWorkflown8n (orchestration multi-source)19*🟠 Attend calendrier Agicap

Source : atelier Compta 27/08 (Bruno Dias, Najia Gouzzal, Isabelle Perdriau, Kevin Cam) — synthèse.


  • 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 .PNM cô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.

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 dont outstandingAmount, 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 V11pas 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.
  1. 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
  2. Répartition par entité (règles paramétrées CDG) — chaque pièce → entité comptable de rattachement.
  3. 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
  4. Contrôles avant intégration :
    • Cohérence débit / crédit
    • Codes analytiques valides (référentiel Sage)
    • Comptes existants dans plan comptable Sage
  5. Génération fichier import Sage : format d’import Sage 1000 FRP V11 (CSV ou format propriétaire — à confirmer avec David).
  6. Dépôt fichier sur share réseau Sage (mode “import planifié”).
  7. Sage ingère le fichier (fenêtre planifiée par David).
  8. Rapport d’intégration : nb pièces OK / KO + causes rejets → mail Bruno + Najia + Isabelle.
  9. Réconciliation J+1 : contrôle croisé pièces sources vs écritures Sage.
  10. Journalisation : chaque écriture → source traçable (pièce, timestamp, statut).
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]
Étape workflowEndpoint Progessi correspondantVerdictNotes
Extraire factures de vente J-1POST /salesInvoices avec FilterModel (emissionDate range, entityCode equals)✅ Faisable58 fields exposés. Utiliser outstandingAmount, paidAmount pour matching et electronicInvoiceStatusCode pour la conformité Chorus/facturation électronique.
Extraire encaissements pour matchingPOST /incomingPayments (FilterModel paymentDate range)✅ FaisableBase du pré-matching facture ↔ encaissement côté n8n avant dépôt Sage.
Extraire décaissementsPOST /outgoingPayments✅ FaisableUtile pour audit fournisseurs tant qu’Agicap n’a pas absorbé le flux (transition sept.-nov. 2026).
Lister factures fournisseurs historiquesPOST /purchasesInvoices (48 fields)✅ TransitoireUtilisable jusqu’à bascule complète Agicap. Après 01/09/2026, source Agicap uniquement.
Réconciliation écritures produitesPOST /finAccountTranses✅ FaisableContrôle croisé J+1 : ce que Sage a ingéré vs. écritures visibles en Progessi.
Rechercher notes de fraisPOST /expenses⚠️ DoublonSource 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 .PNM cô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 éditeurindé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 .TXT aujourd’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.
#ÉtapeFonction / endpointApplicationExiste ?Accès dispo ?Notes
1Lister factures validéesGET /invoices?status=validatedAgicap SaaSÀ qualifier🟠 Attend contrat + niveau APIBloquant — Sonia vérifie
2Lister NDF approuvéesGET /expenses?status=approvedPayhawkAPI confirmée bonne qualité
3Lister factures clientsPOST /salesInvoices FilterModelProgessiShortcut à créer
4Envoyer relance valideurPOST /me/sendMailMicrosoft Graph⚠️ Extension droitsIdem CPT-02
5Dépôt fichier SageCopie SMB / SFTP → share réseauSage on-prem⚠️ Pas d’API⚠️ Confirmer avec DavidChemin share + fenêtre ingestion
6Vérif ingestion SageRead log Sage OU query balance après ingestSage⚠️⚠️Post-import check
  • 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 ✅

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 ?

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
  • 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
RisqueImpactMitigation
Bascule Agicap retardéeBlocage completVolets Payhawk + Progessi livrables en avance
API Agicap limitée contratFallback exports manuelsNégocier montée en gamme si limité
Format import Sage complexeGénération coûteuseCadrer avec David amont, prototyper avec 1 fichier test
Compta refuse écritures autoPerte valeurMode “pré-écritures à valider” plutôt qu’intégration directe
Agicap ne remplace pas tout Zeendoc du 1er coupDouble flux transitoireSupport Zeendoc → Sage jusqu’à bascule complète
  • 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é ?