A year drawn as twelve segments where only the last three carry any writing, the nine empty ones marked with a bracket

· 5 min read

QuickBooks Online stops at 90 days

Why the QuickBooks Online bank feed reaches back only 90 days, why reconnecting does not help, and the upload route with no date limit.

You connect a bank account to QuickBooks Online, expecting the year to arrive, and about three months land. The rest of the year is not there, and no button on the banking screen brings it.

This is the single most common surprise in catch-up bookkeeping, and it is not a setting you have missed.

Where the 90 days comes from

The limit belongs to the connection, not to QuickBooks. When an account is linked, the bank hands over a window of recent history through its own feed, and for most banks that window is around 90 days. Some give a little more, some noticeably less. QuickBooks stores what it is given.

Two consequences follow, and both catch people out.

Disconnecting and reconnecting does not reset it. A fresh connection asks the same bank for the same window and gets the same three months. Doing it twice produces the same three months and, if the first import is still in the register, a pile of duplicates.

Waiting does not help either. The window moves forward with the calendar. Every day you wait, one more day drops off the far end.

Intuit's own support threads have carried this question for years, and the answer in them has stayed the same: for anything older, upload a file. Their phrasing is worth remembering, because it is the whole solution in one line. There is no date limit on a file you upload.

The three routes to older transactions

Ask the bank for a longer feed. This does not exist as a customer-facing option. Skip it.

Download a file from the bank. Many banks let you export QBO, OFX, QFX, QIF or CSV from online banking, sometimes only for the last 12 or 18 months, sometimes much further. If your bank offers it for the period you need, this is the shortest path: download and upload, no conversion in between.

Convert the statement PDFs. Every bank keeps statement PDFs for years, usually seven, and they are the one export that is always available. QuickBooks Online will now read a statement PDF itself, in English, and ask you to check what it extracted before it saves; Intuit's help article, updated 24 August 2026, puts one upload at up to 1,000 lines. For a single missing month that is the shortest route and you should take it. For a year across several accounts it means reviewing extracted lines inside QuickBooks one upload at a time, which is why converting the statements first is still the route this article is about: the rows arrive in a spreadsheet you can check in one place, the running balance has already been rebuilt and compared with the printed one, and the QBO file lands as bank transactions.

Doing it with statement PDFs

  1. Collect the statements for the months the feed did not bring. Download them from online banking as PDFs. Take whole statement periods rather than custom date ranges: a statement period carries its own opening and closing balance, which is what lets the result be checked.
  2. Convert each one to QBO. Three pages a day are free and no account is needed to try it. Keep one file per statement period rather than merging them, because QuickBooks matches duplicates within an import and a clean period boundary makes the next step obvious.
  3. Check the balance before it becomes a transaction. Every conversion here rebuilds the running balance from the rows it read and compares it, to the cent, against the balance the bank printed on each line. A row that breaks the chain is flagged where it sits. Fix a flagged row while it is still a spreadsheet cell. Once it is a transaction in the register you have to find it again. What the check catches explains how to read one.
  4. Upload into QuickBooks. Transactions, then Bank transactions, then Link account or the Upload from file option, then pick the account. QBO files carry the account and the date format with them, so there is no mapping step. The rows land in the For review queue.
  5. Work backwards, oldest first. Import the oldest period first and move forward. The register then builds in the same order the bank wrote it, and any duplicate at a boundary is obvious because it sits next to its twin.

The full import walkthrough covers the upload screen in detail, including what the common rejection messages mean.

The four things that go wrong

Overlap with the feed. The feed already holds roughly the last 90 days. If a converted statement runs into that period you will import transactions that are already there. QuickBooks matches on the transaction ID in a QBO file, which catches most of it, but a CSV import matches on date and amount and will let close duplicates through. The reliable fix is to cut the statements at the day the feed's history begins.

The opening balance. A bank account in QuickBooks has an opening balance, and if it was set when you connected the feed it reflects the balance 90 days ago, not the balance at the start of the year. Importing older transactions behind that date will make the register disagree with the bank. Set the opening balance to the opening balance printed on the oldest statement you are importing, and let everything build forward from there.

Card statements with the sign flipped. A credit-card statement imported into a Bank-type account puts every purchase on the wrong side. Card statements belong in a Credit Card-type account, where a purchase increases what you owe. Card statements have their own quirks.

The review queue as a to-do list. Imported rows sit in For review until you accept them. A year of catch-up can be several hundred rows, and accepting them without categorizing leaves the work still to do, only now inside QuickBooks. Categorise in batches by description while the rows are still grouped by statement period.

What good looks like at the end

The register runs unbroken from the start of the period you are cleaning up to today. The opening balance matches the oldest statement. Each statement period's closing balance matches what the bank printed. The feed continues from where the last converted statement stopped, with no gap and no double entry at the join.

At that point the 90 day window stops mattering, because you only ever need it to cover the days since your last statement.

Convert a statement and read the balance check. Three pages a day are free and there is nothing to sign up for.

Convert one and see

Three pages a day are free, and you don't need an account to run your own statement through it.