Recurring Revenue: Subscriptions, Care Plans, Costs & Time
Process Β· biz/process/04-recurring-and-care.md

Recurring Revenue: Subscriptions, Care Plans, Costs & Time

How the monthly-fee side of the business actually runs β€” what we sell, what it costs us, and how much of Daniel's week it eats. Operational playbook β€” derived from BUSINESS-MODEL.md + DECISIONS.md (settled) + BRAND-STRATEGY.md.

Read this as the answer to three questions Daniel keeps asking: what will the monthly subscription look like, what are our costs, and how much time will it take? The honest one-liner that governs everything below: recurring is the FLOOR, not the rate leader. A Care Plan nets R771/h β€” below the Repaint project rate (R848/h SA). Recurring exists to smooth revenue against project lumpiness and cover roughly half the R20k floor in dry months, not to beat project economics. Pricing/deposits/discounts on the one-time build fees live in Pricing & payments; this doc is only the recurring layer.


1. The recurring menu

Every recurring line we offer. Prices ZAR-first, USD/Β£ alongside; planning math uses the R16.0/$ buffer. Client-facing language stays outcome-led β€” the stack names here are internal only.

Line SA price/mo INTL price/mo For Status
Care Plan β€” Basic R900 $60 / Β£45 ICP-A/B after any build; "keep it alive" Sell now (best-effort)
Care Plan β€” Standard R1,500 $95 / Β£70 Clients who want regular small changes + monitoring Sell now (best-effort)
WhatsApp Receptionist (flagship) R1,800 β€” ICP-A SA health/professional practices Sell now; substrate light (see Β§4)
WhatsApp Receptionist β€” Busy tier ~R3,500 β€” Busy retail / e-comm (~2,000 convos) Sell now; watch margin (Β§2)
Web-chat variant (cart-recovery) R1,500 $150 ICP-B UK/EU/US e-comm Sell now; near-pure margin
Voice Agent retainer R2,500 $250 ICP-A/B, phone-first DEFERRED to Q3 β€” see Β§4

Voice is deferred and stays deferred until (a) the metering + monitoring substrate exists (Q3) and (b) β‰₯2 paying voice leads are in hand. It carries an implicit real-time SLA a day-job cannot honour. Note it, quote it only when both gates are met, and move on.

1a. Care Plan β€” what's IN vs NOT

Care Plan is best-effort, async, NO hard SLA. That honesty is what protects the day job β€” never promise an uptime number or a response-time guarantee.

Basic R900 Standard R1,500
Hosting + domain/SSL kept live βœ… βœ…
Dependency/security patching βœ… βœ…
Uptime/error monitoring (once Β§4 Q2 ships) βœ… βœ…
Small content edits (text/images/hours) up to ~2 small changes/mo (Proposed) reasonable-use, batched monthly (Proposed)
Monthly "still healthy" check + note β€” βœ…
Best-effort response window async, ~2 business days (Proposed) async, ~2 business days (Proposed)

Explicitly NOT in any Care Plan: new pages/features, redesigns, new integrations, e-comm/catalogue work, guaranteed response or uptime SLA, emergency/after-hours. All of those are new scope β†’ quote as a build or bill at the change-order rate (R900/h Β· $110/h). Rule: upsell to the next package, never bend the current one.

1b. WhatsApp Receptionist β€” what's IN vs NOT

