Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
money [Le 23/09/2009, 18:43]
213.95.41.13
money [Le 11/09/2022, 11:27] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>finance ​comptabilité ​money}}+{{tag>​comptabilité}}
  
 ====== Conversion de fichiers MS Money vers ses équivalents libres (ou non) ====== ====== Conversion de fichiers MS Money vers ses équivalents libres (ou non) ======
Ligne 7: Ligne 7:
 Comme beaucoup, j'ai longtemps utilisé l'​excellent Wine comme béquille pour continuer à utiliser MS Money sous Linux bien longtemps après avoir (lâchement) abandonné Windows. Comme beaucoup, j'ai longtemps utilisé l'​excellent Wine comme béquille pour continuer à utiliser MS Money sous Linux bien longtemps après avoir (lâchement) abandonné Windows.
  
-Heureusement ;-) , en passant brutalement de Kubuntu 8.04 à Kubuntu 9.04, passant ainsi à Wine 1.1.20, MS Money 2004 ne semble plus marcher sous cette version ainsi que sous toutes les versions 1.x de Wine. Ceci malgré de nombreux essais opérés en suivant [[http://​appdb.winehq.org/​objectManager.php?​sClass=version&​iId=2728&​iTestingId=12055|les indications trouvées sur winehq]].+Heureusement ;-) , en passant brutalement de Kubuntu 8.04 à Kubuntu 9.04, passant ainsi à Wine 1.1.20, MS Money 2004 ne semble plus marcher sous cette version ainsi que sous toutes les versions 1.x de Wine. Ceci malgré de nombreux essais opérés en suivant [[https://​appdb.winehq.org/​objectManager.php?​sClass=version&​iId=2728&​iTestingId=12055|les indications trouvées sur winehq]].
  
 Comme j'en avais assez de perdre mon temps en essais et bidouilles pour essayer de faire marcher un mouton à 5 pattes (imaginez l'​inéptie de devoir installer IE6 pour faire tourner Money ?!?), je me suis donc retroussé les manches pour passer à une alternative libre. Comme j'en avais assez de perdre mon temps en essais et bidouilles pour essayer de faire marcher un mouton à 5 pattes (imaginez l'​inéptie de devoir installer IE6 pour faire tourner Money ?!?), je me suis donc retroussé les manches pour passer à une alternative libre.
  
-J'ai fait le tour des forums et mon choix s'est porté sur **KMyMoney2** sur lequel j'ai testé ce guide mais il peut à mon avis s'​appliquer aux Grisby, GnuCash et autres...+J'ai fait le tour des forums et mon choix s'est porté sur **KMyMoney2** sur lequel j'ai testé ce guide mais il peut à mon avis s'​appliquer aux Grisbi, GnuCash et autres...
  
 Voici donc des conseils pour convertir vos fichiers MS Money vers leurs équivalents libres. La première version de cette doc se basant sur KMyMoney 0.9.2, des choses devriendront obsolètes. Déjà la version 0.9.3 (non proposée de base dans Kubuntu 9.04) propose un meilleurs import de fichier QIF. Pour pouvoir utiliser une version plus récente (version svn) de KMyMoney que celle proposée par votre distribution,​ [[https://​edge.launchpad.net/​~claydoh/​+archive/​ppa|suivez ce lien]]. Voici donc des conseils pour convertir vos fichiers MS Money vers leurs équivalents libres. La première version de cette doc se basant sur KMyMoney 0.9.2, des choses devriendront obsolètes. Déjà la version 0.9.3 (non proposée de base dans Kubuntu 9.04) propose un meilleurs import de fichier QIF. Pour pouvoir utiliser une version plus récente (version svn) de KMyMoney que celle proposée par votre distribution,​ [[https://​edge.launchpad.net/​~claydoh/​+archive/​ppa|suivez ce lien]].
  
-Comme c'est ma première doc complète sur doc.ubuntu-fr.org ​n'​hésitez pas à la remanier, l'​enrichir,​ la corriger, etc. Je ne m'en formaliserais pas. A partir de maintenant, je ne me considère pas comme propriétaire/​mainteneur de cette doc puisque, de mon côté, je ne pense plus JAMAIS en avoir besoin! ;-)+Comme c'est ma première doc complète sur ce site n'​hésitez pas à la remanier, l'​enrichir,​ la corriger, etc. Je ne m'en formaliserais pas. A partir de maintenant, je ne me considère pas comme propriétaire/​mainteneur de cette doc puisque, de mon côté, je ne pense plus JAMAIS en avoir besoin! ;-)
  
 +<note tip>​**Skrooge** est capable, depuis la version 1.7.4, d'​importer directement les fichiers .mny de Microsoft Money.
 +C'est la façon la plus sure et simple pour se passer des Microsoft Money.</​note>​
 ===== 1. L'​export sous MS Money ===== ===== 1. L'​export sous MS Money =====
  
