Conseils de gestion

Startups, scale-ups, éditeurs SaaS, e-commerce ou professions réglementées : découvrez l’accompagnement DIGIFEC adapté à votre profil.
L'API Pennylane (souvent recherchée sous la forme « pennylane api ») permet à une startup de brancher sa comptabilité directement sur ses outils : Stripe, CRM, back-office SaaS, outil de notes de frais ou tableau de bord investisseurs. Au lieu d'exporter des CSV chaque fin de mois, les factures, les clients et les transactions circulent automatiquement, et le grand livre devient une source de données exploitable en continu.
L'enjeu est double. D'un côté, gagner des dizaines d'heures de saisie et fiabiliser des chiffres que les investisseurs regardent de près : MRR, cash burn, runway. De l'autre, préparer l'entreprise à la généralisation de la facturation électronique, qui impose dès le 1er septembre 2026 de savoir recevoir des factures électroniques. Encore faut-il comprendre ce que l'API sait faire, ses limites techniques et les changements intervenus en 2026.
Chez DIGIFEC, cabinet d'expertise comptable dédié aux startups et scale-ups, nous accompagnons des équipes qui automatisent leur comptabilité sur Pennylane. Ce guide rassemble ce que nous vérifions avant chaque intégration : périmètre fonctionnel, obtention du token, synchronisation, contraintes de débit, migration 2026, cas pratique chiffré et erreurs à éviter.
Une API (interface de programmation) est une porte d'entrée technique qui permet à un logiciel de lire ou d'écrire des données dans un autre, sans intervention humaine. Pennylane expose aujourd'hui une API v2, accessible à l'adresse app.pennylane.com/api/external/v2, qui couvre la facturation clients, les achats, la banque, la comptabilité générale et analytique, ainsi que les pièces jointes.
La documentation distingue trois profils. Une entreprise génère un token API depuis ses propres paramètres : c'est le cas le plus courant pour une startup qui veut automatiser ses flux. Un cabinet d'expertise comptable dispose d'un token « Firm » qui lui donne accès aux dossiers de ses clients. Enfin, un éditeur de logiciel qui veut proposer une intégration à de nombreux utilisateurs passe par OAuth 2.0, après validation par l'équipe partenariats de Pennylane.
Dans tous les cas, chaque requête doit transporter un jeton dans l'en-tête Authorization sous la forme « Bearer ». Un appel à l'endpoint /me permet de vérifier que l'authentification fonctionne et d'afficher les droits associés au jeton.
Les droits sont découpés en scopes granulaires, chacun existant en lecture seule (readonly) ou en lecture-écriture (all). Ce découpage est précieux : un tableau de bord de trésorerie n'a besoin que de lire les transactions, alors qu'un connecteur de facturation doit pouvoir créer des factures. Le tableau ci-dessous résume les grands domaines et leur intérêt pour une startup.
| Domaine | Exemples de scopes | Cas d'usage startup |
|---|---|---|
| Ventes | customers, products, customer_invoices, billing_subscriptions | Créer automatiquement les factures issues de Stripe ou du back-office SaaS |
| Achats | suppliers, supplier_invoices, purchase_requests | Remonter les factures de cloud, d'outils et de freelances |
| Banque | transactions, bank_accounts | Alimenter un suivi de trésorerie, de cash burn et de runway |
| Comptabilité | journals, ledger_accounts, ledger_entries, trial_balance | Extraire la balance pour un reporting investisseurs mensuel |
| Exports | exports:fec, exports:agl | Produire le FEC et le grand livre pour un audit ou une due diligence |
| Analytique et fichiers | categories, file_attachments | Ventiler les coûts par produit ou par équipe, joindre les justificatifs |
Pour une société qui découvre l'outil, nous recommandons de commencer par comprendre la répartition des rôles entre l'équipe, le logiciel et le cabinet : c'est l'objet de notre article sur ce que change un expert-comptable sur Pennylane pour une startup.
La génération d'un token entreprise se fait dans Pennylane, menu Paramètres > Connectivité > Développeurs, bouton « Générer un token API ». Vous lui donnez un nom explicite (par exemple « Connecteur Stripe – production »), vous choisissez les permissions de l'API v2, puis une date d'expiration.
Le token ne s'affiche qu'une seule fois. Pennylane ne le stocke pas : s'il est perdu, il faut en générer un nouveau. Copiez-le immédiatement dans un gestionnaire de secrets.
Avant de brancher un script sur la comptabilité réelle, créez un environnement de test depuis le menu de profil (« Test environment »). Il permet de vérifier la création des clients, des factures et des pièces jointes sans polluer le dossier de production ni fausser la TVA déclarée. Les limites de débit s'y appliquent de la même façon qu'en production, ce qui permet de tester aussi la gestion des erreurs.
requêtes maximum par fenêtre de 5 secondes et par token
d'historique conservé par les endpoints de changelog
éléments maximum par page sur les changelogs (20 par défaut)
durées de validité d'un token : 1, 6, 12 mois ou illimitée
Tout automatiser d'un coup est rarement une bonne idée. Le bon ordre consiste à traiter d'abord les flux volumineux, répétitifs et bien structurés, puis ceux qui alimentent le pilotage.
Pour un SaaS facturé par abonnement, chaque paiement génère une facture. Pousser automatiquement ces factures dans Pennylane, avec le bon client, le bon compte de produit et le bon taux de TVA, supprime la saisie la plus volumineuse. C'est aussi le socle d'un MRR fiable, calculé à partir de données comptables et non d'un export ponctuel : nous détaillons la méthode dans notre guide MRR : définition, calcul et pièges à éviter.
Hébergement cloud, licences logicielles, freelances : les factures fournisseurs arrivent par dizaines. L'API permet de créer les fournisseurs, d'importer les factures et de rattacher les fichiers PDF via la ressource file_attachments. Chaque écriture dispose ainsi de sa pièce justificative, ce qui facilite la clôture et les contrôles.
En lecture seule, les scopes transactions et trial_balance suffisent pour alimenter un tableau de bord interne ou un reporting mensuel aux investisseurs. Vous suivez l'évolution des encaissements, des décaissements et de la consommation de trésorerie sans attendre la clôture : c'est la base d'un pilotage du cash burn et du runway réellement à jour.
Les scopes exports:fec et exports:agl permettent de générer le fichier des écritures comptables et le grand livre. Pendant une due diligence, pouvoir produire ces fichiers à la demande, sur une période donnée, fait gagner du temps à tout le monde.
Paiement Stripe, nouvel abonné dans le CRM, facture fournisseur reçue par e-mail.
Transforme la donnée : client, lignes, TVA, compte de produit, montants passés en chaînes.
Création du client puis de la facture, rattachement du justificatif, contrôle de la réponse.
La transaction bancaire est lettrée avec la facture ; les écarts remontent en file d'exception.
L'expert-comptable valide les écritures, la TVA et la clôture ; les KPI sortent du grand livre.
Une erreur classique consiste à relire chaque nuit la totalité des factures ou des transactions. Avec quelques milliers d'objets, cela consomme inutilement la limite de débit et ralentit le traitement. L'API v2 propose deux mécanismes plus efficaces.
Pennylane expose des changelogs pour sept ressources : factures clients, factures fournisseurs, clients, fournisseurs, produits, lignes d'écritures et transactions. Chaque élément indique l'opération réalisée (insert, update ou delete). L'historique est conservé 4 semaines : au-delà, les changements ne sont plus consultables.
La méthode recommandée par la documentation est simple : vous enregistrez la valeur processed_at du dernier changement traité, uniquement lorsque has_more est faux, puis vous la réutilisez comme start_date lors de l'interrogation suivante. La taille de page est de 20 éléments par défaut et peut monter à 1 000. Attention : start_date et cursor ne peuvent pas être utilisés dans la même requête.
Les webhooks inversent la logique : au lieu d'interroger l'API, vous déclarez une adresse HTTPS et Pennylane vous envoie une notification lorsqu'un événement survient, par exemple la création d'un fichier ou le changement de statut d'une facture électronique. La fonctionnalité est présentée comme une bêta, et Pennylane recommande de conserver les changelogs comme mécanisme de secours pendant cette phase.
En pratique, la combinaison la plus robuste associe les webhooks pour la réactivité et un passage régulier sur les changelogs pour rattraper les notifications manquées. L'adresse de réception doit obligatoirement être en HTTPS, faute de quoi l'abonnement est refusé.
La première contrainte est la limite de débit : 25 requêtes par fenêtre de 5 secondes, par token, en production comme en bac à sable et sur tous les endpoints. Au-delà, l'API renvoie une erreur 429 accompagnée d'un en-tête retry-after qui indique le délai d'attente. Les réponses normales contiennent aussi ratelimit-remaining, ce qui permet de ralentir avant d'atteindre le plafond (voir la documentation officielle sur la limitation de débit).
Les autres points de friction tiennent au modèle de données de la v2 : chaque objet se crée par son propre endpoint, les montants décimaux se transmettent sous forme de chaînes de caractères et la pagination fonctionne par curseur. Le tableau suivant récapitule les parades.
| Contrainte | Ce que dit la documentation | Bonne pratique |
|---|---|---|
| Limite de débit | 25 requêtes par fenêtre de 5 secondes, par token ; erreur 429 au-delà | File d'attente, lecture de l'en-tête retry-after, temporisation exponentielle |
| Pagination | Pagination par curseur : limit, cursor, has_more, next_cursor | Boucler tant que has_more est vrai, renvoyer filtres et tri à chaque page |
| Ordre de création | Chaque objet se crée via son propre endpoint | Créer le client et le produit avant la facture qui les référence |
| Montants | Les nombres décimaux se transmettent sous forme de chaînes | Formater "1200.00" et non 1200.0 pour éviter les arrondis |
| Droits | Un scope manquant renvoie 403 ; GET /me liste les scopes actifs | Tester les droits au démarrage du script |
| Historique des changements | Changelogs conservés 4 semaines | Synchroniser au moins chaque semaine et stocker le point de reprise |
Un dernier conseil : journalisez chaque appel en écriture avec l'identifiant de l'objet source (identifiant Stripe, numéro de commande). En cas de coupure réseau, vous saurez exactement quelles factures ont été créées et éviterez les doublons, qui sont l'erreur la plus coûteuse à corriger en comptabilité.
Deux évolutions successives concernent les intégrations existantes. La première est l'abandon de l'API v1 : la documentation indique qu'elle devait être entièrement dépréciée fin 2025 et que la v2 est désormais la version officielle et stable. Tout script écrit avant 2025 doit donc être vérifié.
Les changements les plus structurants : la v2 n'utilise que des identifiants internes, découpe les droits en scopes granulaires, impose la pagination par curseur, renomme certains objets (plan_item devient ledger_account, Estimates devient Quotes) et traite les fichiers comme une ressource à part entière, référencée par file_attachment_id, au lieu d'un contenu encodé directement dans la facture.
La seconde évolution porte sur la v2 elle-même, principalement sur la partie comptable. Le scope ledger est déprécié au profit de scopes plus fins (journals, ledger_accounts, ledger_entries, file_attachments), plusieurs endpoints passent à la pagination par curseur, les identifiants d'écritures perdent leur suffixe à trois chiffres et certains filtres disparaissent. Le guide de migration publié par Pennylane fixait la fin de la migration au 1er juillet 2026 au plus tard.
Si votre connecteur de reporting lit les écritures comptables et n'a pas été modifié depuis le printemps 2026, vérifiez en priorité les scopes du token, le format des identifiants et la gestion de la pagination : ce sont les trois sources de panne les plus fréquentes après la bascule.
La réforme de la facturation électronique change la nature des flux de facturation entre entreprises assujetties à la TVA en France. Selon Service-Public.fr, toutes les entreprises, quelle que soit leur taille, doivent être en mesure de recevoir des factures électroniques depuis le 1er septembre 2026. L'obligation d'émission s'applique à la même date aux grandes entreprises et aux ETI, et à compter du 1er septembre 2027 aux PME et microentreprises.
Les factures électroniques transitent par une plateforme agréée, seul intermédiaire reconnu par l'administration fiscale pour émettre, recevoir et transmettre les factures et les données associées. Les ventes aux particuliers et les opérations internationales relèvent quant à elles de l'e-reporting, c'est-à-dire la transmission de données de transaction à l'administration.
L'API Pennylane intègre déjà cette dimension. Un endpoint dédié (POST /customer_invoices/{id}/send_to_pa) permet de déclencher l'envoi d'une facture client finalisée vers la plateforme agréée, et les webhooks peuvent signaler les changements de statut d'une facture électronique. Pour une startup SaaS B2B, le connecteur de facturation doit donc produire des factures complètes et conformes dès leur création : identification du client, mentions obligatoires, taux de TVA correct.
Une startup qui facture des clients professionnels a tout intérêt à fiabiliser son flux dès maintenant, avant l'échéance de septembre 2027. Nous détaillons les étapes dans nos articles sur l'automatisation de la facturation électronique d'une startup et sur l'automatisation des factures avant l'entrée en vigueur de la réforme.
Prenons une startup SaaS B2B fictive, que nous appellerons Flowly. Elle facture 1 200 abonnements par mois via Stripe et acquiert environ 150 nouveaux clients chaque mois. Jusqu'ici, une personne de l'équipe exportait les paiements, créait les factures dans Pennylane et rattachait les PDF à la main.
Chaque nouveau client doit être créé avant sa première facture, soit 150 appels. Chaque facture représente un appel de création, soit 1 200 appels, et chaque justificatif PDF un appel de rattachement, soit 1 200 appels supplémentaires. Le total s'élève à 2 550 appels en écriture par mois.
La limite de 25 requêtes par fenêtre de 5 secondes correspond à un débit théorique de 5 requêtes par seconde. En gardant une marge de sécurité de 20 % pour absorber les autres appels (lectures, contrôles), on retient 4 requêtes par seconde. Le traitement complet prend donc 2 550 ÷ 4 = environ 638 secondes, soit un peu plus de 10 minutes par mois si tout est poussé en une fois. Réparti au fil de l'eau, il est imperceptible.
Avec une hypothèse de 3 minutes de saisie et de rattachement par facture, la saisie manuelle représentait 1 200 × 3 = 3 600 minutes, soit 60 heures par mois. C'est l'équivalent d'environ un tiers de temps plein, réaffecté à l'analyse, au recouvrement ou à la préparation du reporting.
Hypothèses illustratives : 3 minutes de saisie et de rattachement par facture, hors revue comptable, qui reste nécessaire.
Si Flowly interroge les changelogs des factures clients et des transactions tous les quarts d'heure, cela représente 96 interrogations par jour et par ressource, soit 192 appels quotidiens pour les deux ressources, une charge négligeable au regard de la limite. L'essentiel est ailleurs : chaque nuit, un contrôle compare le nombre et le montant total des paiements Stripe avec les factures créées dans Pennylane, et signale le moindre écart.
Les erreurs que nous rencontrons le plus souvent ne sont pas techniques : elles tiennent à l'organisation et à la qualité des données envoyées.
Un token en lecture et écriture donne accès à toute la comptabilité de la société. Traitez-le comme un mot de passe bancaire : coffre-fort de secrets, jamais dans le code source ni dans un tableur partagé, un token par usage, durée de validité limitée et révocation immédiate au départ d'un salarié ou d'un prestataire.
L'automatisation ne modifie pas les obligations comptables. L'article L123-22 du Code de commerce impose de conserver les documents comptables et les pièces justificatives pendant dix ans. En cas de contrôle fiscal, l'entreprise qui tient une comptabilité informatisée doit pouvoir remettre son fichier des écritures comptables dans le format prévu par le Livre des procédures fiscales. Rattacher systématiquement chaque justificatif à son écriture via l'API est le meilleur moyen de rester prêt.
L'API Pennylane v2 permet d'automatiser la facturation, les achats, la lecture des transactions et l'export des données comptables d'une startup. Pour en tirer le meilleur, commencez par les flux volumineux, travaillez d'abord dans l'environnement de test, limitez les droits de chaque token, respectez la limite de 25 requêtes par 5 secondes et synchronisez via les changelogs au moins une fois par semaine. Vérifiez enfin que vos intégrations ont bien intégré les changements de 2026 et que votre facturation est prête pour l'obligation d'émission de septembre 2027.
L'automatisation n'a de valeur que si les données qui entrent dans la comptabilité sont justes. Plan de comptes, TVA, rapprochements et clôture restent des sujets d'expertise.
Vous voulez cadrer une intégration ou fiabiliser un connecteur existant ? Découvrez notre accompagnement en comptabilité digitale et automatisée pour startups : l'équipe DIGIFEC définit avec vous les flux à automatiser, valide le paramétrage comptable et contrôle les données chaque mois.
Nos clients
Quel accompagnement pour votre entreprise ?
Startups, scale-ups, éditeurs SaaS, e-commerce ou professions réglementées : découvrez l’accompagnement DIGIFEC adapté à votre profil.
L'accès à l'API n'est pas facturé à l'appel, mais il dépend de l'offre souscrite. La documentation indique qu'il faut au minimum l'offre Essential pour générer un token entreprise : sur l'offre Starter, l'onglet Développeurs n'est pas disponible. Le coût réel d'une intégration tient surtout au temps de développement, à la maintenance du script et à la revue comptable des données envoyées.
Pas nécessairement. Un script maison donne le plus de contrôle, mais des outils d'automatisation sans code permettent d'appeler une API avec un token et des requêtes HTTP. Dans tous les cas, quelqu'un doit comprendre les scopes, la pagination, la limite de débit et la gestion des erreurs. Pour un flux de facturation critique, une relecture technique et comptable avant la mise en production reste indispensable.
La limite est de 25 requêtes par fenêtre de 5 secondes, appliquée par token, en production comme en environnement de test et sur tous les endpoints. Au-delà, l'API renvoie une erreur 429 avec un en-tête retry-after indiquant le délai d'attente. Les réponses normales contiennent un en-tête ratelimit-remaining qui permet de ralentir avant d'atteindre le plafond.
La documentation de Pennylane indique que la v1 devait être entièrement dépréciée fin 2025 et que la v2 est la version officielle et stable. Tout nouveau développement doit donc cibler la v2. Les intégrations anciennes doivent être migrées : identifiants internes, scopes granulaires, pagination par curseur et gestion des pièces jointes via une ressource dédiée.