feat(integrations): add Pennylane transaction fetcher - #63
feat(integrations): add Pennylane transaction fetcher#63Gauthier-Huguenin wants to merge 1 commit into
Conversation
romainsimon
left a comment
There was a problem hiding this comment.
Merci pour cette intégration. L’approche — script Node autonome normalisant les transactions — est cohérente avec les connecteurs existants du repo. J’ai exécuté node integrations/pennylane/fetch.test.js : les 9 tests passent.
J’ai aussi vérifié l’API officielle : endpoint /api/external/v2/transactions, scope transactions:readonly, pagination par curseur, limite 1–100 et authentification Bearer correspondent bien à la documentation Pennylane : https://pennylane.readme.io/reference/gettransactions
Avant merge, il reste trois ajustements :
- Documenter que la création d’un token API nécessite actuellement une offre Essential ou supérieure ainsi qu’un rôle autorisé. Sans cela, la documentation laisse penser que le connecteur est disponible pour tous les comptes.
- Rendre la règle d’activation cohérente avec l’exemple. Le README demande
enabled: true, mais le code exécute le connecteur dès lors que la valeur n’est pas explicitementfalse. Soit rendre l’activation opt-in, soit documenter clairement ce comportement. - Signaler que
raw: txconserve le payload complet — comptes, tiers, factures rapprochées et URLs éventuelles — dans le fichier local. Le répertoire est bien ignoré par Git, mais la sensibilité de ces données doit être explicite.
Après ces corrections documentaires/configuration et un check CI exécutant réellement les 9 tests, cette PR pourra être mergée. Aucun contenu publicitaire problématique détecté.
Résumé
Ajoute une intégration Pennylane autonome sur le modèle explicitement retenu par le mainteneur dans l'issue #18 : un script Node fin et indépendamment révisable qui normalise les transactions vers le format partagé de Paperasse, sans introduire de framework central.
Closes part of #18.
Fonctionnement
GET /transactions;transactions:readonly;next_cursoret détecte les curseurs absents ou répétés ;--startet--endvalidées ;data/transactions/pennylane.json;npm run fetch: l'accès reste explicite vianpm run fetch:pennylane;Configuration
Le token n'est jamais placé dans l'URL ou dans les fichiers générés. Les données réelles sous
data/transactions/restent ignorées par Git.Validation
node --test integrations/pennylane/fetch.test.js: 9 tests passés ;enabled=falseet écriture JSON ;git diff --checkpropre.Périmètre volontaire
Cette PR suit la direction donnée par le mainteneur le 7 juillet 2026 dans #18 : des scripts
fetch.jsautonomes plutôt qu'une migration de Qonto et Stripe vers une interface centralisée. Elle ne crée ni facture, ni fournisseur, ni écriture comptable dans Pennylane.