Magazine
Memo inside

Pourquoi nous avons créé notre propre serveur EBICS

David Wursteisen

icon dot

01 mars 2023

EBICS (Electronic Banking Internet Communication Standard) est un protocole de communication sécurisé utilisé pour l’échange de données bancaires électroniques entre les banques et les entreprises. Il permet aux utilisateurs de transférer des fichiers depuis ou vers leur banque, de signer électroniquement des documents et d’utiliser des fonctionnalités de chiffrement pour protéger les données sensibles. EBICS est largement utilisé en Europe où il est considéré comme un standard de communication bancaire sécurisé.

Même si EBICS est un protocole de communication ouvert (les spécifications sont disponibles sur le site ebics.org), l’implémentation d’un serveur (logiciel qui reçoit des demandes des clients) ou d’un client EBICS (logiciel qui envoie des demandes aux serveurs) reste complexe. Certaines entreprises en ont fait le cœur de leur métier : fournir des logiciels sur étagère, clé en main, pour communiquer en EBICS. Ces solutions font gagner du temps et permettent de s’affranchir des complexités techniques liées à EBICS.

Nous avons voulu offrir la possibilité à nos clients de se connecter via EBICS à leur compte bancaire Memo Bank, pour établir un relevé de leurs opérations par exemple, ou pour passer des opérations directement depuis leur logiciel comptable. Dans notre contexte, prendre un logiciel sur étagère est un choix lourd de conséquences. Nous voulons maîtriser l’ensemble de notre chaîne de production, en créant le minimum de dépendances possibles avec des outils tiers. S’il y a un bug dans le logiciel « clé en main » que nous avons choisi, nous sommes dépendants de l’éditeur du logiciel et de son planning. Le bug sera-t-il corrigé rapidement ?

Pour nous ménager un maximum d’autonomie, nous avons donc fait le choix de créer notre propre serveur EBICS. Ce choix était risqué : toute spécification offre son lot d’interprétations. Les spécifications propres à EBICS ne font pas exception à cette règle. Cela devient compliqué quand on touche au chiffrement de la donnée. Si nous faisons une mauvaise interprétation des spécifications, les messages chiffrés sont considérés comme invalides, sans plus d’information sur la raison du dysfonctionnement.

Notre plateforme bancaire est réalisée en Kotlin et tourne sur la machine virtuelle Java. Nous avons gardé cette pile technologique pour développer notre implémentation d’EBICS : les algorithmes de chiffrement utilisés par EBICS sont disponibles sur la JVM (Java Virtual Machine) et le support XML existant nous a permis de générer facilement tous les messages supportés par EBICS 2.4, EBICS 2.5 et EBICS 3.0.

Monter en compétence sur ce protocole de communication a été payant : notre serveur EBICS est utilisé en production par nos clients. Ils peuvent télécharger leurs relevés bancaires au format CFONB et passer des ordres de virement ou de prélèvement depuis leurs comptes Memo Bank, sans quitter leurs logiciels comptables.

Notre interface EBICS chez Memo Bank

Configuration d’une nouvelle connexion EBICS

Ayant la maîtrise complète du serveur, nous avons pu l’adapter dans le cadre de notre partenariat avec JeDeclare (jedeclare.com). Tous nos échanges avec eux passent par EBICS et nous fournissons les relevés de compte d’un client dès que celui-ci donne son accord, via une signature électronique, avec JeDeclare. Cette activation est chez nous automatique, là où elle est manuelle pour d’autres acteurs bancaires.

Nous avons utilisé, à nouveau, notre serveur EBICS pour nous connecter aux réseaux STEP2 et RT1 d’EBA Clearing, qui nous permettent d’exécuter et de réceptionner des virements et prélèvements standards, ainsi que des virements instantanés. Les virements instantanés utilisent des messages EBICS différents des messages standards. Nous n’avions qu’à implémenter ces nouveaux messages, tout en étant maîtres de notre calendrier pour la réalisation. Au total : ce sont maintenant plus de 150 000 transactions qui sont passées via notre serveur EBICS, à travers nos connexions avec STEP2 et RT1. Ce volume de transaction confirme que nous avons fait le bon choix en créant notre propre solution EBICS.

En avril 2022, notre serveur EBICS a traité 9 653 opérations dans le mois

Investir du temps et des compétences dans un protocole vieux de presque 30 ans, pour une nouvelle banque, peut laisser songeur. Pourtant, cela a été un pari gagnant : nous avons pu réutiliser notre serveur EBICS dans des contextes différents. Tout ça afin que nos clients puissent connecter leurs logiciels comptables en direct ou profiter de notre partenariat avec JeDeclare. Nos clients peuvent aussi exécuter des volumes plus importants de virements, plus rapidement, grâce à notre connexion EBICS aux réseaux STEP2 et RT1.

Fort de ces succès, nous réfléchissons à aller plus loin. Nous pensons consolider notre expérience sur l’écosystème EBICS en nous rapprochant du consortium derrière le protocol EBICS : le protocole est ancien mais reste utilisé par de nombreux acteurs de la place bancaire. Aussi, pour ceux qui ne veulent pas connecter leurs comptes avec EBICS et pour éviter à nos clients les écueils que nous avons eus avec le protocole, nous leur proposons d’utiliser l’API que nous avons construite. Nous y avons d’ailleurs apporté une importance particulière à l’expérience développeur : notre API maison est moderne, digeste, documentée. Bref, que vous soyez EBICS ou API, nous vous offrons les moyens d’accéder aux données de votre compte.

Portrait de David Wursteisen, collaborateur Memo Bank

David Wursteisen

Rédacteur

Logo MemoBank
Logo Memo Bank