Differences in balance can occur between /transactions/get
or /transactions/sync
responses and accounts/balance/get
responses.
The reason for this is because requests to the accounts/balance/get
endpoint directly contact the financial institution in real-time to get the current balance at that precise moment in time. Whereas, the balances object within the /transactions/get
or /transactions/sync
response is accurate as of the time Plaid made our scheduled request for transaction data from your institution. Since scheduled requests for new transactions typically occur a handful of times per day, the balance object will not update with every request to the transactions endpoint. Balances will only update once Plaid has checked fresh transaction data.
Please note that depending on the institution, these checks for fresh data occur less frequently, such as once per day. An Item's status.transactions.last_successful_update
field, available via /item/get
, will show the timestamp of the most recent successful update. To force Plaid to check for new transactions, you can use the /transactions/refresh
endpoint.
If you require real-time balances, then we recommend using our /accounts/balance/get
endpoint. If you are only utilizing the Transactions product, then you can leverage our Transactions webhooks which will alert you to when new transactions data is available, including an updated balance.