{"article":{"id":16995061807255,"url":"https://plaid.zendesk.com/api/v2/help_center/en-us/articles/16995061807255.json","html_url":"https://support.plaid.com/hc/en-us/articles/16995061807255-Why-does-the-transaction-date-returned-by-Plaid-s-API-differ-from-the-date-on-my-bank-statement","author_id":396033157154,"comments_disabled":true,"draft":false,"promoted":false,"position":0,"vote_sum":0,"vote_count":0,"section_id":16125189329687,"created_at":"2023-08-24T11:23:23Z","updated_at":"2026-06-03T17:41:00Z","name":"Why does the transaction date returned by Plaid's API differ from the date on my bank statement?","title":"Why does the transaction date returned by Plaid's API differ from the date on my bank statement?","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-06-03T17:41:00Z","user_segment_id":null,"permission_group_id":1121774,"content_tag_ids":[],"label_names":[],"body":"<p><em>Note: this article is in reference to European institutions only</em></p>\n<p>After a transaction has been posted on your banking statement, it will be associated with two distinct DateTime values: the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">BookingDateTime</code> and the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">ValueDateTime</code>. To provide some context:</p>\n<ul>\n<li>The <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">BookingDateTime</code> signifies the date and time when a transaction entry is posted to an account</li>\n<li>The <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">ValueDateTime</code> represents the date and time at 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</li>\n</ul>\n<p>When Plaid returns a posted transaction via the transactions API, it will consistently return the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">BookingDateTime</code> as the posted date and time. This is because returning the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">BookingDateTime</code> is mandatory as per the Open Banking specification, meaning banks must return this value in their API responses. In contrast, the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">ValueDateTime</code> is optional as per the Open Banking specification, meaning that banks are not obliged to provide the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">ValueDateTime</code> value.</p>\n<p>Generally, most banks will use the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">BookingDateTime</code> 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 <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">ValueDateTime</code> on their banking statements instead.</p>\n<p>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 <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">date</code> and <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">authorized_date</code> fields. The date field corresponds to the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">BookingDateTime</code>, while the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">authorized_date</code> represents the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">ValueDateTime</code>.</p>","user_segment_ids":[]}}