Credits and billing
A write costs credits. A read is free. Every organization gets monthly credits from its plan, and can buy packs on top.
What a call costs
| Action | Credits |
|---|---|
| Create an item | 1 |
| Edit an item | 1 |
| Read or list items | 0 |
| Delete an item | 0 |
The costs live in packages/control/src/domain/plans.ts (creditCosts). Change them there for your own product.
Plans
| Plan | Price | Monthly credits |
|---|---|---|
| Free | EUR 0 | 1,000 |
| Pro | EUR 19 a month | 50,000 |
| Business | EUR 99 a month | 500,000 |
Prices exclude VAT. A yearly plan is billed ten months for twelve, and its credits still reset every month. Each plan also caps the items, the API keys and the members; the billing screen of the dashboard lists them.
Credit packs
| Pack | Credits | Price |
|---|---|---|
| Small | 10,000 | EUR 10 |
| Medium | 55,000 | EUR 50 |
| Large | 120,000 | EUR 100 |
A pack is paid once and its credits last 12 months. They are used after the month's credits run out, the lot that expires first going first.
When the credits run out
A call that costs credits is refused with 402 InsufficientCredits until the next month starts, the organization moves to a larger plan, or it adds a pack. Reads keep working.
Paying
Owners and billing members pay through Stripe Checkout and manage the plan in the Stripe customer portal. Owners turn on two-factor authentication before they start a paid plan. Stripe tells the app what changed through webhooks.
What is sold
billingModel in plans.ts chooses what the product sells: subscriptions, credit packs, or both. The dashboard and the pricing page show only what is sold.