Email Receipts in Monzo

At the top of the year Monzo announced a relationship with Flux which introduced to us receipts in your Monzo account.

At the time I was personally underwhelmed by the amount of merchants Flux supported and the London-centric startup tradition which had formed. I also started having a lot of thoughts about how far these receipts could go, especially as they start to introduce non-itemised functionality such as itineraries, call to actions and “adverts” (or some form of dynamic pop-in image relevant to the transaction, perhaps to encourage deals/offers to saver users money).

One thing I tried very early on (Feb 2019) was how I could ingest receipts from inside emails and pull them into the app. I know this was something that was tried in a Hackathon back in 2016.

This early investigation was admittedly very hacky, it was a single file PHP script with no protection that only supported one merchant (Uber) and one user (me!) - It didn’t need to do more, I was just testing to see what was possible but the more I got used to that receipt always being there I kind of wanted more from it.

Last week I started the project from scratch. Some PHP goodness (baring in mind I’ve not used it properly for a very long time) later and I’ve produced a platform I’m happy with. It supports many merchants (15 so far, but this number is soon rising), many users (currently got 13 amazing testers!) and is extremely quick (under 45 seconds for each receipt!). 100 receipts later and it’s still going strong!

The system works by providing each user with a unique email address, they’re able to automatically (or manually) forward specific emails containing these receipts straight to that address which (~34 seconds later) gets added to their account (assuming all goes well).

This removes the need for complete inbox access, and makes it simpler for users who are not strictly on Gmail.

I’ll be sure to do a full technical deep dive on how it all works in the coming weeks, in the here and now I’m looking to tidy up some loose ends, make it even easier to use, and of course add a lot more merchants.

Supported Merchants (Updated Oct 5th)

Shopping
eBay
Amazon
Asda

Processors
PayPal
Stripe
Fastspring
Shopify

Transport
Travel for London (Journey History - CSV Export)
Uber (incl. Jump)
Stagecoach
Cuvva
DVLA
DVSA
PayByPhone
JustPark

Cinema
ODEON
Vue
Cineworld

Food
Milk & More
Domino’s
Pizza Hut
Wetherspoons
McDonald’s
AtHand
Ritual
Huel
Deliveroo
Uber Eats

Other
Airbnb
Just Giving
Banquet Records
iCloud/iTunes
Now TV
Crowdcube
Coinbase
Bootstrap
1Password
VOXI

I’d love to get the community’s feedback on this. Specifically the following questions:

  • What would you expect from a service like this? Any options/preferences?
  • Are there any unsupported merchants that you’d really want?
  • Would you use a service like this?

I’ve added a whole lot of users in the last couple days so going to spend another week making improvements especially to account pages and such but will then be looking to get more testers! So if you’re interested then DM me on here, or any of the two community Slacks and I can give you more information!

(If a moderator believes this is better suited in a different category, then feel free to move it - I didn’t want to dump it in Developers though as it’s less support and more showcase)

59 Likes

Would love to test this once you’re ready to add more testers! - Great work :smiley:

1 Like

Loving this! :tada: Thanks for sharing this @Sherlock :grin:

Might have to smarten up my inbox & see if I can setup some automatic forward rules for supported merchants :eyes:

Definitely impressed with the ease & speed of a handy email forward, though. Pretty elegant going from gmail to Monzo and seeing a receipt there in, practically, the blink of an eye :sunglasses:

Can’t wait to see this project grow :blush:

Hey, that Domino’s order looks familiar (and delicious) :joy:

5 Likes

Slack is the best place to get involved if you are wanting to help the project! (It’s just simpler to get everyone together to discuss and resolve issues and update on progress… it’s all moving rather quick!)

:raised_hands: This has been one of the key objectives!

4 Likes

Will it work on past transactions???

I wouldn’t mind testing :wink:

2 Likes

As a 1Password employee myself, I was very happy to see our receipts in one of your screenshots! Keep up the good work :slight_smile:

4 Likes

I would also love to test :+1:

If I had started this a couple weeks earlier I could’ve said yes! But with the recent SCA limitations meaning we can only fetch 90 days of transactions, that’s the limit of how far back it can go! :smile:

(I am aware that we can store the history of transactions, but this isn’t something I’m interested with - the less I store the better!)

Ahah! It’s funny cause I don’t even support the receipts for the company I work for yet :man_facepalming:

