A QBO file is OFX data in a QuickBooks wrapper, so errors fall into two groups: the file itself is wrong, or the file is fine and QuickBooks already has what is in it. Message wording differs between QuickBooks Online and Desktop and changes between releases, so match on the cause rather than the sentence.
Triage in this order
- Check it is really a QBO. Open the file in a plain text editor. A genuine file is readable text that begins with header lines such as OFXHEADER:100 (or an XML declaration) followed by OFX tags. A spreadsheet, PDF fragments or one unreadable line means it is not a Web Connect file, whatever the extension says.
- Check size and shape. Intuit lists 350 KB and 1,000 lines per upload for QuickBooks Online. Split larger files by month. One file should hold one account.
- Check the account you picked. Choose the QuickBooks account that matches the file: a checking or savings file into a bank account, a card file into a credit card account.
- Check what QuickBooks already holds. Look through the account’s categorized and excluded transactions for the dates in the file before assuming the import failed.
- Compare dates. Compare the first and last dates in the file with your oldest and newest existing transactions. Overlap explains most duplicates.
- Retry cleanly. Try a private browser window to rule out cached sessions, then upload the same unedited file again.
Most files fail at step one, three or five. Steps two, four and six are quick enough to run every time.
What to look for inside the file
A QBO is plain text, so a two-minute read often finds the problem. After the header lines comes an OFX block. Look for four things:
- The account section. A bank file has a bank statement section with a bank ID, an account ID and an account type. A card file has a credit card section with an account ID only. A type mismatch lives here.
- The transactions. Each sits between
<STMTTRN>tags and carries a type, a posted date, an amount, aFITID, a name and a memo. Every FITID in the file should be different. - The dates. The file’s start and end dates should match the statement period, with no transaction outside it.
- The ending balance. A
LEDGERBALblock holds the closing figure when the statement provides one.
Symptom, cause and fix
Read the table from the top: the first row is about the file, the rest are about what QuickBooks already holds or how the account is set up.
| What you see | Usual cause | First fix |
|---|---|---|
| “The uploaded file isn’t a valid Web Connect file” | Not a real QBO or OFX file, a damaged header, or content QuickBooks cannot parse | Inspect it in a text editor, re-download or re-convert, try a private window |
| Nothing imported, or no new transactions | Every transaction ID is already known to that account, including deleted or excluded lines | Search the categorized and excluded lists; do not re-import |
| Duplicates after import | Overlapping dates, or two sources (feed plus file, bank file plus converted PDF) with different IDs | Exclude the extras; make future files non-overlapping |
| Refused, or signs look inverted, on a card account | Bank-type file into a card account, or amounts carried over in the issuer’s convention | Match file type to account type; check the sign on one purchase and one payment |
| Upload failed, or file too large | Over the 350 KB or 1,000 line limits | Split by month |
| Dates or amounts look wrong in the preview | Day and month swapped, or the wrong column read as the amount | Spot-check three rows against the statement before accepting |
What can go wrong
- Editing the file by hand. A changed amount or ID can pass import and still be wrong. Use the text editor to look, not to change numbers. Fix the source and re-convert.
- Forcing a re-import. Intuit’s Desktop documentation describes a one-time workaround that changes the account ID inside the file. Using it to push overlapping periods through creates duplicates.
- Uploading on top of a live feed. Intuit advises against uploading files for dates a connected account already covers.
- Deleting and re-linking the account to clear QuickBooks’s memory of IDs. You lose history and often end up with a second account. Excluded lines can usually be restored instead.
- Skipping the preview. The select-transactions screen shows what will be added. Check one purchase and one payment there before you confirm; fixing the file is cheaper than undoing an import.
- Accepting a file that was never tied out. A QBO can import without a single error and still carry a misread digit. The opening-to-closing balance check is the test QuickBooks does not run for you.
If duplicates already got in
While they are still in the review list, exclude the second copy of each before accepting anything. If they were already added, remove the extra entry from the register, then reconcile to confirm the account balance is back at the statement’s figure.
Where SheetParser fits
SheetParser writes .QBO, .QFX and .OFX files with a FITID on every row, and shows whether the statement’s opening-to-closing balance ties before you export, so a difference can be fixed first. It cannot promise that a given QuickBooks version will accept the file; if yours rejects one, the triage list above applies. The PDF to QBO converter is free for 1 file a day up to 10 pages, enough to test a real statement; paid plans open files up to 150 pages.