# Importation et exportation

&Tony.Bloomfield; &Tony.Bloomfield.mail;

## La fonction d'importation de données issues de GnuCash

### Fichiers GnuCash

La fonction d'importation de données GnuCash de &kappname; assure la lecture directe de fichiers standards (&XML;) issus de GnuCash version 1.8 et 2.0. Les opérations suivantes ne sont pas possibles :

- Importation des données issues de bases de données (Postgres)

- Importation de fichiers « multi-book »

- Importation dans un fichier &kappname; préexistant

- Importation de données relatives à de petites entreprises (employés, factures, etc.)

- Exportation vers des fichiers GnuCash

L'importation ne fonctionnera probablement bien que si vous lui présentez un fichier valable. Il est recommandé d'appeler la fonction Vérifier & Réparer tout du menu Actions de GnuCash, avant d'essayer d'importer le fichier.

Les fichiers peuvent être ouverts en indiquant le nom de fichier sur la ligne de commande (`kmymoney <emplacement du fichier>`), ou au moyen des entrées de menu &Ctrl;O Fichier Ouvrir ou Fichier Importer

La similitude entre les deux applications signifie que la plupart des données peuvent être importées directement. Cependant, il y a des domaines où des différences émergent, et des options multiples sont à votre disposition pour vous en accommoder. Les sections qui suivent décrivent quelques unes de ces différences ; la compréhension de celles-ci devrait vous faciliter l'importation.

### Similitudes, différences et terminologie

#### Utilisation en petite entreprise

Il faut noter que &kappname; est un gestionnaire de finances personnelles, et qu'en tant que tel, il ne reprend pas les fonctions entreprise de GnuCash telles que tableau de taxes, feuilles de paie, et le suivi de lots. Tout Compte à payer ou Compte à recouvrer de GnuCash trouvé dans un fichier est importé comme une compte de passif ou un compte d'actif respectivement.

#### Comptes

##### Type de comptes

Pour les deux applications, le niveau le plus élevé dans la structure du fichier est le compte. &kappname; accepte cinq types principaux de comptes : Actif, Passif, Revenus, Dépenses et Investissements, qui peuvent avoir des sous-types variés, &pex;, Chèques, Carte de crédit, &etc;. &kappname; comprend un « compte standard » pour chacun de ces cinq types et tous les autres comptes sont placés en subordination de l'un d'entre eux. &kappname; garantit une plus grande cohérence (ou une moindre flexibilité, selon votre façon de voir) entre les types de comptes que ne le fait GnuCash, et la fonction d'importation corrige cela.

##### Catégories

&kappname; utilise le vocable Catégories pour marquer le type d'une dépense ou d'un revenu. Contrairement à GnuCash, ces catégories ne sont pas des comptes avec registre et la saisie d'opérations ne se fait pas directement dans la catégorie mais indirectement à partir du registre d'autres types de comptes.

##### Structure et Comptes conteneurs

GnuCash prévoit l'utilisation de Comptes conteneurs. En fait, il s'agit juste de comptes en lecture seule dans lesquels, il est impossible de saisir des opérations, mais dont la fonction est analogue à celle des dossiers dans un système de fichiers, pour contenir d'autres comptes. Bien que &kappname; ne reprenne pas cette fonctionnalité en tant que telle, il possède une fonctionnalité de relation parent /enfant entre comptes, qui permet à la fonction importation de simuler des comptes conteneurs en créant des comptes vides.

##### Correspondance des type de comptes

Type GnuCash | Type &kappname;
Banque | Chèques
Chèques | Chèques
Épargne | Épargne
ACTIF | Actif
PORTE-MONNAIE | Porte-monnaie
DEVISE | Porte-monnaie
MARCHÉ MONÉTAIRE | Marché monétaire
ACTIONS | Actions
FCP | Actions
BONS | Bonds
PASSIF | Passif
Crédit | Carte de crédit
REVENUS | Revenus
DÉPENSES | Dépenses
À RECOUVRER | Actif
PAYABLE | Passif

#### opérations et contreparties

##### Opérations contrebalancées

Comme dans GnuCash, les données sont saisies sous forme de double écriture (voire multiple écriture). En pratique, une opération valable de GnuCash est toujours au moins en double écriture, et pour respecter les normes de comptabilité en partie double, ces deux (ou plus) écritures doivent être en équilibre parfait. &kappname; encourage cette approche mais n'y oblige pas. Cependant, toute opération non contre-balancée est inscrite dans le registre comme présentant un problème.

##### Bénéficiaires (tiers)

