by LedgerLens (LX AI)
What LedgerLens is for
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.
What is LedgerLens?
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.
How the extraction process works
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.
Output formats and confidence scoring
LedgerLens gives you three ways to take the data out of the app:
- Inline table – you can copy‑paste rows directly from the view. - CSV download – the file is generated client‑side; we escape any field that starts with “=”, “+”, “-” or "@" to prevent formula injection. - Excel (XLSX) download – we use the SheetJS library to create a workbook; the same formula‑injection safeguards apply.
Every column in the exported file includes an extra column named “confidence_”. For example a bank statement export will have columns: date, description, debit, credit, balance, confidence_date, confidence_description, confidence_debit, confidence_credit, confidence_balance. The confidence values are the same numbers you saw in the UI, rounded to two decimal places.
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
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.
Security and privacy considerations
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.
Decision‑support workflow: verify before you act
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:
- Upload the file and wait for the result grid to appear. - Sort the table by the confidence column (click the header) to bring the lowest scores to the top. - For each low‑confidence row, click the badge to open the verification pane. - In the pane you see the original image crop, the OCR text line, and the model’s suggested value. Accept the suggestion if it matches; otherwise type the correct value and press Enter – the grid updates instantly and the confidence badge is recalculated as 1.0 for your edit. - After you have reviewed all rows under 0.8, run a quick sanity check: the sum of debits minus credits should equal the change in opening and closing balances. If the numbers do not match, re‑examine the rows that contributed to the discrepancy. - When you are satisfied, export to CSV or XLSX and load the file into your accounting system. Keep the original PDF in your archive for audit purposes.
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.
What this is NOT
I want to be clear about the limits of LedgerLens so you do not rely on it for things it cannot do.
- It is not a guarantee of correctness. Even a field with a 0.99 confidence score can be wrong if the source document contains a rare symbol or a layout the model has never seen. - It does not provide 100 % accuracy. No AI model today reaches perfect extraction on heterogeneous financial documents. - It will never replace a qualified accountant or auditor. Use it as a checklist, not as a final authority. - It does not include SSO, Slack notifications, or bulk CSV processing unless those features have been shipped in this specific build. The product page lists exactly what is available. - It is not a substitute for reading the original PDF or image. Always keep the source file for reference. - It does not offer real‑time collaboration or version control. If you need those, export the data and use your existing tools. - It does not promise any particular speed improvement. Processing time depends on file size, image quality, and whether you are using demo mode or a live key.
If any of the above points change in a future release I will update the documentation and the product page accordingly.
References
- OWASP Top 10 for Large Language Model Applications - NIST AI Risk Management Framework
Frequently asked questions
What is LedgerLens?
AI-extracted bank statements & invoices — verify before use.
Who should use LedgerLens?
Operators and builders who need a fast first draft or checklist from LedgerLens.
Does it work without an API key?
Yes in explicit Demo mode. Live AI requires a configured key.
Does it guarantee outcomes?
No. Outputs are decision-support; you still review before publishing or acting.
Does it include SSO, Slack, or bulk CSV?
Only if those features are implemented in this product build — do not assume them from marketing copy.
Where does data go?
Runs may be stored locally under the product's .data/ boundary; treat demos as ephemeral.
References
- schema.org — FAQPage - Google Search Central — Structured data
Try LedgerLens
Related reads
- How to use LedgerLens — LedgerLens - The LX AI Micro-SaaS Topic Matrix
What is LedgerLens?
AI-extracted bank statements & invoices — verify before use.
Who should use LedgerLens?
Operators and builders who need a fast first draft or checklist from LedgerLens.
Does it work without an API key?
Yes in explicit Demo mode. Live AI requires a configured key.
Does it guarantee outcomes?
No. Outputs are decision-support; you still review before publishing or acting.
Does it include SSO, Slack, or bulk CSV?
Only if those features are implemented in this product build — do not assume them from marketing copy.
Where does data go?
Runs may be stored locally under the product's .data/ boundary; treat demos as ephemeral.
Decision-support only. Verify before use — not accounting or tax advice.