Note: this article is in reference to European institutions only
After a transaction has been posted on your banking statement, it will be associated with two distinct DateTime values: the BookingDateTime
and the ValueDateTime
. To provide some context:
- The
BookingDateTime
signifies the date and time when a transaction entry is posted to an account - The
ValueDateTime
represents the date and time which assets become available to the account owner for credit entries or cease to be available to the account owner in case of debit transaction entries
When Plaid returns a posted transaction via our transactions API, Plaid will guarantee that we will consistently return the BookingDateTime
as the posted date and time. This is because returning the BookingDateTime
is mandatory as per the OpenBanking specification meaning banks must return this value in their API responses. In contrast, the ValueDateTime
is optional as per the OpenBanking specification, meaning that banks are not obliged to provide the ValueDateTime
value.
Generally, most banks will use the BookingDateTime
as the posted date and time for transactions on banking statements. However, it's worth noting that a few banks, with Barclays bank being a notable example, opt to use the ValueDateTime
on their banking statements instead.
To determine if a date discrepancy is related to this issue, you can examine Plaid's transactions API response and verify the dates returned in the date
and authorized_date
fields. The date field corresponds to the BookingDateTime
, while the authorized_date
represents the ValueDateTime
.