Cette page a été traduite automatiquement et peut contenir des erreurs. Lire l'original en anglais
Synchro bancaire avec Enable Banking (Europe)
Synchronisez gratuitement vos comptes bancaires européens via Enable Banking et l'open banking DSP2, avec un chiffrement de bout en bout entre votre navigateur et l'agrégateur bancaire.
Dans ce guide
- Comment enregistrer votre propre application Enable Banking gratuite et la connecter à Budgero.
- Comment fonctionne l'accès bancaire, et comment le renouveler tous les 180 jours.
- Comment un relais aveugle rend vos données bancaires illisibles pour les serveurs de Budgero.
Enable Banking se connecte à des milliers de banques dans l'Espace économique européen et au Royaume-Uni grâce à la DSP2 (PSD2 en anglais), la réglementation européenne sur l'open banking. Budgero s'en sert pour importer automatiquement vos transactions et vos soldes.
C'est gratuit pour un usage personnel. Enable Banking permet aux particuliers d'utiliser son API sans frais dans son mode « restricted » (restreint), qui ne lit que les comptes dont vous êtes titulaire et que vous liez vous-même. Vous ne payez rien à Enable Banking, et Budgero ne facture aucun supplément pour la synchronisation bancaire.
Aux États-Unis ou au Canada, utilisez plutôt SimpleFIN. Vous pouvez connecter les deux dans le même budget.
La synchronisation bancaire est en bêta.
Principe de la configuration
Pour utiliser Enable Banking gratuitement, vous y enregistrez votre propre application. C'est ce qui garantit la gratuité, et cela signifie que la clé d'accès vous appartient, à vous et non à Budgero. Des applications de budget auto-hébergées comme Actual Budget et Firefly III suivent la même procédure. Si vous l'avez déjà fait pour l'une d'elles, vous serez en terrain connu. Enregistrez une application distincte pour Budgero, afin que chaque application ait sa propre clé.
La configuration prend environ 15 minutes, une seule fois. Ensuite, la synchronisation tourne en arrière-plan jusqu'à ce que votre banque vous demande de renouveler l'accès, généralement tous les 180 jours.
Étape 1 : Créez un compte Enable Banking
Inscrivez-vous sur enablebanking.com. Enable Banking peut vous envoyer un e-mail de confirmation avant que vous puissiez utiliser le panneau de contrôle, ce qui peut prendre un certain temps.
Étape 2 : Enregistrez votre application
Dans le panneau de contrôle Enable Banking, ouvrez API applications et enregistrez une nouvelle application :
| Champ | Valeur à saisir |
|---|---|
| Environment (environnement) | Production, pour vos vraies banques. Ne choisissez Sandbox que pour faire d'abord des essais avec une banque fictive (voir plus bas). |
| Application name (nom de l'application) | Ce que vous voulez, par exemple « Budgero ». |
| Allowed redirect URLs (URL de redirection autorisées) | Votre adresse Budgero suivie de /bank-sync/callback. Sur Budgero Cloud, c'est https://my.budgero.app/bank-sync/callback. Budgero affiche l'URL exacte, avec un bouton de copie, dans Paramètres › Synchro bancaire › Europe. |
| Private key (clé privée) | Gardez l'option par défaut, Generate in the browser (générer dans le navigateur). |
| E-mail, description, URL de la politique de confidentialité et des conditions d'utilisation | Renseignez-les avec vos propres informations. Enable Banking ne vérifie pas ces URL pour les applications personnelles (restricted), donc https://budgero.app/privacy convient pour les deux. |
Lorsque vous validez le formulaire, votre navigateur télécharge un fichier .pem qui porte comme nom l'ID de votre application. Ce fichier est la clé privée de votre application. Conservez-le en lieu sûr : Enable Banking ne vous le montrera plus.
Étape 3 : Liez vos comptes bancaires à l'application
Dans le panneau de contrôle, utilisez Activate by linking accounts (parfois affiché sous la forme Link accounts) et connectez-vous à votre banque. Liez chaque compte que vous voulez synchroniser.
En mode restreint, Enable Banking ne renvoie que les comptes que vous avez liés ici. Si vous sautez cette étape, votre banque apparaîtra dans Budgero sans aucun compte. Une fois l'étape terminée, votre application s'affiche comme Restricted et Active, ce qui est le bon réglage pour un usage personnel.
Étape 4 : Ajoutez la clé à Budgero
- Dans Budgero, ouvrez Paramètres › Synchro bancaire et choisissez l'onglet Europe.
- Importez le fichier
.pem. Budgero remplit l'ID de l'application à partir du nom du fichier ; si vous avez renommé le fichier, collez l'ID depuis le panneau de contrôle. - Sélectionnez Vérifier et enregistrer.
Budgero vérifie la clé auprès d'Enable Banking avant d'enregistrer quoi que ce soit. Il s'assure que la clé fonctionne et que votre application indique bien l'URL de redirection de Budgero. Si l'URL de redirection manque, Budgero vous indique laquelle ajouter.
Étape 5 : Connectez votre banque
- Dans Banques, choisissez votre pays et votre banque, puis sélectionnez Continuer vers la connexion bancaire.
- La page de connexion de votre banque s'ouvre dans une petite fenêtre. Connectez-vous et autorisez l'accès. Oui, encore une fois : lier les comptes à l'étape 3 a activé votre application, mais votre banque doit aussi approuver cette connexion précise.
- La fenêtre se ferme d'elle-même, et Budgero enregistre la connexion.
Si votre navigateur bloque les fenêtres pop-up, ou si vous utilisez Budgero comme application installée, la page de connexion de la banque s'ouvre plutôt dans le même onglet, et votre banque vous renvoie vers Budgero une fois que vous avez terminé.
Pour ajouter une autre banque, sélectionnez Ajouter une banque et recommencez.
Étape 6 : Liez vos comptes
Dans Comptes bancaires, sélectionnez Lier à côté d'un compte et choisissez où ses transactions doivent aller :
- Nouveau compte. Budgero crée le compte et définit son solde d'ouverture pour qu'il corresponde à votre banque aujourd'hui. Choisissez jusqu'où remonter dans l'historique : 30 jours par défaut. La première synchronisation demande à votre banque autant d'historique qu'elle le permet, et Budgero importe à partir de la date choisie.
- Compte existant. Choisissez un compte que vous suivez déjà à la main. L'import commence le lendemain de votre dernière saisie, pour que rien ne soit importé deux fois. Si une transaction bancaire ressemble à une saisie existante, Budgero vous demande de la vérifier au lieu de créer un doublon.
Sélectionnez Lier et importer. Les transactions apparaissent immédiatement et sont marquées comme pointées, puisque la banque les a déjà comptabilisées.
Fonctionnement de la synchronisation
- Automatique. Budgero se synchronise quand vous ouvrez l'application ou y revenez, au plus une fois toutes les 6 heures, tous appareils confondus.
- À la demande. Sélectionnez Synchroniser dans Paramètres › Synchro bancaire, ou utilisez le bouton de synchronisation sur la page d'un compte lié.
- Transactions comptabilisées par défaut. Les paiements par carte en attente sont ignorés jusqu'à ce que votre banque les comptabilise, sauf si vous activez Importer les transactions en attente pour le compte (voir ci-dessous). Les paiements annulés ou rejetés ne sont jamais importés.
- Descriptions nettoyées. De nombreuses banques, notamment en Allemagne et en Autriche, font précéder les descriptions de codes SEPA comme
SVWZ+ouEREF+. Budgero supprime ces préfixes. - Pas de doublons. Chaque transaction bancaire n'est importée qu'une fois, même après un renouvellement de l'accès. Certaines banques envoient des transactions sans référence ; Budgero distingue malgré tout deux cafés identiques pris le même jour.
- Correspondances possibles. Lorsqu'une transaction bancaire a le même montant qu'une saisie que vous avez faite, à cinq jours près, Budgero vous laisse choisir entre Associer, Ajouter comme nouvelle et Ignorer au lieu de deviner.
- Synchronisation en votre présence. Les banques peuvent limiter la fréquence à laquelle une application lit vos comptes en arrière-plan, souvent à quatre fois par jour. Budgero se synchronise pendant que vous utilisez l'application et le signale à Enable Banking, ce qui vous maintient généralement en deçà de cette limite.
Réglages du flux bancaire
Chaque compte lié a ses propres réglages. Sélectionnez l'icône en forme d'engrenage à côté du compte dans Paramètres › Synchro bancaire :
- Importer les transactions en attente. Désactivée par défaut. Lorsque cette option est activée, les paiements par carte apparaissent avant que votre banque ne les comptabilise, sous forme de transactions non pointées. Dès que la banque en comptabilise un, Budgero met directement à jour cette même transaction, avec la date et le montant comptabilisés, et la marque comme pointée. Cela fonctionne même lorsque la banque attribue une nouvelle référence à la transaction comptabilisée. Votre catégorie, ainsi que tout bénéficiaire ou mémo que vous avez modifié, sont conservés. Si la banque abandonne une transaction en attente sans la comptabiliser, par exemple une pré-autorisation de carte levée, Budgero la supprime.
- Date. Choisissez la date d'achat (quand vous avez payé), la date de comptabilisation (quand la banque l'a enregistrée) ou la date de valeur (quand l'argent a bougé). Automatique utilise la date de comptabilisation.
- Bénéficiaire et Mémo. Choisissez, pour chaque champ, entre le nom du commerçant ou de la contrepartie et la description du paiement, ou laissez le mémo vide. Les banques européennes remplissent ces champs différemment : cela vaut donc la peine d'y jeter un œil si vos bénéficiaires apparaissent sous forme de codes de référence.
- Nettoyer les noms de bénéficiaires en MAJUSCULES. Activée par défaut. Transforme
K-MARKET KAMPPIenK-Market Kamppi. Les noms qui contiennent déjà des minuscules restent exactement tels que la banque les a envoyés.
Les réglages s'appliquent aux transactions importées à partir de ce moment. Si le champ choisi manque pour une transaction, Budgero revient au choix automatique. Vos règles s'appliquent aussi à chaque transaction importée : vous pouvez donc y faire le reste du nettoyage.
Renouveler l'accès tous les 180 jours
La DSP2 limite la durée de validité d'une autorisation bancaire, généralement à 180 jours. Budgero demande la durée maximale autorisée par votre banque, ou 90 jours si la banque ne l'indique pas. Paramètres › Synchro bancaire indique quand l'accès à chaque banque expire. Une semaine avant l'échéance, Budgero vous le rappelle à l'ouverture de l'application. Sélectionnez Reconnecter à côté de la banque et connectez-vous à nouveau.
Certaines banques mettent fin à l'accès plus tôt, par exemple pour une vérification d'identité annuelle. La synchronisation signale alors que l'accès à cette banque a expiré, et Reconnecter règle le problème de la même manière.
Se reconnecter ne change rien à votre budget. Budgero reconnaît vos comptes grâce à un identifiant stable qui survit au renouvellement : vos liens restent en place et aucune transaction n'est importée deux fois.
Comment la synchronisation Enable Banking préserve le Zero-knowledge
Budgero est chiffré de bout en bout : nos serveurs ne détiennent jamais votre budget autrement que sous forme de texte chiffré. La synchronisation bancaire européenne maintient cette garantie. Voici comment, car c'est moins évident qu'il n'y paraît.
Le problème
L'API d'Enable Banking ne permet pas aux pages web de l'appeler directement. Les navigateurs bloquent ces requêtes, en vertu d'une règle de sécurité appelée CORS. La solution de contournement habituelle est un serveur proxy qui appelle l'agrégateur bancaire à votre place. Mais le chiffrement HTTPS ne s'applique qu'entre deux extrémités : un proxy classique déchiffre donc tout ce qui le traverse, qu'il s'agisse de la liste des comptes, de chaque transaction ou des identifiants. Cela casserait le chiffrement de bout en bout, et publier le code source du proxy n'y changerait rien, car personne ne peut vérifier ce qu'un serveur exécute réellement.
Ce que fait Budgero à la place
Budgero déplace le chiffrement dans votre navigateur.
- Votre navigateur exécute son propre chiffrement. La première fois que vous utilisez la synchronisation bancaire européenne, Budgero charge libcurl.js, la célèbre bibliothèque curl accompagnée d'une implémentation de TLS 1.3, le tout compilé en WebAssembly. Une session HTTPS chiffrée s'ouvre alors directement entre votre navigateur et
api.enablebanking.com. - Votre navigateur vérifie lui-même le certificat d'Enable Banking. Il utilise une liste intégrée d'autorités de certification de confiance, la même que celle de Firefox. Si un intermédiaire substitue un faux certificat, la connexion échoue au lieu de laisser fuiter des données.
- Un relais aveugle transporte les octets chiffrés. Les navigateurs ne peuvent pas ouvrir de connexions réseau brutes : le trafic chiffré passe donc par un WebSocket jusqu'à un petit relais intégré au serveur de Budgero. Le relais transmet les octets à Enable Banking et renvoie les réponses chiffrées. Il ne possède aucune clé et ne peut donc lire ni l'aller ni le retour.
- Le relais ne peut joindre qu'Enable Banking. Il refuse toute autre destination et ne peut donc pas servir de proxy ouvert. Il tient des compteurs, pas des journaux de votre trafic.
- Votre clé privée ne quitte jamais votre budget. Chaque requête est autorisée par un jeton de courte durée que votre navigateur signe avec la clé privée de votre application. La clé n'est stockée que dans votre budget chiffré, et le jeton signé ne circule qu'à l'intérieur de la session chiffrée.
Imaginez une boîte fermée à clé. Avec un proxy classique, vous remettez une lettre au proxy, qui en rédige une nouvelle pour la banque. Avec le relais de Budgero, vous enfermez la lettre dans une boîte que seul Enable Banking peut ouvrir, et le relais n'est que le coursier. Il sait où va la boîte et à peu près combien elle pèse, mais il ne peut pas voir à l'intérieur. Remplacez la boîte, et la serrure ne correspondra plus.
Ce principe existe depuis des décennies : c'est ainsi que les navigateurs web font passer le HTTPS par les proxys d'entreprise, qui transmettent un trafic chiffré qu'ils ne peuvent pas lire.
| Données | Le relais de Budgero peut-il les voir ? |
|---|---|
| Transactions, soldes, noms de comptes, IBAN | Non. Ces données sont chiffrées entre votre navigateur et Enable Banking. |
| La banque que vous utilisez et les comptes que vous synchronisez | Non. Ces informations circulent elles aussi dans la session chiffrée. |
| La clé privée de votre application et les jetons signés | Non. La clé ne quitte jamais votre budget ; les jetons circulent chiffrés. |
| Le fait que vous vous connectez à Enable Banking | Oui. Le relais doit savoir où envoyer les octets. |
| Votre adresse IP, le moment de vos synchronisations et le volume approximatif de données échangées | Oui. Tout relais voit ces informations. |
| Le compte Budgero qui se synchronise | Oui. Le relais exige que vous soyez connecté à votre compte, pour éviter les abus. |
Enable Banking, en revanche, voit bien vos données bancaires : c'est le service agréé qui se connecte à votre banque, selon sa propre politique de confidentialité. Les transactions importées sont écrites dans votre budget sur votre appareil et chiffrées avant d'être synchronisées, comme tout le reste dans Budgero.
Comme pour toute application web chiffrée de bout en bout, vous faites confiance au code de l'application que votre navigateur exécute. Budgero, relais compris, est open source, et les serveurs auto-hébergés exécutent le même relais.
Commencer par un essai en sandbox
Pour tester sans votre vraie banque, enregistrez une deuxième application avec l'environnement Sandbox (bac à sable). Dans Budgero, choisissez la banque Mock ASPSP, la banque fictive d'Enable Banking. Dans la section Mock ASPSP du panneau de contrôle, vous pouvez ajouter vos propres transactions et soldes de test. Les applications Sandbox acceptent aussi de simples URL de redirection en http://. Déconnectez la sandbox dans Budgero avant de configurer votre application de production.
Auto-hébergement
Les serveurs Budgero auto-hébergés intègrent le relais : il n'y a rien à installer ni à configurer. Deux points à vérifier :
- HTTPS. Enable Banking exige une URL de redirection en
https://pour les applications de production. Servez Budgero en HTTPS, par exemple derrière un proxy inverse ou avec Tailscale, et utilisez cette adresse à l'étape 2. - Connexions sortantes. Votre serveur doit pouvoir joindre
api.enablebanking.comsur le port 443.
Vos synchronisations passent par le relais de votre propre serveur, jamais par celui de Budgero Cloud.
Supprimer une banque ou se déconnecter
- Supprimer (l'icône de corbeille à côté d'une banque) arrête la synchronisation de cette banque et révoque son accès chez Enable Banking. Vos liens sont conservés : si vous la reconnectez plus tard, la synchronisation reprend là où vous l'aviez laissée.
- Déconnecter supprime de votre budget la clé enregistrée, les liens et les vérifications en attente. Les transactions importées sont conservées.
- Pour tout révoquer, supprimez aussi l'application dans le panneau de contrôle Enable Banking.
Dépannage
| Problème | Que faire |
|---|---|
| Une banque se connecte mais n'affiche aucun compte | Liez ces comptes à votre application dans le panneau de contrôle (étape 3), puis sélectionnez Reconnecter, ou supprimez la banque et ajoutez-la à nouveau. |
| « n'indique pas … comme URL de redirection » | Ajoutez l'URL exacte affichée par Budgero aux URL de redirection autorisées (Allowed redirect URLs) de votre application, puis sélectionnez à nouveau Vérifier et enregistrer. |
| « Ce fichier n'est pas une clé privée RSA » | Importez le fichier .pem qu'Enable Banking a téléchargé lorsque vous avez enregistré l'application, et non un certificat ou un autre fichier. |
| « Impossible de joindre Enable Banking via le relais Budgero » | Vérifiez votre connexion. Sur un serveur auto-hébergé, vérifiez qu'il peut joindre api.enablebanking.com sur le port 443. |
| « Votre banque limite la fréquence de lecture de ses données » | Votre banque n'autorise que quelques lectures par jour. Attendez quelques heures, puis synchronisez à nouveau. |
| La fenêtre de connexion ne s'ouvre pas | Votre navigateur a bloqué la fenêtre pop-up. Autorisez les fenêtres pop-up pour Budgero, ou continuez simplement : Budgero ouvre alors la page de connexion de la banque dans le même onglet. |
| « L'accès à … a expiré » | Sélectionnez Reconnecter à côté de la banque et connectez-vous à nouveau. |
| La page de connexion de votre banque refuse la demande | Vérifiez que votre application se trouve dans le bon environnement : Production pour les vraies banques, Sandbox pour Mock ASPSP. |