:raised_hands: I’d love to get more on board - as I say I’m dealing mostly through the community Slack at the moment (more of a 1:1 connection and can help you with any issues) but I’m hoping in a couple weeks to open a bit more of a public waitlist so I can manage all the people asking!

Oh my laaawwd. Looks great! I’d love to allow direct access to my inbox, but love the forwarding email as an option! Will most likely do what Marcus said and set up autoforwarding/filters.

I’d love to try this (if it is easy to use)

How far back can we go?

Would defo love a TfL integration maybe?

I’d love a Smarty integration. Might be somewhat difficult as this is all the email really is:

Just to confirm, payment for your plan has gone through. Your plan will renew again on 13-10-2019.

You had 7.3 GB of unused data from last month, which meant a £9.14 discount on this month’s bill!

Thanks,

The SMARTY team

There are multiple ways to go about solving this problem including per-client solutions (something that only works for say Gmail) or something like IMAP credentials (log in with username and password). Both are feasible but have different levels of technical knowhow to make work.

Most of the technology I’m working on is about how I take a HTML email and turn it into something Monzo can use. The email ingest part isn’t super complicated.

I think once I have the rest working perfectly, I can look into adding options for users so they can do what they want in the way they think is best and best suits their desires (in terms of privacy and convenience)

Once you have it setup (and I will be providing easy to follow instructions on the site) it’s super convenient and works a dream. I’ve had no problems with any of the testers once they knew how to setup a forwarder. It’s seamless!

It’s also what gives you extremely quick transactions. I once got out of my Uber and by the time the door had slammed Monzo had a feed item telling me a new receipt was uploaded! wow.

It’s still “early alpha” at the moment which is a fantastic excuse to say it’s not the most user friendly just yet. I am working hard to make it easier though as the days go on! Once I share the website more publicly, that’ll be a marker that it’s usable and easy to understand with very little support from myself.

90 days historic support, it’s primarily designed for instant receipts for future transactions.

I would too! It’s on the roadmap, but the integration will have to be a little different - so need to think about it. Not a short term thing though I’m afraid!

3 Likes

Think I will wait then, I got stuck on the TfL stuff with Python etc lol

1 Like

Ohh id love to give this a test too.

Actually havent done php for a few years myself but those receipts look nice :+1: good job

1 Like

Always blown away with the things you manage to do with Monzo. Great job :+1:

Let me know if you still need testers. Would love to be involved! :grin:

1 Like

I’d love to get involved too.

Just on the privacy side of things, where do the emails go?

Most receipts have your address in them? I realise you would technically have access to them but are they stored after the receipt has been generated?

3 Likes

All of this information is listed on the website, but the short of it is:

Emails are sent to a third party (Mailgun) who convert the email and store it for up to 3 days. (It gets deleted automatically after that). They also send a copy of the body contents to my server where I run my systems over it and apply it (hopefully) to your Monzo account. After it’s finished (irrespective of success or failure) it’s deleted from my system with no trace left.

I don’t store transactions or emails and store only the absolute bare essential account information in order to correctly authenticate and identify you.

4 Likes

Thanks! I have used Mailgun myself. I’ll definitely sign up then. :+1:

I’d really want Google Play to work. I have a few subscriptions there and it would be nice to see which is which.

Also, Pateron would be useful too. I support a few creators on there and it would be useful to see an itemised bill :slightly_smiling_face:

2 Likes

Please DM me! Would love to talk more!

It’s on the list, I’ll definitely get Apple/iTunes/iCloud and Google Play all done at the same time as part of a mobile coverage merchants push! High up on the list!

I’d love this one too!


One of the huge benefits of the system I’ve built is the ease of adding more merchants. Yesterday I added 8 new merchants in around 2h 30m.

I do need to prioritise some frontend work in the immediate term but once I am happy with the systems can it’s full force on adding new merchants it’s practically unstoppable.

I do have a Google Sheet where I’m tracking all of the merchants I have emails for (in order to add support for them). If it’s missing any you want then I definitely want to hear from people! Else it’s just a waiting game…

3 Likes

eBay would be ace. When that’s working I would join, because I buy quite a bit from there and can never remember what this £2 transactions were.

Also what’s your server setup , cloud computing isn’t usually cheap and share your monzo link so people can contribute.

3 Likes