Giter Club home page Giter Club logo

Comments (31)

dickwolff avatar dickwolff commented on August 17, 2024 1

I could do a poc with a file watcher that maps to a local folder on your disk where you could put your export and then the tool would import it, process and then output somewhere.

I will try to put something together when I have some time and will tag you whenever so you can test it!

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024 1

You can try to add these as well. I am not sure whether I have any position with dividends actually..

12-01-2024,11:10,12-01-2024,,,Dépôt flatex,,EUR,20.00,EUR,74.21,
03-01-2024,14:26,03-01-2024,ISHARES MSCI WOR A,IE00B4L5Y983,Frais DEGIRO de courtage et/ou de parties tierces,,EUR,-1.00,EUR,6.51,1e2a-d-4-9d5b834

from export-to-ghostfolio.

rodriguestiago0 avatar rodriguestiago0 commented on August 17, 2024 1

Hey, I have the same issue as mention aboved.
Mine is portuguese.

Data,Hora,Data Valor,Produto,ISIN,Descrição,T.,Mudança,,Saldo,,ID da Ordem
05-02-2024,22:52,05-02-2024,,,"Levantamentos da sua Conta Caixa na flatexDEGIRO Bank AG: 2,5 EUR",,,,EUR,15.68,
05-02-2024,22:52,05-02-2024,FLATEX EURO BANKACCOUNT,NLFLATEXACNT,Degiro Cash Sweep Transfer,,EUR,2.50,EUR,18.18,
05-02-2024,07:17,31-01-2024,,,Custo de Conectividade DEGIRO 2024 (Euronext Amsterdam - EAM),,EUR,-2.50,EUR,15.68,

I cloned the repo and tried it locally after trying the docker version and both failed.

Also on docker version I can force to use degiro-v2.

Edit: With a small file version 1 works with docker.

This line is breaking the parser:

15-05-2019,09:05,15-05-2019,ISHARES MSCI WOR A,IE00B4L5Y983,"Compra 6 ISHARES MSCI WOR A@49,785 EUR (IE00B4L5Y983)",,EUR,-298.71,EUR,0.64,a47e2746-bfbd-4654-bd6c-5e58e470d32f

Degiro-v2 is throwing this error

Error: ENOENT: no such file or directory, open 'C:\Users\Rodrigues\Documents\Export-To-Ghostfolio\Data,Hora,Data Valor,Produto,ISIN,Descrição,T.,Mudança,,Saldo,,ID da Ordem
15-05-2019,09:05,15-05-2019,ISHARES MSCI WOR A,IE00B4L5Y983,"Compra 6 ISHARES MSCI WOR A@49,785 EUR (IE00B4L5Y983)",,EUR,-298.71,EUR,0.64,a47e2746-bfbd-4654-bd6c-5e58e470d32f'```

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024 1

@rodriguestiago0 Thanks for providing the lines; I will add those to the converter whenever I have some time and provide an update here then!

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024 1

