How to Import Bank Transactions into Zoho Books (CSV, OFX, QIF)

Jul 9, 2026

Convert your bank statement to Excel now

PDF, JPG, PNG, BMP, HEIC, TIFF, MT940

Upload your bank statement

To import bank transactions into Zoho Books, go to the Banking module, select the bank or credit card account, and click Import Statement on that account's details page. Zoho Books accepts CSV, TSV, XLS, OFX, QIF, camt.053, and camt.054 files. It does not accept PDF, so if your bank gives you a PDF statement you have to convert it to a CSV before you start.

Last updated July 2026

What formats can Zoho Books import?

Seven, and the one your bank actually sends is not among them.

FormatAcceptedWhen to use it
CSVYesThe default choice. You map the columns during import.
TSVYesIdentical to CSV but tab separated.
XLSYesAn Excel workbook. Mapped the same way as CSV.
OFXYesCarries its own structure, so less mapping.
QIFYesThe older Quicken interchange format.
camt.053 and camt.054YesISO 20022 XML, typically from corporate banking.
PDFNoConvert it first.

Accepting camt.053 and camt.054 is genuinely unusual for a small business accounting package, and it is quietly useful if your bank has moved to ISO 20022 statement reporting. If yours has, you can feed the XML straight in. Everyone else is importing a CSV.

How to upload a bank statement in Zoho Books, step by step

  1. Convert the statement if it is a PDF. Run it through a Zoho Books bank statement converter and download the result as CSV. Keep one row per transaction.
  2. Open Banking. In the left navigation, click Banking. You will see every bank and credit card account you have added.
  3. Select the right account. Click the account the transactions belong to. Importing into the wrong account is the single most common mistake, and undoing it is tedious.
  4. Click Import Statement. The button sits on that account's details page.
  5. Set encoding and delimiter. Zoho Books asks for the character encoding and the file delimiter. UTF-8 and a comma are right for most converted files.
  6. Choose your column structure. Tell Zoho Books how your file expresses money in versus money out. There are three options, covered below.
  7. Map the fields. Point Zoho Books at your date, description, and amount columns. Header names do not have to match.
  8. Import and review. Transactions arrive uncategorized, waiting to be categorized or matched against existing invoices, bills, and payments.

The three column structures Zoho Books understands

Most failed imports die here. Zoho Books has to know how a row says money came in or went out, and it supports exactly three shapes. Decide which one your file matches before you touch the mapping screen.

StructureWhat the file looks likeChoose it when
Double ColumnSeparate Deposit and Withdrawal columnsThe statement already prints debits and credits apart.
Single Column with Amount TypeOne Amount column plus a transaction type columnEach row is labeled as a deposit or a withdrawal.
Single Column with Negative ValuesOne Amount column, positive in, negative outYou want the least that can go wrong. Use this one.

The third option is the one to aim for. A single signed amount column has no ambiguity, no type vocabulary to match, and no risk of a withdrawal landing in the deposit column because a header was mapped a row off.

Why your Zoho Books import failed

Four causes account for nearly all of them.

The file is a PDF. No amount of mapping fixes this. Zoho Books will not read it.

The encoding is wrong. If descriptions come through as boxes or question marks, the character encoding you selected does not match how the file was written. UTF-8 is correct for almost everything produced by a converter.

The dates are inconsistent. A statement pasted by hand often mixes formats partway down, once the PDF switches to a second page layout. Zoho Books maps a date column with a single format, so row 400 fails even though row 1 worked.

Rows are missing. Copy and paste from a PDF quietly drops lines, usually where a page break or a wrapped description sits. You find out at reconciliation, when the closing balance is off by a number you now have to hunt for.

When the bank feed is not the answer

Zoho Books can pull transactions automatically through third party aggregators, and the US and Canada editions offer a Plaid integration alongside Yodlee. When a feed works, use it. It stops working in four situations, and each ends in a manual import.

The aggregator may not support your bank, which is common with community banks and credit unions. The account may be closed, so there is nothing to connect to. You may need history from before you linked the feed, because feeds start collecting on the day you connect them and do not backfill. Or the feed simply breaks, usually after a password change or a multi factor prompt, and Zoho's own guidance points you at manual import as the fallback.

Feeds refresh roughly every 24 hours for banks that do not require multi factor authentication, and a manual refresh is limited to once per day. So when a feed stalls on the last day of the month, importing a converted statement is faster than waiting for it to recover. For the security question your client will inevitably ask: Zoho states it does not store bank login credentials and transmits data over 256-bit SSL.

How far back can you import?

As far back as you have statements. A manual import has no history limit the way a feed does, which is why bookkeepers doing a catch up engagement or migrating a client from another platform start by converting several years of PDF statements into one CSV and importing it in a single pass. The bills and receipts behind those transactions still need capturing too, and at any real volume that means pulling the line items off each document automatically rather than keying them.

After the import: categorizing and reconciling

Imported transactions land as uncategorized. Zoho Books will suggest matches against existing invoices, bills, and payments, and the quality of those suggestions depends almost entirely on how clean your description column is. Cleaning descriptions before import, rather than fixing categories after, is the higher leverage move. Our guide to categorizing transactions from a bank statement covers the mechanics, and if you run several accounts, reconciling multiple bank accounts walks through keeping them in step.

If you also support clients on other platforms, the same conversion step feeds the Xero, Wave, and Odoo importers, none of which read a PDF either. When all you have is the statement itself, start at the bank statement converter.

Frequently asked questions

How do I import bank transactions into Zoho Books?

Go to the Banking module, select the bank or credit card account, and click Import Statement on that account's details page. Upload a CSV, TSV, XLS, OFX, QIF, camt.053, or camt.054 file, set the character encoding and delimiter, choose your column structure, then map the date, description, and amount columns onto the Zoho Books fields.

How to upload bank statement in Zoho Books?

Banking, then the account, then the Import Statement button on the account details page. The upload screen asks for character encoding and the file delimiter before it shows you the column mapping. If your statement is a PDF, convert it to CSV first, because Zoho Books cannot read PDF statements.

Can Zoho Books import a PDF bank statement?

No. Zoho Books accepts CSV, TSV, XLS, OFX, QIF, camt.053, and camt.054, and PDF is not on the list. Convert the PDF into a CSV with one row per transaction and columns for date, description, and amount, then import that file through the Import Statement screen.

How to reconcile bank statement in Zoho Books?

Import or fetch the transactions first, then categorize or match each one against an existing invoice, bill, or payment. Zoho Books compares the resulting balance to the closing balance on your statement. Differences almost always trace back to rows missing from the import or to a duplicate created by importing a period the bank feed already covered.

Does Zoho Books use Plaid or Yodlee?

Both, depending on edition. The US and Canada editions offer a Plaid integration, while Yodlee serves feeds more broadly and Token covers the UK and EU. Feeds fetch about every 24 hours for banks that do not require multi factor authentication, and you can trigger a manual refresh only once per day.

Why are my imported transactions uncategorized?

That is expected behavior. Statement transactions arrive uncategorized and wait for you to categorize them or match them to an existing record. Zoho Books does not guess a chart of accounts code from a bank description on import. Cleaning up the description column before importing makes the matching noticeably faster.

Ready to convert your bank statement?

Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.

Convert to Excel now

Free to try, no credit card required