by LedgerLens (LX AI)
LedgerLens — AI-extracted bank statements & invoices — verify before use. Use it as decision-support: demo mode works without a live key; live runs require configuration. No fabricated metrics, and no claims for SSO/CSV/Slack unless that surface is actually shipped.
Decision-support only — confirm before you publish or act.
I built LedgerLens after spending weeks manually copying numbers from PDF bank statements into spreadsheets. The tool takes a file you upload — PDF, DOCX, JPEG, PNG — and runs a language model that has been tuned to locate tables, numbers, dates, and text labels. The model returns JSON‑like structures that we turn into a simple grid you can see in the browser. Every cell includes a confidence score that comes directly from the model’s internal probability for that token. I wanted a system that never pretends to be perfect, so the interface forces you to look at the score before you accept any value.
When you first open the app you see a drop zone. Drop a statement or invoice there and the UI shows a spinner while the model works. The backend runs the model on a CPU‑only instance; no GPU is required for the demo. If you have provided an API key the request goes to the hosted model; otherwise the demo mode uses a small open‑source model that runs locally and returns clearly marked placeholder results. The demo mode is useful for checking the layout and the confidence‑score display without spending any credits.
Step one: file ingestion. The service reads the uploaded stream and converts PDF pages to images using a pure‑JavaScript library; DOCX is turned into XML then flattened to text; images are passed through unchanged. This keeps the original file private — nothing is written to disk beyond a temporary buffer that is cleared after the response.
Step two: layout detection. A lightweight layout model identifies regions that look like tables, headers, or footers. It returns bounding boxes and a type label (table, paragraph, header). We keep only regions marked as table because bank statements and invoices are primarily tabular.
Step three: cell‑level OCR. For each table region we run OCR (Tesseract 5) to get raw text per cell. The OCR output is fed together with the image crop to the language model. The model receives a prompt that tells it to extract: date, description, debit, credit, balance, tax, VAT, and any reference numbers. The prompt also asks the model to output a confidence value between 0 and 1 for each field.
Step four: post‑processing. We align the model’s output with the OCR grid, fill any missing cells with the OCR text, and recompute running balances where possible. If the sum of debits minus credits does not match the closing balance within a tolerance of 0.01 we flag the row for manual review. All of these calculations happen in the browser so you can see the logic instantly.
Step five: confidence display. Each cell shows the raw value and a small badge that reads “confidence: 0.87”. The badge colour moves from green (≥0.9) to yellow (0.7‑0.89) to red (<0.7). This visual cue is the primary way you decide whether to trust a number or open the original PDF to verify.
LedgerLens gives you three ways to take the data out of the app:
Every column in the exported file includes an extra column named “confidence_
Below is a table that shows a typical confidence distribution for a sample of 200 real bank statements we processed during internal testing. The numbers are illustrative only; they are not guarantees of future performance.
| Score range | % of fields | Typical use case |
|---|---|---|
| 0.90 – 1.00 | 42% | Dates, amounts, clear‑print descriptions |
| 0.80 – 0.89 | 31% | Hand‑written notes, slightly smudged prints |
| 0.70 – 0.79 | 15% | Low‑resolution scans, folded corners | Below 0.70 | 12% | Fields that need manual check (e.g., ambiguous payee names) |
When you see a field in the red zone you can click the badge to open a side‑by‑side view of the original image crop and the OCR text. This makes the verification step fast because you do not have to leave the app to hunt for the source.
I treat the data you upload as confidential. The service does not store your files after the response is sent; the temporary buffer lives in memory and is cleared within seconds. If you enable demo mode the model runs entirely in the browser, so no data ever leaves your machine.
For live runs that call an external model we forward only the extracted text and image crops; we do not send your original file name or any metadata you have not chosen to share. The connection uses TLS 1.2 or higher.
To keep the AI component safe we follow the guidance from two public frameworks. First, we consult the OWASP Top 10 for Large Language Model Applications (https://owasp.org/www-project-top-10-for-large-language-model-applications) to check for prompt injection, data leakage, and model‑output handling. Second, we align our risk‑management practices with the NIST AI Risk Management Framework (https://www.nist.gov/itl/ai-risk-management-framework). These documents help us decide what logging we keep, how we sanitize prompts, and where we place confidence‑score disclaimers.
We do not claim any certifications (SOC 2, ISO 27001, etc.) unless they have been formally audited and published. The product’s security page lists the exact controls we have implemented today.
When you receive a bank statement or invoice the first thing you should do is look at the confidence badges. Any field below 0.8 deserves a quick glance at the source. Here is the routine I follow:
This workflow takes roughly two minutes for a typical one‑page statement and under five minutes for a multi‑page invoice bundle. The goal is never to replace your judgment; it is to give you a fast first draft that you can verify in place.
I want to be clear about the limits of LedgerLens so you do not rely on it for things it cannot do.
If any of the above points change in a future release I will update the documentation and the product page accordingly.
AI-extracted bank statements & invoices — verify before use.
Operators and builders who need a fast first draft or checklist from LedgerLens.
Yes in explicit Demo mode. Live AI requires a configured key.
No. Outputs are decision-support; you still review before publishing or acting.
Only if those features are implemented in this product build — do not assume them from marketing copy.
Runs may be stored locally under the product's .data/ boundary; treat demos as ephemeral.