{"slug":"platform/29-billing-platform","title":"29 — Billing Platform","section":"platform","sectionLabel":"Platform","status":"unclassified","type":"document","path":"platform/29-billing-platform.mdx","bytes":2349,"description":null,"updated":null,"source":"integratewise/Integratewise-docs-wiki","content":"\n> **Extracted from:** IntegrateWise Platform Specification Suite\n> **Region:** third_region\n> **Original line:** 3377\n> **Lines:** 44 | **Chars:** 2,125\n> **Status:** Raw extraction — requires review and canonicalization\n\n29 — Billing Platform\n29.1 Responsibilities\nPlans, Seats, Usage, Credits, Trials, Metering, Invoices, Limits, Quotas.\n29.2 Plan model\nCopysub*plan:\nid: sub_plan*…\ncode: free | starter | growth | enterprise\nprices: [{ currency, amount, interval: monthly|annual }]\nseats: included\nusage*credits: included # optional\noverage_policy: [block | bill | throttle]\nfeatures: [cap_id, signal_priority, marketplace_discount]\n29.3 Inputs\nWorkspaceCreated, UserAdded (seat consumption), CapabilityInvoked (metered), SignalCreated (signal metering), API call (/ai/run LLM tokens).\n29.4 Outputs\nsub* records, bill\\_ invoices, Stripe receipts (13.5).\nEnforcement events (LimitExceeded, QuotaWarning).\n29.5 Events produced\nPlanAssigned, SeatConsumed, SeatReleased, UsageMetered, CreditConsumed, CreditGranted, TrialStarted, TrialConverted, TrialExpired, InvoiceIssued, InvoicePaid, InvoiceFailed, LimitExceeded, QuotaWarning.\n29.6 Events consumed\nWorkspaceCreated, UserAdded, UserRemoved, CapabilityInvoked, SignalCreated, ModelInvoked, ListingInstalled.\n29.7 APIs\nPOST /billing/plans, POST /billing/subscriptions, POST /billing/usage/record, GET /billing/invoices, POST /billing/credits/grant.\n29.8 State transitions\nSubscription: trialing → active → past_due → canceled → reactivated.\n\n29.9 Metering\nMetered units: seat, llm_token, signal_score, cap_invocation, connector_sync_call, r2_storage_gb.\nHourly aggregation → monthly close.\n29.10 Limits & Quotas\nPer-tenant caps; per-workspace caps; per-user caps.\noverage_policy: block (deny), bill (Stripe metered SKU), throttle (rotate to cheaper path).\nSurfaced via 30 Operational Metrics dashboards.\n29.11 Credits\nTrial and grant credits stored in sub_credits, consumed FIFO, tracked in audit log.\n29.12 Invoices\nMonthly per workspace; line items mirror UsageMetered events.\nReconciliation against Stripe via daily job.\n29.13 Failure handling\nPayment failure → soft-cap features; admin notified.\nMetering lag → rechecks current usage every 6 h.\n29.14 Extension points\nNew SKUs via Marketplace (13).\nCustom overage policy via BILLING_POLICY(name).\n"}