PayGO (Pay-As-You-Go) is the self-serve billing tier — distinct from enterprise contracts and manual invoicing. Approximately 4 million accounts subscribe to zone plans, add-ons, and usage-based products. Billing runs on monthly and annual cycles, managed entirely through automated subscription machinery. No sales motion, no contract negotiation — the platform handles everything from checkout to renewal to dunning.

Dashboard + i API self-serve-ui product-teams catalog CALLERS
Stripe subscriptions payment-intents invoices PAYMENT PROCESSOR
The Engine changes-calculator dunning-brain invoicing entitlements subscriptions-api
The Pipe 27-handlers event-routing dedup billing-webhooks
Data Stores subs-account subs-customer subs-dunning billing-prod cf-prod 6 STORES
The Facade account-status pm-view identity accounts
Big Query 39-dataform-views drift-detection metrics OBSERVABILITY
subscription changes webhooks structured events payment execution reads + writes state reads identity mirrored nightly
TermWhat It IsWhere It Lives
OPEObject Products Element — the domain subscription model. A row in subs_object_products_element. State is emergent from five signals: deleted_date, value_phases[0], value_phases[1], license_source_id, workflow_id.subs_object_products_element
SSLCScheduled Service Level Change — a delayed downgrade record. Captures the intent to downgrade at period end without immediately mutating the subscription.subscriptions-api
changes_calculatorThe mutation pipeline inside the engine. Four phases: Gather → Validate → Plan → Sync+Save. All subscription mutations flow through this single path.subscriptions-api
The Pipebilling-webhooks service. 27 handlers route Stripe events to the engine. At-least-once delivery via Pub/Sub. 50K–100K events daily.billing-webhooks
The Enginesubscriptions-api. All billing intelligence: subscription changes, dunning decisions, payment orchestration, invoicing, entitlements.subscriptions-api
License SourceHow an OPE is billed. Values: stripe-linked, admin, user, contract, pending. Determines whether Stripe or an internal mechanism owns the billing cycle.Field on each OPE row
Billing ClockPeriod boundaries and renewal timing. Stripe owns the billing clock today — subscription period_start/period_end drive renewal events.Stripe (external)
Data Model

Why state is fragmented across six stores, how OPEs replace Stripe subscriptions as the domain model, and the object relationships that connect everything.

Subscription Lifecycle

How every change flows through one pipeline, why upgrades are immediate but downgrades are delayed, and what the billing clock controls.

Payment & Collection

The four payment paths, the Green Zone safety property, and why PayPal is the outlier that breaks every assumption.

Event Pipeline

Why the system is reactive (nothing happens without a Stripe event), what the 27 handlers do, and where decision code still leaks into the pipe.

Invoicing

The invoice state machine, why five separate paths finalize invoices, and how hidden metadata makes invoices lie about debt.

Dunning & Recovery

What triggers bad debt flagging, why recovery is broken today, and which account types get different treatment.

Entitlements

How ~50 product services independently translate billing state to access — and why no unified model exists.

Observability

The BigQuery view layer, two independent drift detection systems, and how weekly ticket digests connect engineering to customer pain.