Rebilling Money Model
Iron’s money model is a flat base subscription plus metered usage rebilling: a client’s monthly invoice is the flat base plus measured SMS, AI, and voice usage. The agency sets a rate card; usage is metered, rolled up, and reported to Stripe.
The pieces
Section titled “The pieces”- Flat base — the recurring anchor (the decided plan is $297/mo, with a quarterly prepay option). This covers the done-for-you service, number rental, and an included usage bucket.
- Metered usage — three usage meters (SMS, voice minutes, AI tokens). Usage is rolled up daily and reported to Stripe as meter events, which add usage lines to the client’s invoice.
- Rate card — the agency-stored card of per-meter prices and the base rate (agency-only, on the agency org’s settings; no migration). See Billing.
How a usage invoice is built
Section titled “How a usage invoice is built”- Activity (SMS sent, voice minutes, AI tokens) is recorded as usage.
- A daily beat rolls usage into
crm.usage_rollups. - A daily reporter selects unreported rollups, maps the org to its Stripe customer, pushes meter events to Stripe, and stamps the rows as reported (idempotent — the timestamp is the guard).
- The client’s monthly invoice = flat base + the measured usage lines.
Recurring checkout modes (monthly, quarterly, ACH) attach the metered prices alongside the base so this works automatically. An annual prepay is flat-only (Stripe cannot mix a yearly base with monthly metered prices in one subscription).
Trial lifecycle
Section titled “Trial lifecycle”A client starts in a card-required trial. The trial-lifecycle state machine
(none / trialing / active / past_due / lapsed / canceled) is driven by Stripe
webhooks plus a daily trial-expiry sweep. A trial that doesn’t convert is lapsed, and the
per-request billing gate then returns 402 for a lapsed / past-due client org. The agency org is
always exempt, and the gate fails open on any internal error.
Connect rebilling (lean back office)
Section titled “Connect rebilling (lean back office)”For the lean field-service back office, client invoices are collected via direct charges on the client’s connected Stripe account with an application fee — the agency’s markup. Connect is hard-gated to sandbox keys until go-live.