Not a chatbot bolted onto a ledger. An assistant that reads your live books through deterministic tools, and a verifier that rejects its answer if a single figure in it came from anywhere else.
Every figure comes from the same engines that produce your statements — not a copy, not an export, not an embedding of last month's data.
The model decides which question to ask. The engines answer it. A verifier checks every figure in the narration against the tool results before you ever see it.
No payment tool exists. The assistant drafts categorisations and accruals; a person approves, and the entry is attributed to them.
Ask in plain language — burn, runway, what a vendor cost you last quarter, whether you can afford a hire. Answers quote figures exactly as the engines printed them, and drill down to the journal entry behind each one.
Continuous rules over the ledger raise exceptions between closes: a recurring vendor that did not bill, a charge far above an account's own median, a probable duplicate, a stale receivable, revenue contracted but unrecognised.
verifyNarration() extracts every numeric token from the answer and requires each one to appear in a tool result. A figure the model computed itself — even a correct one — fails. The answer is sent back for a rewrite; it never reaches the screen.
Tax questions are answered only from a curated regulation corpus, with the source and the date it was verified. When the corpus does not cover something, Paisa says so and suggests an accountant rather than answering from memory.
Upload a statement, invoice or contract. Its extracted text joins the verifier's corpus, so figures quoted from a document are as traceable as figures from the ledger.
Claude runs the tool loop by default with a deterministic offline planner as fallback. The tool layer and the verification are identical either way — swapping the model cannot change what is true.
The demo runs on a seeded company with a live close waiting — two real blockers and agents holding proposals.