Home › Bank statement import
Bank statements
A statement PDF, turned into rows that balance
Reading a client’s bank statement is not a parsing problem, it is a trust problem. Anything can produce rows from a PDF; what makes them usable in an assessment reply is knowing that they add up, and knowing where they do not.
The verdict is stored with the figures
Every row must satisfy one identity:
previous balance − debit + credit = this balance
The result of that test is kept against the statement, not printed once and forgotten. Each statement records whether it reconciled, how many rows had to be repaired, whether the figures came from OCR rather than a text layer, and which individual checks passed or failed with the amount of any difference.
Two warnings are carried separately because they are the ones that matter in practice: an export the bank truncated, and a gap between two exports that no PDF covers. Both are invisible to the eye and obvious to arithmetic.
Upload is a job, not a wait
A text-layer statement parses in about a second. A scanned one runs at roughly four seconds a page, so a sixty-five page passbook is four minutes of OCR. The upload therefore returns a job that you can leave running, rather than a request that appears to have hung.
Uploading the same file twice is safe
A statement is identified by the hash of its contents, so re-uploading the same PDF replaces that statement instead of doubling its rows. Where several exports have been stitched together to cover a year, the file names they came from are kept with the result.
What comes out
The transactions themselves, a summary, and the pivots a CA works from — by party, by mode, by month — plus a multi-sheet Excel working paper and a CSV.
Where this earns its keep. Cash deposits during the year, a party-wise summary for a business client, interest credited that never reached the AIS, and the reply to a notice that asks where a particular credit came from.
It stays with the client. Statements are stored against the client in your firm’s own database, alongside that client’s returns and imports — see data security.
Questions
What kind of statement can be read?
How do I know the parse is right?
What if the bank truncated the export?
Can I get the working paper out?
Try it on one statement
Upload a client’s bank statement and see the reconciliation verdict it comes back with.