# Changelog: what has shipped

A plain-language record of changes that are live, newest first. Dates from 2026-11-01 are the day a change went live; entries before that are grouped by commit date, not go-live date.

Canonical page: https://tallyscope.app/changelog | Last updated: 2026-11-07

## 2026-11-05: checks, exports and intake

Prompted by feedback from bookkeepers: reconcile first, find where it breaks, and make sure warnings travel with the export.

### Exports

- Every exported row carries a Status and a Review note column, in CSV, Excel, PDF and JSON.
- OFX, QuickBooks CSV and Xero CSV, for importing into accounting software (Day pass or Pro). See [asking a client for a CSV or OFX statement](https://tallyscope.app/ask-client-for-csv-or-ofx-statement).
- A reconciliation report as a PDF and as an Excel sheet. It shows the figures as read; edits made in the table are not reflected, and the report says so.

### Checks

- The first row where the running balance breaks is marked, with a button to jump to it.
- A check of the printed transaction count against the number of rows read.
- Statements with exactly repeated rows have their status downgraded.
- Continuity across statements: missing periods, and closing balance against the next opening balance.
- A summary card for batches of three or more statements. Statements you mark as reviewed are counted separately from verified ones.

### Intake

- Column mappings you set by hand can be saved and are applied only when automatic reading fails. Only the column roles and a hash of the header are stored in your browser.
- Hints about scan quality, shown when a scan looks hard to read.
- Your own categorisation rules (Settings, Categories), stored in your browser with no network use.

### Pages

- New guide: [ask a client for a CSV or OFX bank statement](https://tallyscope.app/ask-client-for-csv-or-ofx-statement), with an email template and a checklist.

## 2026-11-01: site, languages and currency

- A rebuilt home page that mirrors the app, faster to load because heavier screens load only when needed.
- A [security](https://tallyscope.app/security) page describing local processing, optional AI sharing and the safeguards in place.
- Guides for reading statements in 16 languages, starting with [German](https://tallyscope.app/bank-statement-to-excel-german), and a [buyer checklist](https://tallyscope.app/best-bank-statement-converter) for choosing a converter.
- Exports follow the reporting currency you choose.
- Optional exchange rates matched to each transaction’s date.

## 2026-10-28 to 2026-10-29: launch hardening

- The page you see before the app finishes loading now uses the same layout as the app’s empty state, so nothing jumps when the app takes over.
- The assistant’s requests are size-limited, and its daily usage caps are shared across visitors.
- Usage analytics became opt-in: product and error events are recorded only if you agree, and they exclude statement data, identifiers and free-form error text.
- The site moved to Cloudflare Workers, and the www and older addresses redirect to the main domain.

## 2026-10-19 to 2026-10-21: reading scans and many files at once

- Scanned pages are turned upright automatically, whether they are upside down, sideways or rotated inside the PDF.
- Pages are read by a pool of background workers with a watchdog for a page that stalls, and a page that fails is retried with different contrast and threshold settings.
- Numbers damaged by OCR, such as a lost decimal point or separator, are restored only when the repaired digits equal what the running balance requires. Those rows are tagged as repaired.
- Many files at once are read in parallel, and the screens that show every row were reworked so large batches stay responsive. The transactions table has a bounded height for the same reason.
- Tooltips explain each statement status, and a setting changes how dates are displayed.

## How to read this page

Entries describe what a change does, not a promise about any particular bank or file. How the checks work and where they stop is on the [methodology](https://tallyscope.app/methodology) page. Something missing or wrong here? [Tell us](https://tallyscope.app/contact).

## Related guides

- [Methodology](https://tallyscope.app/methodology): The checks behind the statuses, and what they do not guarantee
- [How verification works](https://tallyscope.app/how-verification-works): The running-balance proof, with a worked example
- [Pricing](https://tallyscope.app/pricing): Free, Day pass and Pro, in euros
- [FAQ](https://tallyscope.app/faq): Formats, privacy, accuracy, plans and billing
