Duplicate transactions in CSV export

I was a little disappointed to find that there’s no simple way of generating statements from the Monzo app, so I set about creating my own permanent record by exporting “all spending” to a CSV file and importing the data into a spreadsheet.

I found that the data doesn’t contain a running balance (as one would normally see in a bank statement), so I inserted a column and calculated the balance after each transaction. I then found that the sum of all credits minus the sum of all expenditure didn’t equal the current balance shown in the app.

This discrepancy is wholly explained by the presence in the CSV file of several duplicated transactions, where each series of duplicates is a few seconds apart and refers to a single real transaction. For example:

|2017-10-14 15:22:86 +0100|-£29.97|
|2017-10-14 15:22:02 +0100|-£29.97|
|2017-10-14 15:21:21 +0100|-£29.97|

After removing all the duplicates from the file, the sum of credits minus the sum of debits does indeed equal the current balance, as expected.

This all means that the CSV export is less useful than it could be and leads to three “wishes”:

  1. Remove the duplicate entries from the CSV export
  2. Include a running balance column
  3. Ideally, provide a PDF statement facility as well as the CSV export

Nice job spotting that. Have you reported this in the in app chat? Looks like a potential bug

I’ve just reported this in the app chat and Monzo responded:

The CSV export is a very raw export of the transaction data used to make the feed. Transactions have two parts which mean there will be duplicates in the CSV.

There’s no way to identify duplicates within the CSV file, other than by manual inspection, so this feature/bug rather limits the utility of the CSV export.

Monzo added that they can now do bank statements internally and that it won’t be long before there will be better ways of exporting data.

Incidentally, I think that the duplicates result from declined attempt(s) immediately followed by a successful transaction.


If you message us we can send you a formal statement :slight_smile:

Thanks for going through the effort to do that and sharing

1 Like

If you have a formal statement, could you please post it here for others who may also be interested?

I think he means if you contact Monzo they can manually produce a formal statement.

1 Like

Thank you - I misunderstood!

1 Like

Reported the same bug a couple of months ago when the Android export was added. It’s definitely declined transactions showing without a flag (which is already the case for things like ‘Active Card Check’ that is flagged in the Notes field).

Is there an update on this? Makes exported statements pretty much unusable unless you manually sift through them with your app open.

Edit: at least searching “declined” in the app brings up all the declined txs