IT WORKS!
The problem in my case was that some lines in the csv were not correctly parsed and it was giving some error at specific but those lines didn`t correspond to operations but rather to some cash management so I could just delete them. Now it parses them perfectly :) All the operations are in ghostfolio! Love it!
PS: I might spend some time in the next couple of months to develop a code to import etoro operations but I will only be able to do to in python, would you be interested in including it into this tool?
Thanks a lot @dickwolff!

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024 1

Great to hear it works now! I can also add those cash management records to the ignore list and then you dont have to remove them yourself next time. But that is up to you.

Regarding eToro, if you can provide me with an example csv with all transactions types it has (buy, sell, dividend, fees if applicable), I think I can add a converter in a couple of hours 😅

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024 1

I can add that also this line causes issues:

30-06-2023,08:00,29-06-2023,,,Operation de change - débit,,EUR,21.70,EUR,6.20,

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024 1

I have added débit to the skip list.

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

Thanks for your message! What kind of application/benefit do you see for running the tool inside a docker container versus running it on your local machine?

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

I have created a first version of the tool that should support DEGIRO and Trading 212 conversions.

You can run it like docker run -d -v /C/users/dickw/docker_in:/var/input -v /C/users/dickw/docker_out:/var/output dickwolff/export-to-ghostfolio

The containerized version of the tool will look to /var/input within the container (which you can specify with a volume mount) for input files, and likewise to var/output for the folder where the result file will be put.

The Docker image will continue to look for new files and when a file is given it will try to detect which converter is needed to parse and then run the same script as when you run npm run start xxx locally.

Can you check wether this is what you were expecting @semiBE , that way I know I'm on the right path and can then continue on improving the solution afterwards.

Thanks!

Please note this is a first draft and there is no additional error handling and such 😅

Edit: I forgot about the Ghostfolio account id and haven't tested this myself if it works with a Docker environment variable.

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024

Hey @dickwolff thanks for reacting so quickly!
The PoC I think is pretty good I think! In case you don't want to have it running all the time you can just spin it to process the available files and stop it afterwards!
I have spun it up once and tried to copy one degiro csv file in the input folder but it looks like there's nothing appearing in the log somehow. I have integrated the env variables in my docker composer (not the INPUT_FILE of course) that you can see here below

version: '3.3'
services:
  ExportToGhostfolio:
    image: dickwolff/export-to-ghostfolio
    container_name: ExportToGhostfolio
    volumes:
      - /srv/dev-...../ExportToGhostfolio/input:/var/input
      - /srv/dev-...../ExportToGhostfolio/output:/var/output
    restart: unless-stopped

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

Maybe making it watch files should be a flag you give when starting the container. Will look into that when I have time.

Will then also look at the issue you mention. I did some code merging today (merged a unit test pr early because i had some code changes in there for better error handling which could benefit this branch). I haven't run the container since, so maybe an error slipped through.

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

@semiBE I seem to have changed the folder names from "/var/input" to "/var/e2g-input" and likewise for output. It makes sense your files aren't processed then ;-)

Try again with the like of: docker run -d -v /C/users/dickw/docker_in:/var/e2g-input -v /C/users/dickw/docker_out:/var/e2g-output dickwolff/export-to-ghostfolio

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

Accidental closing by mentioning in PR #27

I have merged the first version of the tool. Any additional feedback would be welcome and I can add that in another PR.

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024

Hi!
So I have tested this new version and indeed that it recognizes a new file which nevertheless fails the conversion (log below). Note that my degiro csv file is in French if that makes any difference and I don't see a field called "comment" either. The csv is directly downloaded from the website and passed on to the e2g.

2024-02-02T18:42:17.682298425Z [i] Found Account.csv!
2024-02-02T18:42:17.686476537Z [i] Determined the file type to be of kind 'degiro'.
2024-02-02T18:42:17.686651631Z [i] Processing file using DeGiro converter
2024-02-02T18:42:17.686663435Z [i] NOTE: There is a new version available of the DeGiro converter
2024-02-02T18:42:17.686683270Z [i] The new converter has multiple record parsing improvements and also supports platform fees.
2024-02-02T18:42:17.686690394Z [i] The new converter is currently in beta and we're looking for your feedback!
2024-02-02T18:42:17.686700312Z [i] You can run the beta converter with the command 'npm run start degiro-v2'.
2024-02-02T18:42:17.700139943Z [i] Read CSV file. Start processing..
2024-02-02T18:42:20.150193827Z /app/src/converters/degiroConverter.ts:156
2024-02-02T18:42:20.150217504Z             if (result.activities[result.activities.length - 1].comment === "txfees") {
2024-02-02T18:42:20.150222672Z                                                                 ^
2024-02-02T18:42:20.151421098Z TypeError: Cannot read properties of undefined (reading 'comment')
2024-02-02T18:42:20.151449943Z     at DeGiroConverter.<anonymous> (/app/src/converters/degiroConverter.ts:156:65)
2024-02-02T18:42:20.151457067Z     at Generator.next (<anonymous>)
2024-02-02T18:42:20.151463213Z     at fulfilled (/app/src/converters/degiroConverter.ts:5:58)
2024-02-02T18:42:20.151467473Z     at processTicksAndRejections (node:internal/process/task_queues:95:5)

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

There is a chance there is some french language specific stuff in your export. Can you maybe send me a (partial) export example so I can take a look?

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024

Indeed it could be. There you go:

Date,Heure,Date de,Produit,Code ISIN,Description,FX,Mouvements,,Solde,,ID Ordre
03-01-2024,19:47,03-01-2024,,,"Virement depuis votre Compte Espèces à la flatexDEGIRO Bank: 1 0,84 EUR",,,,EUR,0.21,
03-01-2024,19:47,03-01-2024,FLATEX EURO BANKACCOUNT,NLFLATEXACNT,Degiro Cash Sweep Transfer,,EUR,1.84,EUR,1.05,
03-01-2024,14:26,03-01-2024,ISHARES MSCI WOR A,IE00B4L5Y983,Taxe sur les Opérations Boursières belge (TOB),,EUR,-0.10,EUR,6.21,1dgsag-ddgsc-4dsgd-9mh6-5aaaaaaa

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

Thanks. I will add those to the DEGIRO converters.

Do you perhaps also have a buy/sell (+tx fee) and dividend (+tax) records? So I can check whether those will work or if they also require a code change.

from export-to-ghostfolio.

rodriguestiago0 avatar rodriguestiago0 commented on August 17, 2024

Something strage. Maybe I'm not aware on the parser works.

Data,Hora,Data Valor,Produto,ISIN,Descrição,T.,Mudança,,Saldo,,ID da Ordem
02-01-2024,14:42,02-01-2024,ISHARES MSCI WOR A,IE00B4L5Y983,Comissões de transação DEGIRO e/ou taxas de terceiros,,EUR,-1.00,EUR,2.54,7b377a93-5695-4131-8954-5c78996fbed4
02-01-2024,14:42,02-01-2024,ISHARES MSCI WOR A,IE00B4L5Y983,"Compra 1 ISHARES MSCI WOR A@82,055 EUR (IE00B4L5Y983)",,EUR,-82.06,EUR,3.54,7b377a93-5695-4131-8954-5c78996fbed4

The example above works. But the example below doesn't.

 Data,Hora,Data Valor,Produto,ISIN,Descrição,T.,Mudança,,Saldo,,ID da Ordem
02-01-2024,14:42,02-01-2024,ISHARES MSCI WOR A,IE00B4L5Y983,"Compra 1 ISHARES MSCI WOR A@82,055 EUR (IE00B4L5Y983)",,EUR,-82.06,EUR,3.54,7b377a93-5695-4131-8954-5c78996fbed4

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

@rodriguestiago0

Degiro-v2 is throwing this error

I made some changes earlier that puts the contents of the CSV as the parameter of the process function of the converter, instead of the file path. I made those changes everywhere but the DEGIRO V2 converter. I have fixed this and the tool now runs.

The example above works. But the example below doesn't.

I found an issue with the look-ahead mechanism that sometimes had empty records. That made the tool crash (without an obvious error). I added a check to prevent this. The tool now produces a valid result.

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

I have also added a new environment variable FORCE_DEGIRO_V2 which you can set to true. When you provide a DEGIRO file, the converter will use the V2 converter instead of the normal one.

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

@semiBE I have added French language specifics to DEGIRO V2 converter, which is now also published via Docker (as are the Portugese ones @rodriguestiago0). Can you try if the converter now works for you?

Edit 21:23 > I had an error in my workflow file that caused the workflow to fail, so there was no new image pushed. I have fixed the workflow and there now is a new image available!

from export-to-ghostfolio.

rodriguestiago0 avatar rodriguestiago0 commented on August 17, 2024

@dickwolff thank you.

Tried with v2 and it's no writing the output. And v1 fails with the same error

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

I'm sorry to hear that. I will look into this weekend and get back to you.

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024

Well, these lines gave issues:

05-02-2024,07:17,31-01-2024,,,Frais de connexion aux places boursières 2024 (Euronext Amsterdam - EAM),,EUR,-2.50,EUR,1211.21,
05-02-2024,07:17,31-01-2024,,,Frais de connexion aux places boursières 2024 (Xetra - XET),,EUR,-2.50,EUR,1213.71,
30-06-2023,08:00,29-06-2023,,,Operation de change - Crédit,,EUR,21.70,EUR,6.20,
15-02-2023,16:07,15-02-2023,,,Versement de fonds,,EUR,0.05,EUR,1.50,

For eToro there`s no csv only xlsx because it has multiple tabs but only one is the interesting one. Here the content of a converted xlsx to csv:

