How to import a bank statement into Zoho Books
Convert the PDF statement to CSV, then in Zoho Books open Banking, select the bank account and choose Import Statement. Upload the CSV, map Date, Description and either one Amount column or separate Withdrawals and Deposits, set the date format to match the file, and import. The transactions arrive as uncategorized, ready to match.
Updated
Before you import
You need the statement as a CSV and the bank account already set up in Zoho Books. Most banks only give you a PDF for past months, so start with the conversion.
- Statement as CSV. One row per transaction with a single header row.
- Bank account in Zoho Books. Add it under Banking if it isn’t there. The import is attached to one account.
- The date order your bank uses. Indian, UK and Australian statements are usually day first (dd/MM/yyyy). US statements are month first.
Step 1: Convert the PDF statement to CSV
Download the monthly PDF statement from net banking, then convert it. Each transaction becomes one row.
- Upload the PDF to bank statement to CSV. Password-protected PDFs, common with Indian banks, work; the password is used once and never stored.
- Check the extracted rows on screen against the PDF.
- Download the CSV with a free account.
The CSV keeps the statement’s own columns. An HDFC Bank or SBI statement, for example, comes out with separate withdrawal and deposit columns plus a closing balance. That layout maps straight into Zoho Books.
Step 2: Clean the CSV for Zoho Books
Zoho Books maps the columns you point it to, but stray rows still cause errors. Open the CSV in Excel or Google Sheets and make these changes.
- Keep a single header row. Delete the account details, address and statement period above it.
- Delete summary rows such as opening balance, totals and “Statement summary” blocks at the end.
- Remove the balance column, or simply don’t map it. Zoho Books doesn’t need it.
- Make amounts plain numbers.
1200.00, not₹1,200.00or1.200,00. RemoveDrandCrsuffixes. - Fill the year in. If dates read like
03 Sep, add the year from the statement period. - Protect long reference numbers. If you open the CSV straight in Excel, 12–16 digit UPI and cheque references can turn into
1.23E+11and lose digits. Import it through Data → From Text/CSV and set that column to Text, or edit in Google Sheets. - Save as CSV UTF-8 so rupee signs, accents and Hindi or regional text in narrations survive.
Zoho Books accepts both common layouts:
| Layout | Columns | Map to |
|---|---|---|
| Split | Date, Description, Withdrawals, Deposits | Withdrawals and Deposits fields |
| Single | Date, Description, Amount | Amount, with money out as negative |
If your statement has both a transaction date and a value date (HDFC prints Date and Value Dt; SBI prints Txn Date and Value Date), map the transaction date. Keep the reference or cheque number column too. Mapped to Reference Number, it makes matching invoices and bills easier later.
Step 3: Import the statement in Zoho Books
The import starts from the bank account in the Banking module. Zoho Books then walks you through upload, mapping and preview.
- In Zoho Books, open Banking in the left sidebar.
- Click the bank account you’re importing into.
- Choose Import Statement. Depending on your version, it may sit in a dropdown next to Add Transaction or in the account’s settings menu.
- Upload the CSV. Leave the delimiter as comma and the character encoding as UTF-8.
- On the mapping screen, match Date, Description, Reference Number, and either Withdrawals and Deposits or Amount.
- Set the date format dropdown to the format your file uses, for example
dd/MM/yyyy. - Tick the option to save these selections if you’ll import this account again.
- Review the preview and click Import.
The transactions appear in the account as uncategorized. From there you match them to invoices and bills, or categorize them.
Common Zoho Books import errors and fixes
Most problems show up on the preview screen, which is the moment to catch them. These are the usual causes.
| Error or symptom | Cause | Fix |
|---|---|---|
| “Invalid date” on some or all rows | Date format dropdown doesn’t match the file | Choose the format the file uses; check day-first vs month-first |
| Only dates up to the 12th import correctly | Day-first file read as month-first | Switch the dropdown to dd/MM/yyyy and re-import |
| Amounts blank or rejected | Currency symbols, commas, Dr/Cr text |
Strip everything except digits, minus sign and decimal point |
| Deposits recorded as withdrawals | Columns mapped the wrong way round, or signs flipped in a single Amount column | Re-map, or make money out negative |
| A transaction equal to the opening balance | Summary row left in | Delete balance and total rows |
| Garbled narration text | File saved in the wrong encoding | Re-save as CSV UTF-8 |
| Duplicates of feed transactions | File overlaps dates already in the account | Import only the missing date range |
Tip for GST and audit work. Keep the reference number and full narration. UPI, NEFT and IMPS narrations carry the counterparty name and UTR, which you’ll need when matching receipts.
Check the import
Zoho Books won’t flag a missing row, so confirm the totals yourself after each import.
- Count the imported transactions for the statement dates and compare with the PDF.
- Total withdrawals and deposits. Opening balance plus deposits minus withdrawals should equal the statement’s closing balance.
- When you reconcile the account in Zoho Books, the closing balance should match the PDF.
If the numbers disagree, compare page by page. Rows that wrap onto two lines in the PDF are the usual place to look.
A routine for monthly imports
The second month is faster than the first because the mapping is saved. Keep the routine consistent.
- Download each account’s PDF statement after the month closes.
- Convert a batch at once: up to 10 PDFs per upload. See pricing for monthly page allowances.
- Name files by account and month, such as
hdfc-current-2026-09.csv. - Import in date order and reconcile before starting the next month.
- Converted files are deleted automatically after 24 hours.