Simple CSV Export for Business Banking - equivalent of PDF statement

The problem:
The format of the CSV export for business banking is too complicated and I’ve found it unsuitable when importing it into my accounting provider’s tool.

E.g. below are some of the issues

  • There’s no balance figure
  • The datetime is not a simple date format
  • It makes all transactions to and from pots look like transactions to different bank accounts thus making it hard to explain and reconcile them in the accounts. From an accounting perspective I still want to treat Monzo as just one account - including all pots.

Proposed Solution:
The PDF statements format is much simpler and looks closer to something I’m sure everyone will find simpler to work with. As a next step, could we please just have the same information as in that statement downloadable as a CSV?

It still has the limitation that each row shows the balance just for the current account and not across all pots. It would be really awesome if there could be an additional column in the CSV export (and perhaps the PDF statement too) showing the total balance across all pots for each row

1 Like

Created a separate thread for the overall balance idea. Show overall balance for each row in statements

We can treat this thread to track the proposal for creating a simple CSV export identical to the statements as they currently stand

Came here to write exactly this after having issues with my bookkeeper. Also, what’s with the emojis :sweat_smile:

My accountant is also confused with these statements - I think the Monzo team need to decide whether to treat pots as savings accounts, and either have the functionality to download Pot Statements, or to simply include them in the account balance. I imagine when/if they start offering interest on these accounts it’ll confuse matters even more.

For now - I have thrown together a script which should be fairly straightforward to generate statements without any of the point transactions showing (it’ll show the balance of the entire account, inclusive of pots)

Haven’t included an executable, as it’d be a bit trusting of people to download a random file and run it locally. Instead, code is attached below (go isn’t my language, but thought i’d give it a go)

To run it you’ll need golang on your machine

  1. Get access token from
  2. Paste code from below link into a file named main.go
  3. Add access token as an environment variable e.g. export MONZO_ACCESS_TOKEN=xxx
  4. Execute via terminal/cli go run main.go
  5. Follow instructions (it’s a stepped process)

It’s actually incredibly inefficient. Part of this reason is because Monzo’s Transaction API endpoint doesn’t return the “account_balance” value, so this has to be calculated manually - meaning I need to take the current accounts balance and work backwards (maintaining a running total)