Labs · In build

Numera

An accounting agent that works across every major ledger

A small business's books are scattered across QuickBooks or Xero or Tally or Zoho, bank feeds, payment settlements and an inbox full of PDFs. Somebody has to shuttle all of it into the ledger by hand. That somebody is the most expensive integration layer ever shipped.

Numera is one agent that operates all of them. You delegate work in plain language; it reads and writes through each platform's own API; and nothing reaches your books without being proven right — proposed before it posts, read back after it lands, and recorded in a tamper-evident audit trail. Where other tools integrate with a ledger, Numera operates the ledger you already have.

The derivation

Three irreducible truths force this product into existence:

  • The books are a deterministic function of money events. Bank transactions, invoices, payroll in; statements and filings out. Nothing else should exist as "work".
  • The historical cost of accounting is data capture and error recovery, not computation. Chasing receipts, reconciling statements, re-keying between systems — that is where most of every fee goes.
  • Deadlines are rigid and liability requires a licensed professional. So the architecture is fixed: agent does the work, accountant signs off. Software alone cannot sell "filed"; humans alone cannot be cheap.

The full derivation, with external evidence, lives in the thesis paper; the trust machinery is specified in the verified agent loop.

One agent, ten platforms

The agent never sees vendor SDKs. It sees one interface, and each adapter speaks it natively — OAuth flows where the platform demands OAuth, XML gateways where it must speak XML, file exchange where no API exists at all.

PlatformAuthMode
QuickBooks OnlineOAuth 2.0Live API · read-back verified
XeroOAuth 2.0 + PKCELive API
Sage IntacctWeb ServicesLive XML gateway · hardened flagship
NetSuiteToken-Based AuthLive SuiteTalk REST
Dynamics 365 Business CentralEntra client credentialsLive OData v4
Sage 300 / Sage 300 CREBasic + hh2 bridgeOn-prem / hosted
QuickBooks DesktopWeb Connector (qbXML)On-prem, local company file
Sage 50CSV exchangeFile-based — reads exports, produces import-ready journals
Zoho BooksOAuth 2.0Planned next — India wedge
TallyXML gateway / exportScoped — India wedge

The last two rows matter more than they look. India's SMBs live in Tally and Zoho Books, and the India-specific feature no global player ships — GST input- tax-credit mismatch detection against supplier filings — is exactly the kind of money-recovering work an agent should do continuously instead of an accountant annually.

What the agent actually does

"reclass may freight from COGS to landed costs,
 show margin impact"

→ propose   balanced journal draft, balance-checked before render
            period checked: is May even open?
→ confirm   you read the entry, click confirm
            who confirmed is recorded; maker ≠ checker
→ post      idempotent write — a retry cannot double-post
→ read back the posted record re-fetched, diffed line by line
            wrong-account-with-right-totals is caught
→ audit     hash-chained row, exportable evidence packet

Reads run free — aged receivables, largest unpaid invoices, margin impact. Receipt photos are read visually and booked against the ledger. The month-end close runs as derived checklists, recurring journals, bank reconciliation with the exact off-by figure explained, variance tie-outs, and a sign-off stamp only when nothing is pending and everything explains itself.

The moat is the boring part

Anyone can rent a model and call an API. The defensible work is underneath:

  • Line-level read-back verification per account and currency, live on QuickBooks Online and Intacct — including honest downgrade to "totals checked" when a platform exposes no account codes on the fetched record.
  • Idempotent writes — deterministic control ids mean a retried confirmation returns "already applied", never a double-post.
  • Closed-period enforcement — posting into a locked period is refused before the proposal even renders.
  • A hash-chained audit ledger — every action HMAC-signed and chained to the previous row; edits, insertions and deletions are detectable; one click exports the period's evidence packet.
  • An error taxonomy per platform — Intacct's own correction text surfaced verbatim, rate limits named, stale tokens re-authed mid-request.

The residual risk is disclosed rather than hidden: an attacker who deletes tail audit rows and their seals in lockstep defeats an on-box chain. Closing that means anchoring the chain off-box, and it is on the roadmap.

Honest risks

  • Platform APIs are permissioned ground. Intuit and Sage license write access; scopes can shrink. Mitigation: the file-based adapters (Desktop, Sage 50) prove the agent degrades gracefully when APIs close.
  • Trust is bought slower than features are built. Accounting buyers are risk-averse; the counter is the verification layer itself plus published accuracy, and eventually a named human signer.
  • Ten adapters is a maintenance surface. Each platform drifts its API yearly. Counter: the offline test suites per adapter and a distilled API-context corpus the agent retrieves from, updated like documentation, not vibes.
  • LAC-style players coming to India. They would have to rebuild years of India-specific rule accumulation — GST depth, Tally reality. Speed plus that depth is the answer; the depth is also why Tally/Zoho come next.

Numera Solo — the local-first, plain-text ledger edition — is already open source at github.com/anishfyi/numera; Numera Pro, the hosted close, is at numera.velofy.co. The cross-platform agent described here is the lab's active build.

Status

In build, past demo: six live adapters behind one interface, the trusted write layer running propose → confirm → read-back → audit end to end, the month-end close implemented, offline test suites green. Next milestones: Zoho Books and Tally adapters (the India wedge), GSTR-2B ITC-mismatch detection, and a partner CA firm for signing liability. The milestone that would kill it: if real books cannot be closed faster through Numera than around it, none of this matters.