Treasury
Treasury holds a Startup’s cash accounts and balances on Stripe, moves money between them, and forecasts runway.
Treasury holds a Startup’s cash on Stripe and at its bank, moves it within the Treasurer’s Limits, and forecasts runway every week. Every move is a Transaction the Ledger reconciles.
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:
- “How much cash do we have?”
- “Show this month’s transactions”
- “Forecast our cash for the next quarter”
What you get
| Part | This System |
|---|---|
| Starts | On for every Startup at creation, with nothing to install. |
| Built from | Payment rails, Bank accounts, Database, Financial accounts |
Nouns it owns
| Noun | Definition |
|---|---|
| Transaction | A Transaction is money moving on a payment rail, such as a charge, a payout, or a transfer, reconciled to Entries. |
| Forecast | A Forecast is a dated week-by-week projection of a Startup’s cash, revenue and Cost, computed from its records, that sets its spend state. |
| Account | An Account is a ledger account in a Startup’s chart of accounts; a cash Account is held at one place, such as Treasury. |
Verbs
| Verb | Object | Approval | Event |
|---|---|---|---|
| Transaction.list | Transaction | None | None. |
| Transaction.get | Transaction | None | None. |
| Forecast.create | Forecast | None | Forecast.created |
| Account.sweep | Account | None | Account.swept |
| Account.payout | Account | Asks first; waits 1 business hour | Account.paidOut |
| Account.list | Account | None | None. |
Events
| Direction | Event | How |
|---|---|---|
| Emits | Forecast.created | By Forecast.create |
| Emits | Account.swept | By Account.sweep |
| Emits | Account.paidOut | By Account.payout |
| Emits | Transaction.failed | Raised by the rail |
| Emits | Transaction.settled | Raised by the rail |
States
None.
Who operates it
| Part | This System |
|---|---|
| Accountable | Treasurer |
| Team | Finance Team |
| Seat | A role agent holds it until a Human is seated. |
| Autonomy | assist |
| Also calls its Verbs | Supply Manager, Finance Lead |
Approvals and limits
| Verb | Rule | Detail |
|---|---|---|
| Account.payout | A person says yes first | Waits 1 business hour |
Processes that use it
| Process | How it uses it |
|---|---|
| Supply | A step calls Forecast.create |
| Books | A step calls Transaction.list |
| Billing | A Workflow writes Transaction |
| Runway | A step calls Forecast.create |
| Payroll | A Workflow writes Transaction |
| Delivery | A Workflow writes Transaction |
| Expense approval | A Workflow writes Transaction |
| Supplier payouts | A Workflow writes Transaction |
| Budget | A step calls Forecast.create |
| Payables | A Workflow writes Transaction |
| Incorporation | A Workflow writes Account |
| Mail handling | A Workflow writes Transaction |
Rail underneath
Stripe’s products (Stripe’s names): Treasury, Financial Connections, Payments.
| Noun | Stripe object | Source of truth |
|---|---|---|
| Transaction | PaymentIntent (payment_intent), when kind is charge | The source of truth is Stripe: db.sb mirrors it, written only from Stripe’s webhooks. |
| Transaction | Payout (payout), when kind is payout | The source of truth is Stripe: db.sb mirrors it, written only from Stripe’s webhooks. |
| Transaction | Refund (refund), when kind is refund | The source of truth is Stripe: db.sb mirrors it, written only from Stripe’s webhooks. |
| Account | Treasury FinancialAccount (treasury.financial_account), when heldAt is treasury | The source of truth is Stripe: db.sb mirrors it, written only from Stripe’s webhooks. |
Views and dashboards
| View | Shows | Metrics |
|---|---|---|
| Cash | Balances, settled Transactions, and the cash Forecast. | Default alive |
| The Treasurer’s view | The Metrics its accountable Role answers for. | Runway days |
Access
What each Access level may call here.
| Access level | May call |
|---|---|
owner | Every Verb (9) |
admin | All but 1 of 9: Account.payout |
member | All but 1 of 9: Account.payout |
viewer | Read only (6 of 9) |
Import and export
| Connector | Mode |
|---|---|
| Stripe | Import: edits made in the tool arrive as Changes. |
Fees and pricing
Stripe’s cost for each outbound payment and instant payout passes through at cost, booked as its own Entry; cash already held carries no platform fee.
Availability and limits
| Part | This System |
|---|---|
| Status | Beta: it works, and its Verbs may still change |
| Stripe countries | US |
Compliance notes
Stripe and its partner banks hold the funds; what each Account is used for stays the founder’s.
Controls it carries:
Related Systems
- Ledger
- Spend management
- Earnings
- Pay runs: also holds Transaction
Example
A Headless SaaS for document scanning keeps two weeks of card spend in its card balance and moves the rest to reserve every week. The weekly Forecast reads its Subscriptions, open Invoices and Bills, and projects 19 months of runway. The Treasurer Agent posts the number to the Founder’s week.