Text PJ
⚠️ Xero · Bank Feed · 2026 Operator Fix

Xero refresh bank feed not working?
It's almost never Xero.

A stuck Xero bank feed almost always means the bank refused the pull — expired consent, MFA reset, the bank's API hiccupping, or your 90-day open-banking re-auth window quietly closed. The fix is one of five layers, and 70% of the time it's layer 1 (re-auth at the bank) or layer 3 (account-link expired).
⚡ TL;DR · 60-second read "Xero bank feed not refreshing" almost never means Xero is broken. Walk the 5 layers in order before opening a Xero ticket. Layer 1: Re-auth (Manage Account → Refresh Connection — the 90-day open-banking rule kills more feeds than anything else). Layer 2: Bank's API status (if your bank's API is down, Xero physically can't pull). Layer 3: Account-link expired (separate from re-auth — token gets invalidated by password changes, MFA resets). Layer 4: Xero rate limits (during EOM, feeds queue). Layer 5: Browser/cache (sometimes data IS there, dashboard just won't show it). Fix is usually layer 1 or 3 — Manage Account → Refresh Connection → re-auth at the bank. Decision tree below isolates which layer in 90 seconds.

The 5 layers · walk them in order, not in panic.

Each layer is independently checkable in 60-90 seconds. Skipping layers is what turns a 5-minute fix into a 2-day Xero support ticket about a problem the bank already told you about.

LAYER 1

Re-auth · did the 90-day consent window close?

Open banking (PSD2 in EU/UK, equivalent rules elsewhere) requires the user to re-authorize their account every 90 days, full stop. Xero will silently stop pulling new transactions until you re-consent at the bank. This is the single most common cause of "Xero bank feed stopped working overnight." Xero usually emails 7-14 days before the consent expires, but the email lands in spam more often than not.

What to do: Accounting → Bank Accounts → click the affected account → Manage Account (top right) → look for "Refresh Connection" or "Reconnect" in the dropdown. Click it. You'll be redirected to your bank, asked to log in + complete MFA, then bounced back to Xero. New transactions usually appear within 1-4 hours. If you don't see "Refresh Connection" — the connection is healthy at the consent level; skip to Layer 2.
LAYER 2

Bank's API status · is the bank actually serving feed requests right now?

Xero pulls feeds via direct bank APIs, Yodlee, Plaid, or other aggregators depending on the institution. If the bank's API is down or rate-limiting, no amount of clicking Refresh in Xero will help. Major banks publish status pages; check before assuming Xero is the issue. Outages are short (minutes to hours) but cluster around scheduled maintenance windows — typically weekends and overnight in the bank's home timezone.

What to check: Search "[your bank name] api status" or "[your bank name] open banking status." Examples — Chase: status.chase.com · NAB: status.nab.com.au · HSBC: www.hsbc.co.uk/help/service-status · Barclays: www.barclays.co.uk/help/service-status. Also check Xero's own status: status.xero.com — if Xero is degraded, the entire dashboard tells you. If both are green and Layer 1 didn't fix it, continue to Layer 3.
LAYER 3

Account-link expired · did your bank credentials change underneath the feed?

Separate from Layer 1's regulatory re-auth: the underlying access token can be invalidated by a bank-side event you don't think of as "feed-related." Common triggers: bank password reset, MFA device replacement, new login from a new device, security review by the bank, account number change after a fraud event. The symptom looks identical to Layer 1 — Xero shows "feed connection broken" or just stops updating — but the fix is full reconnect, not just re-auth.

What to do: Manage Account → Edit Account Details → look for the bank-feed connection card. If it shows "Disconnected" or "Connection error," click Reconnect (this is a deeper flow than Refresh Connection — it re-establishes the consent grant from scratch). You'll re-enter credentials at the bank. If the bank rejects the credentials → log into the bank's website directly first to verify they work; you may have an unresolved password reset or a security hold the bank hasn't told you about clearly.
LAYER 4

Xero rate limits · are you hitting an end-of-month queue?

Xero throttles feed pulls per institution and per account during high-load periods — month-end, quarter-end, and the first 1-2 business days of a new tax year are the worst. Single bank, brief delay (a few hours late) = normal during these windows. Multiple banks all stuck for hours = Layer 1 or Layer 3, not rate limits. Rate-limit delays look like "feed last refreshed: yesterday" with no error message.

What to check: Look at the timestamp on the bank account card — if it says "last refreshed: a few hours ago" without an error banner, you're queued, not broken. Wait 4-6 hours and re-check before escalating. If it's been 24+ hours with no error and no new data, treat it as Layer 1 or 3 even if Xero hasn't surfaced an error message yet (Xero sometimes fails silently when the bank returns ambiguous error codes).
LAYER 5

Browser / cache · is the feed actually fine and the dashboard just stale?

The least-likely layer but the cheapest to rule out. Xero's web dashboard caches account states aggressively, and a stuck cached view can show "no new transactions" when the API actually has them. Same for browser-side caching of the bank-account page after a long session.

What to do: Hard-refresh the Xero tab (Cmd+Shift+R on Mac, Ctrl+Shift+R on Windows). Log out of Xero entirely, close the browser, log back in. Try a different browser or incognito window. If the data appears in incognito but not in your normal browser → browser extension or stale session is the cause; clear cookies for xero.com. If still no data after a fresh session → Layer 5 isn't it; loop back to Layer 1.

Decision tree · by what your dashboard is actually showing.

If you've already eyeballed the layers and want a faster path, walk this tree based on what Xero is telling you in the bank-account card.

