You are looking at a live demo. Everything here runs on invented data for a fictional non-profit — no real organisation, no real people. Buttons are visible so you can see the workflow, but nothing you press will change anything. What is this?

Agent501 self-learning bookkeeping for accounting practices

A non-profit cannot record “we spent $1,938 on rent”. It has to record which pot of money that rent came from — which grant, which contract, which programme, which office. Funders audit it. Get it wrong and the money goes back.

So the practices that keep those books spend days a month applying labels by hand. Agent501 is built for those practices: multi-tenant from the start, one trained model per client, and nothing about any one firm baked into it.

~88%
of rows get the right GL account, back-tested
7
labels resolved per transaction
1
correction teaches it forever
89
guardrail tests

How it works

StageWhat happens
IngestBank downloads, card statements and payroll runs land in one workbook, one tab per account.
CodeAgent501 proposes a full coding for every row from precedent — and states what it matched on, how many times it has seen that pattern, and how consistent it was.
GateQuality checks run before anything leaves. A hard failure blocks the accounting export outright.
ReviewA human corrects only what the agent flagged. It never guesses at a vendor it has not seen.
LearnThe correction is kept and reused. Next month it does not ask again.
DeliverFifteen files, including the import file the accounting system actually wants — balanced, truncated to spec, ready to post.

Engineering notes

AreaDetail
LearningA backoff rulebook over vendor / card / amount-band / memo tiers, retrained per client from its own approved corrections. One client's lesson never reaches another.
ExplainabilityEvery suggestion carries its evidence. The reviewer asked for this directly: “it’s telling me there’s a problem; if I can’t see it, I don’t know what to fix.”
SafetyA corruption tripwire, invalid-GL and direction-flip checks, and a gate that blocks the export rather than posting something wrong.
Multi-tenantOne database and one trained model per client, provisioned by script.
Least privilegeNon-admins never see a filesystem path, an internal panel or a raw exception. Pinned by a test that walks the templates.
DeliveryPush to master; a timer on the server notices within 60s and redeploys. Measured push-to-live: about 45 seconds.

Adopting it

QuestionAnswer
Who is it forAccounting practices doing the monthly close for non-profit clients — anywhere the coding is repetitive and the segments matter.
Multi-tenantOne database and one trained model per client, created by script. A lesson taught on one client never reaches another.
Accounting systemWrites the import file MIP Fund Accounting expects. The export layer is a module, so another ledger is a new writer rather than a rewrite.
BrandingProduct name, tagline and firm name are environment settings. A practice puts its own name in the header without touching the source.
DeploymentOne Ubuntu box behind nginx. Push to the branch and a timer redeploys within a minute.

Have a look around

Nothing here is real. The organisation, its vendors, its funders and every person named are invented for this demo — the software is the real part.

Watch the 90-second walkthrough See the monthly flow Open the working screen