This AWS Lambda function adds receipt data to Zevvle's Monzo transactions. It listens for charge events from the Zevvle API, finds the related Monzo transaction and uploads the data.
- Get your Monzo credentials
Login to the Monzo developer portal and get your access token and your account ID. You'll need to verify the API playground from the Monzo mobile app.
-
Deploy the Lambda function
- Login to the AWS Lambda console.
- Create a new function, call it whatever you like (e.g.
zevvle-monzo-receipts
) and select the Python 3.8 runtime. - Upload the deployment package under
Function code
>Actions
>Upload a .zip file
. You can either download the premade one from S3 or clone this repository, runsh create_package.sh
and uploadfunction.zip
. - In the
Environment variables
pane add yourMONZO_ACCESS_TOKEN
ANDMONZO_ACCOUNT_ID
from above. - In the
Basic settings
pane, change the Handler tozevvle_receipts.handler
. - In the
Designer
pane, click 'Add Trigger' and select API Gateway. Select the HTTP API and set the Security to Open. Once saved, expand the details below and copy the 'API endpoint'.
-
Register the Zevvle webhook
Login to the Zevvle developer portal. You'll need a Zevvle account with an active SIM card.
Copy the secret token and register a webhook to receive charge events:
curl -G -X POST https://api.zevvle.com/webhooks \
-H "Authorization: Bearer $ZEVVLE_SECRET_TOKEN" \
-d "url=$LAMBDA_FUNCTION_INVOKE_URL" \
-d "type=charge.created"
And you're done! Zevvle receipts will now show in Monzo. ☎️ 💳
- Add data/call/sms usage to transaction notes
- PDF receipt attachments
And a generic integration with e.g. Flux for multi-bank Zevvle receipts...