Monzo’s new receipts API

I don’t know much code either, but have been following the instructions from here:

and have managed to use this to add receipts to transactions, changing the defaults etc, by running things in terminal on macOS.

However, I think there are probably better ways to do it than this so someone else may be able to help more, but it’s not a bad starting point if you want to have a play around.

(One thing I would warn if you do try this is that the default code assigns a different receipt_id each time, so the data doesn’t update as expected, so either change the receipt_id manually, or remember to grab it from the Terminal output.)

1 Like

It’s not that easy to show you…

I know a few developers are developing apps that may or may not be released to allow you to do this :slight_smile: watch this thread…

9 Likes

I know nothing about code, however, in some software, a negative number is represented by being in brackets.

Would (2600) show as a negative or just break the code completely?

1 Like

I just keep getting

“The data field needs to be valid JSON (it will be converted to form-encoding automatically)” !!!

Cannot be that difficult surely!

How do I get the JSON receiptID?

Are you trying to do this in the Monzo Developers playground I assume? I don’t think it’s easy (or even possible) to do it this way.

In order to follow the instructions in the link I posted you have to be working in Terminal app on Mac for instance, and you’ll need to have python installed.

I was drafting a response to your previous message which might have cleared a few things up, I’ll finish that up and then post that and it might help!

1 Like

So I’ve created a Medium article describing the process I went through to add receipts to transactions, using the GitHub link I posted earlier in the thread.

Hopefully it’s somewhat helpful for beginners who don’t know much code but are willing to play around with things like the Monzo API! I’ve tried to explain the process in as much detail as I thought would be useful - I myself don’t know a huge amount of coding etc, but enjoy having a go, so if anyone who has similar or less experience finds anything that isn’t clear, or indeed anyone who has more experience has any suggestions for improvements, let me know! :smiley:

I’ve only detailed adding the default receipt provided here, I’ll hopefully create a second article showing how I edited the details that were included soon! :soon:

Hopefully people may find this useful for just playing around, before others with more technical knowhow provide some more user-friendly options for adding these receipts, or indeed Monzo eventually adds the automatic functionality themselves!

9 Likes

You can delete a receipt by doing this :arrow_down_small:

image

1 Like

Yeah, I had found that in the docs - the problem is, when I try doing that in Terminal, it just tells me that I’m unauthorised, even after going through what I thought was the whole authorisation flow!

Anybody know how to do this with a windows PC?, no coding skills what so ever, looking at the above, I get to virtual env and get stuck, not sure what to do here

1 Like

Look for a REST API Testing application… or you can use something like this…
https://resttesttest.com

1 Like

Managed to add receipt data using Postman, although it did take me a little while to get authenticated, here’s my first (very simple) receipt:

Thanks for pointing me in the right direction.

3 Likes

I want this in-app so bad :grin:

Anyone willing to share their email reading code?

1 Like

@kieranmch Do you think we would ever see Optical Character Recognition, implemented with Monzo and the take photo of receipt within the app? Surly this would be pretty much a game changer?

10 Likes

I’m actually very close to this using an OCR using tesseract which is an open source version of google mind.
I’ll probably post my results later as its not perfect yet.
There are a couple of characters that it just doesn’t like

9 Likes

Only just getting around to looking at this, has anyone else experienced a status code of 429 being returned from the example in the readme on GitHub. I know its too many requests, but this is my first time trying…

ok, have got that working. But has anyone had an issue with the account information not being able to be retrieved. I get an app notification to approve the connection but before I get it, the python script has run and failed. any ideas?