Ligne 23: Ligne 25:
 Profitez-en pour faire un screen shot du solde de tous vos comptes sous MS Money pour vérifier si vous arrivez bien au bon solde au final. Profitez-en pour faire un screen shot du solde de tous vos comptes sous MS Money pour vérifier si vous arrivez bien au bon solde au final.
 ===== 2. Conversion des fichiers QIF ===== ===== 2. Conversion des fichiers QIF =====
 +==== Manuellement ====
  
 Une fois que vous avez vos fichiers QIF, il va vous falloir faire quelques conversion avant de les importer tel quel dans votre logiciel : Une fois que vous avez vos fichiers QIF, il va vous falloir faire quelques conversion avant de les importer tel quel dans votre logiciel :
Ligne 30: Ligne 33:
   * supprimer les montants en Francs (avant le 1/1/2002).   * supprimer les montants en Francs (avant le 1/1/2002).
  
-**NOTE IMPORTANTE** En fait, certaines ​convertions ​fastidieuses peuvent être évitées en créant un "​profil d'​import QIF", et en y définissant le format de la date, des sommes ​monaitaires, etc. Mais comme je n'ai pas essayé, je laisse mes successeurs mettre à jour cette documentation s'ils ont réussi à tout faire simplement avec ces profils d'​import.+**NOTE IMPORTANTE** En fait, certaines ​conversions ​fastidieuses peuvent être évitées en créant un "​profil d'​import QIF", et en y définissant le format de la date, des sommes ​monétaires, etc. Mais comme je n'ai pas essayé, je laisse mes successeurs mettre à jour cette documentation s'ils ont réussi à tout faire simplement avec ces profils d'​import.
  
 **Pour convertir l'​encodage**,​ a priori de l'ISO 8859-15 : Vous ouvrez dans votre éditeur de texte, vous indiquez si votre éditeur ne l'a pas reconnu que le fichier est en ISO 8859-15, puis vous le sauvez (dans un autre fichier), au format UTF8. **Pour convertir l'​encodage**,​ a priori de l'ISO 8859-15 : Vous ouvrez dans votre éditeur de texte, vous indiquez si votre éditeur ne l'a pas reconnu que le fichier est en ISO 8859-15, puis vous le sauvez (dans un autre fichier), au format UTF8.
Ligne 53: Ligne 56:
 ''​D(\d\d)/​(\d\d)/​(\d\d\d\d)''​ ''​D(\d\d)/​(\d\d)/​(\d\d\d\d)''​
  
-(Que quelqu'​un n'hésites ​pas à remplacer par une expression régulière qui fait les deux remplacements d'un coup!)+(Que quelqu'​un n'hésite ​pas à remplacer par une expression régulière qui fait les deux remplacements d'un coup!)
  
 à remplacer par : à remplacer par :
Ligne 73: Ligne 76:
 ''​T\1\2,​\3''​ ''​T\1\2,​\3''​
  
