it sounds like you didn’t do: git clone https://github.com/vroonhof/opensteuerauszug.git
you then cd opensteuerauszug into the downloaded dir and run the commands I listed above.
it sounds like you didn’t do: git clone https://github.com/vroonhof/opensteuerauszug.git
you then cd opensteuerauszug into the downloaded dir and run the commands I listed above.
Thank you very much.
No, I did not. Did install git just now, when I do “git clone OpenSteuerAuszug” it says the repository does not exist. Somehow this is all way too complicate.
I have the flex statement as xml and I have the kursliste xml. In an ideal world I could download a program and run it with those files and probably an output PDF as parameters. Now I have to learn Git, Python and whatever configuration method… (Isn’t Git owned by Microschrott now? That would explain a lot…).
Also I did read that corporate actions are not included. I need this, had some stock dividends and spin-offs. DataLeve said they did include those. That is mainly why I wanted to compare.
Agree, this project is at the moment probably more for the ones of us with an IT background and interested in digging into it. I think we can streamline it a bit more in the future. Thus feedback where you struggle is helpful, probably we can extend docs.
Now I have to learn Git
Alternatively you can also download the source code as a Zip file and extract it, no need for git then (green “Code” button → “Download ZIP”).
Also I did read that corporate actions are not included. I need this, had some stock dividends and spin-offs.
A lot of corporate actions are supported as of now. The ones I checked are stick splits, dividends at least. If something is missing for your case, feel free to post the relevant lines of the flex export so that we can add it.
Hey @j_from_b what would it take to implement the costs page inside the eSteuerauszug?
You have to git clone the url you can fetch on the GitHub repo (there’s an icon in upper right corner to copy the url).
Then I also think you have to find a way to install and use pip and not pipx.
FWIW any of the usual AI chatbots are of great help in these things. It will for example immediately tell you that you have to use the link and not ‘OpenSteuerAuszug’, meaning exactly that command:
But yeah GitHub’s main purpose is rather to make it easy to share code than make it as easy as possible to use the code for people who never used the platform. The latter setting needs lots of (support) effort to lower the hurdle to (near) zero, which is what you get for the money you pay datalevel.
Curious, what’s the goal? None of the fees can be deducted afaik.
I have fees that can be deducted ![]()
Why not enter those separately in the tax return by hand?
Github is a developer platform and the current software is in development with not much done to make it easy to use for non-developers, but this will change.
Thanks a lot. I think I stop here.
BTW: pip says error, externally-managed-environment and that I should use pipx. Pipx did work, but then
python3 -m OpenSteuerAuszug.steuerauszug ./ibkr_2025.xml --importer ibkr --tax-year 2025 -o output.pdf
/home/urs/.local/share/pipx/venvs/ibflex2/bin/python3: Error while finding module specification for 'OpenSteuerAuszug.steuerauszug' (ModuleNotFoundError: No module named 'OpenSteuerAuszug')
Same as before. Tried opensteuerauszug and OpenSteuerAuszug.
Why do things by hand when I can make the software do it for me
Even after some troubleshooting im getting errors like
ValueError: Failed to parse IBKR Flex XML file /Users/xxx/Downloads/opensteuerauszug2.xml with ibflex: Trade.initialInvestment - Can’t convert ‘Yes’ to <class ‘decimal.Decimal’>
ValueError: Failed to parse IBKR Flex XML file /Users/xxx/Downloads/opensteuerauszug.xml with ibflex: EquitySummaryByReportDateInBase has no attribute ‘liteSurchargeAccruals’
(but the EquitySummaryByReportDateInBase has a attribut ‘liteSurchargeAccruals’, its set to 0)
I setup my flex querys just like documented here (one xml with all sections and all fields, one with the mentioned critical fields) : opensteuerauszug/docs/importer_ibkr.md at main · vroonhof/opensteuerauszug · GitHub
Edit: I couldnt set the custom date range to the whole year since I opened up the account in April
I assume your export does have some attributes which are not supported yet by opensteuerauszug.
Can you please post the relevant lines which contain those attributes here in the forum or even better as GitHub issue?
And as a workaround for now, just try to remove those attributes from your XML, and try converting it again. Most probably they are not even needed. Needless to say, but you really need to double check the created PDF in detail before using it for the tax return.
Edit: I couldnt set the custom date range to the whole year since I opened up the account in April
In that case, I would just try the first available date until end of year.
It is this error here:
It requires some changes to code or patching XML.
Thanks, that worked. The Output seems okayish, made it still way easier than manually adding every single position.
I had to double check every position, especially some acc ETF that didnt had a “Ertrag” value. Im guessing these are a bit problematic since they were FOP transfers.
Good to hear that it worked for you ![]()
Was it only the two XML attributes Trade.initialInvestment and EquitySummaryByReportDateInBase.liteSurchargeAccruals which causes issues?
I had to double check every position, especially some acc ETF that didnt had a “Ertrag” value. Im guessing these are a bit problematic since they were FOP transfers.
Does that mean you had to do manual adjustments? Were things in the generated PDF missing / off? In that case, exact reports would help in order to improve it.
No, I created a slimmed down XML with just the critical fields and options.
This one gave me the ValueError: Failed to parse IBKR Flex XML file /Users/xxx/Downloads/opensteuerauszug2.xml with ibflex: Trade.initialInvestment - Can’t convert ‘Yes’ to <class ‘decimal.Decimal’> error.
Then I simply deleted every initialInvestment value to none or ““, re-run opensteuerauszug agains this xml with these parameters:
python -m opensteuerauszug.steuerauszug --importer ibkr /Users/xxx/Downloads/opensteuerauszug2.xml --period-from 2025-04-10 --period-to 2025-12-31 --tax-year 2025 -o ibkr-2025.pdf
I then successfully imported this pdf in ZHprivateTax.
Does that mean you had to do manual adjustments? Were things in the generated PDF missing / off? In that case, exact reports would help in order to improve it.
The positions that I transferred to IBKR this year did not have any Ertrag values after importing. Since I did not buy or sell anything, the amount stayed the same for the entire year. To double-check, I manually imported this position with the amount at the start of the year and again at the end. privateTax then correctly calculated the Ertrag values. I then simply corrected the empty value in the eSteuerauszug position of the corresponding ETF.
Edit: The one ETF that I started buying this year, was correct
ValueError: Failed to parse IBKR Flex XML with ibflex: Trade.initialInvestment - Can’t convert ‘Yes’ to <class ‘decimal.Decimal’>
Can you please post the line (anonymized) causing this error here (or as GitHub issue)? We should fix this.
The positions that I transferred to IBKR this year did not have any Ertrag values after importing.
This is probably a use-case not fully supported by opensteuerauszug yet. Can you also post one example (all relevant lines from XML file)?