Skip to main content
Back to Learn More

Billing — Plans, Subscriptions & Entitlements

ES Reference: Phase 4 (INTOS-ES-P4-001) — Billing and Entitlements, Section 6

Overview

The Billing page manages your Interview OS subscription, payment method, usage, and plan entitlements. Phase 4 introduces a complete entitlement service with plan catalog, subscription lifecycle management, idempotent usage ledger, provider reconciliation, and transparent upgrade/downgrade previews.

Every protected feature call evaluates entitlements server-side. Feature denials explain exactly what plan is needed without losing your work.

Key Principles

  • Server-side entitlement enforcement — client-side flags are for UX only; real gates are server-side
  • Plan catalog is internal, not hardcoded in UI — plans can evolve without frontend changes
  • Usage is tracked with idempotent ledger — corrections use compensating entries, never overwrites
  • Understandable units — users see "kits remaining" or "practice minutes," not raw AI tokens
  • Daily reconciliation — provider state compared to database; differences alerted
  • Transparent upgrade/downgrade — preview impact, effective date, proration, and preserved data
  • Grandfathering is explicit and testable — plan-version changes have documented migration paths

Entitlement Decision Model

Entitlement = Plan Grants + Add-ons + Promotional Grants - Consumed/Expired Limits

Every protected use case calls the server-side entitlement service. The entitlement decision accounts for:

Factor Description
Plan Grants Base entitlements from your subscription plan
Add-ons Purchased additional capacity (extra kits, practice minutes)
Promotional Grants Time-limited promotional credits or feature access
Consumed Used quota (kits generated, practice minutes, etc.)
Expired Time-expired grants or credits

Screens in This Feature Area

1. Billing Overview (/billing)

Your billing dashboard showing current plan, usage, and subscription status.

Buttons & Actions:

Button Behavior
View Plans See available subscription tiers with feature comparison
Upgrade / Downgrade Change your current plan (with impact preview)
Manage Payment Method Add, update, or remove payment methods (provider-hosted)
View Invoices Access billing history and receipts
View Usage See current consumption against plan limits
Cancel Subscription Cancel your paid plan (reverts to free tier with data preservation)
Reactivate Restart a cancelled subscription

2. Plan Catalog

Available subscription plans represented internally (not hardcoded in UI).

Tier Best For Key Features
Free Casual job seekers Limited kits, basic role match, limited practice sessions
Professional Active job seekers Expanded kits, Role Match v2, unlimited practice, Story Bank
Executive Senior professionals All Professional + Executive Mode, Dream Job Navigator, NBA, Offer Comparison
Institutional Organizations & teams All Executive + organization workspace, cohorts, advisor tools, aggregate analytics, SSO

Buttons & Actions:

Button Behavior
Compare Plans Side-by-side feature comparison
Select Plan Choose a plan (goes to provider checkout)
Preview Impact See what changes with upgrade/downgrade before committing

3. Subscription Lifecycle

Your subscription transitions through these states:

TRIAL → ACTIVE → PAST_DUE → ACTIVE (payment resolved)
                    ↓
                  CANCELLED → EXPIRED
                    ↓
                  PAUSED (if supported by provider)

Buttons & Actions:

Button Behavior
Update Payment Fix a past-due subscription by updating payment method
Resume Reactivate a paused subscription
Cancel Cancel with data preservation and effective date shown
Download Invoice Get PDF receipt for any billing period

4. Usage & Credits

Track your consumption against plan limits in understandable units.

Usage Categories:

Category Unit Description
Kit Generations Kits / month Interview kit generation and regeneration
Practice Minutes Minutes / month Audio practice session duration
Role Match Assessments Assessments / month Full Role Match v2 analysis runs
Coach Seats Active coaches Active coach relationships
Evidence Storage Records Career Vault evidence items
AI Reviews Reviews / month AI-powered content reviews and suggestions

Buttons & Actions:

Button Behavior
View Usage Details See per-category consumption and remaining quota
Purchase Add-on Buy additional capacity for a specific category
View Usage History Historical usage trends

5. Upgrade / Downgrade Flow

When changing plans, you see a preview before committing:

Upgrade Preview Shows:

  • New features you'll gain
  • Effective date (immediate or next billing cycle)
  • Prorated charge (if upgrading mid-cycle)
  • What stays the same (data, settings, active jobs/kits)

Downgrade Preview Shows:

  • Features you'll lose access to
  • What happens to existing data (preserved, not deleted)
  • Effective date (end of current billing cycle)
  • What to expect (reduced limits, feature gating)

6. Entitlement Denial UX

When you attempt a feature not in your plan:

  • Upgrade banner appears explaining what's needed — clear, not aggressive
  • Dismiss option available — banner doesn't block your view
  • Upgrade button links directly to relevant plan comparison
  • Your work is preserved — denial doesn't delete or corrupt in-progress content
  • Specific explanation — "This feature requires the Professional plan" not "Access denied"

7. Payment Methods

Payment processing handled by secure provider (Stripe). Interview OS never stores raw card details.

Buttons & Actions:

Button Behavior
Add Payment Method Redirect to provider-hosted secure form
Set Default Choose primary payment method
Remove Delete a saved payment method
Update Change card/account details (provider-hosted)

8. Invoice History

Complete billing history with downloadable PDF receipts.

Invoice Details:

  • Date, amount, and status (paid, pending, failed)
  • Plan and period covered
  • Proration and credits applied
  • Provider invoice ID for reference
  • PDF download

Provider Webhook Security

Billing provider webhooks are validated for:

  • Signature verification — every webhook is cryptographically signed
  • Idempotency — duplicate webhooks don't double-charge
  • Ordering tolerance — events processed correctly even if arriving out of order
  • Daily reconciliation — provider state compared to database; differences alerted

Institution Billing

For organization accounts (Phase 4):

  • Seat-based or active-user metric — defined in institution contract
  • Admin visibility — org admins see seat utilization, not individual billing
  • Audit trail — all billing and entitlement changes logged

Security

  • Payment processing handled by secure payment provider (Stripe)
  • No raw card details stored on Interview OS servers
  • Billing webhooks protected against replay, forgery, and race conditions
  • Invoice history available for 12+ months
  • Usage ledger entries are immutable and idempotent

Related ES Requirements

ID Requirement
P4-E03 Plans, limits, credits, provider sync and reconciliation
P4 Billing Plan catalog: Free, Professional, Executive, Institutional
P4 Billing Subscription lifecycle: trial, active, past due, paused (if supported), cancelled, expired
P4 Billing Entitlements: feature access and limits evaluated server-side through one service
P4 Billing Usage/credits: track generations, mock minutes, reviews or approved units with idempotent ledger
P4 Billing Provider webhooks: signature, idempotency, ordering tolerance, reconciliation
P4 Billing Upgrade/downgrade: preview impact, effective date, proration, preserved data
P4 Billing Daily provider-to-database reconciliation; alert differences
AC-03 Plans, subscriptions, entitlements and usage ledger reconcile with provider

Related Docs

  • [[admin]] — Admins can manage entitlements and view billing for users
  • [[settings]] — Account settings complement billing management
  • [[organization]] — Institutional billing, seats, and contracts
Based on INTOS-ES-P0-001 (Phase 0), INTOS-ES-P1-001 (Phase 1), INTOS-ES-P2-001 (Phase 2), INTOS-ES-P3-001 (Phase 3), and INTOS-ES-P4-001 (Phase 4) Engineering Specifications v1.0