Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.equalsmoney.com/llms.txt

Use this file to discover all available pages before exploring further.

Use the /v2/budgets/{budgetId}/direct-debits endpoint to create a Direct Debit mandate from a paper mandate — a signed physical form that authorises an originator to collect payments from a payer’s bank account. Paper mandates are the offline equivalent of setting up a Direct Debit digitally. This is useful when you need to manage mandates that weren’t created through the API. For example, if your business collected Direct Debit authorisations on paper before your integration existed, those mandates still need to be registered in the system. The reference field is the link between the physical form and the mandate record — you’ll find it printed on the original paper mandate.
This endpoint is specifically for paper mandates. Electronic mandates are set up directly by the originator through the BACS network and don’t need to be created via the API.

Create a Direct Debit mandate

POST /v2/budgets/{budgetId}/direct-debits

Query parameters

accountId
string
required
The ID of the account.

Request body

reference
string
required
The Direct Debit reference. Maximum 18 characters.
processingDate
string
The date from which the mandate should be active, in YYYY-MM-DD format.
originator
object
required
Details about the originator.
originator.id
string
required
The originator’s identification number. Maximum 6 characters.
originator.accountName
string
required
The originator’s account name. Maximum 35 characters.
originator.address
object
required
The originator’s address.
originator.address.addressType
string
required
The address type. Allowable values: ADDR, PBOX, HOME, BIZZ, MLTO, DLVY.
originator.address.streetName
string
required
The street name.
originator.address.buildingNumber
string
required
The building number.
originator.address.buildingName
string
required
The building name.
originator.address.postcode
string
required
The postal code.
originator.address.city
string
required
The city.
originator.address.countryCode
string
required
The country code in ISO 3166-1 alpha-2 format (e.g., GB).

Sample request

curl -i -X POST \
  'https://api.equalsmoney.com/v2/budgets/4db84122-9c4e-4607-98f7-84b2bbe02daf/direct-debits?accountId=F12345' \
  -H 'Authorization: ApiKey {apiKey}' \
  -H 'Content-Type: application/json' \
  -d '{
    "reference": "UTILITYCO123456",
    "processingDate": "2024-02-01",
    "originator": {
      "id": "654321",
      "accountName": "Utility Company Ltd",
      "address": {
        "addressType": "ADDR",
        "streetName": "High Street",
        "buildingNumber": "123",
        "postcode": "SW1A 1AA",
        "city": "London",
        "countryCode": "GB"
      }
    }
  }'

Sample response

If your request is successful, you’ll receive a 201 response.
{
  "id": "e8f1ef68-2957-4fb1-ba8c-b1931c3754e2",
  "budgetId": "82920c13-a88c-4e3f-b24d-1ae88e47e171",
  "reference": "TEST pro12",
  "status": "ACTIVE",
  "originator": {
    "id": "123457",
    "accountName": "Netflix Inc",
    "address": {
      "addressType": "ADDR",
      "addressLine": "Times street",
      "city": "London",
      "postcode": "EC4V 3BJ",
      "countryCode": "GB"
    }
  },
  "createdAt": "2026-01-26T10:56:26.600Z"
}