Expense approval
Expense approval checks every card charge against its Mandate and the spender’s Limit, asks the Founder above it, and codes each charge with its receipt.
Outcome
| Part | This Process |
|---|---|
| Outcome | Every card charge is inside its Mandate or approved by the Founder, coded to an account, and carries its receipt. |
| Reads | Mandate, Card |
| Leaves | Transaction, Approval |
| On time | Within 1 day (business hours); the clock stops while an Action waits on awaitingInput. Late Actions go to the Finance Lead. |
| Runs in | Each Startup |
Accountable
Responsible: Treasurer.
Consulted: Finance Lead.
Informed: Founder.
Workflows
| Workflow | Runs | Team |
|---|---|---|
| Approve spend | on Mandate.spent | Finance Team |
Who does each step
| Workflow | Step | Role | Calls | Approval |
|---|---|---|---|---|
| Approve spend | 1. Check the charge against the Card’s Mandate and the spender’s Limit. | Treasurer | ||
| Approve spend | 2. Ask the Founder for an Approval when the charge passes the Limit. | Treasurer | Approval.create | None |
| Approve spend | 3. Code the Transaction to its account. | Treasurer | Transaction.categorize | None |
| Approve spend | 4. Attach the receipt from the vendor’s email, and chase the spender after a week without one. | Treasurer | Transaction.attach | None |
| Approve spend | 5. Pause the Mandate when the Founder refuses a charge. | Treasurer | Mandate.pause | None |
Events
| Direction | When | What happens |
|---|---|---|
| In | On Mandate.spent | Starts Approve spend |
| In | On Card.issued | Wakes this Process, the first time only. The Startup issues its first Card. |
| Out | Approval.created | Raised by step 2 of Approve spend |
| Out | Transaction.categorized | Raised by step 3 of Approve spend |
| Out | Transaction.attached | Raised by step 4 of Approve spend |
| Out | Mandate.paused | Raised by step 5 of Approve spend |
Plays
No Play names this Process.
Controls
No Control names this Process or a Workflow of it.
Settings
| Setting | Type | Default | Say | Set with |
|---|---|---|---|---|
spend.askAbove | money | $500 | Ask me before any charge over $500 | Setting.update |
spend.receiptWithin | string | 7d | Chase missing receipts after a week | Setting.update |
Failure
A failed step retries; when retries run out, the Action goes to the Finance Lead.
| Step | On failure |
|---|---|
| Approve spend 2. Ask the Founder for an Approval when the charge passes the Limit. | refused: The Founder refuses the charge, so the Mandate pauses. Continues at pause. |
Loop
| Step | Value |
|---|---|
| Hypothesis | Asking the Founder only above a per-charge threshold keeps spend inside budget with fewer Approvals than asking on every charge. |
| Measure | Fully loaded Cost over 30d, at least 50 observations |
| Learn | The learn step reads the Readout, records Evidence and a Decision, and drafts the next Variant. |
Code
Turn on expense approvalEnable
On by default for every Product Template. Process.pause stops new Actions; Actions in progress finish.
Ask me before any charge over $500Example
A design-tool Startup gives its Marketing Lead a $1,000 monthly Mandate for ads. A $640 booth charge passes the $500 threshold. The Founder approves it in one Approval, and the Treasurer codes it to events with the receipt attached.