Cet outil vous permet de convertir un export de transactions multiples (CSV) en un fichier d'importation lisible par Ghostfolio. Actuellement, il existe un support pour :
Bitvavo
BUX
DÉGIRO
eToro
Finpension
Libre-échange
Courtiers interactifs (IBKR)
Investimental
Parquet
Rabobank
Révolution
Schwab
Cotation Suisse
Négoce 212
XTB
Votre courtier n'est pas dans la liste ? N'hésitez pas à créer un ticket ou, mieux encore, à le créer vous-même et à créer une pull request ! Pour plus d'informations, voir contribuer.
Consultez les instructions d’exportation de transactions pour chacun des courtiers pris en charge ci-dessous.
Connectez-vous à votre compte Bitvavo et cliquez sur votre nom en haut à droite. Ensuite, cliquez sur « Historique des transactions ». Cliquez sur le bouton bleu "Exporter" en haut pour créer une exportation. Sélectionnez l'une des options CSv et cliquez à nouveau sur "Exporter".
Ouvrez l'application et accédez à « Valeur du compte », puis « Afficher l'historique ». Cliquez sur l'icône de téléchargement dans le coin supérieur droit pour télécharger l'historique de vos transactions. L'exportation sera envoyée à votre adresse e-mail.
En raison des limitations de BUX, vous pouvez demander jusqu'à 3 exportations CSV par jour ! .
Connectez-vous à votre compte DEGIRO et créez un fichier d'exportation (via Boîte de réception > Aperçu du compte, voir image ci-dessous). Choisissez la période à partir de laquelle vous souhaitez exporter votre historique et cliquez sur télécharger.
Connectez-vous à votre compte eToro et accédez à « Portfolio ». Sélectionnez ensuite « Historique » dans le menu supérieur. Cliquez ensuite sur l'icône à l'extrême droite et sélectionnez « Relevé de compte ». Choisissez les dates qui vous intéressent et cliquez sur "Créer". Sur la page suivante, cliquez sur l'icône Excel en haut à droite pour télécharger le fichier. Après le téléchargement, ouvrez le fichier dans Excel et supprimez tous les onglets sauf l'onglet « Activité du compte ». Utilisez ensuite Excel pour convertir le fichier en CSV.
Connectez-vous à votre compte Finpension. Sélectionnez votre portefeuille sur la page de destination. Ensuite, à droite de l'écran, sélectionnez « Transactions », sur la page suivante, à droite, notez « rapport de transaction (fichier CSV) » et cliquez pour envoyer un e-mail ou cliquez pour télécharger localement.
Ouvrez l'application Freetrade. Sélectionnez votre portefeuille dans l'option en haut à gauche sous la rubrique « Portefeuille ». Sélectionnez « Activité » dans la liste des icônes en bas de l'écran. Sélectionnez l'icône de partage dans le coin supérieur droit, puis suivez les instructions à l'écran.
Connectez-vous à votre compte Interactive Brokers. Accédez à Gestion des comptes et cliquez sur « Rapports » dans la barre latérale. Ensuite, cliquez sur l'onglet "Flex Queries" dans la section "Reporting". Dans la « section Requêtes Flex » de Flex, cliquez sur l’icône plus (+) sur le côté droit pour créer une nouvelle requête Flex. Créez une nouvelle requête Flex pour les transactions et une autre pour les dividendes. Définissez le format d'exportation sur "CSV". Voir les colonnes requises sous l'image.
Pour les échanges, sélectionnez « Trades ». Sélectionnez ensuite les propriétés suivantes : Buy/Sell, TradeDate, ISIN, Quantity, TradePrice, TradeMoney, CurrencyPrimary, IBCommission, IBCommissionCurrency
.
Pour les dividendes, sélectionnez « Transactions en espèces ». Sélectionnez ensuite les propriétés suivantes : Type, SettleDate, ISIN, Description, Amount, CurrencyPrimary
.
Connectez-vous à votre compte Investimental et cliquez sur le « Journal quotidien des commandes ». Sélectionnez le compte et la période souhaitée, puis cliquez sur le bouton Actualiser. Les transactions devraient apparaître, puis cliquez sur le bouton de téléchargement.
Connectez-vous à Parquet et accédez à la section « Activités » (en allemand, « Aktivitäten »). Dans le coin supérieur droit, à côté du bouton vert « Neue Aktivität », vous verrez une option « Télécharger au format CSV » (en allemand, « Exporter en CSV »). Cliquez sur ce bouton pour télécharger un fichier CSV contenant toutes vos activités.
Connectez-vous à Rabobank et accédez à vos investissements. Accédez à « Transactions et notes de contrat » (Mutaties et Nota). Sélectionnez la plage que vous souhaitez exporter en haut. Faites ensuite défiler vers le bas de la page et cliquez sur "Exporter au format .csv".
Ouvrez l'application Revolut et ouvrez l'onglet « Investir ». Appuyez sur le bouton « Plus », puis choisissez « Documents ». Sélectionnez votre compte de placement et sélectionnez la première option, « Relevé de compte ». Choisissez l'option "Excel" et sélectionnez la plage de dates. Téléchargez ensuite le fichier et enregistrez-le sur votre appareil. Convertissez le fichier de .xlsx
en .csv
. Définissez le caractère de séparation sur ,
(virgule) !
Connectez-vous à votre compte Schwab. Allez dans « Comptes » puis « Historique ». Sélectionnez le compte à partir duquel vous souhaitez télécharger les détails. Sélectionnez la « Plage de dates » et sélectionnez « Exporter » (csv). Enregistrez le fichier.
Connectez-vous à votre compte Swissquote. Dans le menu de la barre, cliquez sur « Transactions ». Sélectionnez la période souhaitée ainsi que les types, puis sélectionnez le bouton « exporter CSV » à droite.
Connectez-vous à votre compte Trading 212 et créez un fichier d'export (via l'icône Historique > Télécharger). Choisissez la période à partir de laquelle vous souhaitez exporter votre historique et cliquez sur télécharger.
Connectez-vous à votre compte XTB et depuis la barre supérieure cliquez sur « Historique du compte », puis « Opérations en espèces ». Cliquez sur le "bouton Exporter". Choisissez la période à partir de laquelle vous souhaitez exporter votre historique, sélectionnez le type de rapport « Opérations de trésorerie », choisissez le format de fichier « csv » puis cliquez sur le bouton « Exporter le rapport ».
Vous pouvez exécuter l'outil sur votre ordinateur local en clonant ce référentiel. Vous pouvez également exécuter l'outil dans un conteneur Docker. Consultez les instructions spécifiques à l’exécution ci-dessous.
Pour exécuter le conteneur Docker, vous devez avoir Docker installé sur votre ordinateur. L'image est publiée sur Docker Hub.
Contrairement à la version exécutée localement de l'outil, la version conteneurisée tente de déterminer le type de fichier à traiter en examinant la ligne d'en-tête à l'intérieur du fichier. Il n’est donc pas nécessaire de préciser quel convertisseur utiliser.
Vous pouvez ensuite exécuter l'image comme :
docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx dickwolff/export-to-ghostfolio
Les paramètres suivants peuvent être donnés à la commande d'exécution Docker.
Commande | Facultatif | Description |
---|---|---|
-v {local_in-folder}:/var/tmp/e2g-input | N | Le dossier d'entrée où vous placez les fichiers à traiter |
-v {local_out_folder}:/var/tmp/e2g-output | N | Le dossier de sortie dans lequel le JSON d’importation Ghostfolio sera placé. De plus, le fichier d'entrée sera déplacé ici lorsqu'une erreur surviendra lors du traitement du fichier. |
-v {local_cache_folder}:/var/tmp/e2g-cache | Oui | Le dossier dans lequel les symboles Yahoo Finance seront mis en cache |
--env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx | N | Votre identifiant de compte Ghostolio 1 |
--env USE_POLLING=true | Oui | Lorsqu'il est défini sur true, le conteneur recherchera en permanence de nouveaux fichiers à traiter et le conteneur ne s'arrêtera pas. |
--env DEBUG_LOGGING=true | Oui | Lorsqu'il est défini sur true, le conteneur affichera les journaux plus en détail, ce qui est utile pour le suivi des erreurs. |
--env PURGE_CACHE=true | Oui | Lorsqu'il est défini sur true, le cache de fichiers sera purgé au démarrage. |
--env GHOSTFOLIO_VALIDATE=true | Oui | Lorsqu'il est défini sur true, l'outil valide automatiquement le fichier généré par rapport à Ghostfolio. |
--env GHOSTFOLIO_IMPORT=true | Oui | Lorsqu'il est défini sur true, l'outil tentera d'importer automatiquement le fichier généré dans Ghostfolio. |
--env GHOSTFOLIO_URL=http://xxxxxxx | Oui | Le point de terminaison de votre instance Ghostfolio locale . Par exemple http://192.168.1.15:3333 . Utilisez UNIQUEMENT avec une instance Ghostfolio locale ! |
--env GHOSTFOLIO_SECRET=xxxxxxx | Oui | Les informations d'identification de votre utilisateur Ghostfolio. Utilisé pour s'authentifier auprès du point de terminaison de l'API import . Utilisez UNIQUEMENT avec une instance Ghostfolio locale ! |
Utilisez cette option si vous souhaitez exécuter en utilisant un environnement Docker isolé dans lequel vous avez un contrôle total sur l'image et pouvez donc être sûr qu'elle ne contient que ce qui est attendu.
Clonez ce référentiel sur votre système, puis exécutez :
docker build -t export-to-ghostfolio .docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID= xxxxxxx -t export-vers-ghostfolio
Vous pouvez utiliser les mêmes options que ci-dessus pour utiliser l'image sur Dockerhub
L'outil utilise cacache
pour stocker les données récupérées de Yahoo Finance dans le conteneur. De cette façon, la charge sur Yahoo Finance est réduite et l'outil devrait fonctionner plus rapidement. Les données mises en cache sont stockées dans le conteneur dans /var/tmp/e2g-cache
. Si vous estimez devoir invalider votre cache, vous pouvez le faire en ajoutant --env PURGE_CACHE=true
à votre commande d'exécution. Cela effacera le cache au démarrage du conteneur et l'outil recréera le cache la prochaine fois qu'il devra récupérer des données de Yahoo Finance.
L'outil vous nécessite d'installer la dernière version LTS de Node, que vous pouvez télécharger ici. L'outil peut fonctionner sur n'importe quel système d'exploitation sur lequel vous pouvez installer Node.
Ensuite, clonez le dépôt sur votre ordinateur local et ouvrez-le avec l'éditeur de votre choix (par exemple Visual Studio Code).
Exécutez npm install
pour installer tous les packages requis.
Le référentiel contient un exemple de fichier .env
. Renommez-le de .env.sample
.
Mettez le chemin de votre fichier d'exportation dans la variable INPUT_FILE
. Cela doit être relatif à la racine du projet.
Mettez le nom du compte Ghostfolio à l'endroit où vous souhaitez que vos transactions aboutissent dans GHOSTFOLIO_ACCOUNT_ID
Celui-ci peut être récupéré en allant dans Comptes > sélectionnez votre compte et en copiant l'ID à partir de l'URL.
Vous pouvez éventuellement définir la variable GHOSTFOLIO_UPDATE_CASH
sur TRUE
pour mettre automatiquement à jour le solde de trésorerie de votre compte Ghostfolio après le traitement des activités.
Vous pouvez éventuellement activer la journalisation du débogage en définissant la variable DEBUG_LOGGING
sur TRUE
.
Vous pouvez maintenant exécuter npm run start [exporttype]
. Consultez le tableau avec les commandes d'exécution ci-dessous. L'outil ouvrira votre exportation et la convertira. Il récupère les symboles supportés par YAHOO Finance (par exemple pour les actions européennes comme ASML
, il récupérera ASML.AS
par l'ISIN correspondant).
Exportateur | Exécuter la commande |
---|---|
Bitvavo | run start bitvavo (ou bv ) |
BUX | run start bux |
DÉGIRO | run start degiro |
eToro | run start etoro |
Finpension | run start finpension (ou fp ) |
Libre-échange | run start freetrade (ou ft ) |
IBKR | run start ibkr |
Investissement | run start investimental |
Parquet | run start pareqt |
Rabobank | run start rabobank |
Révolution | run start revolut |
Schwab | run start schwab |
Cotation Suisse | run start swissquote (ou sq ) |
Négoce 212 | run start trading212 (ou t212 ) |
XTB | run start xtb |
L'outil utilise cacache
pour stocker les données récupérées de Yahoo Finance sur le disque. De cette façon, la charge sur Yahoo Finance est réduite et l'outil devrait fonctionner plus rapidement. Les données mises en cache sont stockées dans /var/tmp/e2g-cache
. Si vous estimez devoir invalider votre cache, vous pouvez le faire en supprimant le dossier et l'outil recréera le cache lors de votre prochaine exécution.
Le fichier d'export peut maintenant être importé dans Ghostfolio en allant dans Portfolio > Activités et en appuyant sur les 3 points en haut à droite du tableau. Depuis Ghostfolio 1.221.0, vous pouvez désormais prévisualiser l'importation et valider que les données ont été correctement converties. Lorsque vous êtes satisfait, appuyez sur importer pour ajouter les activités à votre portfolio.
Il existe une fonctionnalité expérimentale (depuis la 0.12.0) avec laquelle vous pouvez automatiquement valider et importer le fichier généré dans Ghostfolio ! Pour l'utiliser, définissez les variables d'environnement correspondantes :
Variable | Description |
---|---|
--env GHOSTFOLIO_VALIDATE=true | Lorsqu'il est défini sur true, l'outil valide automatiquement le fichier généré par rapport à Ghostfolio. |
--env GHOSTFOLIO_IMPORT=true | Lorsqu'il est défini sur true, l'outil tentera d'importer automatiquement le fichier généré dans Ghostfolio. |
--env GHOSTFOLIO_URL=http://xxxxxxx | Le point de terminaison de votre instance Ghostfolio locale . Par exemple http://192.168.1.15:3333 . Utilisez UNIQUEMENT avec une instance Ghostfolio locale ! |
--env GHOSTFOLIO_SECRET=xxxxxxx | Les informations d'identification de votre utilisateur Ghostfolio. Utilisé pour s'authentifier auprès du point de terminaison de l'API import . Utilisez UNIQUEMENT avec une instance Ghostfolio locale ! |
Nous acceptons toute contribution au référentiel. N'hésitez pas à créer un ticket ou, mieux encore, à le créer vous-même et à créer une pull request !
L'outil peut être exécuté de deux manières, manuellement et via Docker. Les deux points d'entrée de l'outil se trouvent dans le dossier 'src/'. L'outil utilise une simulation dans les tests, ce qui permet d'exécuter les tests de manière cohérente et reproductible. De cette façon, il n’est pas nécessaire d’avoir un service Yahoo Finance en direct. La simulation a été ajoutée en raison d'incohérences entre les exécutions de tests et de problèmes de limitation de débit avec Yahoo Finance (avec plusieurs exécutions consécutives, en particulier lors d'une exécution locale).
Chaque fois que vous ajoutez un nouveau convertisseur ou créez un correctif pour un convertisseur existant, veuillez vous référer au Wiki pour obtenir des instructions sur la façon d'étendre la simulation avec des données de test.
Vous pouvez récupérer votre identifiant de compte Ghostfolio en allant dans Comptes > Modifier pour votre compte et en copiant le champ ID de compte ↩