Uploading Bank Statements: CSV, OFX, PDF and Photos

Banking → Statements takes a statement in any format, imports the transactions once, runs your rules and the AI categoriser, and keeps the file, the period and the balances as the paper trail.

Not every bank offers a live feed, and not every month needs one. Banking → Statements lets you drop a statement in whatever your bank exports and get the transactions into your feed the same way a live connection would put them there.

Formats

  • OFX, QFX, QBO — the Open Financial Exchange exports every US bank offers ("download for Quicken/QuickBooks"). Read directly, with the bank's own transaction IDs, the statement period and the closing balance.
  • CSV — read directly. Column names vary by bank; date, description and either an amount column or separate debit/credit columns are recognised, including a preamble above the header.
  • PDF — read by AI from the document's text layer, then balance-checked: the opening balance plus every row it read must equal the closing balance it read, and a mismatch is written to the parse log so an invented or dropped line is visible. A scanned PDF with no text layer is refused with a message, not imported as empty.
  • A photo of a paper statement — read by AI vision, balance-checked the same way.

What happens on import

  • Transactions land in the same feed the CSV importer and the live connection use, so duplicates — same date, amount and description — are skipped, and re-uploading an overlapping statement is safe.
  • Your bank rules run first, then the AI categoriser suggests accounts for whatever is still uncategorised. The register shows how many each handled.
  • The statement row keeps the file, the period, the opening and closing balance, the masked account number when the file carries one, the counts, and the parse log.
  • A statement that could not be read is listed as failed with the reason. Zero rows from a real file is treated as a failure, never as an empty statement.

Reconciling

Start a reconciliation under Reconcile against the closing balance the statement shows. Money in is positive and money out is negative throughout — a credit-card purchase is money out.

Frequently asked questions

My CSV imported nothing.

Open the row: the parse log names the columns it found. The file needs a date column and either an amount column or debit/credit columns. Most banks also offer OFX/QFX, which never has this problem.

Is my statement sent to an AI provider?

Only PDFs and photos are, and only when an AI provider is configured for the platform; CSV and OFX are read by Seayora directly. See the Privacy Policy for how AI-assisted features handle documents.

Related guides

Related features and guides

  • The Tax Center: Year-End Prep, Sales-Tax Returns, 1099s — Documentation. A Schedule C view of your year from the books, an estimate of what to set aside, sales-tax worksheets and returns by state, 1099 preparation, a knowledge base of federal, state and city rules, and an assistant grounded on all of it.
  • Accounting Suite Overview — Documentation. A tour of Seayora’s accounting and bookkeeping tools — invoicing, bills, ledger, bank feeds, reports, automations, and the AI analyst.
  • Bank Feeds & Reconciliation — Documentation. How to connect bank feeds, auto-categorize transactions with rules, and reconcile your accounts each month.
  • Bank Feeds & Reconciliation — Feature. Connect bank feeds and reconcile transactions against the ledger, so what the books say and what the bank says actually match.
  • Bank Reconciliation Explained (and Why It Matters) — Guide. What bank reconciliation is, why every business should do it monthly, and how bank feeds and rules make it fast instead of painful.
  • Accounts Receivable & Collections — Feature. Track outstanding balances across tenants and customers, age receivables, and run collections workflows before small arrears become large ones.

Explore Seayora