Skip to content

For builders

What is vibe accounting?

Vibe accounting is the practice of building accounting and finance software by describing intent to an AI coding agent, using components that already encode double-entry rules, money formatting, period logic and audit controls — so the generated interface is correct by construction rather than merely plausible.

Components
179
Implemented
125
Terms defined
287
Registry
@lopifi

Accounting software fails quietly

Which is why generating it from a blank file is a different risk from generating anything else.

A broken layout is obvious. A ledger that sums to the wrong number is not — it renders, it looks finished, and it is discovered a quarter later by someone reconciling an account that will not tie. Every line below is something a capable model produces when asked to build a finance screen, because each is defensible in general software and wrong in accounting.

What a model writes, and what is trueExhibit
  • amount: 1240.56amount: 124056, currency: 'USD'

    Minor units, always. Floating point cannot hold most cents exactly (0.1 + 0.2 is 0.30000000000000004), so thousands of rows rounded in different places drift by a cent, and the drift appears in a reconciliation nobody can explain.

  • {value ?? 0}{value === null ? 'n/a' : <Money value={value} />}

    null is not zero. Rendering $0.00 for an unknown balance asserts something the system does not know.

  • -$1,240.56($1,240.56)

    Accounting parentheses, with the paren column reserved on both sides so the column stays aligned regardless of sign.

  • <td>{entry.amount}</td><td>{debit}</td><td>{credit}</td>

    Debit and credit are two columns. One signed number is not a journal entry, and a trial balance over it cannot be proven.

  • toFixed(2)currency-aware decimal places

    JPY has none, KWD has three. Hardcoding two is a bug with a customer attached.

  • delta > 0 ? 'green' : 'red'polarity-aware colour

    Burn rising is not good news. Colour follows the meaning of the metric, never the sign of the number.

Each left-hand line is what a model writes unprompted; each right-hand line is what the component already does.

Correct by construction, not by prompt

The fix is not a longer prompt. It is moving the correctness out of the prompt and into the component, where it is reviewed once and reused forever. Lopifi is that layer: 179 components specified against the accounting before any of them was written.

# 1 — tell the agent where the components live
{ "registries": { "@lopifi": "https://lopifi.com/r/{name}.json" } }

# 2 — the theme first; components without it compile to unstyled markup
npx shadcn@latest add @lopifi/theme

# 3 — then describe the screen, and let it install what it needs
npx shadcn@latest add @lopifi/journal-entry-table @lopifi/trial-balance

The load-bearing components

The ten a ledger screen cannot do without, running below. Each card opens its spec and install line.

Common questions

What is vibe accounting?

Vibe accounting is the practice of building accounting and finance software by describing intent to an AI coding agent, using components that already encode double-entry rules, money formatting, period logic and audit controls — so the generated interface is correct by construction rather than merely plausible.

How is vibe accounting different from vibe coding?

Vibe coding produces software whose failures are visible — it renders wrong, or it throws. Accounting software fails silently: a sum drifts by cents because money was stored as a float, a null balance renders as $0.00, a negative renders as -$1,240.56 instead of ($1,240.56), or an increase in a cost is coloured green. Every one of those produces an interface that looks finished and reports something untrue. Vibe accounting is the practice of removing that class of failure by generating against components that already encode the rules, rather than asking a model to rediscover double-entry each time.

Can an AI agent write correct accounting software?

Not from a blank file, reliably. A model asked to build a ledger table will produce something plausible: one signed amount column instead of separate debit and credit columns, floating-point sums, no period state, an edit path on a posted entry. Each is defensible in isolation and wrong as accounting. Given components that already encode those rules — 179 of them, specified before they were written — the same prompt produces software that is correct by construction, because the correctness lives in the component rather than in the prompt.

What does an agent need to do vibe accounting?

Three things, all served from this domain: the registry at https://lopifi.com/r/{name}.json so components install by name; the MCP server at https://lopifi.com/api/mcp so the agent can search the catalog and read source directly; and the lexicon, so it uses one word per concept. An agent that installs the MCP server carries the accounting vocabulary into every session.

Is vibe accounting a replacement for an accountant?

No, and a system that implied it would be lying. It is a way of building the interface an accountant works in. The judgment — materiality, revenue recognition policy, what a variance means — stays with the person who signs off on the books. What changes is that the software stops making the mechanical errors that waste their review time.

Told what the agents get wrong next

Every family we ship starts as a list of the specific ways a model gets that surface wrong. One email per family, with that list — useful whether or not you install anything.

One address, no list rental, unsubscribe in one click.

Works in your QuickBooks Online or Xero file

Get your books closed every month

Lopifi is building AI bookkeeping that keeps your books closed on US GAAP as transactions happen, with a CPA review every quarter, for $200 a month. We’re not open yet.

$200/month when we open. No card now.