Categorising Transactions

This page describes the process and links to relevant documentation for categorising a group of transactions that are not created as part of connecting to a provider

Manual transactions (i.e. those not created automatically through connecting to a provider) can be processed by our categorisation engine by uploading them to the POST /transactions-collection endpoint with the categorise query param set to true.


Transactions that are created as part of connecting to a provider are categorised automatically so there is no need to do any extra steps

Categorisation steps

1. Register on Admin Portal

If you haven't already done so, an account in the Moneyhub Admin Portal will be required to register API clients and manage API users. Please see the below guide on signing up:

2. Register API Client

First step is to register an API client through our admin portal. Please see the following documentation on how to do this:

3. Create user

Next step is to create a user through the API so that a manual account can be created. The please see the following guides:

4. Create a manual account

In order to upload transactions, we need to create a manual account for the user. A manual account is one that is created through the API and not automatically created when connecting to a bank/data provider. Please note that transactions cannot be added to automatic accounts.

5. Send transactions for categorisation

Now we can upload transactions for the previously created account using the POST /transactions-collection endpoint. Please ensure that the categorise query param is set to true.

The categoryId on each transaction object must be set to uncategorised (std:39577c49-350f-45a4-8ec3-48ce205585fb) for categorisation to take place. Please see below for an example:

    "accountId": "c390a94f-2309-4cdf-8d02-b0c5304d9f66",
    "amount": {
      "value": -4500
    "categoryId": "std:39577c49-350f-45a4-8ec3-48ce205585fb",
    "longDescription": "Long description 1",
    "shortDescription": "description 1",
    "notes": "notes",
    "status": "posted",
    "date": "2018-07-10T12:00:00+00:00"

Please below for relevant documentation:


Please note only 50 transactions can be sent in each API request

6. Fetch transactions

Transactions can now be fetched from GET /transactions with the categoryId field populated. To get the readable names of the category IDs the GET /categories can be used.