ADR-0020: Commercial model on the ConnectSoft SaaS templates¶
Decision
This page records a decision and its status. A Proposed decision is not binding; an Accepted decision is binding on the Factory until amended or superseded.
- Status: Accepted 2026-10-09 by the product owner (decision D34; closes Q-15)
- Date: 2026-10-09
- Deciders: Dmitry Khaymov (product owner)
- Tags: billing, editions, metering, entitlements
Context¶
The packet asked whether the first stage needs customer billing or only internal budget controls (Q-15). The user chose all commercial types and to grow the ConnectSoft SaaS templates for the purpose.
Decision¶
- The Factory supports internal budget controls, usage-based billing and seat or edition plans.
- They are implemented by extending the SaaS templates (Tenants, ProductsCatalog, Entitlements, Billing, Metering) for the Factory's own tenants; Factory Commercial (BC-34) owns editions, subscriptions, invoices and meters; Usage Accounting (BC-05) owns usage facts and reservations; Factory Tenancy & Entitlements (BC-33) evaluates entitlements and quotas.
- Prices are versioned; usage records keep the pricing revision; unknown usage stays uncertain and is reconciled.
- Generated products' commerce stays in the product's own stores and audience (ADR-0015); operating a product is metered as Factory capacity.
- Budget controls are required for the first governed workflow; billing and editions are designed now and activated when a paying tenant exists.
Consequences¶
- Positive: one spine (usage → meters → budgets, billing, editions); the Factory validates the SaaS templates as their first customer; no second billing stack.
- Negative: the SaaS templates gain Factory-specific meters and edition dimensions, which must stay compatible with product use (template versioning).
Alternatives considered¶
| Alternative | Why not chosen |
|---|---|
| Budgets only, billing later undefined | Leaves editions and entitlements undesigned although they shape the Studio and tenancy |
| Third-party billing product | Duplicates the SaaS templates the Factory is meant to generate and prove |