Refreshing a Xero bank feed: what it pulls in, and what it can't reach
Xero's refresh belongs to the bank account rather than to any global menu: open the Accounting menu, select Bank accounts, and use the menu next to the account whose feed you want. Refreshing asks for the latest available lines early instead of waiting for the next scheduled update, which Xero documents as roughly every twelve hours. It won't help if the open banking consent has expired, if the bank or its provider is in an outage, if the account was never eligible for a feed, or if the lines you're missing are already behind you.
Where the refresh actually sits
The refresh belongs to the individual bank account rather than to a settings screen somewhere, which is why looking for one control that updates everything gets you nowhere. You reach it the way you reach everything else about that account, from the Accounting menu, then Bank accounts, then the menu icon next to the account you care about.
Xero's own account of how often feed transactions arrive and of refreshing a feed by hand rather than waiting for the next cycle. Worth reading once, because it sets the expectation the rest of this page is built on.
The per-account view, reached through the same menu: click the menu icon next to the account and choose View Status Updates. It's the only screen that knows anything about your connection rather than everyone's.
Where you see exactly which lines arrived and on what date, which is the number that decides whether refreshing is even the right move.
Not every account offers a manual refresh, and an account without one isn't faulty. Banking data reaches Xero by more than one route, and some of those routes arrive on the bank's own schedule with nothing at your end to trigger, so the option simply isn't there to click. If that's your account, go straight to the date of the last statement line instead, because it tells you considerably more than a refresh would have.
Refresh once, then look at whether the date of the last statement line moved, because that's the only thing that tells you whether anything arrived. Pressing it a second time while you watch the screen answers nothing the first press hasn't already answered.
What a refresh actually does
A refresh asks for the lines that are available now instead of waiting for the next scheduled update, and Xero puts that schedule at roughly every twelve hours. So an account that looks a day behind at nine in the morning is very often an account that hasn't had its second update yet, and a refresh is the quickest way to stop wondering about it before you start troubleshooting something that isn't broken.
What it can't do is produce a transaction the bank hasn't published, so a card payment sitting as an authorisation rather than a settled transaction isn't waiting somewhere to be collected, and asking again on the hour won't change that. A refresh changes the timing of what you get rather than the coverage, and most of the frustration people have with it comes from expecting the second thing.
It's also worth separating refresh from reconnect, because they get reached for as though they were two strengths of the same action, when a refresh uses the connection you already have and asks it for more, and a reconnect throws that connection away and builds a new one, which means reauthorising at the bank and accepting whatever history the new connection brings with it. Doing that on top of transactions you've already imported by hand is the standard route to a set of duplicate statement lines you then have to find and unpick, so refresh first, and only reconnect once you know what's genuinely wrong.
- Connect your bank to XeroThe ways an account gets connected in the first place, which is why not every feed offers the same controls.
- Getting banking data into XeroXero's own summary of the different routes banking data takes into an org, and why they don't all behave the same.
- Find and remove duplicate bank statement linesWhat cleaning up after a doubled period involves, which is the argument for refreshing before you reconnect anything.
Four times refreshing changes nothing
Refreshing is cheap and worth doing once, and it's the second, third and tenth attempt that eats the morning, because in four fairly common situations the result is identical every time you press it.
- The open banking consent has expired. In the UK the connection between your bank and Xero has to be reauthorised every ninety days, which is a regulatory requirement rather than a fault, so a refresh sent through a lapsed authorisation has nothing to collect and renewing the connection is the only thing that moves it.
- The bank or its provider is in an outage. Xero keeps a disruptions page listing the feed problems it currently knows about by region, and if your bank is on it, nothing at your end changes the outcome, so leave the connection alone and wait, because disconnecting during an outage means giving up a working connection to reauthorise into a broken one.
- The account was never eligible for a feed. Eligibility is decided per account rather than per bank, so an account can sit alongside a perfectly healthy feed at the same institution with nothing behind it to refresh at all, and the missing refresh option is often the first sign of it.
- The lines you want are already behind you. A refresh pulls forward from wherever the feed currently sits, so a period the feed missed while it was down or disconnected stays missed however many times you ask for it, and this is the one that costs people the most time, because the button is right there and it feels like it ought to reach back.
Only the first of those has a fix that lives inside Xero, and the order to work through the first three in is the whole subject of our guide to a Xero bank feed that has stopped working. The third and fourth leave you holding transactions that are never arriving through the feed, which is a different problem that looks identical from the dashboard.
- Xero statusWhether the platform itself is having an incident, which is worth ruling out before you blame one account.
- Disruptions to bank feedsThe significant feed outages Xero currently knows about, listed by region. A quiet status page alongside a listed disruption is the normal combination.
Write down the date of the last line before you touch anything
Open the account's statement lines first and note the date of the last one that arrived, because that single date decides what you do next and it's the only number on the screen that separates a feed running a few hours behind from one that stopped a fortnight ago. Our guide to checking Xero bank feed status covers the three places that answer the second question.
It's also the number you'll want later on, because whatever eventually fixes the connection, the feed restarts from the day it's fixed, which makes the date of that last line the opening of the gap you'll be reconciling around for the rest of the year. Writing it down before you reconnect costs nothing, and working it out afterwards from a half-filled account, with the new lines already sitting on top of the old ones, takes far longer than it should.
Check the transaction has actually settled at the bank before you blame the feed for it. A pending card authorisation isn't a statement line yet at either end, and it'll arrive on its own once it clears.
Why the missing weeks stay missing
A feed that comes back to life comes back forward only, so reauthorised consent, a resolved outage and a reconnected account all leave the same shape behind: Xero starts receiving from the moment the connection works again, and the stretch before that isn't queued anywhere for a refresh to sweep up. From Xero's side nothing is wrong any more, so nothing flags it, and the account quietly reconciles from today onward while staying short for the weeks before.
There's a second version of this that catches people out on new connections rather than broken ones, because however far back a feed reaches when you first set it up, and for plenty of accounts that's twelve months at most, that's the whole of the history you're getting from it, and no amount of refreshing extends it by a day. Anything older than the reach of the connection is a statement job from the outset, which is much better to know on day one than in month three of a catch-up.
Either way, that shortfall is what most people are really chasing when they go looking for a refresh button, and it's the one thing the button was never going to give them, because the transactions exist, the bank will hand over a statement covering them without argument, and they're simply not in the ledger.
Xero's documented answer for that is the manual import, which accepts CSV, OFX, QBO, QFX and QIF, and not PDF, which is the only format plenty of banks will give you. It works, and it's the same job every month for every affected account, with nothing recomputing the running balance and nothing confirming the export covered the whole period. The overlap is the awkward part, because a statement downloaded to cover a gap almost always runs a few days past the point the feed woke up, and importing that overlap is how duplicate statement lines get created and then hunted line by line.
Posting the missing period as feed lines instead
StatementClear is built for the part a refresh can't reach. You create a feed for the account that's short, upload the statement the bank gave you as PDF, CSV or Excel, map the columns once, and the lines post into Xero through the same Bank Feeds API the native feeds use, so they arrive as feed lines rather than as another imported file sitting beside them.
The checking is the product rather than the upload, so every line is deduplicated against what's already posted to the account, which is what makes it safe to cover a period the feed partly delivered, and the running balance is recomputed from the statement and checked before anything reaches the ledger, so a missing page or a truncated export gets caught instead of being quietly reconciled around. Inverted signs get caught too, and that's the error worth the most to find early, because a payment posted as a receipt reconciles perfectly happily and leaves the account out by twice the amount.
The column mapping is saved per account, so the second statement is an upload and nothing more. For an account that was never eligible for a feed in the first place, which covers most accounts held at a bank outside Xero's feed regions, that isn't a one-off repair either, it's how the account gets fed every month from here on.
- Import a CSV bank statementXero's documented manual fallback, the formats it accepts, and the one format it doesn't.
- Bank Feeds API overviewThe interface a posted feed line arrives through, and why that isn't the same as an imported file.
Refreshing can't reach the weeks the feed already missed. An upload can.
StatementClear posts the statements you already export into Xero as live bank feed lines, deduped and balance-checked before anything reaches the ledger.