&kappname; préfère que toutes les opérations concernent un bénéficiaire (un terme générique qui recouvre tout aussi bien un payeur qu'un receveur) et contrairement à GnuCash, une liste de ces bénéficiaires est tenue à jour. Le nom des bénéficiaires est généré par la fonction d'importation à partir du champ Description de l'opération dans GnuCash.

##### Virements

&kappname; utilise le terme Virement pour décrire une opération ne mettant pas en jeu une catégorie, mais seulement un transfert d'argent entre comptes d'actif et / ou de passif.

##### Réconciliation

&kappname; possède une fonction de réconciliation similaire à celle de GnuCash et le drapeau correspondant des opérations est importé.

#### Matières premières

GnuCash utilise le terme Matières premières pour parler à la fois d'actif monétaires et d'actifs non-monétaires. Ceci est traité à part dans &kappname;.

##### Devises

&kappname; prend en charge toutes les devises étrangères. &kappname; exige également que l'utilisateur déclare une devise de base qui est prise comme devise par défaut quand un nouveau compte est créé. La fonction d'importation cherche à déterminer la devise la plus probable mais ce choix peut être rejeté pour un autre.

Remarque : &kappname; ne prend pas en compte des comptes associés à une devise « défunte » (sauf celles que l'euro a remplacées). Désormais, il est nécessaire de supprimer de tels comptes de GnuCash avant l'importation. Nous espérons améliorer cela dans les versions futures.

##### Titres et investissements

Les actifs non monétaires (généralement les actions et obligations) sont dénommés titres dans &kappname;et représentent la principale différence entre les deux applications dans le fait que &kappname; demande que tout compte assigné à un « titre » soit subordonné à un compte d'investissement. Ceci est décrit plus en détails sans le chapitre sur les Investissements. Bien que de nombreux utilisateurs aient appliqué une telle structure, GnuCash n'impose aucune structure définie sur ce point aussi la fonction d'importation est-elle incapable de le détecter et d'assurer une conversion automatique. En conséquence, trois options sont possibles :

- créer un compte d'investissement séparé pour chaque titre avec le même nom que le titre ;

- créer un unique compte d'investissement qui servira de parent à tous les comptes titres ;

- créer plusieurs comptes d'investissement, et leur affecter des titres comme l'utilisateur le demande.

C'est à l'utilisateur de décider quelle option est adaptée à telle ou telle situation, et dans certains cas, une restructuration manuelle des comptes est nécessaire après l'importation.

##### Cotations et cours des devises

La cotation des titres et le cours des devises tels qu'affichés dans GnuCash sont importés. De plus, des entrées de prix et de cours sont générées à partir des opérations mettant en jeu des titres et des devises multiples.

##### Cotations en ligne

Pour obtenir les cours et cotations en ligne, GnuCash utilise un paquetage appelé Finance::Quote. Les versions récentes de &kappname; prennent en charge ce paquetage pour obtenir les cotations des titres, et ceci est utilisé par défaut lors des importations. Vous pouvez néanmoins choisir la conversion à la méthode native de &kappname; qui est expliquée en détails à la section cotations en ligne

Si vous choisissez cette solution, la boîte de dialogue ci-dessous vous permet de sélectionner une source &kappname; « native » de cotation, ou une source définie par l'utilisateur, pour chacun des comptes qui requièrent des cotations en ligne. Néanmoins, le symbole du titre est importé sans changement. Comme ce symbole diffère probablement entre les deux applications, il faut l'éditer manuellement après l'importation. Les mises à jour ultérieures des cours ne font pas appel à Finance::Quote mais toujours à la méthode native.

#### Opérations récurrentes

&kappname; ne reprend pas la distinction faite dans GnuCash entre les modèles d'opérations et leur fréquence d'occurrence. Les données des opérations sont dupliquées si le même modèle est utilisé dans différentes opérations récurrentes mais ce n'est certainement pas d'une grande importance.

##### Types d'opérations récurrentes

&kappname; classe les opérations récurrentes selon trois types, Retraits, Dépôts et Virements. Comme GnuCash ne fait pas une telle distinction, la fonction d'importation essaye de déterminer le type à partir du compte et de la direction des mouvements d'argent. Il arrive que des suppositions erronées soient faites et requièrent une correction manuelle.

##### Opérations récurrentes douteuses

Quelques fonctionnalités de GnuCash sur les opérations récurrentes ne sont pas disponibles dans &kappname; aussi la fonction d'importation cherche-telle à trouver un compromis raisonnable en convertissant les données. Ces opérations sont marquées comme « douteuses » et l'utilisateur se voit offert la possibilité de les éditer directement pendant l'importation. Voici des exemples de situations qui peuvent conduire à cela :

- des périodes valables dans GnuCash ne le sont pas dans &kappname; ;

- &kappname; ne prend pas en compte les formules et les variables dans les champs de montant ;

- des cas de figure complexes qui n'ont pas encore été identifiés pour l'importation.

Malgré tous nos efforts, il est possible que, à cause des nombreuses options concernées, une opération récurrente puisse conduire à une erreur fatale dans &kappname;. Si ce type de problème vient à se produire, la fonction d'importation offre la possibilité d'écarter toute les opérations douteuses.

#### Rapports

&kappname; offre un choix exhaustif de rapports configurables et qui sont décrits de façon détaillée à la section Rapports.. Ces derniers ne correspondent cependant pas exactement aux rapports disponibles dans GnuCash.

### Choix des options d'importation

#### Prise en compte des investissements

Reportez-vous à « Titres et Investissements » plus haut.

#### Cotations en ligne

Désactivez ceci si vous voulez utiliser la méthode native pour les mises à jour en ligne des cours et cotations.

Reportez-vous à « Cotations en ligne » plus haut.

#### Opérations récurrentes

Reportez-vous à « Opérations récurrentes » plus haut.

#### Options de décodage

Si votre langue utilise des caractères différents de ceux utilisés dans les langues « latines » (&cad; généralement les langues d'Europe occidentale), ils sont représentés (encodés) d'une manière spéciale dans votre fichier GnuCash. Si ces caractères ne sont pas affichés correctement sur votre écran, ils doivent être décodés. Actuellement, il est souvent impossible de détecter avec certitude quelle forme de décodage utiliser, aussi vous pouvez avoir besoin de définir cette option à la main en sélectionnant une entrée dans la liste. D'une façon générale, le premier choix dans la liste devrait être le choix approprié à votre locale (&cad; le pays et la langue qui ont été choisis comme natifs lors de l'installation de votre système d'exploitation), et essayé en premier. Comme le processus d'importation n'écrit pas dans votre fichier GnuCash, vous pouvez essayer diverses options sans risque.

#### Option sur les notes d'opérations

Dans certains cas, des opérations GnuCash non contre-balancées peuvent contenir des notes informatives, souvent incorrectes, qui n'apparaissent normalement pas à l'utilisateur. Cependant, lors de leur importation dans &kappname; à cause de différences dans la manière d'afficher, ces données deviennent visibles. Souvent, ces opérations ont un champ « Notes » qui décrit l'objet exact de l'opération. Si cette option est choisie, ce champ « Notes » est utilisé pour écraser les notes informatives superflues.

#### Options de correction d'erreurs

Ceci ne doit être utilisé que dans le cas de problèmes d'importation. Si vous rencontrez de tels problèmes, vous devriez aussi en faire un rapport à la liste de diffusion des développeurs de &kappname; &devlist;. Notez que que les traces produites par ces options peuvent contenir des données de nature confidentielle, et l'option « Rendre anonyme » devrait être utilisée si ces traces devaient être rendues publiques.

### Rapport d'importation

En fin de processus d'importation, la fonction d'importation fournit un rapport sur le nombre des différentes entités importées et sur les erreurs et anomalies rencontrées. Ce rapport est affiché à l'écran et peut être enregistré dans un fichier pour examen ultérieur. Un rapport complet peut contenir les sections suivantes :

- Compteur d'enregistrements

- Incohérences entre types de comptes et mesures prises

- Détail des opérations récurrentes douteuses

&Thomas.Baumgart; &Thomas.Baumgart.mail;

## Fonction d'importation de fichiers QIF

### Le format QIF considéré comme dangereux

En général, le format QIF devrait être évité autant que faire se peut. C'est un mauvais choix pour le transport des données financières. Parmi d'autres, le format QIF souffre des problèmes suivants :

- Manque d'un format standard : différentes versions du même programme attachent des sens différents à un même élément.

- Manque d'un identifiant d'opération : parce qu'il n'y a pas de numéro d'identification associé à chacune des opérations, la détection de doublons dans les opérations reste aléatoire au mieux.

- Manque d'expressivité : la grammaire est vraiment simple et ne peut refléter la richesse de l'information financière rencontrée dans l'environnement financier d'aujourd'hui.

C'est la raison pour laquelle Intuit a arrêté d'assurer la compatibilité avec des données QIF dans Quicken 2005. Si vous avez la possibilité de récupérer des données d'une autre manière, comme OFX, faites toujours ce choix.

### Comment importer un fichier QIF ?

Pour importer un fichier au format QIF, assurez-vous d'abord que vous avez ouvert un fichier &kappname; valable. Puis sélectionnez Importer QIF depuis le menu Fichier.

La boîte de dialogue qui s'affiche vous demande alors de saisir le nom du fichier, tout en vous permettant d'en saisir l'emplacement en cliquant sur le bouton Parcourir.

De plus, &kappname; fait une différence entre l'importation d'un relevé bancaire et l'importation de données exportées depuis une autre application. Le comportement par défaut est l'importation d'un relevé bancaire. Dans le cas où vous importez des données issues d'une autre application, vous devez le dire explicitement en choisissant l'option appropriée dans la liste déroulante.

En général, le profil QIF par défaut devrait fonctionner correctement avec vos données QIF. Dans certains cas, il peut être nécessaire d'utiliser un profil QIF modifié. Reportez-vous à la section suivante pour plus de détails sur ce sujet.

Cliquez sur le bouton Importer pour importer le fichier QIF.

&kappname; commence par scruter le fichier pour prendre connaissance du format utilisé pour les dates et les nombres. En cas de difficulté à déterminer sans ambiguïté un format de date, &kappname; demande à l'utilisateur d'en choisir un dans une liste de formats possibles.

Ensuite, &kappname; importe les données et crée tous les objets nécessaires, tels que les bénéficiaires, les comptes et les catégories et les cotations de titres. À chaque fois que c'est possible, les opérations existantes seront mises en correspondance avec les informations importées. Une barre de progression indique l'avancement de l'importation.

Dans le cas où &kappname; ne sait pas reconnaître le nom du compte à importer, l'utilisateur doit choisir le compte dans lequel les données seront importées. Si le compte n'existe pas encore dans votre fichier, il peut être créé en cliquant sur le bouton Créer.

En fin d'importation, &kappname; affiche une fenêtre de statistiques des instructions d'importation.

Statistiques des instructions Statistiques des instructions

Après l'importation, toutes les opérations importées sont marquées d'un fond jaune dans le registre. Dans les cas où &kappname; est capable de faire correspondre une opération préexistante avec une opération, le fond est marqué de vert pâle.

L'étape suivante consiste à vérifier les données importées et à les accepter. C'est un processus général qui s'applique aussi aux importations à partir d'autres sources. Il est mis en exergue dans une section séparée de ce document.

Les couleurs utilisées pour marquer les opérations importées et les opérations correspondantes sont configurables et peuvent varier avec l'environnement.

### Définition d'un profil QIF

Parce qu'il n'y a pas de norme universelle pour le format d'un fichier QIF certains éditeurs ont pris des libertés avec le format, et introduit des nuances qui leurs sont propres. Le profil QIF renseigne &kappname; sur les spécificités de votre fichier. Pour éditer un profil QIF existant, ou pour en créer un nouveau, cliquez sur le bouton Nouveau de la boîte de dialogue d'importation, à coté du sélecteur de profil.

Éditeur de profil QIF

Les versions antérieures de &kappname; utilisaient un onglet pour la spécification des dates et des montants. &kappname; détermine maintenant ces options en scrutant le fichier. S'il ne parvient pas à déterminer toutes les options, il interroge l'utilisateur pendant l'importation.

### Correspondance d'opérations

Comme signalé précédemment, un des revers majeurs du forma QIF est l'absence d'identifiant unique pour chacune des opérations. En conséquence, si vous importez un fichier QIF et que certaines opérations sont déjà dans votre registre, vous pouvez vous retrouver avec des doublons. &kappname; essaye de surmonter cet écueil en recherchant les opérations similaires à celles qui sont déjà dans le registre. S'il trouve quelque chose qui ressemble à un doublon, il fait correspondre les opérations du doublon.

Ceci peut devenir un problème si des opérations se ressemblent mais sont néanmoins différentes. Dans ce cas, vous pouvez dédoubler les opérations correspondantes plus tard dans le registre.

### Écriture d'un filtre d'importation

Parfois vous pouvez avoir des données dans un format personnalisé, tel que valeurs séparées par une virgule (CSV), ou quelque chose de spécifique à votre situation. Depuis la version 4.6 de &kappname; un module d'extension permet d'importer des fichiers CSV, mais vous pouvez toujours importer ce fichier dans &kappname; en utilisant un filtre d'importation QIF. Un filtre est un programme personnalisé que vous écrivez et qui accepte votre fichier en entrée, et produit un fichier QIF en sortie. Ce peut être un script de shell, un script Perl ou un programme compilé écrit en C /C++, ou tout ce que vous pouvez imaginer pour autant que le système puisse l'exécuter.

Pour l'utiliser, éditez votre profil QIF favori, et choisissez l'onglet Filtre. saisissez l'emplacement de votre programme filtre là où il vous est demandé. À partir de là, chaque fois que ferez une importation QIF en utilisant ce profil, le fichier que vous importerez sera d'abord soumis au filtre avant importation.

Un problème courant est la conversion d'une liste de valeurs séparées par une virgule en fichier QIF. Ceci est un cas standard pour l'outil awk. Créez un script appelé csvqif.awk, avec le contenu suivant :

    BEGIN { FS=","; print "!Type:Bank" }

     { print "D"$1; print "T"$2; print "N" $3; print "P"$4; print "M"$5; print "^" }

Puis modifiez les clés QIF (D, T, N, P, M) pour qu'elles coïncident avec l'ordre de vos données CSV. Déclarez le filtre d'importation comme `awk -f csv2qif.awk`.

Un autre problème surgit parfois de l'encodage des fichiers QIF. &kappname; s'attend à trouver des fichiers encodés en UTF-8. Si votre fichier est encodé différemment, il peut être utile de le convertir en UTF-8 auparavant. Par exemple, pour le convertir de iso-8859-1 en UTF-8 vous devriez déclarer le filtre comme `recode iso-8859-1..utf-8`.

### Extensions QIF spéciales de &kappname;

Comme déjà signalé, l'un des revers majeurs du format QIF est l'absence d'un identifiant unique pour chacune des opérations. Si vous écrivez votre propre générateur de fichier QIF (ou filtre tel que décrit plus haut), vous pouvez surmonter ce problème. &kappname; accepte le champ « # ». La fonction d'importation l'interprétera alors comme identifiant unique d'opération et évitera l'enregistrement de l'opération si elle est déjà présente dans le système.

## Fonction d'exportation QIF

Pour exporter l'un de vos comptes vers un fichier QIF, choisissez Exporter QIF dans le menu Fichier.

Pour l'instant, la fonction d'exportation QIF ne sait pas exporter les investissements.

Exportation QIF

&Ace.Jones; &Ace.Jones.mail; &Thomas.Baumgart; &Thomas.Baumgart.mail;

## Module externe d'importation OFX

### Obtention du module externe

&kappname; importe les fichiers OFX sans difficulté. Cependant cette fonctionnalité ne fait pas partie du programme de base. Vous devez vous procurer le module externe d'importation OFX. Une fois installé, la commande d'importation apparaît automatiquement dans le menu Fichier Importer.

Notez que beaucoup de versions pré empaquetées de &kappname; sont construites avec la fonction d'importation OFX déjà incluse ou disponible dans un paquetage séparé. Si la fonction d'importation semble ne pas être incluse dans votre version, le premier emplacement pour la chercher est l'emplacement où vous avez trouvé votre paquetage &kappname;.

Si vous avez installé à partir de paquetages RPM, la fonction d'importation OFX est incluse dans le paquetage RPM kmymoney-ofx. Il devrait être disponible depuis toute source auprès de laquelle vous avez obtenu votre paquetage RPM de &kappname;. Si vous avez construit à partir des sources, tout ce que vous devez faire de préférence, c'est installer d'abord les fichiers en-têtes et les librairies libOFX 0.9. Le processus de construction de &kappname; détecte alors ces librairies et ces en-têtes et compile le module externe. Au moment de la parution de la version 4.6 de &kappname;, la dernière version de libofx est la version 0.9.4, qui se trouve être la version minimum requise.

Si vous avez de difficultés en essayant de compiler &kappname; et que vous êtes certain d'avoir la version correcte de libOFX installée, veuillez contacter l'équipe de développement sur sa liste de diffusion &devlist; pour assistance. Transmettez une copie de votre fichier config.log compressé via gzip.

### Importation d'un fichier OFX

La manière la plus simple d'importer un fichier OFX est de choisir la fonction d'importation depuis la barre de menu. Choisissez Importer, puis OFX dans le menu Fichier. Si OFX n'apparaît pas sous « Importer », c'est que vous n'avez pas installé le module externe d'importation OFX correctement. Reportez-vous, s'il vous plaît, à la section précédente.

La première chose que vous demande la fonction d'importation c'est dans quel compte vous souhaitez importer les opérations. S'il y a des opérations de comptes multiples dans votre fichier, cette question sera répétée autant de fois que nécessaire.

Après l'importation, quelques unes de vos opérations porteront une marque en forme de point d'exclamation sur un triangle jaune. Ceci signifie que l'opération n'est rattachée à aucune catégorie car la fonction d'importation n'a pu la déterminer. Vous pouvez éditer ces opérations pour leur affecter une catégorie et le signal disparaîtra.

Veuillez noter que cette section décrit la fonction d'importation OFX native. Les fichiers OFX peuvent aussi être importés en utilisant le module externe d'importation AqBanking si vous l'avez installé. Notez que les deux importateurs se comportent d'une façon légèrement différente et qu'ils sont écrits et pris en charge par des développeurs différents.

### Importation d'investissements

Veuillez noter que si vous importez un fichier avec des opérations d'investissements, les titres doivent préalablement exister dans votre fichier &kappname;. Le code de bourse (symbole) est utilisé pour rechercher les correspondances, aussi assurez-vous que les codes que vous utilisez dans &kappname; et ceux du fichier importé sont cohérents.

### Connexion Internet

La manière la plus facile d'importer un fichier OFX est de paramétrer votre connexion Internet. Rendez-vous sur le site Web de votre banque, cliquez sur un lien pour télécharger un fichier OFX. Votre navigateur vous demande quelle application vous voulez utiliser pour ouvrir le programme. Indiquez à votre navigateur qu'il s'agit de &kappname;. Il importera alors le fichier OFX dans le fichier &kappname; que vous avez ouvert récemment. Vous pouvez aussi changer l'association application /extension de fichiers de votre environnement de bureau et faire en sorte que &kappname; ouvre le fichier OFX automatiquement.

Si vous avez besoin d'importer le fichier OFX dans un autre fichier &kappname; chargez d'abord ce fichier dans &kappname;, et seulement après, visitez le site de votre banque.

### Connexion directe

La connexion directe OFX est désormais prise en charge par &kappname;. Ceci vous permet de contacter votre banque directement pour télécharger des relevés. Dans le futur, une aide supplémentaire sera rédigée et placée dans une section spécifique.

Pour activer cette fonctionnalité, vous devez compiler &kappname; avec l'option --enable-ofxbanking (actuellement par défaut).

Soyez averti : beaucoup de banques requièrent une identification séparée, vous donnent un mot de passe et un identifiant personnel (PIN) et peuvent même vous facturer ce service. Aucune banque ne reconnaît &kappname; et vous devrez leur demander d'autoriser une connexion depuis MS Money ou Quicken.

La première étape est de configurer chaque compte pour lequel vous souhaitez télécharger des relevés. Rendez-vous dans la vue Comptes, cliquez du bouton de droite sur le compte que vous voulez configurer, et choisissez Associer à un compte en ligne... Dans le cas où plus d'un module externe de banque en ligne serait installé sur votre système, on vous demanderait d'en choisir un. Pour la méthode interne OFX, choisissez KMyMoney OFX. Une liste de banques est téléchargée depuis Internet et un assistant vous guide pour le choix d'une banque, la saisie de votre mot de passe et de votre nom d'utilisateur et le choix d'un compte. Si votre banque n'est pas dans la liste, vous pouvez la déclarer à la main. Votre banque doit vous fournir les paramètres requis, ou vous devrez faire une recherche pour les trouver.

Une fois que vous avez un compte paramétré avec la fonction banque en ligne, rendez-vous dans le registre de ce compte. Ensuite, depuis le menu Compte, choisissez Mettre à jour le compte.... Ceci vous mettra en connexion avec la banque et le relevé des 60 derniers jours sera téléchargé.

Dans les versions de &kappname; antérieures à 4.6, le nom du bénéficiaire était toujours issu du champ PAYEEID. Depuis la version 4.6, le nom du bénéficiaire peut être issu au choix d'un des champs PAYEEID, NAME, or MEMO dans l'opération OFX. Vous pouvez configurer cette option ainsi que quelques paramètres de connexion en sélectionnant l'onglet approprié dans le dialogue Éditer un compte. dialog.

### Exportation d'un fichier OFX

Il n'est pas possible d'exporter vos données au format OFX actuellement. Si vous êtes intéressé pour apporter votre contribution dans ce domaine, contactez l'équipe de développement libofx pour information.

&Allan.Anderson; &Allan.Anderson.mail;

## Module externe d'importation CSV

### Raisons justifiant l'importation de fichiers CSV.

D'une manière générale, il est préférable d'importer des fichiers OFX. Cependant, tous les établissements ne fournissent pas des fichiers au format OFX. Ils fournissent presque toujours des fichiers au format CSV (valeurs séparées par des virgules) qui sont aussi appelés fichiers Excel. Par ailleurs, ce type de fichier peut être facilement généré à partir de données récupérées sous forme de fichiers texte.

Le premier objectif du module externe est l'importation de données depuis des relevés de banque, mais il est aussi possible d'importer depuis des relevés de compte titres. De plus, la possibilité de générer des fichiers QIF à partir de fichiers CSV est maintenue.

### Obtention du module externe

&kappname; importe les fichiers CSV sans difficulté. Cependant cette fonctionnalité ne fait pas partie du programme de base, et même si les sources sont désormais incluses dans l'archive &kappname; , vous devez l'installer. Une fois installé, la commande d'importation apparaît automatiquement dans le menu Fichier Importer.

La fonction d'importation CSV est plus récente que celle de OFX, aussi faudra-t-il un peu de temps avant que les versions pré empaquetées de &kappname; soient construites avec la fonction d'importation CSV déjà incluse ou disponible dans un paquetage séparé. Assurez vous que ce module est activé dans &kappname;. Vérifiez le menu Configuration Configuration de KMyMoney Modules externes. Si la fonction d'importation semble ne pas être incluse dans votre version, le premier emplacement pour la chercher est l'emplacement où vous avez trouvé votre paquetage &kappname;.

Si vous avez installé à partir de paquetages RPM, la fonction d'importation CSV peut être incluse dans le paquetage RPM kmymoney-csv. Elle devrait être disponible depuis toute source auprès de laquelle vous avez obtenu votre paquetage RPM de &kappname;. Si vous avez construit à partir des sources, il ne devrait pas y avoir d'autres dépendances à satisfaire. Le processus de construction de &kappname; détecte alors ces librairies et ces en-têtes et compile le module externe.

Si vous avez de difficultés en essayant de compiler &kappname; et que vous êtes certain d'avoir le module externe disponible, veuillez contacter l'équipe de développement sur sa liste de diffusion &devlist; pour assistance. Transmettez une copie de votre fichier config.log compressé via gzip.

### Importation d'un fichier CSV

La manière la plus simple d'importer un fichier CSV est de choisir la fonction d'importation depuis la barre de menu. Choisissez Importer, puis CSV dans le menu Fichier. Si CSV n'apparaît pas sous « Importer »,c'est que vous n'avez pas installé le module externe d'importation CSV correctement. Reportez-vous, s'il vous plaît, à la section précédente.

La fenêtre de la fonction d'importation CSV comprend trois parties.

- La partie en haut à gauche possède trois onglets. Banque, Investissement et Configuration. À cause de différences dans la manière de traiter les données banque et investissement, vous devez préciser quel type de données vous voulez importer avant de sélectionner le fichier. Pour ce faire, il vous faut cliquer sur l'un des onglets Banque ou Investissement. Le nom de l'onglet sélectionné est suivi d'un "*" comme rappel au cas où vous cliqueriez accidentellement sur un mauvais onglet. Si vous sélectionnez un autre onglet, le module vous prévient du risque de perte de vos réglages courants, et vous permet d'annuler le changement d'onglet. Les trois onglets sont présentés en détails plus bas.

- La partie en bas affiche le contenu du fichier CSV en cours d'importation.

- La partie en haut contient les boutons pour contrôler le processus d'importation.

  ### Ouvrir un fichier

  Ceci est utilisé pour choisir le fichier à importer. Comme signalé plus haut, le fichier importé sera considéré comme des données de banque ou d'investissement, selon l'onglet marqué d'un astérisque ("*").

  ### Importer

  Ceci demande au module externe d'importer les données du fichier en se basant sur les choix que vous avez faits dans les onglets Banque ou Investissement de l'onglet Configuration conformément à ce qui est expliqué ci-dessous. Un message de &kappname; vous sollicitera pour le choix ou la confirmation du compte dans lequel l'importation devra avoir lieu.

  ### Sauvegarder en tant que QIF

  Ce bouton vous permet, après l'importation, de sauvegarder les données du fichier CSV en tant que fichier QIF au cas où, pour une raison quelconque, vous en auriez besoin.

  ### Quitter

  Ferme le module externe après avoir sauvegardé votre configuration.

  ### Effacer les sélections

  Efface tous les paramètres et colonnes que vous avez choisis ou ajustés.

L'importation d'un fichier est une opération à plusieurs étapes. Toutes les étapes ne sont pas toujours nécessaires et l'ordre exact de ces étapes dépend du type de données importées.

1. Choisissez si vous importez des données de banque ou d'investissement.

2. Ouvrez le fichier contenant les données.

3. Validez le choix du délimiteur de champs et peut-être celui du délimiteur de texte et fixez les première et dernière lignes à importer.

4. Décidez quels champs et colonnes contiennent des données en rapport avec le type de données à importer.

5. Confirmez ou ajustez les paramètres tels que le format de date et de nombre.

6. Confirmez l'importation.

Une fois que vous avez sélectionné l'onglet Banque or Investissement cliquez sur le bouton Ouvrir un fichier et sélectionnez le fichier à importer. Avant de réaliser l'importation proprement dite, vous devez donner à &kappname; quelques informations sur la structure du fichier, qui varie selon qu'il s'agit de données de banque ou d'investissement. Néanmoins, vous devez d'abord fixer quelques paramètres communs aux deux types de fichier.

#### Configuration du module externe d'importation CSV

Choisissez l'onglet Configuration dans la vue du module. C'est ici que vous configurez un certain nombre de champs qui permettent à ce module d'interpréter correctement votre fichier d'entrée. En général, ceci se passe avant que vous n'ayez déterminé s'il s'agit de données de banque ou d'investissement et que vous ayez ouvert le fichier, mais, vous pouvez avoir à corriger le délimiteur de champs avant, si l'affichage est, de manière évidente, incorrect. Ensuite, assignez des champs spécifiques à des colonnes. Remarquez que cette information est sauvegardée, ainsi vous ne devrez la définir ou la confirmer qu'une seule fois, sauf si vous importez un fichier CSV créé avec des paramètres différents. De plus, certains des paramètres peuvent être déjà corrects en fonction de votre locale.

#### Délimiteur de champs

Même si le fichier est toujours appelé « délimité par des virgules » , le caractère utilisé pour séparer les valeurs dans le fichier peuvent être soit une virgule, soit un point-virgule, soit une tabulation. Une fois ce choix fait correctement, vos données devraient apparaître séparées correctement dans les champs.

#### Délimiteur de texte

Il s'agit habituellement de « single quote » (apostrophe) ou « double quote » (guillemet anglais). Ceci est important au cas où ce caractère apparaîtrait dans une colonne comme celle du mémo par exemple.

Dès lors que les champs sont correctement affichés, vous devez renseigner le module sur l'organisation des colonnes dans le fichier ; ce que vous pouvez faire dans l'onglet adéquat (Banque ou Investissement). Notez que vous pouvez passer de l'onglet type de données à celui de configuration, et inversement, sans perdre aucune de vos données. Dans les onglets Banque ou Investissement, si vous faite une erreur en saisissant des numéros de colonne, re-saisissez les tout simplement. En alternative, cliquez sur le bouton Effacer les selections et recommencez.

#### Séparateur des décimales

Pour chacune des importations, après la sélection des champs, il faut choisir le séparateur des décimales, car ce dernier déclenche le processus de validation sur les colonnes monétaires choisies dans les onglets Banque ou Investissement. Choisissez le séparateur décimal pour qu'il corresponde à celui de votre fichier et pas à celui de votre locale. Si le séparateur de votre locale est différent, une conversion aura lieu. Dans l'affichage du fichier à l'écran, les champs numériques sont surlignés en vert si les résultats sont valides, ou en rouge dans le cas inverse.

#### Séparateur des milliers

Ce séparateur n'a pas besoin d'être choisi car il est choisi automatiquement en fonction du séparateur des décimales.

#### Format de date

Ce format doit être choisi en accord avec le format des dates présentes dans votre fichier. Si le module détecte des dates non compatible avec ce choix, il refusera l'importation et le fera savoir. Cependant, si les dates non conformes possèdent des valeurs de jour, mois et année compatibles avec le format choisi (inférieure à 12 pour le mois par exemple), vous obtiendrez des valeurs erronées tout simplement, car le module n'a alors aucun moyen de savoir si la date est valide ou pas. L'erreur sera alors visible de manière évidente dans le registre.

#### Ligne de départ

Déterminez cette ligne de manière à omettre les lignes d'en-tête.

#### Ligne de fin

Le module fixe automatiquement cette ligne comme étant la dernière ligne du fichier. Vous devez fixer cette ligne de manière à omettre les lignes de bas de page qui ne représentent pas des données, sinon vous obtiendrait des messages d'alerte.

#### Importation de données de banque

L'importation de données de banque est sans difficulté. Il vous suffit de choisir les numéros de colonne appropriés dans l'onglet Banque

- Si votre fichier possède seulement une colonne pour le montant, cliquez sur le bouton radio Colonne montant et saisissez le numéro de colonne dans la liste déroulante Montant.

- S'il y a deux colonnes - débit et crédit - cliquez bouton radio Colonne Débit / crédit et saisissez le numéro de colonne approprié dans les listes déroulantes Débits et Crédits.

- Si vous souhaitez sauvegarder les valeurs de plus de deux colonnes dans le champ mémo, sélectionnez simplement ces colonnes successivement. Un astérisque apparaît à coté des choix en tant que rappel.

- Le module externe détecte les tentatives de choisir la même colonne pour deux champs différents. Comme il ne peut savoir lequel est correct. il émet un message d'erreur et efface les deux choix.

Dès lors que vous êtes satisfait du choix des colonnes et des paramètres, vous pouvez importer le fichier, comme précisé ci-après.

#### Importation d'investissements

Pour importer des investissements, cliquez sur l'onglet Investissements.La procédure est similaire à celle ci-dessus.

- Sélectionnez la colonne qui contient la Date de l'opération.

- Sélectionnez la colonne qui contient le Prix. Le paramètre Fraction d'espèce sert à la correspondance entre les unités de cotation importées et les cours existants, quand par exemple l'une est en $ US et l'autre en cents ou en £ et en pence. Pour prendre un exemple, si votre fichier &kappname; est en $ ainsi que fichier CSV, alors choisissez une fraction de 1.0. Si, au contraire votre fichier CSV est en cents, choisissez 0.01.

- La colonne Type/Titre est l'endroit où l'activité est décrite : achat, vente, réinvestissement, …

- Sélectionnez la colonne qui contient la quantité ou le nombre de titres de l'opération.

- Affectez une colonne frais là où des frais sont prévus et cochez Les frais sont en pourcentage si les frais importer sont exprimés en pourcentage plutôt qu'en valeur.(Un petit avertissement ici : il est possible que les frais aient été pris en compte dans le prix unitaire. Dans ce cas, ne sélectionnez pas de colonne frais, mais tout frais affiché peut être conservé en choisissant la colonne frais comme une autre colonne mémo.)

- Comme pour les données de banque, le champ mémo peut être utilisé pour sélectionner plus d'une colonne (successivement) pour inclure des valeurs multiples dans le champ mémo de l'opération importée.

- Sélectionnez la colonne qui contient le montant.

- Saisissez le nom du titre dans le champ Nom du titre, en vous assurant qu'il correspond exactement au titre existant dans &kappname; Si le nom du titre apparaît dans le fichier, double-cliquez dessus pour le sélectionner, puis faite un copier-coller et éditez le pour le faire correspondre, en étant vigilant si vous avez utilisé une abréviation ou une variation dans &kappname;. Tandis que vous entrez des noms du titre dans ce champ, ils sont conservés dans le fichier ressources (voir plus bas, pour plus de d'informations sur ce fichier.) Ceci signifie qu'ils seront disponibles dans cette liste déroulante lorsque vous utiliserez le module la prochaine fois. Si vous le souhaitez, vous pouvez aussi éditer le fichier ressources pour ajouter une liste complète des titres que vous vous attendez à rencontrer dans le fichier importé. Si vous avez mal saisi un nom, cliquez sur bouton Masquer le titre. Ceci ne fait que retirer le nom de la liste du module mais reste sans effet sur vos données dans &kappname;.

  À cause d'un manque de standardisation des formats, la version courante du module ne peut importer les données que pour un seul titre dans un seul compte à la fois. Si votre fichier contient des données pour plus d'un titre, vous pouvez l'importer par étapes, en utilisant les lignes de début et de fin pour n'en retenir qu'un seul à la fois.

#### Achèvement de l'importation

Que ce soit pour des données de banque ou d'investissement, une fois que vous avez sélectionné toutes les colonnes appropriées, cliquez sur le bouton Importer. &kappname; affiche alors une boite de sélection du compte dans lequel importer les données. À ce moment, il est possible de faire une sauvegarde en fichier QIF, si vous en avez besoin, en cliquant sur le bouton Sauvegarder en tant que fichier QIF.

Pour les données d'investissement, si une opération implique un autre compte, &pex; un compte chèques ou un compte de courtage, pour la réception d'un dividende ou pour un paiement, une boite de saisie du nom de ce compte apparaîtra, Si le compte d'investissement permet par exemple, l'écriture de chèques, vous pouvez saisir le nom d'un compte chèques/courtage. De la même façon, saisissez le numéro de la colonne contenant le bénéficiaire, si demandé. Si vous avez fait une erreur en saisissant le nom du compte, l'importation continuera mais &kappname; ne la reconnaîtra pas, et marquera ces opérations comme n'étant pas affectées à une catégorie. Si le nom du compte est plutôt long, saisissez seulement quelques caractères. L'importation continuera mais les opérations seront marquées par &kappname; comme n'étant pas affectées à une catégorie, et le nom correct du compte devra être sélectionné.

Si pendant l'importation d'une opération, le module rencontre un type d'opération non valable, il affiche l'opération en question et l'utilisateur peut sélectionner un type valable en remplacement, en fonction de la combinaison quantité, cours et montant. Pour chacune des opérations, le module valide le contenu des colonnes pour s'assurer qu'elles correspondent au type de titre. Par exemple, si une quantité est présente mais sans prix, il présume que l'opération ne peut être qu'un retrait ou un ajout de titre. Ou, s'il s'agit d'un montant sans le nombre ou sans le cours, il présume que c'est un versement de dividende.

Si vous vous apercevez que votre relevé de compte titres continue d'inclure des types d'opération qui ne sont pas reconnues, ajoutez les simplement au fichier ressources, (Vois plus bas plus bas pour plus d'informations sur ce fichier.) Par exemple, dans la section [Configuration investissements] de ce fichier, le champ "BuyParam" prévoie les cas Acquisition, Achat, Nouvel investissement et Remplacer. Si vous en trouver d'autres, ajoutez les à la liste concernée et redémarrez le module. Vous pouvez vous apercevoir qu'il y a des similarités dans les entrées des différents champs, et vous pouvez vous apercevoir qu'un type d'activité erroné est sélectionné. Le module vérifie la liste dans l'ordre suivant : entrée de titre, division, ré-investissement de dividende, frais de courtage, achat, vente, sortie de titre. Le fait de re-ordonner les listes pour satisfaire à ceci ne donne pas les résultats escomptés car les entrées dans le fichier ressources sont classées par ordre alphabétique. Si vous n'avez pas besoin du paramètre qui pose problème, supprimez le simplement du fichier. Si vous n'y parvenez pas, il vous faut éditer votre fichier avant l'importation.

Notez qu'il peut arriver que les entrées affichées dans la partie inférieure de la fenêtre du module puissent être éditées, et en fait elles le sont mais les changements ne sont pas sauvegardés.

#### Configuration du module externe d'importation CSV

Un inconvénient bien connu du format QIF est qu'il est un format assez tolérant. Avec le format CSV, le problème est le même, et pire encore, en ce sens qu'il n'y aucune norme du tout. Avec les fichiers d'investissement, en particulier, il y a encore plus de latitude pour la spécification des différents types d'activité représentés dans les données. Le module prend cela en charge en gérant une liste de ces activités dans un fichier « ressources », appelé « csvimporterrc ». L'emplacement de ce fichier varie avec la distribution. D'ordinaire, il est situé dans ~/.kde4/share/config/, mais peut tout aussi bien se situer dans ~/.kde/…. L'utilisation de ce fichier permet à l'utilisateur d'ajouter un type d'activité que le développeur n'a pas rencontré.Si ce fichier n'existe pas au premier démarrage du module d'importation, ce dernier crée une version par défaut de ce fichier, contenant quelques unes des descriptions les plus évidentes.

Un certain nombre de fichier CSV exemple sont fournis (dans le dossier kmymoney/contrib/csvimporter/ de l'archive des sources) à titre d'aide. Par exemple, dans le fichier exemple d'investissement, un type d'activité est « ReInvestorContract Buy : ReInvested Units » (Contrat de réinvestissement Achat : Unités réinvesties). Dans le processus de validation, la première correspondance détectée est sur le terme « ReInv » (Réinvestissement) dans « ReInvestorContract Buy », ce qui fait que l'opération se retrouve classée comme « Reinvdiv » (dividende réinvesti) même si « Buy » (Achat) et aussi mentionné . Un autre exemple qui a été observé est un type d'activité « Reinvest » (Réinvestissement) alors même que l'opération ne comprenait ni prix ni montant,mais seulement une quantité, et que cela aurait du être traité comme « Add Shares » (ajouter des actions), ou « Shrsin» (entrer des actions).

Quand ce module a été créé, seulement un petit nombre de formats d'investissements avait été vus comme exemples, et il pouvait advenir que vous en rencontriez un qui ne pouvait être pris en charge correctement. Si vous rencontrez un cas de ce genre, envoyez nous un exemple représentatif (que vous aurez édité pour en supprimer toute information personnelle) sur la liste &kappname; user list &userlist; ou sur liste des développeurs &devlist;. Les développeurs feront de leur mieux pour que le module puisse prendre ce cas en charge.

## Écriture de modules externes d'importation

&kappname; comprend une prise en charge explicite pour les module externes d'importation. Si vous avez un format personnalisé, et que vous voulez écrire un module externe d'importation, votre contribution sera appréciée. Pour ce faire, vous devez compiler le programme à partir des sources. Utilisez ensuite le module externe OFX comme un exemple.