When it comes to transaction date, banks can provide it in two different fields: valueDate
and bookingDate
.
Both valueDate
and bookingDate
fields are optional, so it is up to the bank to decide which field they would like to include into their output - sometimes you will see only one of those in the output, sometimes both, but sometimes - none.
What is the difference between valueDate and bookingDate?
Outgoing transactions | Incoming transactions | |
valueDate |
The date when the payment is settled | The date when funds become available to the account owner |
bookingDate |
The date when the payment is initiated (when funds cease to be available to the account owner) | The date when an entry is posted to an account on the financial institutions books |
bookingDate <= valueDate <= Today |
* In case of pending transactions, valueDate can be a future date and reflect an expected/requested value date (Berlin Group - NextGenPSD2 Implementation Guidelines 1.3.12).
How does transaction filtering happen?
- If If
date_from
anddate_to
parameters are applied to GET /api/v2/accounts/{id}/transactions/ request, transactions will be filtered by both valueDate and bookingDate meaning, that if any of these values falls within thedate_to
anddate_from
range the transaction will be returned. - The transactions will be returned in the same order we have received them from the bank.
- If there are no dates available, transaction is skipped.
Please refer to this article to learn more about date_from
and date_to
parameters: Does GoCardless Bank Account Data API support output pagination?
If you would like to apply a different filtering logic, you would need to retrieve all account's transactions, store them and apply the necessary filters on your end before returning the result to the client.
Comments
0 comments
Please sign in to leave a comment.