How it works
Deterministic work is computed. Documents are read. You decide what it means.
The question a partner actually asks is not whether the software is clever. It is whether the file will survive review. This page is the honest answer to that, including what we get wrong and what happens when we do.
The pipeline
Four stages, stated plainly.
Or watch them happen: a revenue cut-off procedure played stage by stage, from the client’s upload to a working paper waiting on its reviewer, on sample data.
Ingest
The Tally company file is connected or an export uploaded. GSTR-2B is pulled for the period. Client documents arrive by upload or through the request list. Lekhya reports what it could read and what it could not — an unreadable scan is listed, not skipped.
Output — A manifest of every file received, its type and its legibility.
Structure
Ledgers are mapped to your chart of accounts, vendor names normalised across spelling variations, documents classified and fields extracted. You confirm the mapping once. It carries forward to next year's engagement with the methodology version recorded.
Output — A structured transaction population with each field traceable to its source.
Test
Named procedures run across the full population. Each one declares the population it tested, the rule it applied and the tolerance it used. Nothing runs that is not listed in the audit programme.
Output — A result for every transaction, and an exception queue for those that failed.
Review
Exceptions arrive for a human. You accept, reject or annotate. Rejections ask for a reason, and that reason is recorded against the finding — it is part of the file, and it is what a reviewer reads when they ask why an exception was not pursued.
Output — A working paper with named sign-off and a complete audit trail.
The split that matters
What is computed, what is modelled, what is yours.
The fear is reasonable: a language model invents a number, it reaches the file, and the partner signs it. The answer is architectural. Arithmetic never touches a model.
| Task | Performed by | Note |
|---|---|---|
| Footing, casting and cross-casting | Computed | Exact arithmetic. Identical result on every run. |
| Three-way matching and reconciliation | Computed | Rule-based comparison on structured fields with defined tolerances. |
| Duplicate and variance detection | Computed | Deterministic comparison across vendor, amount, date and reference. |
| Date and cut-off comparison | Computed | Simple ordering of dates once they have been extracted. |
| Reading a field from a scanned invoice | Model | Extraction with a confidence band. Low confidence routes to a reviewer. |
| Classifying an uploaded document | Model | Invoice, goods receipt, dispatch note or statement — correctable by the user. |
| Normalising vendor names across spellings | Model | Proposed groupings, confirmed once by the engagement team and reused. |
| Drafting the narrative of a working paper | Model | Marked as drafted. Never included in the file without review. |
| Concluding whether an exception is a misstatement | Auditor | Always. Lekhya presents evidence; the engagement team decides. |
| Setting materiality and signing the file | Auditor | Always. Recorded against a named user with a timestamp. |
Provenance
The chain, end to end.
Every finding holds a link to the procedure that raised it, the transaction it tested, the field that was extracted, the document that field came from and the page it sits on. Walk it yourself.
Finding
Potential revenue cut-off issue
₹18,40,000 recognised in FY 2025–26
Raised automatically when dispatch evidence dated after the year end was matched to an invoice recorded before it.
Procedure
R-04 · Revenue cut-off testing
Full population · 2,417 transactions
Compares invoice date, revenue posting date and dispatch date for every sales transaction within fifteen days of the year end.
Transaction
INV-2026-1184 · Bharat Components Ltd
Invoice 29 Mar 2026 · ₹18,40,000
Matched to ledger posting in the sales account on 29 March, and to dispatch document DC-4471 dated 3 April.
Extracted field
dispatch_date = 2026-04-03
Extracted from a scanned PDF · confidence: needs review
Read from the dispatch document by the extraction model and flagged for confirmation because the source is a scan rather than structured data.
Source document
DC-4471 · Dispatch document
Page 1 · received from client 12 May 2026
The page opens with the dispatch date highlighted in place. The chain is preserved on export and remains intact at next year's rollforward.
Step 1 of 5
When Lekhya is unsure
Confidence routes work. It does not decorate it.
You will not see a percentage. Model confidence is poorly calibrated, and a displayed “87%” invites a reviewer to trust a number that does not mean what they think it means. Three bands, each with a stated reason.
Matched
Exact amount, date and vendor across all documents. Posts to the working paper marked as drafted.
Needs review
Amount matches but vendor name differs beyond tolerance. Routed to a named reviewer's queue.
Low
Extracted from a poor scan with unreadable fields. Presented as a gap to be filled, never as a value.
A worked example of being wrong
What happens when Lekhya raises something that is fine.
It will. A tool that never raises a false exception is a tool that is missing real ones. What matters is that dismissing it is fast and that the dismissal is recorded.
What Lekhya said
Invoice INV-2026-0421 from Nandan Steel Co. records ₹4,12,000. The ledger entry records ₹4,01,200. The difference equals the GST component.
What the reviewer did
Opened the ledger row, confirmed input tax credit was posted separately to the GST receivable account, and dismissed the exception with that reason in one click.
What the file records
The exception, the evidence, the reviewer’s name, the timestamp and the stated reason — all of it retained in the working paper rather than deleted.
Documentation
Built to be handed to a reviewer.
SA 230 requires documentation sufficient for an experienced auditor with no prior connection to the engagement to understand the work performed, the evidence obtained and the conclusions reached. That is a description of what Lekhya produces by default rather than something you assemble afterwards.
What exports with the file
- Every procedure run, with its population and parameters
- Every exception raised, and how each was resolved
- Evidence links preserved as document and page references
- Preparer, reviewer and partner sign-off with timestamps
- Every change, with the value it replaced
- The methodology version the engagement was run under
The best test is a file you already closed.
Run Lekhya against a completed prior-year engagement and compare its exceptions with what your team found. You already know the answers, which makes it the only honest benchmark.