Foot a PDF the way you would on paper.
A PDF is where the evidence lives and a spreadsheet is where the work happens, and the gap between them is a desk calculator. Drag a box over a column on a bank statement and it sums the figures — from the document’s text layer, not from pixels — and tells you whether they foot to the printed total.
- Quick tools
- 22
- Network calls
- None
- AI & OCR
- On-device
- Requires
- Chrome 128+
Everything you do to a statement, on the statement.
Selection sum
Drag a box over a column and get the count, the sum, the average, the largest and the smallest — immediately. Click any single figure to add it to the tape.
Foot and cross-foot
It compares your sum to the printed total at the bottom of the selection and tells you the difference. That difference is the whole job.
Tick marks with a legend
The workpaper convention, done properly: a palette of marks, a legend you define once, a count of how many you have placed, and the legend printed on the export.
An adding machine, not a calculator
The tape keeps every entry visible with a live running total. Strike an entry rather than deleting it. Type =48*12.5, because you came from a spreadsheet.
Table extraction
Column boundaries inferred from where text actually starts — no ruling lines required, which matters because half of finance PDFs have none. Copies as TSV straight into Excel.
OCR on a scan, on this machine
A scanned statement has nothing to read. OCR gives it a text layer — from Tesseract's WASM engine bundled into the extension, so no image ever leaves the tab — and every figure it recovers carries its confidence and is labelled as read from pixels, all the way into the export.
Colour a block, export the pile
Pick a colour, drag over the rows that matter, on as many pages as you like. Blocks of one colour come out as one table — which is how a person says “these are the transactions and those are the fees”.
CSV for whatever wants it
Map each column once — date, description, debit, credit — then pick the shape: a bank feed's three columns, a QuickBooks journal, Sage's audit trail, a trial balance, or the grid as it appears. Delimiter, decimal mark, negatives and date order are all settings, because the destination decides them, not us.
Evidence integrity
The file's SHA-256 on open, in the workpaper header and stamped into every export. If the client sends a corrected copy, you know instantly.
It reads the text layer, and says so when there isn’t one.
Everything the extension sums comes from the characters the file contains. That distinction is the product.
A figure split across two text runs — 1,234 then .56 — is read as one number, because the line is parsed after the runs are joined at their real gaps. A page with no text layer is a scan: it says so, loudly. It does not guess, and it does not quietly sum nothing.
| Printed | Read as | Why |
|---|---|---|
| (1,234.56) | (1,234.56) | Parentheses: negative |
| 1,234.56- | (1,234.56) | Trailing sign — the mainframe convention |
| 4,500.00 CR | (4,500.00) | A credit |
| 1.234,56 | 1,234.56 | European grouping |
| 12.5% | — | A rate, not an amount — skipped |
And when you do run OCR
OCR does not change that rule; it changes what can be offered given it. Text recovered from pixels is marked everywhere it can be mistaken for text off the file: a banner that never dismisses, a dashed outline on any figure the engine is less than 70% sure of, and a Read from column in the CSV. A figure recovered by OCR is a lead to verify, not evidence.
Colour the blocks, map the columns, write the file.
Every accounting system wants the same data in a different shape, and the translation is a per-column decision only the person looking at it can make.
- 01
Capture
Six colours with meanings you name once. Drag over a block on page 3 and another on page 7; if they are the same colour they are one table.
- 02
Map
Each detected column gets a role — date, description, reference, account, debit, credit, signed amount, balance. Guessed from the header row or the content, and every guess is a dropdown you can overrule.
- 03
Shape
A signed column splits into debit and credit by sign, and a pair collapses back into one, so a bank that prints two columns can feed a system that wants one. Presets for bank feeds, QuickBooks Online, Xero, Sage, journals and trial balances.
- 04
Dialect
Delimiter, decimal mark, (1240.00) against 1240.00-, ISO against day-first dates, and the byte-order mark Excel needs. A comma decimal never ships in a comma-delimited file.
Rows with neither a date nor an amount — headings, page furniture, “continues overleaf” — are left out, and the count of what was left out is stated rather than hidden. A column the shape asks for and the document does not have comes out empty with a warning, never invented.
Notes are a log. Sharing is a file.
Two people annotate the same statement — the preparer on Monday, the reviewer on Thursday. Merging their work must not mean picking a winner.
Every annotation is an operation with an id, an author and a timestamp, appended to a log keyed to the document’s SHA-256 — so a renamed file is still the same file, and its notes come back. Export writes a .ledgernotes.json pack; import is a set union by operation id.
Because the ops are idempotent and never destructive — a strike is itself an op — two people can merge in either order and land in the same place, and nothing is ever lost, only superseded. Which is also what an audit trail requires.
Fingerprint check
If a pack was made against a different version of the file, the import says so and names the difference — “3 pages in the pack, 4 here” — rather than silently anchoring a review note against the wrong number.
On-device, or absent.
Chrome’s built-in Gemini Nano runs on the machine. There is no cloud fallback, because a silent fallback would be a confidentiality breach dressed as a convenience.
Extract invoice fields
Into a form you confirm — and then we check the arithmetic, not the model: subtotal plus tax against the printed total, the implied rate, the terms implied by the dates.
Read, and draft
Summarise a lease or an engagement letter, classify a document, explain a clause you selected, or draft the review note from your own ticks and notes.
Or nothing at all
If the on-device model is not available on that machine, the panel is not there. The rest of the extension does not need it.
What it asks for, and what it refuses to.
An extension you can point at a client’s accounting system has to be able to say exactly what it can reach.
| Permission | Why |
|---|---|
| storage, unlimitedStorage | Notes, tapes and preferences in this browser profile. Nothing syncs. |
| activeTab, scripting | The selection-sum pill, injected only when you click the toolbar or the context menu — never standing. |
| sidePanel | The toolbelt. |
| contextMenus | “Open in Lopifi Tools” on a PDF link; “Sum the selected figures” on a selection. |
| optional host access | Requested for one origin, at the moment you ask it to open a PDF from a URL. Declined is a supported answer — drop the file in instead. |
There is no standing host permission. The selection-sum script is injected when you ask for it, under activeTab, and reading a PDF from a remote URL asks for that one origin at the moment you click. The service worker contains no fetch at all.
Early access, today.
- 1
The Chrome Web Store listing is not live yet. Early builds go to the waitlist first — you get an unpacked
extension/distfolder. - 2
Open
chrome://extensions, turn on Developer mode, choose Load unpacked, and selectextension/dist. - 3
Open a PDF and click the toolbar icon. A panel appears over Chrome’s own preview: pull the statement, check it ties, take the CSV. Right-click for the full workpaper.
On-device AI
The AI panel needs Chrome 128+ with the built-in model available — roughly 22 GB free disk and a supported GPU. Everything else works without it.
The keys
- Open a PDF
- ⌘O
- Select and sum
- V
- Tick mark
- T
- Note
- N
- Highlight
- H
- Redact
- R
- Capture a coloured block
- C
- Back to select, dismiss the pill
- Esc
- Save a note
- ⌘↵
The calculators live on the site.
The extension is the work you do to a document. The 22 calculators are a different job, and they belong on a page with room to explain themselves.