Q1: What does the bank account card in Xero say?
"Feed connection broken" or red banner → Layer 1 or 3: re-auth at the bank.
"Last refreshed: a few hours ago" with no banner → Layer 4: probably queued, wait.
"Last refreshed: 1+ days ago" with no banner → silent fail, treat as Layer 1.
Looks fine in card but transactions missing → continue to Q2.
Q2: Are the missing transactions inside the feed's date window?
Yes (last 30-90 days) → check Xero status page + bank status page; if both green, Layer 5 (cache) before escalating.
No (older than 30-90 days) → feeds don't backfill historical transactions; import via CSV or OFX.
Today's transactions specifically → most feeds settle overnight; today's posts often show tomorrow.
Q3: Did this start after a bank-side event (password change, new device, fraud alert)?
YesLayer 3: full reconnect, not just refresh.
Started suddenly with no obvious triggerLayer 1: 90-day consent likely expired.
Has been intermittent for daysLayer 2: check the bank's status page for a known issue.
Q4: Are you in EU/UK/AU on a PSD2 or open-banking regulated feed?
→ If yes, the 90-day re-auth rule is the default suspect for any unexplained feed silence. Calendar a quarterly Refresh Connection check; it's not optional.

The three paths from here · pick by where you're stuck.

Three ways out of a stuck Xero bank feed, ranked by how invasive the fix is.

Path 1 · Self-fix in 5 minutes. (70% of cases)

Walk Layer 1: Manage Account → Refresh Connection → re-auth at the bank. If that doesn't surface as an option, walk Layer 3: Edit Account Details → Reconnect. New transactions appear within 1-4 hours. Calendar a quarterly Refresh Connection check so you don't get caught by the next 90-day window.

Path 2 · Xero support ticket. (25% of cases)

If Layers 1 + 3 both fail (re-auth + reconnect both error out at the bank's redirect, OR succeed but no transactions arrive after 24 hours), the issue is downstream of you. Open a ticket at central.xero.com with: bank name, account last-4, exact timestamp of last successful refresh, screenshot of the error from the redirect flow. Xero's bank-feeds team typically responds in 1-3 business days. Include the bank's status-page URL in your ticket — saves a back-and-forth.

Path 3 · Manual import + Text PJ for a second pair of eyes. (5% of cases)

If you need transactions in Xero RIGHT NOW for a payroll or compliance deadline, log into the bank's website → export OFX or CSV → Accounting → Bank Accounts → Manage Account → Import a Statement. Bridges the gap while the feed is fixed. Text PJ if the recurring pattern is killing your monthly close — sometimes the fix is switching from a Yodlee feed to a direct feed (or vice versa), and that's worth a 5-minute conversation before you commit to a multi-month workflow change.

When to text PJ · vs. open a Xero ticket.

Both are free. The choice is about what kind of answer you need.

Text PJ when: you've walked the layers and want a sanity-check before opening a Xero ticket, you suspect the feed-provider mix (direct vs Yodlee vs Plaid) is the structural problem, or your monthly close keeps getting blown by recurring re-auth pain and you want an operator opinion on workflow design (calendar reminders, import fallback, multi-account ordering).

Open a Xero ticket when: re-auth + reconnect both fail at the bank's redirect, the feed is silently failing with no error message for 48+ hours, or you suspect a Xero-side bug specific to your account (e.g., feed showed up in another tenant's books). Xero's the only one who can fix tenant-level feed bugs.

Why "Xero bank feed not refreshing" is an operator-translation problem.

"Refresh bank feed not working" tells you nothing about which of five completely different problems you're hitting. The Xero dashboard is honest — it says "stuck" — but the cause lives upstream: at the bank's API, the consent layer, the feed provider, or the regulatory window that quietly expired without you noticing.

Most "Xero bank feed broken" Reddit / community answers chase the wrong layer. They assume Xero outage when the real cause is the bank's PSD2 consent window (Layer 1) or a password reset that broke the access token (Layer 3). The translation is: "the feed is a chain — Xero ↔ feed provider ↔ bank's API ↔ bank's consent layer. The dashboard tells you the chain is broken; it doesn't tell you which link."

This is the same pattern as QuickBooks bank-feed errors, FreshBooks Plaid disconnects, or Stripe → bank-account verification failures. Every accounting platform that pulls bank data has a 5-ish-layer permission stack; the fix is always the same recipe — walk the layers in order, don't guess. The recurring ones (Layer 1 every 90 days) deserve a calendar reminder, not a panic ticket each quarter.

Xero didn't break.
Your bank's consent quietly expired.
Walk the layers in order — the fix is almost always layer 1 or 3.

Stuck on a Xero bank feed?

If you've walked the 5 layers and the feed is still silent, text the bank name + last-4 + which layers you've ruled out. Operator opinion, not Xero support — but I'll usually get you to the right layer faster. Free either way.

Text PJ · 858-461-8054
You can go at it without SideGuy — but no custom shareables for your friends & family. You'll be short a bag of laughs. 🌸
PJ Text PJ 858-461-8054
🎁 Different accounting tool? Different stack?

QuickBooks? FreshBooks? Plaid disconnect?

Text PJ a sentence about what you're actually hitting — I'll build you a free custom troubleshooting shareable on the house. No email, no funnel, no SOW.

📲 Text PJ — free shareable
~10 min turnaround. Your friends will love it.

I'm almost positive I can help. If I can't, you don't pay.

No signup. No seminar. No bullshit.

PJ · 858-461-8054