Date,Type,Details,Amount,Units,Realized Equity Change,Realized Equity,Balance,Position ID,Asset type,NWA
01/01/2024 05:50:54,Interest Payment,,0.08,-,0.08,"4,581.91",0.00,-,,0.00
02/01/2024 00:10:33,Dividend,NKE/USD,0.17,-,0.17,"4,581.91",99.60,2272508626,Stocks,0.00
02/01/2024 00:10:33,Dividend,NKE/USD,0.16,-,0.16,"4,581.91",99.60,2446419144,Stocks,0.00
03/01/2024 00:04:03,Dividend,LRCX/USD,0.51,-,0.51,"4,581.91",100.11,1434892477,Stocks,0.00
03/01/2024 13:09:09,Withdraw Fee,-,0.00,-,0.00,"4,581.91",100.11,-,,0.00
03/01/2024 13:09:09,Withdrawal Conversion Fee,-,-1.36,-,0.00,"4,581.91",0.00,-,,0.00
03/01/2024 13:09:09,Withdraw Request,-,-100.11,-,-100.11,"4,581.91",0.00,-,,0.00
07/01/2024 13:21:57,Dividend,NXPI/USD,0.28,-,0.28,"4,581.91",0.00,1446737312,Stocks,0.00
07/01/2024 13:21:57,Dividend,NXPI/USD,0.04,-,0.04,"4,581.91",0.00,1453559680,Stocks,0.00
09/01/2024 15:30:40,Position closed,OLED/USD,18.43,0.102626,7.37,"4,581.91",0.00,2355395242,Stocks,0.00
09/01/2024 15:36:54,Position closed,AMAT/USD,0.38,0.002556,0.04,"4,581.91",0.00,2596568830,Stocks,0.00
09/01/2024 15:37:16,Open Position,AMD/USD,49.88,0.337209,0.00,"4,581.91",0.00,2596572937,Stocks,0.00
09/01/2024 15:37:25,Open Position,SLAB/USD,27.37,0.219575,0.00,"4,581.91",0.00,2596576844,Stocks,0.00
09/01/2024 15:40:09,Open Position,SWKS/USD,93.62,0.888488,0.00,"4,581.91",0.00,2596634782,Stocks,0.00
10/01/2024 00:11:24,Dividend,DIS/USD,0.14,-,0.14,"4,581.91",0.00,1003296596,Stocks,0.00
10/01/2024 00:11:24,Dividend,DIS/USD,0.29,-,0.29,"4,581.91",0.00,1068527084,Stocks,0.00
16/01/2024 00:17:08,Dividend,HST/USD,0.07,-,0.07,"4,581.91",0.80,2565075017,Stocks,0.00
16/01/2024 20:08:09,Position closed,AMD/USD,61.27,0.388423,38.57,"4,581.91",0.80,2602058508,Stocks,0.00
17/01/2024 00:04:27,Dividend,KER/EUR,0.03,-,0.03,"4,581.91",0.80,697085768,Stocks,0.00
17/01/2024 00:04:28,Dividend,KER/EUR,0.01,-,0.01,"4,581.91",0.80,831716072,Stocks,0.00
17/01/2024 00:04:28,Dividend,KER/EUR,0.01,-,0.01,"4,581.91",0.80,1074146904,Stocks,0.00

Anything which can come out of this will be great, thanks in advance!

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

Quick question, I don't see a currency in the CSV. What is de default currency that Etoro uses? And are investments converted to that currency? (For example there is a KER/EUR and DIS/USD; different currencies).

Well, these lines gave issues:

These should now be processed by the tool, so no need to remove them in the future!

from export-to-ghostfolio.

semiBE avatar semiBE commented on August 17, 2024

The default currency is USD and for each transaction you have that it's processed in its own currency and you guessed correctly it's after that backslash.
That was fast! I'll provide you with the instructions on how to export the account statements from eToro so that you can add them to the Readme. Thanks again!

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

Tried with v2 and it's no writing the output. And v1 fails with the same error

@rodriguestiago0 I have run the tool locally with the file you provided and added some more language specific rules to the DEGIRO v2 converter. The tool now runs succesfully. It is also available as part of the 0.4.0-beta container on Docker hub.

from export-to-ghostfolio.

rodriguestiago0 avatar rodriguestiago0 commented on August 17, 2024

from export-to-ghostfolio.

dickwolff avatar dickwolff commented on August 17, 2024

Closing this with fixes from #28 .

Should there be any other issue, please open a new issue.

from export-to-ghostfolio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.