Billing Model
How RevKeen handles subscription billing, invoicing, and payment collection
RevKeen supports flexible billing models from simple one-time charges to complex recurring subscriptions with trials, discounts, and minimum commitments. This guide explains the core concepts you need to understand.
Payment Types
One-Time Payments
Recurring Subscriptions
Billing Intervals
RevKeen supports flexible billing intervals to match any business model:
| Interval | Code | Example |
|---|---|---|
| Daily | day | Billed every day |
| Weekly | week | Billed every 7 days |
| Monthly | month | Billed same day each month |
| Quarterly | quarter | Billed every 3 months |
| Semi-Annual | half_year | Billed every 6 months |
| Annual | year | Billed once per year |
interval_count. For example, interval: month, interval_count: 2 bills every 2 months.Subscription Lifecycle
RevKeen subscriptions support 10 distinct states to handle every scenario:
| State | Description | Service Access | Billing |
|---|---|---|---|
pending | Checkout started, awaiting payment | ❌ No | ❌ No |
trialing | Free trial active | ✅ Yes | ❌ No |
active | Subscription paid and active | ✅ Yes | ✅ Yes |
past_due | Payment failed, in grace period | ⚠️ Limited | 🔄 Retrying |
paused | Temporarily suspended by customer | ❌ No | ❌ No |
unpaid | All retries exhausted | ❌ No | ❌ No |
canceled | Subscription terminated | ❌ No | ❌ No |
expired | Natural end (cancel at period end) | ❌ No | ❌ No |
incomplete | Initial payment processing | ⚠️ Pending | ⏳ Waiting |
incomplete_expired | Initial payment timed out (24h) | ❌ No | ❌ No |
Collection Methods
RevKeen supports two ways to collect payments:
Charge Automatically
Send Invoice
Invoice Lifecycle
| Status | Description | Editable |
|---|---|---|
draft | Invoice created, can still be edited | ✅ Yes |
open | Finalized, sent to customer, awaiting payment | ❌ No |
paid | Payment received | ❌ No |
past_due | Past due date, payment retrying | ❌ No |
voided | Voided by admin | ❌ No |
uncollectible | Bad debt write-off | ❌ No |
Billing Cycle Anchor
By default, subscriptions bill on the anniversary of their start date. You can override this with a billing anchor to align all customers to the same billing date.
Anniversary Billing
Anchor Day Billing
Proration
When a customer upgrades or downgrades mid-cycle, RevKeen calculates prorated charges to ensure fair billing:
| Behavior | Code | Description |
|---|---|---|
| No Proration | none | Change plan with no extra charges. New price applies from next period. |
| Next Invoice | next_invoice | Store proration adjustments, apply as credits/charges on next invoice. |
| Immediate Invoice | invoice_immediately | Create a proration invoice now and attempt payment immediately. |
Proration Example: Upgrade Mid-Month
Trial Periods
Offer free trials to let customers try before they buy:
Status becomes trialing. No charge.
RevKeen sends "Trial Ending Soon" email notification.
If card on file: attempt charge → active or past_due
If no card: → canceled
Minimum Commitments
Enforce minimum subscription periods for annual contracts or enterprise deals:
| Setting | Description |
|---|---|
minimum_commitment_months | Required commitment period (e.g., 12 months) |
commitment_early_cancel_fee_cents | Fixed fee for early cancellation, OR charge remaining months |