Balances
For both TPP and FPP, the response obtained following a balance request is exactly the same and is described below. The request APIs vary slightly; for implementation details, please refer to the specific documentation.
An example response is shown below:
{
"status": "OK",
"payload": {
"list": [
{
"balanceId": "1",
"userId": "1",
"bankId": "19",
"tppUid": "150116",
"accountId": "35689",
"amount": {
"value": 2000.00,
"currency": "EUR"
},
"type": "INTERIM_BOOKED",
"referenceDate": "2020-08-24T00:00:00.000+0000",
"retrievedDatetime": "2020-08-24T16:51:16.408+0000",
"balanceType": "BOOKED",
"balanceTimePeriod": "INTERIM",
"balancePriority": 1,
"bankProfileId": "20523",
"isCreditLimitIncluded": false,
"lastChangeDatetime": "2020-08-24T16:51:16.408+0000"
},
{
"balanceId": "2",
"userId": "1",
"bankId": "19",
"tppUid": "150116",
"accountId": "35689",
"amount": {
"value": 17.07,
"currency": "EUR"
},
"type": "INTERIM_AVAILABLE",
"referenceDate": "2020-08-24T00:00:00.000+0000",
"retrievedDatetime": "2020-08-24T16:51:16.408+0000",
"balanceType": "AVAILABLE",
"balanceTimePeriod": "INTERIM",
"balancePriority": 1,
"bankProfileId": "20523",
"isCreditLimitIncluded": false,
"lastChangeDatetime": "2020-08-24T16:51:16.408+0000"
}
]
}
}
- balanceId: unique balance identifier
- userId: identifies the user
- bankId: identifies the bank
- tppUid: can be ignored. Indicates the TPP ID
- accountId: identifies the account (or cardId for TPP only)
- amount: object containing the balance value and the currency in local currency
- amountInEuro: object containing the balance value and currency converted to EUR. The conversion is performed internally in real time based on current exchange rates
- exchangeRate: factor used to convert an amount from local currency to EUR
- type: indicates the balance type. Values may differ depending on the ASPSP. For this reason, Fabrick exposes two additional fields to uniquely identify the balance: balanceType and balanceTimePeriod
- balanceType: can take the values Booked and Available
- balanceTimePeriod: can take the values Opening, Interim, Forward and Closing
- balancePriority: parameter that suggests a priority in case of multiple balance types, facilitating UI design. 1 is the highest priority
| Remote Bank Balance | Balance Type | Balance Time Period | Priority Suggested by FBK |
|---|---|---|---|
| INTERIM_AVAILABLE | AVAILABLE | INTERIM | 1 |
| AUTHORISED | AVAILABLE | FORWARD | 2 |
| EXPECTED* | AVAILABLE | FORWARD | 3 |
| FORWARD_AVAILABLE | AVAILABLE | FORWARD | 4 |
| INTERIM_BOOKED | BOOKED | INTERIM | 1 |
| EXPECTED* | BOOKED | FORWARD | 2 |
| NON_INVOICED | BOOKED | FORWARD | 3 |
| CLOSING_BOOKED | BOOKED | CLOSING | 4 |
| OPENING_BOOKED | BOOKED | OPENING | 5 |
The Expected value, as you can see, is a variable value according to the ASPSP.
- bankProfileId: parameter known to TPPs, can be ignored for FPPs
- isCreditLimitIncluded: flag indicating whether the credit limit (e.g., overdraft facility) is included in the balance calculation, where applicable
- referenceDate: indicates the reference date of the balance. Both on business days and weekends, this field contains the date of the balance, i.e., when the user performed a transaction and/or logged into their home banking. Requesting the balance via the PSD2 channel does not update the balance date, but only shows the situation at that point in time
- retrievedDatetime: indicates the date and time of the last synchronization with the bank. If refresh is set to true, it coincides with referenceDate
- lastChangeDatetime: indicates the date of the last balance change
Balance Types (PSD2)
- closingBooked: account balance at the end of the agreed reporting period. It is the sum of the opening booked balance at the beginning of the period and all transactions booked during the period
- expected: balance composed of booked transactions and known pending transactions at the time of calculation, projecting the end-of-day balance if everything is booked and no further transactions are recorded
- openingBooked: booked balance at the beginning of the reporting period. It always corresponds to the closing booked balance of the previous period
- interimAvailable: available balance calculated during the ASPSP's business day, subject to further changes throughout the day
- forwardAvailable: future available balance at the specified date, i.e., the amount that will be available to the account holder on that date