Import Bank Statement into Zoho Books: CSV Guide
How to prepare a bank statement CSV, import it into Zoho Books, map the columns, avoid duplicates and reconcile, including converting PDF statements first.
SheetStatement Team11 min read
On this page
- When a manual import makes sense
- What file formats work
- Step 1: Get the data into a clean CSV
- Step 2: Import the statement in Zoho Books
- Step 3: Categorize and match
- Step 4: Reconcile to the statement
- Importing credit card statements
- Accounts in another currency
- Common import errors and fixes
- A worked example
- Tips for bookkeepers handling several clients
- Convert PDF statements for Zoho Books
- FAQ
TL;DR Zoho Books lets you import bank statements into a bank or credit card account in its Banking module. The cleanest path is a CSV with one row per transaction, a single date format, and either one signed amount column or separate withdrawal and deposit columns. If your bank only gives you PDFs, convert them to CSV first and check that each month balances. Import one statement period at a time, don't overlap dates already brought in by a bank feed, and then categorize, match and reconcile to the statement's closing balance.
Zoho Books is a popular choice for small businesses that want full double-entry accounting without a big price tag, and it's especially common among businesses already using other Zoho apps. Like every accounting system, it's only as good as the bank data that goes into it. Bank feeds handle current activity for many banks, but there are plenty of situations where you need to import a statement manually: a bank that isn't supported by feeds, a feed that broke for a few weeks, historical months from before you connected the feed, or a new client whose books you're rebuilding from scratch.
This guide covers the manual import end to end: preparing the file, importing it, mapping columns, fixing errors, and finishing with categorization and reconciliation. Zoho updates its interface regularly and features vary by edition and region, so we describe the screens in general terms. If a label looks different in your organization, look for the equivalent option in the Banking area, and check Zoho's own help documentation for the current list of supported file formats.
When a manual import makes sense
Before preparing files, make sure an import is actually what you need.
| Situation | Manual import? |
|---|---|
| Bank feed connected and working for current months | No, let the feed handle it |
| Months before the feed start date | Yes |
| Bank not supported by feeds | Yes, every month |
| Feed missed a stretch of days or weeks | Yes, for exactly the missing dates |
| Rebuilding a prior year for a new client | Yes |
| Credit card with no feed | Yes |
The key risk with manual imports is overlap. If the feed already brought in transactions for the 1st to the 15th and you import a statement covering the 1st to the 31st, you'll have duplicates for the first half of the month. Decide on a clean cut-off date before you start and stick to it.
What file formats work
Zoho Books accepts CSV statement files and also supports some other common bank formats. CSV is the most flexible because you control the columns and can fix problems in a spreadsheet before importing. OFX and QIF files, if your bank provides them, carry their own structure and can be quicker, but you have less control when something looks wrong.
If your bank only provides PDF statements, or you need months older than the bank's download window, you'll need to convert the PDFs. That's covered in the next section.
Step 1: Get the data into a clean CSV
From a bank download
If your bank offers a CSV download for the period, open it in Excel or Google Sheets and look for:
- Extra rows above the header, such as the account name or date range. Delete them so the first row is the column headers.
- Pending transactions. Remove anything not yet posted.
- A running balance column. It's harmless, but you won't map it.
- Totals at the bottom. Delete them.
From PDF statements
Most banks treat the PDF statement as the official record, and it's often the only option for older months. Convert it to a spreadsheet with one row per transaction. You can copy and paste for very short statements, use Excel's PDF import via Power Query, or use a converter built for statements. SheetStatement reads the PDF, merges the transaction sections into one chronological list, adds the year to each date, and checks that the transactions add up to the closing balance before you export a CSV.
Whatever method you use, check the balance before importing:
Opening balance + sum of all amounts = Closing balance
If it doesn't tie out, something is missing, duplicated or has the wrong sign. Fix it now; finding the problem after it's in Zoho Books is much harder. Our free balance checker will run the check for you.
The target layout
Either of these layouts works well for import:
One signed amount column
| Date | Description | Reference | Amount |
|---|---|---|---|
| 2026-07-01 | Customer payment INV-1042 | 88213 | 1,850.00 |
| 2026-07-02 | Office supplies | -63.40 | |
| 2026-07-03 | Software subscription | -29.00 |
Separate withdrawal and deposit columns
| Date | Description | Reference | Withdrawals | Deposits |
|---|---|---|---|---|
| 2026-07-01 | Customer payment INV-1042 | 88213 | 1,850.00 | |
| 2026-07-02 | Office supplies | 63.40 | ||
| 2026-07-03 | Software subscription | 29.00 |
Practical rules for the file:
- One date format for every row.
YYYY-MM-DDis unambiguous. If you useMM/DD/YYYYorDD/MM/YYYY, make sure you choose the matching format during import. - Plain numbers. No currency symbols, no text like "CR" or "DR", no parentheses for negatives. Thousands separators are best removed.
- No blank rows in the middle of the data.
- One account per file. Don't mix checking and credit card transactions.
- One statement period per file, at least while you're getting comfortable. It makes reconciliation and troubleshooting much easier.
Save as CSV (UTF-8 if your spreadsheet offers it, which keeps accented characters in payee names intact).
Step 2: Import the statement in Zoho Books
The general flow in Zoho Books looks like this:
- Go to the Banking area and open the bank or credit card account you're importing into. If the account doesn't exist yet, add it first with the correct currency and opening balance.
- Look for the option to import a statement for that account.
- Upload your file and choose the file's character encoding and delimiter if asked. For a standard CSV, that's usually a comma.
- Map the fields. Zoho Books will show the columns it found in your file. Map Date, Description or Payee, Reference if you have one, and either your Amount column or your Withdrawals and Deposits columns. Choose the date format that matches your file.
- Preview the transactions. Check a few rows against your spreadsheet: dates the right way round, amounts with the right direction, descriptions complete.
- Complete the import.
The imported lines appear in the account as uncategorized transactions waiting to be dealt with. Nothing has hit your profit and loss yet; that happens when you categorize or match them.
Step 3: Categorize and match
After import, each line needs to be connected to your books. There are two broad ways this happens.
Matching connects a bank line to something that already exists in Zoho Books, such as a customer payment recorded against an invoice, a bill payment, or an expense entered from a receipt. Zoho Books suggests possible matches based on amount and date. Accept matches only when you're sure; a wrong match can mark the wrong invoice as paid.
Categorizing records a new transaction directly from the bank line, such as an expense to a specific account, a deposit as other income, or a transfer to another bank account. For recurring items, bank rules can categorize matching lines automatically. Rules are worth setting up early for bank fees, regular subscriptions and transfers.
Pay special attention to these lines:
- Transfers between your own accounts. Record as transfers, not income or expenses. Both sides should end up linked.
- Credit card payments. A payment from checking to your business card is a transfer to the card's liability account.
- Owner contributions and draws. These belong in equity accounts.
- Loan payments. Usually split between interest expense and principal.
If you're working from spreadsheets with categories already assigned, use the same account names as your Zoho Books chart of accounts so categorizing is quick. Our guide to categorizing business expenses from bank statements has tips on designing categories.
Step 4: Reconcile to the statement
Importing and categorizing doesn't prove your books match the bank. Reconciliation does.
In the account, start a reconciliation for the statement period. Enter the statement's start and end dates and its closing balance, then tick off each transaction that appears on the statement. When the difference is zero, the books match the bank for that period.
If the difference isn't zero:
- Difference equals one transaction: a line is missing or duplicated.
- Difference equals twice a transaction: a line was recorded in the wrong direction.
- Opening balance doesn't match: something changed in a prior period, or the account's opening balance was entered incorrectly. See our guide on an opening balance that doesn't match the bank statement.
For a general walkthrough of finding reconciliation differences, see how to find bank reconciliation discrepancies.
Importing credit card statements
Business credit cards follow the same process, but the direction of amounts trips people up. In Zoho Books a credit card is a liability account: purchases increase what you owe and payments reduce it. When you prepare the CSV, think in terms of money leaving or entering the card account from the business's point of view:
- Purchases, fees and interest should come through as withdrawals (or negative amounts in a single column).
- Payments to the card and refunds from merchants should come through as deposits (or positive amounts).
Card statements often print purchases as positive numbers and payments with a minus sign or a "CR" marker, which is the opposite of what you need. Flip the signs in your spreadsheet before importing, then check a few lines in the preview. After import, the payment line on the card should be matched to the corresponding withdrawal from your bank account as a transfer, so the payment isn't counted as an expense.
For balance checking a card statement before import, use the statement's own logic: previous balance plus purchases, fees and interest, minus payments and credits, equals the new balance. Our credit card statement converter handles that check and lets you choose the sign convention on export.
Accounts in another currency
If you hold an account in a currency other than your organization's base currency, create the bank account in Zoho Books with that currency before importing. Keep the CSV amounts in the account's own currency, exactly as they appear on the statement, and let Zoho Books handle the conversion to your base currency using its exchange rates or the rates you enter. Don't pre-convert amounts in the spreadsheet; if you do, the account balance won't match the bank statement and reconciliation will fail.
Foreign-currency card purchases on a base-currency account are a different case. Those appear on the statement already converted, sometimes with a separate foreign transaction fee line. Import the converted amount as the transaction and keep the fee as its own row so it can be categorized as a bank charge.
Common import errors and fixes
Dates import as the wrong month. Your file uses day-first dates but you chose a month-first format, or the other way round. Dates like 03/04 are silently swapped while dates like 03/25 fail. Re-export the file as YYYY-MM-DD and choose that format.
All amounts import as deposits. You mapped a single amount column but the file had no negative signs, or you mapped the withdrawal column as deposits. Fix the file so withdrawals are negative, or map two columns correctly.
The import fails or skips rows. Look for blank rows, totals rows, currency symbols, text in amount cells, or a stray header row partway down (common when combining several months).
Odd characters in descriptions. The file wasn't saved as UTF-8. Re-save and import again.
Duplicates after import. The statement overlapped dates already brought in by the feed, or the same file was imported twice. Remove the duplicate imported lines before categorizing, and set a firm cut-off date going forward.
Reconciliation is off by a small amount. Often a bank fee or interest line was dropped during PDF conversion. Recheck that the converted file balances.
A worked example
A design studio uses Zoho Books. Its bank feed was connected in April, but the owner wants the books complete from January 1. The bank only offers PDFs for those earlier months.
- Cut-off. The feed's first transaction is dated April 3. Manual imports will cover January 1 to April 2.
- Convert. Three monthly statements plus the first two days of April are converted. Since the April statement covers the whole month, they use only the rows dated April 1 and 2.
- Verify. January, February and March each balance against their statements. For the April stub, they check that the rows match the statement line by line.
- Format. Each file is saved as CSV with
YYYY-MM-DDdates and one signed amount column. - Import. January first, mapping Date, Description, Reference and Amount. The preview looks right, so they complete the import. Then February, March and the April stub.
- Match and categorize. Customer payments are matched to invoices that already exist. Software subscriptions and bank fees are categorized with rules. Two transfers to the savings account are recorded as transfers.
- Reconcile. January, February and March are reconciled to their closing balances. April is reconciled at month end after the feed fills in the rest.
The books now run unbroken from January 1, with each month reconciled.
Tips for bookkeepers handling several clients
- Keep a cut-off log per client: feed start date, last manually imported date, last reconciled date.
- Name files with client, account and period, such as
acme-checking-2026-03.csv. - Keep the source PDFs with the CSVs so you can answer questions later.
- Build reusable bank rules for common items like bank fees and payment processor deposits.
Our guide to a bookkeeper bank statement workflow for multiple clients covers how to organize this at scale.
Convert PDF statements for Zoho Books
If your bank only gives you PDFs, upload them to SheetStatement, confirm the balance check passes, and download a CSV ready to map in Zoho Books. The free plan covers 3 pages a month; paid plans start at $9 a month for more volume. See pricing for details.
FAQ
Can Zoho Books import PDF bank statements directly?
Zoho Books imports statement files such as CSV and some other bank formats. A PDF needs converting into one of those formats first. Check the converted file balances before importing.
Should I use one amount column or separate withdrawal and deposit columns?
Either works, as long as the mapping is correct. A single signed column is simplest; separate columns can be easier to read when checking your file.
How do I avoid duplicates when I also use a bank feed?
Pick a cut-off date. Import manually only for dates before the feed started or for gaps the feed missed, and never import dates the feed already covers.
Why are my dates wrong after import?
The date format chosen during import doesn't match the file. Re-export with YYYY-MM-DD dates and choose that format.
Do imported transactions affect my reports immediately?
Not until you match or categorize them. Imported statement lines sit in the bank account waiting for you to connect them to your books.
Do I still need to reconcile after importing?
Yes. Reconciling each period against the statement's closing balance is what confirms your books match the bank.