The AI CFO that shows its working.
Beacon does the parts of the close a firm cannot delegate to a spreadsheet: a working trial balance that proves out, journals that need approving before they move a figure, and control accounts held against the ledgers behind them. Every number is computed by an engine. None is written by a language model.
Works from the exports your clients already produce — trial balance, general ledger, bank statement, receivables and payables. Nothing to install on their system.
| Code | Account | Dr | Cr |
|---|---|---|---|
| 1100 | Cash at bank | 246,000.00 | |
| 1200 | Trade receivables | 202,000.00 | |
| 6100 | Depreciation Adjusted — depreciation for the period | 12,400.00 | |
| 1710 | Accumulated depreciation Adjusted — depreciation for the period | 12,400.00 | |
| 2100 | Trade payables | 96,400.00 | |
| 3100 | Retained earnings | 351,600.00 | |
| Totals | 460,400.00 | 460,400.00 |
Proves out. 2 accounts adjusted, both applied. Receivables control agrees with the invoices outstanding.
Advisory is easy to sell and hard to survive review.
The bottleneck was never the insight. It is the hours between a client's export and a set of figures a partner will put their name to — and those hours do not shrink because a model can write prose.
Per books, adjustments, adjusted — with last period beside it
Every account in three columns, in debit and credit the way the paper has always been read. Each adjusted line names the journal that moved it. The paper checks itself and leads with the failure: if a journal named an account the trial balance does not carry, it says so, and by exactly how much.
Posting is a proposal. Approving is the act.
A drafted journal changes nothing until somebody accepts it, and the two are separate events with separate audit records. The list says which state each one is in, and says plainly when the same person did both. Depreciation and standing reclasses carry forward from last period rather than being retyped.
Tied to the ledgers behind them — after your journals
Receivables and payables held against the invoices and bills outstanding, and bank against the statement. The check runs on the adjusted figures, so a control that agreed before you posted and does not agree now is caught and named, rather than reporting an agreement computed before the journal existed.
A board that refuses, not one that reassures
The close states what it checked and what it did not. A working paper that does not prove out blocks the period. Journals drafted and never approved are flagged, because they are absent from every figure and therefore invisible at exactly the moment somebody commits.
The AI operates the numbers. It never invents them.
Every figure is produced by a deterministic engine working in integer cents — the same input gives the same answer, today and in nine months when somebody asks where it came from. The language model is handed figures that already exist and may only phrase them. A validator checks its output against the computed set and rejects anything containing a number the engine did not produce.
With no language model configured at all, the figures are unchanged. Only the prose disappears — which tells you which half of this product is load-bearing.
Printed on the client's brief
“From the trial balance you imported, with 2 adjustments your accountant has approved.”
Built for a book of clients, not one company.
One board across every client, ranked by what needs you. Your brand on what goes out. Hard separation between firms, enforced in the database rather than in the application.
Every client's close on one board
Ranked by state, with the first thing standing in the way named for each. Compliance deadlines across the book, soonest first.
A firm cannot read another firm's client
Enforced by row-level security in Postgres and proved on every build by a suite that runs as real users against a real database, not by a code review.
Singapore data, in Singapore
Application and database both in ap-southeast-1. GST F5 returns are stored as filed and never recomputed behind your back.
Take on a client book, not a spreadsheet.
We are onboarding a small group of Singapore accounting and advisory firms. Tell us about your practice and we will walk you through a real close.