Enhanced Monzo Freeagent Integration

Basically my idea is entirely possible using the public APIs for both Freeagent and Monzo, I will probably do it myself eventually but it makes sense to suggest it here and see if its possible to be done in the first-party integration.

  1. Update bank transactions in Freeagent in real-time using webhooks rather than the current batch jobs. This would enable a better user journey where a user: Looks up bills/taxes to pay in Freeagent —> Pays through Monzo --> Sets appropriate bank account explanations in Freeagent. Currently this is a disjointed journey as this you have to wait an indeterminate amount of time to do the final step.
  2. Update bank transactions in Monzo with metadata from the Freeagent explanation, ideally using these for categorisations rather than the default list carried over from Monzo Personal Banking.

Last time I built such an integration (for Starling Bank) the problem I had is that FreeAgent has no concept of pending transactions so it’s hard to do real-time for card transactions.

Another issue is that FreeAgent doesn’t seem to have an endpoint to create a single bank transaction, only one to upload a CSV or OFX statement so the best you can do is to just generate an OFX from the account (with only settled transactions) and upload that. Thankfully FreeAgent is very good at deduplicating things so there’s no harm in submitting the same OFX again and you don’t need to keep track of the transactions you’ve already submitted.