#1 Le 28/12/2005, à 12:14
- Corre
Importation GIF dans Gnucash
Bonjour,
Lorsque j'importe le fichier QIF que j'ai téléchargé sur le site de ma banque dans GnuCash, il n'est pas capable de détecter à quel compte les opérations sont dédiées. J'essaie de modifier le fichier QIF en lui ajoutant une entête du type !Account, mais je n'arrive pas à trouver la syntaxe exacte.
Est-ce que quelqu'un aurait un tuyau sur le sujet ?
#2 Le 29/12/2005, à 13:20
- Corre
Re : Importation GIF dans Gnucash
J'ai trouvé la réponse à ma question. Je joint le programme perl qui permet de résoudre mon problème.
#!/usr/local/bin/perl
# Transforme de fichier téléchargé depuis Domiweb (releve.qif)
# afin de le rendre plus propre pour gnucash
# Actions :
# 1 - Ajoute une entete au fichier pour que les transactions
# soient directement inscrites dans le compte CC1
# 2 - Supprime les dates dans les libellés, afin que les
# transactions récurrentes soient reconnues
# Date de création : 27/12/2005
$qifin = "/home/raphael/Desktop/releve.qif";
$qifout = "/home/raphael/Desktop/releve-gnucash.qif";
open(QIFIN, "< $qifin") or die "Ne peut ouvrir $qifin : $!";
open(QIFOUT, "> $qifout") or die "Ne peut ouvrir $qifout : $!";
# Ajout de l'entete
print QIFOUT "!Option:AutoSwitch\n";
print QIFOUT "!Account\n";
print QIFOUT "NCC1\n";
print QIFOUT "TBank\n";
print QIFOUT "DCompte cheque commun\n";
print QIFOUT "^\n";
print QIFOUT "!Clear:AutoSwitch\n";
print QIFOUT "!Account\n";
print QIFOUT "NCC1\n";
print QIFOUT "DCompte cheque commun\n";
print QIFOUT "TBank\n";
print QIFOUT "^\n";
# Suppression des dates
while(<QIFIN>) {
if ($_ =~ m/^(.*)( [0-9]{2}\/[0-9]{2} )(.*)$/) {
print "$1 $3\n";
print QIFOUT "$1 $3\n";
} else {
print $_;
print QIFOUT $_;
}
}
close QIFIN;
close QIFOUT;
#3 Le 29/12/2005, à 18:30
- Black_pignouf
Re : Importation GIF dans Gnucash
Ok, mais c'est pas des plus pratiques. J'ai aussi pas mal cherché pour importer mes QIF, mais depuis j'ai découvert Grisbi (via synaptic), c'est bien plus convivial et plus facile pour importer.
A essayer!
Hors ligne