Skip to main content

Transactions

To access transactions, use the Transactions API endpoint. The transactions are sent as a collection of transactions within a data array and a nextPageToken. The last page returns a null value for nextPageToken.

Transaction history

After a user provides consent to a bank, transactions are fetched from the bank to EnableNow with a maximum of 18 months of transaction history.

Structure

{
"data": [
{
"id": "aeeffb5c-4800-5f6f-8797-7f488351553d",
"accountNumber": "NL12ABNA9999876523",
"accountId": "faa409f9-ff20-4462-4729-08dbfaecde2e",
"description": "Description",
"bookDate": "2021-12-23",
"transactionDateTime": "2021-12-23T21:40:38.26Z",
"amount": 229.6,
"balanceAfterTransaction": 1229.82,
"currency": "EUR",
"counterpartDescription": "ACME Inc.",
"counterpartAccountNumber": "NL28ABNA9998422205",
"providerProperties": {
"providerKey": "ABNANL2A",
"transactionId": "GT020008680598410AO",
"transactionType": "658",
"transactionTypeName": null,
"reasonCode": null,
"purposeCode": null,
"balanceAfterTransaction": 1229.82
},
"category": {
"l0Name": "Retail",
"l1Name": "Inflows",
"l2Name": "Income",
"l3Name": "Fixed income",
"code": "R010101"
}
},
{
"id": "d8906f3a-5128-54cf-840f-1a82c5562b73",
"accountNumber": "NL12ABNA9999876523",
"accountId": "faa409f9-ff20-4462-4729-08dbfaecde2e",
"description": "Description",
"bookDate": "2021-12-23",
"transactionDateTime": "2021-12-23T21:40:38.31Z",
"amount": -181.5,
"balanceAfterTransaction": 1000.22,
"currency": "EUR",
"counterpartDescription": "ACME Inc.",
"counterpartAccountNumber": "NL04INGB9999552978",
"providerProperties": {
"providerKey": "ABNANL2A",
"transactionId": "9855P5427870677S0AQ",
"transactionType": "654",
"transactionTypeName": null,
"reasonCode": null,
"purposeCode": null,
"balanceAfterTransaction": 1000.22
},
"category": {
"l0Name": "Retail",
"l1Name": "Inflows",
"l2Name": "Income",
"l3Name": "Variable income",
"code": "R010102"
}
}
],
"nextPageToken": "wjUIWnL2qgXbmjdq"
}

Inside the data collection, the transaction object consists of the following properties:

Property
Type
Availability
Description
id
UUID
Required
The unique ID for this transaction.
accountId
UUID
Required
The unique EnableNow ID for this account.
accountNumber
string
Optional
Account IBAN number for this transaction in uppercase. Can be null for accounts which have no IBAN number (i.e. savings accounts).
description
string
Required
The description of the transaction.
bookDate
string
Required
The booking date of the transaction, in the structure YYYY-MM-DD.
transactionDateTime
string
Required
DateTime of the transaction in UTC time, ISO 8601 notation like: 2024-12-24T09:17:40.524Z.
Note: the fractional seconds are optional and are not available on all banks. Some banks only provide the date, not the time of a transaction, in that case we provide a string where time is 00:00:00Z, like: 2024-12-24T00:00:00Z
Refer to the Fields per provider table to check the structure in which banks provide this field.
amount
decimal
Required
The amount of this transaction, this value is negative for debit transactions.
balanceAfterTransaction
decimal
Optional
When balance data is provided by the provider, this is the calculated balance after this transaction. This value is negative for negative balances.
currency
string
Required
ISO 3 letter currency value in uppercase (e.g. EUR, USD, etc.).
counterpartDescription
string
Optional
Description of the counterpart party.
counterpartAccountNumber
string
Optional
Account IBAN number of the counterpart party in uppercase.

The category object is only returned when you are using the Categorization features and a Categorization Job has run for the selected transactions. For more information about the structure of the category object, refer to the Categorization documentation.

Provider Properties

Provider properties is an object with properties that contain specific (meta)data related to the transaction. Not all banks provide all details.

info

The structure and content of the provider properties object are subject to change. Banks may alter the way they provide additional metadata about transactions, which can affect the properties available within this object. It's important to note that these properties can be modified or new ones can be added without any changes to our API. This means integrations using provider properties should be designed with flexibility and resilience in mind to handle potential modifications seamlessly.

Property
Type
Availability
Description
providerKey
string
Required
The bank identifier.
transactionId
string
Optional
The unique ID from the bank for this transaction.
transactionType
string
Optional
The bank specific mutation of type code of this transaction.
transactionTypeName
string
Optional
The bank specific mutation of type name of this transaction.
reasonCode
string
Optional
The bank specific reason code of this transaction. Reason codes are used to provide details about errors regarding direct debits.
purposeCode
string
Optional
The bank specific purpose code of this transaction. Purpose codes allow a user to classify payments by informing the bank about the purpose for the credit transfer, e.g. Salary, Savings, Rent, etc.
balanceAfterTransaction
decimal
Optional
The account balance after the transaction.
remittanceInfo
string
Optional
Structured remittance information refers to a set of predefined and standardized data fields included in a payment message, used to provide specific details about the transaction, such as invoice numbers, payment references, or other identifiers.
remittanceInfoType
string
Optional
The type of the structured remittance information (example: SCOR).
remittanceInfoIssuer
string
Optional
The identification of the issuer of the reference document type (example: ISO).

Fields per provider

The available fields and mappings from the raw PSD2 output is specified per provider on the provider features table for each country.
Currently we have the following countries: