Data Friction at EasyEquities
By Gary Kennedy
June 10, 2026
Initial experience with EasyEquities platform
When we first used EasyEquities we were puzzled that we could not find transaction confirmations anywhere within the platform. There was a Transaction History section, but it only displayed summaries of recent activity. We eventually realised that the trade notification email is, in fact, the transaction confirmation. However, it is an email and it omits two crucial identifiers: the listing symbol (known as the alpha code on the JSE) and the ISIN. Instead, only the security description is provided. The omission of both the listing symbol and ISIN is particularly problematic.
A current portfolio position is derived data. The underlying transactions are the primary data from which that position was calculated.
Without stable identifiers, it becomes difficult to reconcile transactions to positions, compare records between systems, or maintain independent investment records over long periods of time. Security descriptions are intended for humans, not as unique identifiers. Similar instruments may have very similar descriptions, and descriptions can change over time. Reliable reconciliation requires stable identifiers. The ‘Transaction History’ screen does not help much either, it has no symbol and no ISIN.
What Does It Take to Reconstruct an Accurate Transaction History?
The approach we have taken is to save each email as an .eml file. We then wrote some code that can interrogate that format, decode the base64 encoding, navigate through the nested html to extract the data from the email. Unexpectedly, the Buy/Sell indicator is embedded within an image, making automated extraction more difficult, but not impossible! Then, to resolve the missing data, we maintain a list of all names/descriptions available at the JSE and developed reasonably sophisticated fuzzy-matching logic to reconcile abbreviations and naming differences in order to infer the listing symbol and ISIN. That is a very, very painful way to access the transaction confirmation and enrich it with data it really should have had. We have real data friction here! Furthermore, email is a useful notification platform, it most certainly does not make a good long-term record-keeping platform. Emails can be deleted both accidentally and deliberately by retention policies. The email may even belong to an employer if a work email address is used. The transaction confirmation document should be available within the platform and remain available for the lifetime of the account.
What about the Transaction History screen?
As noted above, there is a Transaction History screen. You can only download the last year’s transactions, but the transaction record is just a summary; it is missing both the listing symbol and ISIN. The fees are not attached to the transaction itself, making it difficult to reliably reconstruct the economic details of a trade. Instead they appear as separate nearby entries with no linking identifier that allows them to be reliably associated with the corresponding trade. This is not particularly useful for accurate record keeping.
What do other platforms do?
While many brokers provide transaction confirmations as PDFs accessible from within the platform, machine-readable transaction history remains an area where the industry could improve significantly. Rather than building increasingly complex transaction viewers, brokers should focus on providing complete, well-identified data in simple downloadable formats.
We highlight this friction on the EasyEquities platform, not because we want to criticise EasyEquities for the sake of criticism, but because we genuinely want the platform to succeed. The innovations they have brought to the South African market are superb. Precisely because of that, we believe it should aim to set the standard for data transparency.
What should EasyEquities do?
- Immediately solve the transaction confirmation problem, generate a PDF transaction confirmation containing both the listing symbol and ISIN (even email it until a platform document store is ready),
- Introduce a document store where the confirmations can be accessed. Likely organised by account and, possibly, tax year, with sensible lexicographic file names.
- Introduce standard machine-readable annual tax year transaction history files (details next).
- Gradually deprecate the existing Transaction History screen.
Standard Annual Tax Year Transaction History Files
Most broker platforms have some form of transaction history viewer, with a variety of filter options. They have spent time and resources building a screen with some basic data analysis functionality, yet they fail to produce the data that is needed, notably the listing symbol and the ISIN. So the broker should focus on delivering data in a good machine-readable format as a set of standard files rather than interactive reports. The data should be designed to be read by machines rather than presented to humans, so don’t print thousand separators into decimal numbers, don’t add currency symbols or currency codes beside decimals, just a plain column for decimal, and another column for the currency. Human-readable presentation already exists in the transaction confirmation PDF. The transaction history file should be treated as data, not as a report.
Why focus on a hard-coded time period, a single tax year?
When you fix the time period, the querying disappears, the files are immutable after the tax year ends, they are just files that can be downloaded from a document store. Filtering and presentation of the data can be performed in the investor’s preferred analysis tool. One year of trades for a regular investor may well be less than 240 records, 20 securities with approximately one trade per month in each. Such a file is tiny, causing no technical problems to generate or consume. Moreover, the broker has to produce a variety of reports after the tax year anyway. This can be added to that schedule of tasks. For the investors, you can get a very quick view of the capital gains events, just filter on the transaction types to identify the sell transactions. There is still one active period, the current tax year, but even that does not need to query the production system during trading hours. It can be generated as an end-of-day process and be ready the following morning. This turns what would otherwise be a reporting query into a simple file download. The broker can focus on producing high-quality data rather than maintaining interactive reporting infrastructure.
Conclusion
EasyEquities has transformed retail investing in South Africa. For that, they must be applauded. The next step is to make the platform’s records more accessible and easier to verify.
Transparency is not merely about access to information. It is about verifiability. When investors can trace a reported position back to the transactions that created it, they gain confidence that the records are complete and accurate. Trust is strongest when it can be supported by evidence.
By focusing on accurate transaction confirmations and annual machine-readable transaction files, EasyEquities could provide one of the most transparent transaction reporting experiences available to retail investors anywhere in the world, and it can be achieved with surprisingly little effort or complexity.
The objective is not better dashboards. The objective is better access to accurate, verifiable data. When positions can be reconciled to transactions, transparency becomes trust.