Guidance on creating new portfolio from CSV containing existing holdings

I have a CSV containing one line for each of my existing holdings. There are the columns:

  • Securities Account (corresponds to one of 7 securities account that I created)
  • Security Name
  • Shares
  • Value
  • Ticker Symbol
  • Type (all set to “Buy”)
  • Date (all set to May 19th, 2026)
    The total of all of the Value items is 1,371,820.

When I import this file as Portfolio Transactions the Market Value of most of the line items (63 out of 74) is overstated by a factor of 10. For example one of the lines had a value of 14,369.4 in my CSV file, but my Statement of Assets shows a Market Value of 1,436,940.00 for that item.

When I look at the “All Transaction” menu all of the transaction values are reported correctly (i.e. not overstated by a factor of 10).

Any idea what I might be doing wrong?

The factor seems to be 100 not 10. Can it be that those are British securities and there is a mix-up of pound and pence?

Can you show an example?

Yes they are indeed British securities. I have been able to resolve the inflated valuations in the Statement of Assets for most of the holdings by changing the provider for Historical Quotes to Yahoo Finance, then choosing the option to delete historical quotes. This did not work for any of the UK Gilt holdings, however (e.g. TR27.L or TG31.L.)

I guess this is because Yahoo Finance doesn’t have price information for UK Gilts? Which means I’ll have to manually enter prices for these? That’s what I have done for now, to make the Market Value look normal again.

My next problem is that my Performance report shows crazy figures - TWROR of -99.79% and IRR of -Infinity%, for example. This true of both the default Performance report, and also for a new report which I created for the period since the day after my data was imported (May 20th, 2026).

The state of my portfolio is:

  • Statement of Assets now shows the correct Market Value for all holdings
  • The Deposit account associated with one of my securities accounts shows a negative balance equal to total value of all of my holdings - I guess this was created when I imported the transactions from the CSV. The other Deposit accounts have a zero balance.
  • The list of Transactions shows a “Buy” entry for every holding in every account, with the values correctly mirroring those from the CSV file that I imported.

So how can I arrive at meaningful Performance figures for my Portfolio - for example for the 3 day period since my data was imported?

Hi, it looks like you’re using a different currency for the CSV import than for the security.

GBP = British pounds

GBX = British pence (some websites also write pence with a lower case “p” = “GBp”)

So if the input value is vor example 100 GBP and you then update the current price as 100 GBX it will show a loss of 99,xx %, since 100 GBX is only worth 1 GBP.

It is ok to have different currencies, but you need to convert correctly, like 100 GBP = 10,000 GBX

That would make sense, but all of my securities are set to GBP, and my import data is all in GBP.

???

You might have selected GPB as currency in the security, but at least some the historic quotes might be still in GBX. I expect if you look at the chart of the security it will show some spikes by factor 100.

Please send some screenshots of your PP config, since everything else is just speculation and a waste of my time.

As mentioned before, I resolved the 10x over-valuation by switching the quote provider to Yahoo Finance and deleting historical quotes. I’m now trying to understand why the Performance reports show such strange numbers and how I need to fix this (e..g. TTWOR -99.79%)

Is this enough info? ( I am limited to 3 uploads)

Unfortunately, none of the screenshots have any usefull information to find the root cause.

We would need something like this screenshot of the buy/delivery inbound:

And a chart with the corresponding historic time frame of the purchase/delivery inbound:

My assumption is that either your chart is all over the place with spikes of factor 100 and/or the buy indicator is no where near the chart line of the buy date.

Actually the price charts look normal for most of the holdings - see attached. The exception is Tufton Assets (SHIP.L), which shows no price history

There is no screenshot for the buy inbound, as they were imported from CSV (sample attached).

I guess the main thing is that I don’t understand why the Performance report shows an initial value (20 May 2026) as 12,264,956.62, when the sum total of all of the Buy transactions from my imported CSV was 1.3711.620.

Under “All transactions” is each transaction and with “edit” you can open the booking.

Please note, if you have used “Buy” with CSV import you also need corresponding cash bookings. Otherwise your deposit account will be negative and therefore cause wrong performance calculation.

To avoid the cash booking, you can use “Delivery inbound” instead of “Buy”

Do you have a different cash account for each deposit?

it seems that the buys are all gone to the cash account of the first deposit.

in the statement of assets you can select which deposits and which cash accounts you want to see.

How does it look if you only select the deposits and not the cash accounts?

I am not the expert here and there are plenty of issues to discuss re import.
As a start, remove all transactions you’ve ported and try again using “Account Transaction” to your security account.
That action will import only the buy, dividend, and dividend reinvest.

For transfer in/out of the account, I still have not figured that one out.

I’m a little confused as to whether I should be importing this data as “Account Transactions”, “Portfolio Transactions” or “Security Account”.

