Module externe d'importation CSV

Allan Anderson

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

KMyMoney 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 KMyMoney , vous devez l'installer. Une fois installé, la commande d'importation apparaît automatiquement dans le menu FichierImporter.

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 KMyMoney 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 KMyMoney. Vérifiez le menu ConfigurationConfiguration de KMyMoneyModules 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 KMyMoney.

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 KMyMoney. Si vous avez construit à partir des sources, il ne devrait pas y avoir d'autres dépendances à satisfaire. Le processus de construction de KMyMoney 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 KMyMoney et que vous êtes certain d'avoir le module externe disponible, veuillez contacter l'équipe de développement sur sa liste de diffusion 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 KMyMoney 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 à KMyMoney 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.

Note

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 KMyMoney 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 KMyMoney 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 KMyMoney. 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 KMyMoney.

    À 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. KMyMoney 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, par exemple 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 KMyMoney 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 KMyMoney 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.

Attention

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 KMyMoney user list ou sur liste des développeurs . Les développeurs feront de leur mieux pour que le module puisse prendre ce cas en charge.