{"id":677,"date":"2026-08-23T23:34:07","date_gmt":"2026-08-23T16:34:07","guid":{"rendered":"https:\/\/easystatementsheet.com\/blog\/xero-bank-feed-troubleshooting\/"},"modified":"2026-10-16T13:39:55","modified_gmt":"2026-10-16T06:39:55","slug":"xero-bank-feed-troubleshooting","status":"publish","type":"post","link":"https:\/\/easystatementsheet.com\/blog\/xero-bank-feed-troubleshooting\/","title":{"rendered":"Xero Bank Feed Troubleshooting: Yodlee Outages and the 30-Day Import Window"},"content":{"rendered":"<p><strong>Xero lost the bank feed.<\/strong> The transactions stopped syncing on the 14th. You have 16 days of unposted transactions and the close is in 5 days.<\/p>\n\n<p>Xero bank feed failures usually trace to one of 3 places: Yodlee (Xero&#8217;s connection provider), the bank itself, or Xero&#8217;s reconciliation engine. This page covers the 3 Xero-specific failure modes, the manual import window, and the 12-minute recovery workflow.<\/p>\n\n<blockquote class=\"wp-block-quote\"><p>Xero&#8217;s bank feed uses Yodlee for most US banks. Yodlee outages cause most Xero feed failures. The outage affects every Xero feed using that connection, often 5-10 accounts per bookkeeper. The recovery: download the affected statements, convert to .qbo or .csv with the recon cutoff tool, import via Accounting \u2192 Bank Accounts \u2192 Import statement.<\/p>\n\n<p>Xero has 3 specific failure modes that don&#8217;t apply to QBO: the 30-day manual import window (the import is duplicate-safe for 30 days), the Yodlee 24-hour outage cycle (most Yodlee outages resolve within 24 hours), and the bank reconciliation report (Xero&#8217;s built-in tool for finding what didn&#8217;t import).<\/p>\n\n<p>For the generic 5-reason framework, see the <a href=\"https:\/\/easystatementsheet.com\/blog\/bank-feed-failure-quickbooks-xero\/\">bank feed failure guide<\/a>. For QBO-specific, see the <a href=\"https:\/\/easystatementsheet.com\/blog\/quickbooks-bank-feed-troubleshooting\/\">QBO troubleshooting guide<\/a>. For the broader bookkeeper workflow, see the <a href=\"https:\/\/easystatementsheet.com\/blog\/bank-statement-workflow-for-bookkeepers\/\">bank statement workflow for bookkeepers<\/a> pillar.<\/p>\n<\/blockquote>\n<h2 class=\"wp-block-heading\">The Yodlee Outage Problem<\/h2>\n\n<p>Xero&#8217;s bank feed uses Yodlee for most US banks. Yodlee outages cause most Xero feed failures. The outage affects every Xero feed using that connection, often 5-10 accounts per bookkeeper. The outage is silent: the feed shows &#8220;Connected&#8221; and &#8220;Last synced today&#8221; but no new transactions are pulled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What most guides miss about bank feed connection is that the quality depends on the mechanism, not on the tool. Two tools that look different on the surface often run the same 4-step process underneath: read, find, parse, verify. The difference is in how well each step handles edge cases (merged cells, missing balances, non-standard date formats, scanned vs digital input).<\/p>\n<p>Choosing between tools based on UI alone misses the actual quality lever.<\/p>\n\n\n\n<p>Yodlee outages happen 4-6 times per year, lasting 2-48 hours each. The outage usually resolves itself, but during the outage window, every Xero feed is stuck. The bookkeeper finds out when they open the client file and notice the transactions haven&#8217;t synced since the outage started.<\/p>\n\n\n<h3 class=\"wp-block-heading\">How to Detect a Yodlee Outage<\/h3>\n\n<p>Yodlee outages are silent. The feed status shows &#8220;Connected&#8221; but transactions aren&#8217;t pulling. The detection is manual: open each client file, check the last sync date, and compare against today&#8217;s date. If the last sync is more than 24 hours old and the feed shows &#8220;Connected,&#8221; it&#8217;s likely a Yodlee outage.<\/p>\n\n\n<p>The recon cutoff tool&#8217;s archive feature tracks the last sync date for each Xero feed. After each month-end close, the tool logs the last sync date. If the gap is more than 24 hours, the bookkeeper can investigate before the close.<\/p>\n\n\n<h2 class=\"wp-block-heading\">The 30-Day Manual Import Window<\/h2>\n\n<p>Xero has a 30-day window for manual import without creating duplicates. The 30 days start from the last feed transaction. If the feed pulled a transaction on the 14th and you import the PDF on the 18th, Xero recognizes the imported transactions as duplicates and skips them.<\/p>\n\n\n<p>After 30 days, the manual import creates duplicates. The fix is to either match each imported transaction manually against the existing feed entry, or to delete the existing feed entries and re-import.<\/p>\n\n\n<p>The 30-day window is more forgiving than QBO&#8217;s behavior. QBO will create duplicates on the same day. Xero&#8217;s 30-day window gives you time to recover without manual de-duplication.<\/p>\n\n\n<h3 class=\"wp-block-heading\">When the 30-Day Window Doesn&#8217;t Apply<\/h3>\n\n<p>The 30-day window only applies if the feed was working before the failure. If the feed was disconnected for 30+ days, the import will create duplicates. The fix is to disconnect the feed in Xero before importing, then reconnect after the import.<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/easystatementsheet.com\/blog\/wp-content\/uploads\/sol-duplicate.jpg\" alt=\"Xero Bank Feed Troubleshooting: Yodlee Outages and\" title=\"\"><figcaption>Xero Bank Feed Troubleshooting: Yodlee Outages and<\/figcaption><\/figure>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/easystatementsheet.com\/blog\/wp-content\/uploads\/sol-missing.jpg\" alt=\"Xero Bank Feed Troubleshooting: Yodlee Outages and\" title=\"\"><figcaption>Xero Bank Feed Troubleshooting: Yodlee Outages and<\/figcaption><\/figure>\n\n\n<div class=\"easys-ess-cta-in-article easys-entity-placement\" id=\"easys-3622481175\"><div id=\"easys-1524447391\" role=\"region\" aria-label=\"Advertisements\"><div style=\"border:1px solid #e1e7e2;border-radius:8px;padding:20px;margin:28px 0;background:#f7faf7\">\r\n  <p style=\"margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.3\">Turn That PDF Into a Spreadsheet in Minutes<\/p>\r\n  <p style=\"margin:0 0 16px;line-height:1.6\">You've seen how to do it manually \u2014 now let the tool handle the heavy lifting. Upload your bank statement and get Excel, CSV, or QBO in a few clicks.<\/p>\r\n  <a href=\"https:\/\/easystatementsheet.com\/?utm_source=blog&utm_campaign=ess-cta-01\" style=\"display:inline-block;background:#1e7a4c;color:#fff;text-decoration:none;padding:10px 18px;border-radius:6px;font-weight:600\">Try It Free<\/a>\r\n<\/div><\/div><\/div><h2 class=\"wp-block-heading\">The Bank Reconciliation Report<\/h2>\n\n<p>Xero&#8217;s bank reconciliation report is the built-in tool for finding what didn&#8217;t import. The report is at Accounting \u2192 Reports \u2192 Bank Reconciliation. The report shows: starting balance, ending balance, cleared transactions, uncleared transactions, and the gap between the bank statement and the books.<\/p>\n\n\n<p>The report is updated in real time. If a feed outage causes 16 days of unposted transactions, the bank reconciliation report shows the gap. The gap is what you need to fill with the manual import.<\/p>\n\n\n<p>The recon cutoff tool&#8217;s per-period split aligns with the bank reconciliation report. Pre-cutoff transactions for the current period, post-cutoff transactions marked OUTSTANDING. The reconciliation report shows OUTSTANDING transactions in the &#8220;Uncleared&#8221; section, which is exactly where they belong.<\/p>\n\n\n<h2 class=\"wp-block-heading\">The 12-Minute Recovery Workflow<\/h2>\n\n<p>When a Xero feed fails, the recovery is the same regardless of cause. The 6 steps take 12 minutes per account.<\/p>\n\n\n<h3 class=\"wp-block-heading\">Step 1: Confirm the Outage<\/h3>\n\n<p>Check Xero&#8217;s status page (status.xero.com). If there&#8217;s a Yodlee outage, Xero posts it on the status page. If the status page shows no outage, the issue is bank-specific.<\/p>\n\n\n<h3 class=\"wp-block-heading\">Step 2: Check the Bank Reconciliation Report<\/h3>\n\n<p>Open Accounting \u2192 Reports \u2192 Bank Reconciliation. Note the gap between the bank statement and the books. The gap is the number of transactions you need to import.<\/p>\n\n\n<h3 class=\"wp-block-heading\">Step 3: Download the PDF<\/h3>\n\n<p>Log into the bank portal. Download the statement as PDF. The bank-specific download paths are in the <a href=\"https:\/\/easystatementsheet.com\/blog\/export-bank-statement-by-bank\/\">bank export guide<\/a>.<\/p>\n\n\n<h3 class=\"wp-block-heading\">Step 4: Convert with the Recon Cutoff Tool<\/h3>\n\n<p>Upload the PDF to the recon cutoff tool. The tool emits a .qbo file or a .csv file. The per-period split is automatic: pre-cutoff for the current period, post-cutoff marked OUTSTANDING.<\/p>\n\n\n<h3 class=\"wp-block-heading\">Step 5: Import to Xero<\/h3>\n\n<p>In Xero, go to Accounting \u2192 Bank Accounts \u2192 Import statement. Select the .csv or .qbo file. Xero&#8217;s 30-day manual import window means no duplicates if the feed was working within the last 30 days.<\/p>\n\n\n<h3 class=\"wp-block-heading\">Step 6: Verify the Reconciliation Report<\/h3>\n\n<p>Re-run the bank reconciliation report. The gap should be closed. If transactions are still missing, the import didn&#8217;t catch all of them, or the per-period split is off. Re-convert with the recon cutoff tool and re-import.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Xero vs QBO: The Differences<\/h2>\n\n<p>Xero and QBO handle bank feeds differently. The 3 main differences matter for bookkeepers managing both platforms.<\/p>\n\n\n<p><strong>Connection provider.<\/strong> Xero uses Yodlee. QBO uses Yodlee, Finicity, and Plaid depending on the bank. QBO&#8217;s multi-provider approach is more resilient: if Yodlee is down, QBO can fall back to Finicity for some banks. Xero has no fallback.<\/p>\n\n\n<p><strong>Manual import window.<\/strong> Xero&#8217;s 30-day window is more forgiving than QBO&#8217;s same-day duplicate detection. Xero bookkeepers have more time to recover without manual de-duplication.<\/p>\n\n\n<p><strong>Reconciliation report.<\/strong> Xero&#8217;s bank reconciliation report is a built-in tool. QBO&#8217;s reconciliation worksheet is more powerful but requires manual setup. Bookkeepers managing both should learn both tools.<\/p>\n\n\n<h2 class=\"wp-block-heading\">The Yodlee Outage Calendar<\/h2>\n\n<p>Yodlee outages happen 4-6 times per year. The outages are predictable: they tend to cluster around bank maintenance windows, end-of-month cycles, and major US holidays. The bookkeeper who knows the pattern can plan around it.<\/p>\n\n\n<p>The 3 prevention tactics for Yodlee outages.<\/p>\n\n\n<p><strong>Batch PDF download before known outage windows.<\/strong> End of month, end of quarter, and the days around US holidays (Thanksgiving, Christmas, New Year) are the highest-risk windows. Download PDFs before these windows even if the feed is working.<\/p>\n\n\n<p><strong>Monitor Xero&#8217;s status page.<\/strong> status.xero.com shows current and recent Yodlee outages. Check it every Monday. The page also has an RSS feed for outage alerts.<\/p>\n\n\n<p><strong>Document every Yodlee outage.<\/strong> Log the date, the affected clients, the recovery time, and any client communication. After 6 months, you have data on which clients are most affected. This data lets you prioritize the manual import workflow for high-risk clients.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A common failure mode bookkeepers report is treating this as a single operation rather than a chain of dependent steps. The temptation is to find a tool that &#8216;just works&#8217; and stop investigating the mechanism.<\/p>\n<p>The result is a wrong-fix cycle: the tool gives partial output, the bookkeeper spends 30+ minutes troubleshooting, the fix is for the wrong step, and the same error recurs on the next statement. The fix: identify which step failed and apply the right intervention to that step.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When to Contact Xero Support<\/h2>\n\n<p>Contact Xero support when the recovery steps don&#8217;t work. The 3 scenarios that need support: a Yodlee outage that lasts more than 48 hours, an account that disconnects immediately after reconnection, or a feed that connects but pulls zero transactions for 2+ cycles.<\/p>\n\n\n<p>Xero support responds within 24 hours for paid plans (Xero Growing and higher). The support team can see the connection logs and identify the issue. The recon cutoff tool&#8217;s archive feature gives you the documentation to send to support: error timestamp, account number, last successful transaction, and the steps you already took.<\/p>\n\n\n<p>For the generic 5-reason framework, see the bank feed failure guide . For QBO-specific, see the QBO troubleshooting guide . For the broader bookkeeper workflow, see the bank statement workflow for bookkeepers pillar. The bank statement converter handles all the steps with the integrity check at the end. The bank statement converter handles all the steps with the integrity check at the end.<\/p>\n<p>The bank statement converter handles all the steps with the integrity check at the end. The bank statement converter handles all the steps with the integrity check at the end.<\/p>\n\n<h2>Related: <a href=\"\/blog\/complete-guide-bookkeeper-bank-statement-workflow\/\">\u0001<\/a><\/h2>\n<p>This topic is part of the bookkeeper-resource cluster on this site. The consolidated hub, covering onboarding, monthly close, year-end, client deliverables, and multi-entity workflows, lives in the complete bookkeeper workflow guide.<\/p>\n\n<p>For related reading on the broader clusters, the <a href=\"\/blog\/complete-guide-merchant-category-codes-bank-statements\/\">\u0001<\/a> covers credit-card-side mechanics, and the <a href=\"\/blog\/complete-guide-bank-payment-rails-us\/\">\u0001<\/a> covers bank-account-side mechanics. The expanded bank statement anatomy is a useful primer.<\/p>\n\n\n<h2>Decision framework for this topic<\/h2>\n<p>For the broader context on US bank-statement reading, see the consolidated hubs on merchant category codes, payment rails, and the statement anatomy. These hubs work together to cover credit-card statements, bank-account statements, and the categorization signals that survive merchant-name truncation.<\/p>\n<p>Each hub is built to be the canonical reading for one cluster of search intent, with cross-cluster links that take you to the right next node.<\/p>\n<p>When reconciliation runs into edge cases, the practical answer usually lives in the federal-regulations cluster, the bookkeeper-resource cluster, or the credit-card-statements cluster. Each offers a domain-specific take on the same underlying signal. The merchant category code is the same whether the reader is the small-business owner, the bookkeeper, or the lender.<\/p>\n<p>For lender workflows, the merchant category code on credit-card statements and the ACH SEC code on bank-account statements are the two signals underwriters most often scan first. Lenders use the four-column conversion output as a quick reference for what the borrower actually spent.<\/p>\n<p>Cash advances flagged at MCC 6011 and quasi-cash at MCC 6051 draw particular scrutiny at mortgage underwrite, and crypto exchanges on the ACH rail draw additional questions for self-employed applicants.<\/p>\n<p>For bookkeeper workflows, the categorical signal ties directly into the chart-of-accounts. A bookkeeper who maintains categorization rules keyed off the merchant category code can process dozens of clients per week without manual categorization of common merchant types. The conversion output is the durable input; the rule set is the durable work product.<\/p>\n<p>Easy Statement Sheet reads bank-statement and credit-card statement PDFs into a clean four-column output (Date, Description, Amount, plus Merchant Category Code for credit-card statements, plus the running balance for bank-account statements). Files are never stored. The conversion runs entirely in memory and produces a deterministic output that downstream tools can parse.<\/p>\n<p>The first three statement conversions are free, no card required. Plans start at $15 per month. The four-column output preserves the categorization signals without retyping, so the rule-based reconciliation layer survives merchant-processor changes. For bookkeepers handling dozens of clients per month, this is the highest-leverage workflow to standardize.<\/p>\n\n<h2>Related reading and broader clusters<\/h2>\n<p>For the broader context on US bank-statement reading, see the consolidated hubs on merchant category codes, payment rails, and the statement anatomy. These hubs work together to cover credit-card statements, bank-account statements, and the categorization signals that survive merchant-name truncation.<\/p>\n<p>Each hub is built to be the canonical reading for one cluster of search intent, with cross-cluster links that take you to the right next node.<\/p>\n<p>When reconciliation runs into edge cases, the practical answer usually lives in the federal-regulations cluster, the bookkeeper-resource cluster, or the credit-card-statements cluster. Each offers a domain-specific take on the same underlying signal. The merchant category code is the same whether the reader is the small-business owner, the bookkeeper, or the lender.<\/p>\n<p>For lender workflows, the merchant category code on credit-card statements and the ACH SEC code on bank-account statements are the two signals underwriters most often scan first. Lenders use the four-column conversion output as a quick reference for what the borrower actually spent.<\/p>\n<p>Cash advances flagged at MCC 6011 and quasi-cash at MCC 6051 draw particular scrutiny at mortgage underwrite, and crypto exchanges on the ACH rail draw additional questions for self-employed applicants.<\/p>\n<p>For bookkeeper workflows, the categorical signal ties directly into the chart-of-accounts. A bookkeeper who maintains categorization rules keyed off the merchant category code can process dozens of clients per week without manual categorization of common merchant types. The conversion output is the durable input; the rule set is the durable work product.<\/p>\n<p>Easy Statement Sheet reads bank-statement and credit-card statement PDFs into a clean four-column output (Date, Description, Amount, plus Merchant Category Code for credit-card statements, plus the running balance for bank-account statements). Files are never stored. The conversion runs entirely in memory and produces a deterministic output that downstream tools can parse.<\/p>\n<p>The first three statement conversions are free, no card required. Plans start at $15 per month. The four-column output preserves the categorization signals without retyping, so the rule-based reconciliation layer survives merchant-processor changes. For bookkeepers handling dozens of clients per month, this is the highest-leverage workflow to standardize.<\/p>\n<div class=\"easys-ess-cta easys-entity-placement\" id=\"easys-2378384005\"><div id=\"easys-3495108465\" role=\"region\" aria-label=\"Advertisements\"><div style=\"border:1px solid #e1e7e2;border-radius:8px;padding:20px;margin:28px 0;background:#f7faf7\">\r\n  <p style=\"margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.3\">From Bank Statement to QuickBooks-Ready File<\/p>\r\n  <p style=\"margin:0 0 16px;line-height:1.6\">That manual cleanup you just read about? This tool skips it. Turn your PDF into QBO for QuickBooks without storing your data anywhere.<\/p>\r\n  <a href=\"https:\/\/easystatementsheet.com\/?utm_source=blog&utm_campaign=ess-cta-02\" style=\"display:inline-block;background:#1e7a4c;color:#fff;text-decoration:none;padding:10px 18px;border-radius:6px;font-weight:600\">Start Converting<\/a>\r\n<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Xero lost the bank feed. The transactions stopped syncing on the 14th. You have 16 days of unposted transactions and the close is in 5 days.<\/p>\n","protected":false},"author":2,"featured_media":674,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,31],"tags":[26,39,13,25,14],"class_list":["post-677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bank-statement","category-bookkeeper-resources","tag-bank-statement-tag","tag-bookkeeper","tag-convert-bank-statement","tag-converter","tag-pdf"],"_links":{"self":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts\/677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/comments?post=677"}],"version-history":[{"count":9,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts\/677\/revisions"}],"predecessor-version":[{"id":4481,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts\/677\/revisions\/4481"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/media\/674"}],"wp:attachment":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/media?parent=677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/categories?post=677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/tags?post=677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}