Bank statement analyzer: questions and answers.
The short answer first, then the detail. Everything here is what docsanalyzer does today.
Updated
How do I convert a bank statement PDF to Excel?
Open docsanalyzer, drop the PDF on the page and wait while it is read. Every transaction comes out in a table with its date, description, debit, credit and balance, checked against the statement’s own balances. Then choose Export and Excel workbook: you get an .xlsx file with real dates, numbers and totals.
The workbook has a summary with the balance check, a Transactions sheet per statement, a Combined sheet, and sheets by payee, category, account and month. CSV, QuickBooks (.qbo) and OFX are there too. Step by step: Convert a bank statement PDF to Excel.
Is it safe to upload my bank statement online?
It depends on where the file goes. Ask any site whether your statement is sent to a cloud AI, whether it is kept, and who else can see it. docsanalyzer reads statements with open models on its own server: no cloud AI, no outside scripts or fonts in the page, and nothing you upload is kept.
The page talks only to its own server. Visits are counted by self-hosted, cookie-free analytics on the same server, which sees pages viewed and buttons used, never what you upload.
Does docsanalyzer use ChatGPT or other cloud AI?
No. Statements are read by open models running on docsanalyzer’s own server: an OCR for scans and photos, a small model for the few judgments the rules leave open, and an optional local model for the written review and chat. The server refuses to send a document to any address outside the machine itself.
Payees, kinds and categories come first from written rules, each traceable to its rule. The model only chooses among options the code offers, and below a measured confidence its answer is shown as a suggestion for you to confirm.
Is my statement stored?
No. A statement is held in memory while it is read, then it is gone; nothing you upload goes into a database. The reader keeps its result for an hour at most, and the app deletes it as soon as it has what it needs. Closing the page forgets the rest of your session.
Excel and CSV statements are parsed in memory too, never written to disk. The server keeps two small databases: the self-hosted visit counter and, if you create an account, its plan, passkeys and page counts. Never a statement.
Can it open a password-protected bank statement?
Yes. Many banks email statements as locked PDFs. Drop the file and, when asked, type its password: it is used once, in memory, to open the file, then forgotten. It is never logged or stored. Wrong passwords are limited, so nobody can guess a password by trying many.
A locked PDF inside a .zip cannot ask for its password: upload that one on its own. A PDF that only restricts printing or copying opens without a password.
Does it read Arabic bank statements?
Yes, in PDFs. Statements in Arabic, or in English and Arabic on the same page, are read from the PDF: Arabic column headers, Arabic-Indic digits such as ١٢٣, and currency names such as درهم. Descriptions are kept as printed. PDFs that store Arabic text in visual order are turned back into reading order before anything else.
Scanned or photographed Arabic statements are not reliable yet: amounts and dates are read, but Arabic words can be missed, and the balance check says when a statement does not add up. Ask your bank for the PDF where you can. More in Analyze UAE and GCC bank statements.
Which banks are supported?
Any bank’s layout. docsanalyzer has no per-bank templates: it finds the table header on the page (Date, Description, Debit, Credit and Balance, a single Amount column, or the Arabic equivalents) and places each amount by the column it sits under. A new bank’s statement does not need to be added first.
It is built UAE-first and recognises Gulf currencies (AED, SAR, QAR, KWD, BHD, OMR) by code or name. If a statement is not read right, the balance check shows where.
How do I check that a bank statement’s balances add up?
docsanalyzer checks it for you. Opening balance plus credits minus debits must equal the closing balance, and every row’s running balance must follow from the row before. Each statement is marked balance reconciled, not reconciled or not checkable, and any row that disagrees is flagged with its page and line.
Statements listed newest first are detected and checked oldest first. A single classic misread, such as 1 for 7, is offered as a one-click fix only when exactly one fix makes the balances agree. See Check a bank statement’s running balance.
Can I export to QuickBooks?
Yes. Export a statement as QuickBooks (.qbo), the bank file format QuickBooks imports transactions from, or as OFX for Xero and other software that reads OFX. Each transaction carries its date, its amount as a withdrawal or deposit, the payee, and the description as printed on the statement.
Excel and CSV exports are there for anything else. How it works: Bank statement to QuickBooks or OFX.
Does it read scanned statements and phone photos?
Yes. Scans and photos (PNG, JPEG, WebP, TIFF or BMP) are read by OCR on the server, and so are PDFs without a text layer. Every row links to its page and line, shown highlighted on the page image, so you can check any figure against the original document.
Excel (.xls, .xlsx) and CSV exports from online banking are read as laid out, including the header block with the holder, account, period and stated balances. Each file can be up to 25 MB, or 100 MB for a .zip.
Can it analyze credit card statements?
Yes. A card statement is read the card way: the balance is what you owe, so previous balance plus purchases minus payments must equal the new balance. CR after an amount marks a credit, and foreign-currency lines keep their original amount, currency and exchange rate beside the amount booked.
A card payment that matches a debit from one of your bank accounts in view (same amount and currency, within three days) is counted as a transfer between your own accounts, not as spending.
How are transactions categorized?
Automatically, into 22 categories such as Groceries, Utilities & Telecom and Bank Fees & Charges. Ordered rules decide first, each traceable to its rule; a local model suggests a category only where the rules leave one open. You can correct a single row, or every row from the same payee at once.
Transactions are then grouped by payee, category and account, with insights such as recurring payments, unusual amounts, fees and monthly trends.
Can I combine several months or accounts?
Yes. Drop several statements and All statements merges them into one view. Duplicate rows at the edges are counted once, each closing balance is checked against the next opening, gaps and overlaps between months are named, and different currencies are never added together.
You can also reconcile a statement against an export from your books (CSV or Excel), matched by reference, amount and date.
Can I analyze bank statements without internet?
Yes, with the desktop app for Mac and Windows. It reads PDFs, scans and Excel files, checks the balances, categorizes transactions and exports to Excel with no internet connection at all. Nothing is uploaded and it makes no network call while it reads, so it suits offices where statements must stay on the premises.
The 14-day trial runs offline. A licence is activated once online; after that the app keeps working offline, and re-checks the licence at most once a month only when it is online. Download it.
Is docsanalyzer free?
Free reads 5 pages a day with no account: reading, checking, categorizing, merging, insights and every export, plus fees you could avoid and the bills calendar. Pro, $29 a month for 500 pages, adds the affordability report, the tamper check, the visa and VAT helpers and the forecast. Business, $79 for 2,500 pages, adds the API.
Paid yearly, Pro and Business cost ten months’ price for twelve. The sample statement never counts against your pages. Every plan and what it opens: pricing. A desktop app for Mac and Windows, which keeps files on your own computer, is in beta: download it.