Convert GBP/GBX when importing from Interactive Brokers

Zunächst einmal vielen Dank für diese erstaunliche Open-Source-Software. Lassen Sie mich auf Englisch fortfahren (meine Entschuldigung).

I’m trying to solve the same issue in this great software!! I setup my Konto and Depot in GBP (I’m from NL but based in UK) and added the securities trading on London stock exchange/LSE all in GBX in PP.

Flex Query gives me the data in GBP back and therefore this throws an error in PP that the security currency in PP and the imported currency don’t match.

Looking at the PP IBKR importer source code here it seems it uses these fields from the flexquery XML for the import that are relevant:

// amount (mainly used for the calculations)
currency
fxRateToBase
netCash
quantity
// fees (these can be still in GBP)
ibCommission
ibCommissionCurrency

I tried to adjust the fxRateToBase to 0.01 from 1 and multiple the netCash * 100 and then import the XML into PP. Unfortunately this didn’t work. it imported the right GBX/GBP rate (so the quote in PP was correct) but then the Net Transaction Value was off.

Solution
In the end I updated all GBP currencies with the following script in Terminal / MacOS:

~ xml edit -P -O -u '//Trade[@exchange = "LSEETF"]/@currency' -v 'GBX' my_ibkr_export.xml > ibkr_with_gbx.xml (replace my_ibkr_export.xml with your own FlexQuery file name).

This updates the currency for all trades in the XML where the exchange is LSEETF (in my case). Still, this comes with issues as after importing you look at the details of the transaction in PP and it says “Converted sub-total is incorrect” and the quote is not correct. This doesn’t however seems to impact the overall numbers (see below) in the “All transaction interface”.

Update: the quote not being correct in GBX impact the graphs apparently so still manual editing needed.

Long term solution?
The issue seems to be on IBKR side as they report in all their interfaces GBX also as GBP as far as I can see… Not sure if this is a bug or feature but a possible solution could be to overwrite the currency to GBX in the IB FlexStatement Importer, set the right fxRateToBase and convert/multiply netCash to GBX (* 100).