MnyBank Documentation

Financial files 

Introduction

Pour pouvoir traiter les informations bancaires dans des produits comme Microsoft Money, Quicken (Intuit) ou Excel les banques mettent à disposition des fichiers de différents formats :

 

CSV file

Ce format est utilisé pour importer des données dans des bases de données ou dans des tableurs. Le principe de base est très simple, une ligne représente une liste de valeurs séparées par des virgules. Si une valeur contient une ou plusieurs virgules elle doit être placée entre deux caractères " (Ex: "Bonjour, ceci est un exemple"). Si la valeur contient un caractère ", ce caractère doit être doublé ("Le caractère "" doit être doublé").

Ex:

Nom,Age,Commentaire

André,23,"La virgule est  un caractère de séparation"

Paul,35,"Le caractère "" doit être doublé"

L'inconvénient (et l'avantage) de ce format est qu'il ne donne aucune information sur la signification des valeurs. Pour l'utiliser il faut donc savoir ce que contient chaque colonne. Pour des transactions bancaires les colonnes peuvent être Date/Montant/Libellé ou Montant/Libellé/Date ou tout autre ordre, avec d'autres colonnes... Sans précisions sur l'organisation du fichier il est impossible de l'exploiter dans un programme.

TSV file

Ce format est une variante du fichier CSV, le caractère de séparation des valeurs étant le caractère de tabulation. La première ligne du fichier doit théoriquement contenir le nom des champs, chaque ligne doit contenir le même nombre de valeurs. Une valeur ne peut contenir de caractère de tabulation.

Ex: (<TAB> représente le caractère de tabulation)

Nom<TAB>Age<TAB>Commentaire

André<TAB>23<TAB>La virgule, n'est pas un caractère de séparation

Paul<TAB>35<TAB>Le caractère " ne pose aucune difficulté

QIF file

Ce format a été conçu au milieu des années 1990 pour le logiciel Quicken d'Intuit. Il présente le mérite d'être simple et de définir la nature de chaque donnée.

Une ligne d'entête précise la nature des mouvements contenus dans le fichier :

EntêteNature
!Type:Bank Bank transaction
!Type:CCard Credit card
......

Ensuite pour chaque transaction il y a une ligne par champ, chaque champ commence par un caractère en donnant la nature :

Charactère Field
DDate
T Amount
N Number
P Name
M Comment
A Adress
L Category
S Category (partial)
E Comment (partial)
$ Amount (partial)
^ Record end

Ce type de fichier peut être traité dans un programme, puisque chaque information peut être identifiée, mais il manque une information essentielle : à quel compte les transactions sont-elles associées? C'est une des améliorations apportées par les fichiers OFC et OFX.

Ex:

!Type:Bank
D10/11/04
T-50.00
NVIRT PCREDIT LYONNAIS
PVIR.PERMANENT
^
D09/11/04
T-17.00
NPrelvmt
PNC NUMERICABLE
^

Fichiers OFC

Ce format a été créé par Microsoft, mais Microsoft ne réclame aucun droit pour son utilisation. Il ne s'agit pas seulement d'un format de fichier mais également d'un protocole conçu pour que Microsoft Money puisse interroger directement les serveurs bancaires qui adopteraient ce standard. Dans ce qui suit nous nous limitons à la description des fichiers.

Les fichiers OFC sont des fichiers utilisant des balises, comme le HTML utilisé pour les pages Web. Un fichier OFC débute avec une balise <OFC> et se termine avec une balise de fin </OFC>. La structure générale du fichier est la suivante :

Tag Meaning
<OFC> Begin of file
<DTD>n Document Type Definition version
<CPAGE> Page code
... data
</OFC> End of file

Les mouvements bancaires sont entre une balise <ACCTSTMT> et une balise </ACCTSTMT>.  Les couples de balise <xxxx>...</xxxx> définissent des agrégats (esemble de données), les données simples sont représentées par <xxxx>Information, sans balise de cloture. Les mouvements bancaires sont dans la structure suivante (engras les données obligatoires) :

BaliseSignification
<ACCTSTMT>Début des informations de transactions
<ACCTFROM> Début de l'identification du compte
 <BANKID> Identifiant de la banque
 <BRANCHID> Identifiant de l'agence
 <ACCTID> Numéro de compte
 <ACCTTYPE> Type de compte
</ACCTFROM> Fin de l'identification du compte
<STMTTRS> Début bloc de transactions
 <DTSTART> Date de début de période
 <DTEND> Date de fin de période
 <LEDGER> Solde du compte
 <STMTTRN> Début de transaction
  <TRNTYPE> Type de transaction
  <DTPOSTED> Date
  <TRNAMT> Montant
  <FITID> Identifiant de la transaction
  <CLTID> Identifiant de la transaction assignée par le client
  <SRVRTID> Identifiant de transaction (serveur)
  <CHKNUM> Numéro de chèque
  <SIC> Code indiquant la catégorie de tiers(Standard Industrial Code)
  <PAYEEID> Identifiant du tiers
  <NAME> Nom du tiers (NAME et PAYEE sont exclusifs)
  <PAYEE> Agrégat : tiers (NAME et PAYEE sont exclusifs)
  <ACCTTO> Compte du tiers pour les virements
  <MEMO> Libellé de la transaction
 </STMTTRN>
</STMTRS>
</ACCTSTMT>

En comparaison avec les formats précédents, le format OFC est beaucoup plus riche. Le compte auxquelles les transactions s'appliquent est décrit et permet d'affecter les transactions sans demander une intervention de l'utilisateur. L'information FITID (identifiant de la transaction) est obligatoire et permet de ne pas prendre en compte deux fois la même opération.  

OFX files

Le format OFX est largement inspiré du format OFC, les sont disponibles sur le site http://www.ofx.org. Ce format n'est pas propriétaire, c'est un standard international et il devrait peu à peu s'imposer. Microsoft abandonne OFC, Intuit abandonne QIF et les deux éditeurs adoptent OFX.

Avec la version 2 de ce format les fichiers OFX sont des fichiers XML. Les fichiers XML sont des fichiers balisés avec une rigueur accrue dans la syntaxe (par exemple toutes les balises sont en couple ouverture/fermeture, elles doivent être logiquement imbriquées). Ce format facilite grandement le traitement des données par les programmes.

See also

File Menu | Tools Menu

SourceForge.net Logo