-Etonnement, j'​ai ​touvé ​des valeurs exportées en $!!! Par exemple : $415.22 au lieu de T415.22+J'​ai ​été extrêmement surpris de trouver ​des valeurs exportées en $!!! Par exemple : $415.22 au lieu de T415.22 
 +Il semblerait (information à vérifier) que les $ sont utilisés lorsque des opérations sont "​ventilées"​ dans Money. 
 +En remplaçant les $ par des T, selon le logiciel d'​import,​ il peut apparaître une incohérence entre le total de l'​opération et les montants ventilés (c'est le cas notamment avec Homebank qui n'a pas la fonctionnalité "​ventilation"​ et Skrooge qui interprète correctement les $ sans que l'on ait besoin de les remplacer par T).
  
 Pour les remplacer, on utilisera l'​expression régulière suivante : Pour les remplacer, on utilisera l'​expression régulière suivante :
Ligne 91: Ligne 96:
 ''​I\1\2,​\3''​ ''​I\1\2,​\3''​
  
-(Que quelqu'​un n'hésites ​pas à remplacer par une expression régulière qui fait tous les remplacements d'un coup!)+(Que quelqu'​un n'hésite ​pas à remplacer par une expression régulière qui fait tous les remplacements d'un coup!)
  
 **Supprimer les montants en Francs!** : MS Money exporte un compte comprenant des sommes en Francs et en Euros sans faire de distinctions entre les sommes dans le fichier d'​export!!! Il vous faut donc supprimer tous les montants en Francs et ne garder que ceux en euros. **Supprimer les montants en Francs!** : MS Money exporte un compte comprenant des sommes en Francs et en Euros sans faire de distinctions entre les sommes dans le fichier d'​export!!! Il vous faut donc supprimer tous les montants en Francs et ne garder que ceux en euros.
 ATTENTION : Si le passage à l'euro s'est fait officiellement le 1/1/2002, vous aurez surement des opérations en Euro avant (des virements par exemple) et des opérations en Franc après (des chèques par exemple). ATTENTION : Si le passage à l'euro s'est fait officiellement le 1/1/2002, vous aurez surement des opérations en Euro avant (des virements par exemple) et des opérations en Franc après (des chèques par exemple).
 Il vous faut donc connaître le solde du compte au moment du passage à l'​Euro. Ce solde vous servira de solde du compte à sa création dans le nouveau logiciel. Il vous faut donc connaître le solde du compte au moment du passage à l'​Euro. Ce solde vous servira de solde du compte à sa création dans le nouveau logiciel.
 +
 +==== Script automatique ====
 +
 +Voici un petit script perl qui permet d'​automatiser toutes ces manipulations. Il suffit d'​exécuter ce script en passant en paramètre le répertoire où se trouvent les fichiers qif à convertir. Le script recherche les fichiers .qif et .QIF dans ce répertoire et effectue la conversion en créant les fichiers dans un sous répertoire output.
 +
 +Syntaxe : <​nom_du_script>​.pl -rep <​nom_du_repertoire>​
 +
 +Remarque : testé sous Ubuntu 12.04 à partir de fichiers exportés depuis Money 99.
 +<code perl>
 +#​!/​usr/​bin/​perl
 +# Automatisation du billet de zFlorent
 +# disponible sur >​doc.ubuntu-fr.org/​money
 +
 +use strict;
 +use Getopt::​Long;​
 +
 +# code de couleur pour printf
 +my $ROUGE="​\033[0;​31;​1m";​
 +my $VERT="​\033[0;​32;​1m";​
 +my $JAUNE="​\033[0;​33;​1m";​
 +my $BLEU="​\033[0;​34;​1m";​
 +my $VIOLET="​\033[0;​35;​1m";​
 +my $CYAN="​\033[0;​36;​1m";​
 +my $BLEUJAUNE="​\033[0;​33;​44m";​
 +my $DEFAUT="​\033[0m";​
 +
 +my $DOS2UNIX = "/​usr/​bin/​perl -i -pe '​s/​\\r\\n/​\\n/​g'​ ";
 +my $BINDIR;
 +my $PRGNAME;
 +my $EXT;
 +
 +my $rep;
 +my $opt_h;
 +my $destdir;
 +
 +GetOptions( "​rep=s"​ => \$rep,
 + "​h"​ => \$opt_h);
 +($BINDIR,​$PRGNAME,​$EXT) = ($0 =~ /​^(.+)\/​(.+?​)(\..*){0,​1}$/​);​
 +
 +sub syntaxe {
 + printf "​\n${ROUGE}syntaxe : $PRGNAME$EXT -rep=<​repertoire>​|-h]$DEFAUT\n\n";​
 + printf "​\t$CYAN-icc=<​repertoire>​ : ${DEFAUT}Indique le repertoire avec les fichiers a convertir\n";​
 + printf "​\t$CYAN-h ​               : ${DEFAUT}Affiche ce message\n";​
 + printf "​$DEFAUT\n";​
 + exit 1;
 +}
 +
 +sub erreur {
 + printf "​\n\n$ROUGE\t>>>​ $_[0]$DEFAUT\n\n";​
 + exit 1;
 +}
 +
 +sub traitement {
 + my $nomfichier=$_[0];​
 + my $tmpfile="/​tmp/​file1.qif";​
 + my $outputfile="​$destdir/​$nomfichier";​
 +
 + unlink $tmpfile;
 + system("​iconv -f iso8859-15 -t utf8 $rep/​$nomfichier -o $tmpfile"​);​
 + system("​$DOS2UNIX $tmpfile"​);​
 + open (IN,​$tmpfile) or &​erreur("​Ouverture fichier $tmpfile impossible : $!");
 + open (OUT,">​$outputfile"​) or &​erreur("​Ouverture fichier $outputfile impossible : $!");
 + my $nbligne;
 + while (my $ligne = <IN>) {
 + $nbligne = $nbligne + 1;
 + chomp $ligne;
 + if ($ligne =~ /​^D(\d{1,​2})\/​(\d{1,​2})('​|\/​)(\d{1,​4})\s*$/​) { # convertir les dates
 + $ligne="​D$1.$2.$4";​
 + } elsif ($ligne =~ /​^(T|\$|I|Q|O)(.+)$/​) { # convertir les montants
 + my $tmp=$2;
 + # suppression , et remplacer . par ,
 + $tmp =~ tr/,//d;
 + if ($tmp =~ /​^(-{0,​1}\d+)\.*(\d*)$/​) {
 + $ligne="​T$1,​$2";​
 + } else {
 + &​erreur("​Montant incoherent fichier $nomfichier ligne $nbligne : $ligne"​);​
 + }
 + }
 + print OUT "​$ligne\n";​
 + }
 + close IN;
 + close OUT;
 + unlink $tmpfile;
 +}
 +
 +######
 +# Main
 +######
 +
 +if (! defined $rep) {
 + &​syntaxe;​
 +}
 +if (! -d $rep) {
 + &​erreur("​Repertoire $rep inexistant"​);​
 +}
 +$destdir="​$rep/​output";​
 +if (! -d $destdir) {
 + mkdir $destdir;
 +}
 +opendir(DIR,​$rep) || &​erreur("​Erreur ouverture repertoire $rep"​);​
 +my @liste_fichier=readdir(DIR);​
 +closedir(DIR);​
 +foreach (@liste_fichier) {
 + if ($_ =~ /​^.+\.(qif|QIF)$/​) {
 + &​traitement($_);​
 + }
 +}
 +</​code>​
  
 ===== 3. Importation dans le nouveau logiciel ===== ===== 3. Importation dans le nouveau logiciel =====
Ligne 111: Ligne 224:
 Et je serais enfin LIBRE!!!!! ;-) Et je serais enfin LIBRE!!!!! ;-)
  
