generated from coulomb/repo-seed
Split infrastructure vs payment-processing costs. Liquidity burn now uses infrastructure cash out only (€1,155.20 cumulative) because Stripe fees are already deducted from net member payments. Total platform cost (€1,158.24) remains visible for gross-margin economics.
75 lines
2.6 KiB
Markdown
75 lines
2.6 KiB
Markdown
# Coulomb MVP — Liquidity & Cost Requirements
|
|
|
|
## Context
|
|
|
|
Coulomb Social carries **operator platform costs** (Bubble.io, domains, Stripe
|
|
fees, future OpenRouter usage) while **customer cost-pass-through billing is not
|
|
active yet**. Members pay a flat subscription; they are not billed for
|
|
underlying platform spend.
|
|
|
|
The Economic Observatory must make the resulting **liquidity burn** visible.
|
|
|
|
## Requirements
|
|
|
|
### LQ-001 — Platform cost ledger
|
|
|
|
Record monthly platform costs from project start (March 2025), including fixed
|
|
infrastructure and payment-provider variable fees when member revenue exists.
|
|
|
|
### LQ-002 — Member payment ledger
|
|
|
|
Record member subscription payments from first payment month (November 2025),
|
|
separate from platform cost accrual.
|
|
|
|
### LQ-003 — Budget tracking
|
|
|
|
Maintain an operator liquidity budget (initial: **€1,000**) and compute
|
|
remaining budget after cumulative **infrastructure** spend minus cumulative net
|
|
member payments received.
|
|
|
|
### LQ-004 — Liquidity position
|
|
|
|
Report whether the project is **burning**, **neutral**, or **generating**
|
|
liquidity each period:
|
|
|
|
- `period_net = net_member_payments - infrastructure_cost`
|
|
- `cumulative_net = sum(period_net)`
|
|
- `remaining_budget = initial_budget + cumulative_net`
|
|
|
|
**No double-counting:** payment-processing fees (Stripe) are deducted from net
|
|
member payments. They are tracked separately for economics reporting but must
|
|
**not** be subtracted again in the liquidity formula.
|
|
|
|
- `total_platform_cost = infrastructure_cost + payment_processing_cost` (for
|
|
gross-margin economics vs gross revenue)
|
|
- `cumulative_total_platform_cost` is informational; liquidity burn uses
|
|
`cumulative_infrastructure_cost` only
|
|
|
|
Negative remaining budget means the MVP has consumed more liquidity than the
|
|
allocated budget.
|
|
|
|
### LQ-005 — No customer cost billing (MVP boundary)
|
|
|
|
Do not allocate platform costs to customer invoices in MVP. Cost attribution
|
|
(OpenRouter per member, usage overage) is observatory-only until a later phase
|
|
introduces customer-visible credits or usage billing.
|
|
|
|
### LQ-006 — Historical dashboard
|
|
|
|
Economics Dashboard must show:
|
|
|
|
- Current-period economics (revenue, platform cost, margin)
|
|
- Cumulative liquidity summary (budget, burn, remaining)
|
|
- Monthly history table from March 2025
|
|
|
|
## Data sources (current)
|
|
|
|
| Registry | Path |
|
|
|----------|------|
|
|
| Budget | `data/budget.json` |
|
|
| Platform costs | `data/costs.json` (`rate_card` + `monthly_history`) |
|
|
| Member payments | `data/revenue.json` |
|
|
| Membership | `data/membership.json` |
|
|
|
|
Future sprints replace manual history with Bubble, Stripe, and OpenRouter imports
|
|
while preserving the same liquidity semantics. |