Billing & Invoicing
How the platform charges clinics for their subscription and usage. Includes how clinics charge their own patients, and what the platform handles vs. what's left to the clinic.
What clinics get from the platform
Subscription billing
Each clinic is on a plan (Free / Pro / White-Label / custom). The plan determines:
- What features are turned on (telerehab, AI assistant, custom branding, etc.).
- Quotas for usage-based capabilities (max video minutes/month, max emails, max locations, max AI calls, etc.).
- Monthly base fee (or annual prepay).
The platform automatically generates invoices, charges the clinic's payment method on file, and handles failed-payment retries. Clinic admins see their plan, current usage against quotas, recent invoices, and payment history in the Clinic admin app.
Romanian compliance
For Romanian clinics, invoicing flows through FGO with e-Factura submission to ANAF. RO VAT is calculated automatically; the clinic doesn't need to set up tax handling separately. The same flow handles CUI on the invoice + structured fields required for Romanian tax invoices.
International clinics use Stripe with Stripe Tax handling VAT/sales-tax automatically.
What's on the invoice
A typical monthly invoice line items:
- Plan base fee (e.g., "Pro plan — €99/month").
- Usage overages (e.g., "Email overage — 1,234 emails × €0.001 = €1.23"; only for plans that allow soft-meter overages — others hard-block at quota).
- AI cost passthrough with markup (e.g., "AI assistant — 45,000 tokens — €4.50"; the underlying provider cost + a platform markup).
- Tax (VAT or sales tax, computed by the invoicing provider based on clinic's location).
Payment methods
- International: card via Stripe (Visa, Mastercard, Amex), SEPA Direct Debit for EU.
- Romania: card via Stripe, or local providers if a clinic specifically requests (Netopia, Euplatesc) — supported via per-clinic configuration.
How clinics charge their own patients
The platform supports two patterns. Most clinics will use Option A.
Option A — Clinic uses their own payment provider (default, supported today)
The clinic already has Stripe / Netopia / cash / insurance billing infrastructure for their patient payments. The platform doesn't touch this money. When a payment lands in the clinic's system:
- The clinic's payment provider sends a webhook to the platform.
- The platform updates
patient_subscriptionsso feature gating reflects the patient's paid status.
This pattern works from Day 1 via the platform's webhook subscription system. Clinic IT (or the clinic admin) configures their payment provider to POST to a webhook URL.
Option B — Platform mediates patient payments (future)
For clinics that don't have their own payment infrastructure, the platform offers an end-to-end solution:
- Patient pays the platform directly through the clinic's portal.
- The platform records the balance owed to the clinic.
- On a payout schedule (weekly/monthly), the platform pays the clinic minus a platform fee.
- Refunds, disputes, and fraud handling are the platform's responsibility.
This is a strategic future capability — significant infrastructure work (KYB onboarding per clinic, payout management, payment institution licensing in some jurisdictions, fee model). Ships when the company is ready to make this strategic move. Clinics that prefer Option A coexist; the two paths are independent.
Pricing model overview
The platform's revenue comes from:
- Plan base fees (recurring SaaS subscription per clinic).
- Usage overages for soft-meter capabilities (per-event cost above plan quota — e.g., excess emails).
- AI cost passthrough markup (the platform passes through AI provider costs with a markup; clinic pays the marked-up amount; platform retains the difference).
- One-time setup fees for white-label tier (premium provisioning effort: custom domains, isolated provider accounts, white-label DPA template).
- Future: per-transaction fees on patient payments mediated through the platform (Option B).
What clinics never need to do
- Compute tax rates — handled by Stripe Tax / FGO / e-Factura.
- File RO VAT returns — handled by FGO + ANAF integration.
- Configure their own AI provider keys — platform pays Anthropic/OpenAI; clinic pays the platform.
- Manage video / SMS / email provider accounts — same; platform-curated.
What's coming when
- Manual invoicing today — for the first paying clinics, the platform team cuts invoices manually via FGO (Romanian) or by hand (international); clinic pays bank transfer or wire. Works for a small handful of customers; doesn't scale.
- Automatic billing engine — ships in the dedicated Billing & Invoicing feature when manual invoicing becomes operationally painful (typically after 5–10 paying clinics). Adds the subscription state machine, automatic invoice generation, dunning, refunds, billing UI.
- Marketplace mediation (Option B for patient payments) — strategic future feature; ships when the company is ready to onboard clinics into a fully-managed payment flow including KYB, payouts, and fee management.
For developers
Technical details — the capability interfaces (payment.Provider, invoicing.Provider), the resolver pattern that selects which provider serves which clinic, the schema, and the build plan — are documented in the Billing feature spec and F12 in the implementation plan.