{"article":{"id":15373441901207,"url":"https://plaid.zendesk.com/api/v2/help_center/en-us/articles/15373441901207.json","html_url":"https://support.plaid.com/hc/en-us/articles/15373441901207-Why-do-transactions-sync-or-transactions-get-and-accounts-balance-get-return-different-balances-for-an-Item","author_id":396033157154,"comments_disabled":true,"draft":false,"promoted":false,"position":0,"vote_sum":0,"vote_count":0,"section_id":16125189329687,"created_at":"2023-06-16T21:55:32Z","updated_at":"2026-06-03T17:31:13Z","name":"Why do /transactions/sync or /transactions/get and /accounts/balance/get return different balances for an Item?","title":"Why do /transactions/sync or /transactions/get and /accounts/balance/get return different balances for an Item?","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-06-03T17:31:13Z","user_segment_id":null,"permission_group_id":1121774,"content_tag_ids":[],"label_names":[],"body":"<p>Differences in balance can occur between <a href=\"https://plaid.com/docs/api/products/transactions/#transactionsget\"><code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/transactions/get</code></a> or <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/transactions/sync</code> responses and <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/accounts/balance/get</code> responses.</p>\n<p>The reason for this is because requests to the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/accounts/balance/get</code> endpoint directly contact the financial institution in real-time to get the current balance at that precise moment in time. Whereas, the <a href=\"https://plaid.com/docs/api/products/transactions/#transactions-get-response-accounts-balances\">balances</a> object within the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/transactions/get</code> or <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/transactions/sync</code> 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.</p>\n<p>Please note that depending on the institution, these checks for fresh data occur less frequently, such as once per day. An Item's <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">status.transactions.last_successful_update</code> field, available via <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/item/get</code>, will show the timestamp of the most recent successful update. To force Plaid to check for new transactions, you can use the <a href=\"https://plaid.com/docs/api/products/transactions/#transactionsrefresh\"><code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/transactions/refresh</code></a> endpoint.</p>\n<p>If you require real-time balance data, you have two endpoint options depending on your use case:</p>\n<ul>\n<li>\n<a href=\"https://plaid.com/docs/api/products/signal/#signalevaluate\"><code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/signal/evaluate</code></a> — recommended for ACH transaction risk evaluation. It returns Signal Rules–based recommendations (accept, review, or request a different payment method). It fetches real-time balance from the institution <strong>only when the active ruleset includes a balance rule</strong> (such as a Balance-only ruleset); rulesets without a balance rule do not trigger a real-time balance call.</li>\n<li>\n<a href=\"https://plaid.com/docs/api/products/signal/#accountsbalanceget\"><code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">/accounts/balance/get</code></a> — for non-ACH real-time balance needs such as personal financial management, treasury management, or non-US accounts.</li>\n</ul>\n<p>If you are only utilizing the Transactions product, you can also leverage our <a href=\"https://plaid.com/docs/api/products/transactions/#webhooks\">Transactions webhooks</a> which will alert you when new transactions data is available, including an updated balance.</p>","user_segment_ids":[]}}