Références consultées le 9 septembre 2026
Référence éditeur et spécification de collecte. Les sections « contrat HOLCO » définissent le traitement cible et sa recette ; les outils du compte se découvrent via tools/list.
HOLCO MCP · Documentation développeur
Pennylane — comptabilité et révision
Écritures, lignes, balances, lettrage, factures et flux de changement : le contrat de collecte pour construire une analyse comptable traçable.
Périmètre et authentification
La fiche couvre la Company API v2. La Firm API, destinée au périmètre cabinet et à la découverte des dossiers, possède un contrat distinct : ne pas réutiliser implicitement un jeton société sur un appel cabinet. La base des exemples Company est https://app.pennylane.com/api/external/v2. Le dossier HOLCO doit être associé explicitement à l’entreprise autorisée.
Les appels utilisent Authorization: Bearer <jeton>. Définir les scopes à partir des objets lus : trial_balance:readonly, ledger_entries:readonly, ledger_accounts:readonly, journals:readonly, fiscal_years:readonly, transactions:readonly, customer_invoices:readonly et supplier_invoices:readonly. Les exports ont des scopes propres, notamment exports:fec. Un scope ajouté à une application OAuth peut nécessiter un nouveau consentement. Scopes Company v2.
Objets et relations à récupérer
Balance générale et auxiliaire
GET /trial_balance : définir period_start et period_end, puis choisir le périmètre auxiliaire avec is_auxiliary. Récupérer l’identification des comptes et les montants de la période pour le cadrage. Pagination par cursor, limit de 1 à 1 000, 20 par défaut. Une page ne représente pas nécessairement toute la balance. Référence balance.
Écritures et grand livre
GET /ledger_entries et GET /ledger_entries/{id} permettent de parcourir les en-têtes. Conserver l’identifiant, la date comptable lorsqu’elle existe, la relation au journal et les références de pièce. Les filtres documentés portent notamment sur id, date et journal_id. Écritures.
GET /ledger_entry_lines porte le détail nécessaire au grand livre : rattachement à l’écriture, compte, montants et libellés selon le schéma retourné. Les filtres incluent ledger_account_id, journal_id et date ; le plafond est de 100 lignes par page. Le contrat HOLCO relie chaque ligne à son en-tête et garde les identifiants sources. Lignes d’écriture.
Lettrage et analytique
Les relations lettered_ledger_entry_lines identifient les contreparties lettrées. Interroger les lignes associées avant de calculer un résiduel ou une ancienneté de dette : un groupe peut couvrir plusieurs factures et règlements. Les affectations analytiques doivent rester liées à la ligne source ; leur évolution dispose d’un journal distinct. Évolution du lettrage, changements analytiques.
Factures clients et avoirs
GET /customer_invoices permet de sélectionner les factures et avoirs par date, client, numéro, référence externe ou catégorie. Conserver séparément les indicateurs draft et credit_note. Les factures ne doivent pas être additionnées aux écritures qui les comptabilisent : ce sont des vues reliées d’un même événement économique. Les lignes embarquées via include sont expérimentales ; un traitement durable doit prévoir leur récupération indépendante. Factures clients.
Fournisseurs, achats, banque et référentiels
GET /supplier_invoices fournit le périmètre achats ; le contrat de collecte vise le fournisseur, les dates, les montants, les échéances et les références de justificatif présents dans la réponse. Les droits et les champs doivent être contrôlés sur l’objet renvoyé. Factures fournisseurs.
GET /transactions apporte les opérations bancaires à rapprocher des pièces et écritures. Conserver leur identité et leur rattachement au compte ; une transaction bancaire n’est pas en soi une écriture comptable équilibrée. Transactions.
GET /ledger_accounts sert de référentiel des comptes. Le numéro reste une chaîne, y compris lorsqu’il ne contient que des chiffres ; garder la relation entre compte général et compte auxiliaire lorsqu’elle est renseignée. Plan de comptes.
Synchronisation initiale et incrémentale
- Fixer entreprise, exercices, période et inclusion des brouillons ; enregistrer ce périmètre avec le lot.
- Charger les référentiels puis toutes les pages d’écritures et de lignes. Dédupliquer sur entreprise + type de ressource + identifiant.
- Lire
GET /changelogs/ledger_entry_linespour les changements :start_dateau format RFC 3339 oucursor, jamais les deux ensemble. Le journal conserve quatre semaines ; une reprise au-delà de cette fenêtre exige un rechargement de référence. Les événements sont ordonnés parprocessed_at. - Traiter aussi les changements de catégories. Une relation de ligne peut être nulle après suppression : ne pas déréférencer aveuglément le lien.
- Avancer le point de reprise seulement après validation et écriture durable du lot. Rejouer un lot ne doit pas doubler les montants.
Les étapes de persistance et de rapprochement décrivent le contrat de traitement HOLCO cible. Les contraintes du journal proviennent des références changements de lignes et changements de catégories.
Compatibilité 2026
Utiliser has_more et next_cursor, sans dépendre des anciens attributs de page. Ne pas construire un incrémental sur updated_at de /ledger_entries : les filtres concernés ont été retirés. Les relations journal et compte deviennent des objets imbriqués ; les identifiants doivent être traités comme opaques. Les brouillons et exercices clos ne sont plus exclus par défaut, et une date peut être nulle. Guide des changements 2026.
Exemple de lecture éditeur
GET /api/external/v2/trial_balance?period_start=2026-01-01&period_end=2026-08-31&limit=100 HTTP/1.1
Host: app.pennylane.com
Authorization: Bearer <JETON_PENNYLANE>
Accept: application/json
Cet appel illustre la requête source ; il ne s’envoie pas à l’URL MCP HOLCO. Parcourir ensuite le curseur retourné. Ne jamais placer un jeton réel dans un prompt, une URL ou un journal applicatif.
Recette du contrat HOLCO
Vérifier une période vide, plusieurs pages, des écritures sans date, un avoir, un lettrage partiel, une suppression et une reprise dépassant quatre semaines. Comparer la somme débit/crédit à la balance sur un périmètre identique. Produire une anomalie explicite pour toute relation introuvable, et conserver le décompte des lignes rejetées. La synthèse doit mentionner la période et la date de collecte.