Paisa · What it does
Product · Paisa AI

Offload the work. Keep the proof.

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.

Implemented in src/ai/, src/erp/agents.ts, src/erp/tools.ts
0figures the assistant can state that no engine produced
Why it is built this way

3 decisions that carry the weight.

Reads the live ledger

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.

Cannot originate a number

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.

You approve, it proposes

No payment tool exists. The assistant drafts categorisations and accruals; a person approves, and the entry is attributed to them.

Capabilities

What it does, in full.

Assistant

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.

Agents

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.

The verifier

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.

Grounded compliance

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.

Document understanding

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.

Provider-agnostic

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.

Related

Works with

See it against a real ledger.

The demo runs on a seeded company with a live close waiting — two real blockers and agents holding proposals.