IN scope (the R1,800 tier) NOT in scope (separate line / not offered)
Transactional booking, rescheduling, FAQ, lead capture Broadcasts / marketing / reminder blasts β†’ separate line item (see below)
Calendar write-back (Google/Outlook sync = MVP; GoodX where a dental prospect runs it) General-purpose "ask-me-anything" chat (Meta-banned; bot must refuse off-topic)
Payment via hosted link + webhook confirmation back in chat True in-chat checkout (no WhatsApp Pay merchant rail exists in SA)
600 conversations/mo included Overage above 600 β†’ ~R3/conversation
POPIA-aware handling (opt-in, minimisation, human-in-loop for health-adjacent) Voice/phone (that's the deferred Voice Agent)

Broadcasts are always a separate, metered line item β€” never folded into R1,800. Meta marketing messages run ~R1.40/msg; 5,000 msgs/mo β‰ˆ ~R7,500 in Meta fees alone. Price broadcasts at Meta cost + margin, billed on actual volume, quoted per campaign.


2. Costs β€” what each plan costs us

The whole point of the lean stack: self-built orchestration (Daniel's existing agent-infra pattern) + pay-as-you-go BSP (Twilio, ~$0.005/msg, no monthly). Do not use a bundled platform β€” WATI alone is ~R1,400/mo and eats the entire retainer before a single Meta fee. 360dialog (€49/mo flat) only wins at high volume.

Plan Monthly infra cost LLM tokens Margin (infra only)
Care Plan (Basic/Std) ~R150 negligible ~85–90%
WhatsApp Receptionist (≀600 convos) ~R250–650 (Meta fees + Twilio PAYG) <$5/mo at ~1,000 convos ~64–86%
WhatsApp Busy tier (~2,000 convos) ~R2,400 ~$10–15/mo ~30%+
Web-chat variant ~R150–200 (no Meta/BSP fees) <$5/mo near-pure margin
Voice (Q3, if sold) R330–490 (≀600 min) small ~80% at cap

The two Meta clocks β€” price against them from day one, not against today's free-window economics:

  1. Oct 1, 2026 β€” Meta meters the free service window. Every competitor's blog price assumes free in-window replies; that ends. All figures above are already the post-October regime β€” quote on these, or margin quietly evaporates on live clients in Q4.
  2. Aug 1, 2026 β€” Meta's native "Business Agent" starts billing (~4–5c/msg). Meta itself commoditizes the generic bot. Never pitch "we have a WhatsApp bot." Pitch what native can't do: real calendar/PM-system integration, SA payment-provider choice, CRM push, POPIA-aware health handling, bespoke multi-step flows.

Margin discipline: the ≀600-convo tier is the healthy one (64–86%). The busy 2,000-convo tier is ~30%+ and thin β€” at that volume infra alone approaches the fee before counting Daniel's time. Qualify prospects toward the low-volume end; if a client consistently runs high, move them to the Busy tier or reprice. The build fee (R15k) β€” not the retainer β€” is what earns the setup effort back.


3. Time β€” how much of the week

Budget 1.5–1.75 h/mo per recurring client. No real per-client data exists yet, so this is a deliberately conservative measurement target for clients 1–3 (time-tracking is on from client 1).

Plan Budgeted h/mo Effective rate
Care Plan (Standard) 1.75 net R771/h (below project rate)
Chat / WhatsApp retainer 1.5 net ~R867/h
Voice (if/when sold) 2.0 net ~R1,005/h

Hard KPI ceiling: ≀2 h/mo per client. This is the M6 checkpoint. If measured support exceeds it:

  • >2 h/mo β†’ warning; tighten scope, batch requests to a monthly window.
  • >2.5 h/mo β†’ the retainer is underpriced/over-scoped β†’ reprice (per the M6 pivot: Care to R1,200 Basic / R1,800 Std) and cap scope harder.

Portfolio reckoner (for "how much of my week"): support time β‰ˆ clients Γ— ~1.75 h/mo.

  • 6 recurring clients β‰ˆ ~11 h/mo support (the R20k-floor scenario).
  • 9 recurring clients β‰ˆ ~16 h/mo support (the steady m9–12 scenario).

Framing to hold onto: recurring floors at ~R9–14k/mo net by Q4 β€” about half the R20k floor β€” before any project closes. It does not clear R20k on its own. It is ballast against dry months, bought with hours that earn less per hour than a build. Don't over-attach recurring at the expense of the project pipeline, which is where the rate actually lives.


4. Substrate β€” what must EXIST before selling each tier

Reuse Daniel's existing pattern (VPS + systemd + Discord + event-log + SQLite) β€” the monitoring muscle is genuinely de-risked. Stage the build; don't sell ahead of the substrate.

Tier Can sell when… Substrate needed (quarter)
Care Plan Now β€” honestly best-effort, no SLA None beyond hosting namespaces (Q1)
WhatsApp / Web-chat Now (light); scale after Q2 Q2: monitoring/uptime + error alerting (reuse Discord/event-log) + recurring billing (Paystack SA / Stripe INTL) + one-click chat template
Overage enforcement, Busy tier at scale Q3 Q3: usage metering + overage billing + per-client isolation + status page β€” built only if scale/voice demand justifies
Voice Agent Q3+, and only if β‰₯2 paying leads All of Q2 and Q3 metering must ship first

No hard SLA until Q4 (and only "SLA-lite" then). Best-effort retainers are the interim state by design β€” that is Daniel's stated constraint, not a gap to apologise for.

Interim overage gap (Proposed β€” not yet in DECISIONS.md): the R1,800 tier sells with a 600-convo cap + ~R3/convo overage now, but automated usage metering + overage billing is a Q3 substrate milestone. Until Q3, handle overage manually: read the Twilio/Meta dashboard once a month, flag the client at ~80% of cap, and bill overage on the next invoice by hand. Don't advertise hard real-time metering before it exists.


5. Billing & onboarding ops

5a. Onboarding a Care Plan retainer

  1. Retainer starts at handover of the build it attaches to (Care Plan is a build convert, not a standalone sale).
  2. Set up recurring billing: Paystack (SA) / Stripe (INTL), monthly, month-to-month.
  3. Add the site to monitoring once Q2 alerting is live; log the client in clients/.
  4. Send the one-paragraph "what your plan covers / what's extra" note (mirrors Β§1a) so scope is written down before the first request arrives.

5b. Onboarding a WhatsApp Receptionist β€” set expectations PRE-SIGNATURE

There is no same-day go-live. Say this before the client signs, so the lead time and the number requirement don't surface as post-signature surprises (this belongs in the Sales & intake conversation too).

  • Meta Business verification: 2–14 business days (needs business-registration docs, 2FA/PIN) β€” the long pole.
  • A dedicated phone number the client is not already using on personal WhatsApp (common objection β€” surface it early).
  • Template message review β€” a separate Meta queue on top of verification.
  • Display-name approval.
  • Confirm the integration path in the audit/scope: Google/Outlook Calendar sync (psychologist MVP) or GoodX (dental, proven writable diary); Healthbridge = gated ~60-day partner process, expect friction.
  • Payments: hosted link (Yoco / Paystack / PayFast) + webhook confirmation. Demo honestly as "tap, pay, get confirmed here" β€” never "in-chat checkout."
  • POPIA: implement real opt-in, minimisation, deletion, human-in-loop for health-adjacent flows (it's hygiene, not a selling point β€” incumbents ship it).

Budget a 1–2 week buffer per client in the sales-to-live timeline. The R15k build fee covers this setup effort, so the retainer can stay honestly month-to-month.

5c. Term, cancellation & continuity

  • Month-to-month, no lock-in β€” this is a settled brand promise (soft risk-reversal; the client owns everything). Do not introduce a minimum term or lock-in; the build fee β€” not the retainer β€” earns back setup, so no minimum is needed.
  • Cancellation: month-to-month, 30 days' notice (Proposed β€” not yet in DECISIONS.md; docs say "month-to-month / no lock-in" but set no notice period). On cancel: hand over code/accounts, remove from monitoring/billing, archive in clients/.
  • The continuity pitch for non-technical buyers (from BRAND-STRATEGY, order matters): lead with "a person on the other end, month-to-month" β€” then code/account ownership and written handover as the supporting detail. Code-ownership language reassures only technical buyers; the human-on-retainer line is what converts ICP-A.

5d. Destination hygiene (hard rules)

  • Client-site submissions go to the CLIENT's inbox, never to Daniel's Discord (POPIA β€” berlein especially). The Discord/outbox pipeline is for Daniel's own funnel, not client customer data.
  • NO hospitality clients, ever. No recurring line is ever routed to a hospitality lead; the restaurant app is anonymised capability proof only, never a referral seed.

Open decisions (β†’ DECISIONS.md)

Flagged Proposed above β€” new operational choices not yet in the settled log; Daniel to ratify or amend:

  1. Care Plan tier scope split β€” Basic = ~2 small content changes/mo; Standard = reasonable-use batched monthly + a monthly health check. (Docs set the prices R900/R1,500 but don't differentiate what each tier includes.)
  2. Best-effort response window β€” state "async, ~2 business days, no guaranteed uptime SLA" as the published habit. (BRAND-STRATEGY says "stated response habit" but names no number.)
  3. Interim overage handling (before Q3 metering) β€” manual monthly dashboard read + ~80%-of-cap heads-up + hand-billed overage.
  4. Cancellation notice period β€” month-to-month with 30 days' notice. (Docs settle "no lock-in" but no notice period.)