-Après mes premiers pas sous KMyMoney, quelques remarques pour ceux qui hésitent à franchir le pas.  +Après mes premiers pas sous KMyMoney, quelques remarques pour ceux qui hésitent à franchir le pas. 
-Certains de mes comptes n'​étaient pas équilibrés à cause d'​opérations en Francs que je n'​avais pas filtrées (voir ma remarque ci dessus). J'ai eu quelques opérations qui ont mystérieusement sautées. Un peu fastidieux à retrouver pour rééquilibrer.  +Certains de mes comptes n'​étaient pas équilibrés à cause d'​opérations en Francs que je n'​avais pas filtrées (voir ma remarque ci dessus). J'ai eu quelques opérations qui ont mystérieusement sautées. Un peu fastidieux à retrouver pour rééquilibrer. 
-Ensuite, dans l'​utilisation,​ on constate des améliorations par rapport à MS Money 2004. Par exemple "​l'​auto completion"​ dans les catégories ET sous catégories,​ et dans les comptes pour les virements. C'est très efficace. L'​équilibrage des coptes ​est aussi très agréable à utiliser : Il vous propose automatiquement la bonne somme (solde du compte dans le logiciel à la date du relevé) comme solde final. Ces petits détails qui vous font gagner du temps. ;-)+Ensuite, dans l'​utilisation,​ on constate des améliorations par rapport à MS Money 2004. Par exemple "​l'​auto completion"​ dans les catégories ET sous catégories,​ et dans les comptes pour les virements. C'est très efficace. L'​équilibrage des comptes ​est aussi très agréable à utiliser : Il vous propose automatiquement la bonne somme (solde du compte dans le logiciel à la date du relevé) comme solde final. Ces petits détails qui vous font gagner du temps. ;-)
  
 ===== Quelques liens ===== ===== Quelques liens =====
  
-[[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=132435|Un message qui m'a aidé sur le forum ubuntu]]+[[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=132435|Un message qui m'a aidé sur le forum ubuntu]]
  
 [[http://​www.freesoftwaremagazine.com/​columns/​export_from_ms_money|export_from_ms_money]] [[http://​www.freesoftwaremagazine.com/​columns/​export_from_ms_money|export_from_ms_money]]
  
-[[http://​www.movingtofreedom.org/​2008/​01/​09/​moving-from-ms-money-to-kmymoney/​|moving-from-ms-money-to-kmymoney]]+[[https://​www.movingtofreedom.org/​2008/​01/​09/​moving-from-ms-money-to-kmymoney/​|moving-from-ms-money-to-kmymoney]]
  
-[[http://​doc.ubuntu-fr.org/​kmymoney|La Doc sur KMyMoney sur doc.ubuntu-fr.org]]+[[:​kmymoney|La Doc sur KMyMoney sur doc.ubuntu-fr.org]]
  
  
  
 //​Contributeurs : Creation zFlorent // //​Contributeurs : Creation zFlorent //
  • money.1253724192.txt.gz
  • Dernière modification: Le 18/04/2011, 14:58
  • (modification externe)