If I try importing with a Type of “Delivery (Inbound)” or “Delivery inbound” I get these errors:
Line 2: Unable to parse value ‘Delivery (inbound)’ with pattern {Deposit=Deposit, Withdrawal=Withdrawal|Removal, Interest=Interest, Interest Charge=Interest Charge, Dividend=Dividend, Fees=Fees, Fees Refund=Fees Refund, Taxes=Taxes, Tax Refund=Tax Refund, Buy=Buy, Sell=Sell, Transfer (Inbound)=Transfer (Inbound), Transfer (Outbound)=Transfer (Outbound)} (Data: [Ian II SIPP, 3IN, 3i Infrastructure Ord, 9967, 362.5, 36130.38, 3IN.L, Delivery (inbound), 19/05/2026, Cash-Ian II SIPP, Cash-Ian II SIPP, GBP, 19/05/2026, , , , ]).

I’m also confused that if I choose to import the file as “Securities Account” data I am being asked to specify a GBP account and a Securities Account from the dropdown list at the top of the page, despite the fact that each line of the CSV data has a value for both “Securities Account” and “Cash Account” - each mapped to the relevant import field. While the data is imported to the correct Securities account (i.e. the one specified on each line), all of the cash entries are allocated to the same cash account (the one the was selected from the dropdown list when I did the import) - in this case the “Cash - Gill II ISA” account.

Here is an example of one of the imported Buy transactions:

Following the import (which I re-did after deleting the original transactions), most of the holdings had their values correctly reported in the Statement of Assets, but four of them didn’t - see screenshot below:

Based on previous experience, these figures can be corrected if I manually select the quote provider (and historical quote provider) for the relevant entries to “Yahoo Finance” and choose the option to delete the historical price data.

OK I just discovered the option to convert buy/sell transactions to Delivery inbound/outbound transactions. If I use that I don’t get the single large cash entry in the deposit account, which helps. But those four stocks still show inflated market values until I change the quote provider to Yahoo Finance and delete the historical price data.

One other anomaly that I’ve noticed is that one of my holdings (Tufton Assets Ord - symbol SHIP.L) is not having its value reported correctly. It is being over-stated by a factor of about 1.3. I think this is usually because its price is usually quoted in USD on Yahoo Finance, although the Value that I imported in my CSV was in GBP. So the value in my CSV file was £61,307, but the Statement of Assets reports it as 83,244. I hold this asset in 3 securities accounts.

Here is an example of one of the imported transactions. It has the correct share price (0.89 GBP), but for the purpose of the Statement of Assets it seems to be calculating the Market Value by multiplying the share quantity by the USD share price ($1.215), which I guess it has retrieved from Yahoo Finance.

Any idea how I can manage this anomaly?

Tufton is traded at the LSE in USD rather than GBP:

With regard to the LEGAL & GENERAL GROUP: Can you please show us how that asset is configured, especially which currency is used.

When I try to add that asset via built-in it has the currency GBX. But it seems that you are using GBP, because 8427 shares * 267,7 GBX should be 22,559.08 GBP, not 2,255,907.90

Btw if I add the asset via Yahoo, there seems to be something wrong. The quotes are correct for GBX, but the currency is set to my home currency. I wonder if that happens for your other assets that you added via Yahoo, if they were automatically set to GBP (even if they should have been GBX)

You have added CVC INCOME & GROWTH in the currency GBP. If I add it with built-in I get GBX

If I then add the currency to GBP the market value of my assets is overstated by a factor of 100

In Built in you have Tufton Assets as GBX

If I buy that asset (and my home currency is BGP), my Buy looks like this:

Notice the conversion of 100.0000 GBX/GBP.

This is how LGEN is set up.

I don’t get to choose the quote provider when I import my CSV of holdings, so I guess the import process is not using Yahoo Finance by default?

If I change the Transaction Currency to GBX for those four securities (LGEN,SDLF,TFIF and PHGP) I get errors and they don’t get imported at all:
Transaction currency GBX does not match account currency ?:
Transaction currency GBX does not match account currency ?:
Transaction currency GBX does not match account currency ?:
Transaction currency GBX does not match account currency ?:
Transaction currency GBX does not match account currency ?:
Transaction currency GBX does not match account currency ?:
Transaction currency GBX does not match account currency ?:
Transaction currency GBX does not match account currency ?:
19 May 2026 Buy GBX 16,990.92 Legal & General Group
19 May 2026 Buy GBX 5,568.16 Legal & General Group
19 May 2026 Buy GBX 30,798.46 WisdomTree Physical Gold GBP
19 May 2026 Buy GBX 4,397.26 WisdomTree Physical Gold GBP
19 May 2026 Buy GBX 26,076.11 WisdomTree Physical Gold GBP
19 May 2026 Buy GBX 10,474.97 Standard Life
19 May 2026 Buy GBX 4,395.60 Standard Life
19 May 2026 Buy GBX 14,369.40 TwentyFour Income Ord

This is how my Tufton Assets security looks after importing it from the CSV:

If I add it manually as a security I get these options:

If I choose the 2nd option (Yahoo Finance), then import my SHIP CSV data as a GBP transaction (since my valuation is in GBP), the value once again gets miscalculated as 83,244.51 - it is multiplying my imported GBP value by the USD exchange rate