Plain comma-separated rows. Universal compatibility. UTF-8 BOM for Arabic merchant names. Imports straight into QuickBooks, Xero, Zoho Books, and Wave.
CSV is plain text — every value separated by a comma, every row separated by a line break. No formulas, no colors, no merged cells. That's the point. It's the smallest possible file size, opens in any spreadsheet program, and imports into virtually every accounting and finance tool ever built: QuickBooks Online, Xero, Zoho Books, Wave, Sage, FreshAgent, Odoo, and SAP. If a tool says 'upload a bank statement', it accepts CSV.
The catch with CSV is encoding. A naive export of an Arabic bank statement to CSV without UTF-8 BOM produces a file that looks correct in some tools and shows '????' in others. We write CSV with UTF-8 byte-order mark, so Arabic merchant names from Al Rajhi, Emirates NBD, KFH, CIB, and every other bank we support survive the round trip into Excel, Numbers, LibreOffice, and any database import pipeline.
Pick CSV if you're importing into accounting software (QuickBooks, Xero, Zoho), feeding a data pipeline (Python pandas, R, dbt), sending raw data to your accountant for them to format, or working across operating systems where Excel licensing is inconsistent. CSV opens identically in Excel for Mac, Excel for Windows, Google Sheets, Apple Numbers, and LibreOffice — no rendering surprises.
Pick Excel instead if you need formulas (SUM, VLOOKUP, pivot tables), multi-sheet output, conditional formatting, or you're handing the file to someone who works in Excel daily. CSV is one sheet of raw values. Excel is a workbook.
Accountants and bookkeepers preparing monthly reconciliations who import statements into QuickBooks or Xero, finance teams running custom Python or R pipelines on transaction data, SME owners feeding statement rows into Zoho Books, data analysts building dashboards on top of bank data, and anyone whose downstream tool simply requires CSV and not XLSX.
The output is one row per transaction, columns for date, description (Arabic and English where both exist), debit, credit, balance, and reference number. Open it in any editor to inspect raw. Drop it into your importer. Or read it with two lines of Python: `pd.read_csv(file, encoding='utf-8')`.
Kashfbank supports PDF to CSV conversion for PDF statements from all major banks.
Will my Arabic merchant names survive the CSV export?
Yes. We write CSV with a UTF-8 byte-order mark (BOM), which signals encoding to Excel, Numbers, and most importers. Arabic text from Al Rajhi, SNB, Emirates NBD, CIB, and every other bank we support stays readable end-to-end.
Does the CSV import into QuickBooks Online or Xero?
Yes. The column order matches what QuickBooks and Xero expect for a bank import: date, description, amount (or separate debit/credit columns depending on importer preference), balance. You may need to map columns once in your importer's bank feed setup.
What date format do you use?
ISO 8601 (YYYY-MM-DD). This is sortable as text, unambiguous across locales, and accepted by every importer. If your accounting tool needs a different format, a single Excel formula or text editor pass converts it in seconds.
Can I open the CSV in Excel without breaking the Arabic?
Yes, with one caveat. Open via File → Open → CSV. If you double-click and Excel mangles the encoding, use Data → From Text/CSV and choose 65001 UTF-8. The BOM we write usually triggers the right encoding automatically, but Windows Excel occasionally needs the explicit nudge.
Upload your PDF and get your file in seconds
Convert to CSV10 free credits on signup