{"id":18303124,"url":"https://github.com/monzo/reference-receipts-app","last_synced_at":"2025-06-12T12:08:42.974Z","repository":{"id":78418968,"uuid":"166092154","full_name":"monzo/reference-receipts-app","owner":"monzo","description":"A simple Monzo third party API client for demonstrating the new Receipts API. ","archived":false,"fork":false,"pushed_at":"2019-10-07T09:12:40.000Z","size":17,"stargazers_count":19,"open_issues_count":0,"forks_count":5,"subscribers_count":155,"default_branch":"master","last_synced_at":"2025-04-05T14:35:32.307Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monzo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-16T18:44:37.000Z","updated_at":"2023-05-11T16:15:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"3a48d11f-cf5c-4929-bfcb-b7a80f86f8e7","html_url":"https://github.com/monzo/reference-receipts-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/monzo/reference-receipts-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzo%2Freference-receipts-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzo%2Freference-receipts-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzo%2Freference-receipts-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzo%2Freference-receipts-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monzo","download_url":"https://codeload.github.com/monzo/reference-receipts-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzo%2Freference-receipts-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259462558,"owners_count":22861512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T15:24:17.350Z","updated_at":"2025-06-12T12:08:42.955Z","avatar_url":"https://github.com/monzo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Example Monzo Transaction Receipts API Client\n=========\n\nThe Transaction Receipts API is a new, experimental API for you to attach or read detailed receipt data of Monzo transactions. Whether it is using your card at a shop, or sending someone money for a favour, keeping all your spending data in one place has never been easier! With this API, you can decide how to source or generate the receipt.\n\n![Transaction Receipt View](https://user-images.githubusercontent.com/42541688/51318101-42637c00-1a51-11e9-98eb-f73cacff9bdc.jpg)\n\n## Getting Started\nYou need a Monzo account to register and manage your OAuth2 API clients. If you don't yet have a Monzo account, you can [open an account](https://monzo.com) on your phone now -- it takes no more than a few minutes with an ID on hand. Search for `Monzo` in App Store and Play Store.\n\nTo register your API client, head to [developers.monzo.com](http://developers.monzo.com), and select `Sign in with your Monzo account`. You'll receive an email sign in link, as the Developers Portal itself is an OAuth application. Once you've logged in, go to `Client`, and click on `New OAuth Client`. You'll need to provide the following information to register a client:\n\n* **Name**: The name of your application. Your users see it when redirected to auth.monzo.com to Sign in.\n* **Logo URL**: A link to the logo image of your application, although this is not currently displayed.\n* **Redirect URLs**: The callback URLs to your application. In this example application, we don't actually handle a callback, but only parse the temporary auth code returned. Therefore we use one fake local URL of `http://127.0.0.1:21234/`. A real application will ideally handle auth flows automatically, and an internet-accessible callback endpoint will be needed here instead.\n* **Description**: A short description on the purpose of your application. Feel free to put anything here.\n* **Confidentiality**: A confidential API client will keep the OAuth2 secret from your user, and hence will be allowed to [refresh](https://docs.monzo.com/#refreshing-access) access tokens with a refresh token. While a non-confidential client may expose its OAuth2 secrets to the client, such as embedded in the JavaScript of a web application. As our simple client will be kept locally for now, feel free to set it as `Confidential` here.\n\nOnce you have registered your API client, you will have received a Client ID and a Client Secret. The next step is to clone this repository:\n```\ngit clone https://github.com/monzo/reference-receipts-app.git\ncd reference-receipts-app\n```\n\nNow we need to configure the client:\n```\ncp config-example.py config.py\n```\nAnd edit `config.py` with your favourite editor to set `MONZO_CLIENT_ID` and `MONZO_CLIENT_SECRET`. \n\nThe example client is written in Python3. You will ideally need Python3.6 and `pip`. We need to install some dependencies, preferably in a virtual environment. We will be using `virtualenv` in this example:\n```\nvirtualenv env -p python3\nsource env/bin/activate\npip install -r requirements.txt\n```\n\nYour client should now be ready to use. To see a quick demo of this example client, simply do:\n```\npython main.py\n```\nAnd follow the authentication flow as prompted.\n\nOur client will automatically add some fabricated receipt data into your most recent Monzo transaction, which you can view in your Monzo app by clicking on that transaction. It does not affect any other parts of your account, so no need to worry about the data!\n\nTo see how the API calls worked underneath, the code should hopefully be fairly straightforward.\n\n## Extending the Application\nThis example API client is very basic: it does not source receipt data from elsewhere, and does not run a server to accept webhook calls from Monzo and thus adding receipts to new transactions as they pop up. This is where you step in to make the magic happen! \n\nIf you are working with this at a Monzo-sponsored hack day, feel free to ask one of your friendly Monzo mentors at any time to give a hand!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonzo%2Freference-receipts-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonzo%2Freference-receipts-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonzo%2Freference-receipts-app/lists"}