Convert bank statements without uploading them
A bank statement shows where you live, who you pay and what you earn. Tallyscope parses it in your browser, so the file does not have to go to anyone's server.
The usual trade
Most online statement converters work by uploading your file to a server, processing it there and sending a spreadsheet back. That is simple to build, and it means a copy of your most personal financial document passes through, and may be stored by, a third party. Some people are fine with that. Others, especially accountants handling client files, and anyone with a confidentiality duty, would rather not.
How Tallyscope works instead
The page you open contains the whole converter: the PDF reader, the OCR engine, the format parsers and the balance checker. When you add a file, the browser reads it from your disk into memory in that tab, and the code in the page processes it. There is no upload endpoint for statements. The files, the extracted rows and the exports exist only in your tab's memory and in the downloads you choose to save. Close the tab and they are gone; only a few settings (for example your display currency and date format) are kept in your browser's local storage.
You do not need to take that on trust. Open your browser's developer tools, switch to the Network tab and add a statement: you will see no request carrying its content.
What does make a network request
Honesty about the exceptions matters more than a slogan:
- Exchange rates. To show everything in one currency, the page fetches public rate files from free rate services. The requests contain currency codes and, for dated lookups, a date. No statement data.
- OCR language models. English is bundled. If you tick another OCR language, its model file is downloaded once from a public CDN.
- Account and billing. If you sign in or buy a plan, your email and plan state are handled by our authentication provider and by Stripe for payment. Statement content is not part of that.
- The assistant. If you ask a question the built-in engine cannot understand, the wording of that question, not your transactions, is sent to our function, which asks an AI model to turn it into a query that the page then runs locally. Never type personal details into a question you do not want sent.
- Advanced AI features (reading your table). Off by default and part of the Day pass and Pro plans. If you switch it on, a masked version of your table is sent to Google Gemini to answer questions the local engine cannot. Account numbers, IBANs and card numbers are masked by pattern, but descriptions and names are not removed. Read the privacy policy before enabling it.
Enforced by the browser, not only promised
The site ships a strict Content-Security-Policy. It lists the hosts the page may contact: itself, the public exchange-rate services, the OCR model CDN and the authentication service. Anything else, including a hypothetical script trying to post your rows to another host, is blocked by the browser. The policy is a technical backstop to the design, not a certification: it does not make us a compliance-audited service, and we do not claim SOC 2 or similar attestations.
Why this matters for some jobs
Client statements held under an engagement letter, statements for a court or tax matter, joint accounts, and anything covered by a policy that forbids sending documents to unapproved services are all easier when no copy leaves the machine. The trade-off is speed: OCR in a browser is slower than a server farm, and very large batches depend on your device's memory.
Try it
You can open the converter and watch the Network tab while you load a sample file. For how the arithmetic proof works without ever seeing your data elsewhere, read how verification works, and for the exact data practices of the site, the privacy policy.
Frequently asked questions
Are my statements stored anywhere?
No. They live in your tab's memory and in files you download. Only a few settings are kept in your browser's local storage.
Can Tallyscope see my transactions?
Not unless you switch on the opt-in, paid Advanced AI features ("Let the AI read my transactions"), which sends a masked table to Google Gemini.
What does the Content-Security-Policy do?
It tells the browser which hosts the page may contact, so a request to anywhere else is blocked.
Does it work offline?
Reading files does not need a connection for English text and scans. Currency conversion needs rates, and non-English OCR needs a one-time model download.