Ledger
Ledger is the double-entry book of record: Entries posted from Events, reconciled to Transactions, and closed each Period into statements.
Ledger is a Startup’s double-entry book of record: every money Verb posts balanced Entries as it runs. Agents categorize, reconcile and close each Period; a Human sees only the exceptions.
Summary
| Part | This System |
|---|---|
| Group | Finance |
| Status | Beta: it works, and its Verbs may still change |
| Shelf | Front: offered from a Startup’s first days |
You can ask:
- “Close the books for last month”
- “Categorize these transactions”
- “Show me the profit and loss”
- “Are we on budget?”
What you get
| Part | This System |
|---|---|
| Starts | On for every Startup at creation, with nothing to install. |
| Built from | Event streams, Database, Payment rails |
Nouns it owns
| Noun | Definition |
|---|---|
| Entry | An Entry is one line of a double-entry posting: an amount to one account in the chart of accounts, caused by one Event. |
| Period | A Period is one month of a Startup’s books, open until every Transaction reconciles, then closed and locked. |
| Policy | A Policy is a ruling a Startup declares on how its numbers are computed or its choices made, such as revenue recognition. |
| Cost | A Cost is an Entry against a cost account that an Action causes, posted to the Startup the Action ran in. |
| Statement | A Statement is a report computed from Entries for one Period under a Policy, such as a P&L, a balance sheet or a payout statement. |
| Budget | A Budget is the amount a Startup plans to spend or earn on one account in one Period, read against actual Entries. |
Verbs
| Verb | Object | Approval | Event |
|---|---|---|---|
| Entry.list | Entry | None | None. |
| Transaction.reconcile | Transaction | None | Transaction.reconciled |
| Period.close | Period | None | Period.closed |
| Period.lock | Period | Asks first; waits 1 business hour | Period.locked |
| Transaction.categorize | Transaction | None | Transaction.categorized |
| Entry.post | Entry | Asks first; waits 1 business hour | Entry.posted |
| Entry.settle | Entry | Asks first; waits 1 business hour | Entry.settled |
| Budget.create | Budget | None | Budget.created |
| Period.recognize | Period | None | Period.recognized |
| Statement.list | Statement | None | None. |
Events
| Direction | Event | How |
|---|---|---|
| Emits | Transaction.reconciled | By Transaction.reconcile |
| Emits | Period.closed | By Period.close |
| Emits | Period.locked | By Period.lock |
| Emits | Transaction.categorized | By Transaction.categorize |
| Emits | Entry.posted | By Entry.post |
| Emits | Entry.settled | By Entry.settle |
| Emits | Budget.created | By Budget.create |
| Emits | Period.recognized | By Period.recognize |
| Consumes | Invoice.collected | Acts on it |
| Consumes | Order.paid | Acts on it |
| Consumes | Transaction.settled | Acts on it |
States
None.
Who operates it
| Part | This System |
|---|---|
| Accountable | Finance Lead |
| Team | Finance Team |
| Seat | A role agent holds it until a Human is seated. |
| Autonomy | assist |
| Also calls its Verbs | Treasurer, Payroll Specialist |
Approvals and limits
| Verb | Rule | Detail |
|---|---|---|
| Period.lock | A person says yes first | Waits 1 business hour |
| Entry.post | A person says yes first | Waits 1 business hour |
| Entry.settle | A person says yes first | Waits 1 business hour |
| Transaction.reconcile | Mandate close-the-books for the Finance Lead | Reconciles Transactions and closes each Period without asking. |
| Period.close | Mandate close-the-books for the Finance Lead | Reconciles Transactions and closes each Period without asking. |
Processes that use it
| Process | How it uses it |
|---|---|
| Books | A step calls Transaction.reconcile |
| Payroll | A step calls Entry.post |
| Expense approval | A step calls Transaction.categorize |
| Supplier payouts | A Workflow writes Statement |
| Budget | A Workflow writes Budget |
| Payables | A step calls Transaction.reconcile |
| Runway | Runs on it |
Rail underneath
None.
Views and dashboards
| View | Shows | Metrics |
|---|---|---|
| Books | The Statements for each closed Period, and each Budget against actuals. | Contribution margin, Cost coverage, Fully loaded Cost |
| The Finance Lead’s view | The Metrics its accountable Role answers for. | Acquisition payback, Lifetime value, Contribution per outcome |
Access
What each Access level may call here.
| Access level | May call |
|---|---|
owner | Every Verb (26) |
admin | All but 3 of 26: Entry.post, Entry.settle, Period.lock |
member | All but 6 of 26: Entry.post, Entry.settle, Period.lock, Policy.create, Policy.update, Policy.delete |
viewer | Read only (12 of 26) |
Import and export
None.
Fees and pricing
None.
Availability and limits
| Part | This System |
|---|---|
| Status | Beta: it works, and its Verbs may still change |
Compliance notes
Each closed Period is locked; signing the tax returns stays the founder’s.
Controls it carries:
- Log completeness
- Append-only records
- Point-in-time recovery
- Processing definitions
- Segregation of duties
- Reconciliation completeness
- Manual Entry review
Related Systems
Example
An Agent as a Service bookkeeper sells a $4,800 annual plan. The payment posts $4,800 to deferred revenue, and Period.recognize moves $400 into revenue each month. On the second business day, the Finance Lead Agent reconciles the month to Stripe, locks it, and sends the Founder a profit and loss.