Blog of :/blog/weboob/Opérations_bancaires.html

Opérations bancaires

Boobank, l'application de gestion des comptes bancaires de Weboob, est une des plus anciennes, car directement issue d'un script que j'avais développé pour le site de la BNP et qui existait avant Weboob. C'est aussi je pense l'une des applications qui a le plus de potentiel, car elle touche à un élément moteur de la vie quotidienne — l'argent — et qu'elle permet de répondre fortement au vide laissé par le fossé qu'il y a entre les sites web des banques et les besoins des utilisateurs.

En plus de permettre la visualiser de ses comptes et des opérations, et d'effectuer des transferts, ce potentiel de boobank est dans le traitement des données ainsi exportées, et des ordres que l'on pourrait automatiquement programmer. C'est de là qu'est venue dans un premier temps le plugin boobank pour Munin, permettant de grapher l'évoluer de ses comptes bancaires dans le temps :

Mais une idée plus intéressante est une application qui permettrait de mettre en relation non seulement les backends de banque, mais également ceux de messages, afin d'avoir un démon qui monitor ses comptes bancaires automatiquement et qui est capable, suivant des règles pré-établies, d'envoyer des alertes (via ces backends ICapMessagesPost), voire de prendre lui-même une décision.

L'exemple d'un fichier de configuration type de cette application boobank-monitor permet de mettre en avant les possibilités :

[main]
interval = 3600
email = weboob@example.org

[alert:MAIL]
type = mail
address = weboob@example.org

[alert:SMS]
type = message
to = 0623456789@sms
message = Attention mon gars, il ne reste que %(CHEQUE.balance)s neuros sur ton compte chèque et %(LIVRET_A.balance)s sur ton livret A.

[alert:DLFP]
type = message
to = T@dlfp
title = Donnez pour Tuxfamily
message = Bonjour, nal.
 Le compte de Tuxfamily est dans le rouge, envoyez les brouzoufs

[account:CHEQUE]
id = 1234567891234567@bnporc

[account:LIVRET_A]
id = 4567891234567892@bnporc

[account:LIVRET_JEUNE]
id = 9876543219876543@bnporc

[rule:Ctoomuch]
if = CHEQUE.balance > 1500
1 = transfer, CHEQUE, LIVRET_A, LIVRET_A.balance - 1500
2 = alert, MAIL

[rule:Cnotenough]
if = EMPTY_CHEQUE and LIVRET_A_ENOUGH_MONEY
1 = transfer, LIVRET_A, CHEQUE, 500
2 = alert, MAIL
3 = alert, SMS

[rule:Cwtf]
if = EMPTY_CHEQUE or not LIVRET_A_ENOUGH_MONEY
1 = ACTION_PANIC

[condition:EMPTY_CHEQUE]
if = CHEQUE.balance  500

[action:ACTION_PANIC]
1 = alert, MAIL
2 = alert, SMS
3 = alert, DLFP

C'est ce chantier qu'il me semble important de mettre en œuvre car la demande est importante. Rien que le fait de n'avoir commité que très récemment le support du format QIF (et encore, il faudrait supporter cette merde d'OFX) et qui a pourtant été apprécié, montre qu'il y a une attente qu'on ne devrait pas aussi tarder à combler.