# Scope your migration Review your Stripe basic usage-based billing integration before migrating so you can choose the correct migration path and identify required workstreams. Review your Stripe basic usage-based billing integration to choose the correct migration path and identify required workstreams for your use case. ## Current tech stack | Question | Answer | | ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- | | How are you currently ingesting meter events? (v1 `/v1/billing/meter_events` or v2 high-throughput Meter Event Stream?) | *Example: v1 REST API from our backend service, \~1,000 events/sec average* | | What Stripe products do you use alongside basic usage-based billing? (Subscriptions, Checkout, Tax, Revenue Recognition, Radar, and so on) | *Example: Subscriptions (flat-rate plans), Checkout (self-serve signup), Stripe Tax, Revenue Recognition* | | Do you use Stripe’s Customer Portal for customer self-service? | *Example: Yes, for plan upgrades and payment method updates* | | Current CRM system? How does it integrate with Stripe? | *Example: Salesforce, synced through a custom integration that maps Stripe Customer IDs to SF Account IDs* | | Current CPQ tool? | *Example: DealHub for enterprise quotes* | | Current ERP or GL provider? | *Example: NetSuite, invoices synced from Stripe through a Celigo connector* | | Current Data Warehouse? Do you use Stripe Data Pipeline or Sigma? | *Example: Snowflake with Stripe Data Pipeline for invoice and charge data* | | Do you use any third-party tax providers (Anrok, Avalara) or Stripe Tax? | *Example: Stripe Tax for US and EU, considering Anrok for broader coverage* | ## Metering Stripe’s basic usage-based billing supports up to two segment dimensions per meter for [grouping analytics](https://docs.stripe.com/billing/subscriptions/usage-based/analytics.md) (this feature only applies to you if you’re in the private preview). Metronome’s billable metrics support compound group keys for dimensional pricing with flexible cardinality, which can simplify configurations where you previously needed multiple meters. | Question | Answer | | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | | How many Billing Meters do you have configured in Stripe? | *Example: 4 meters (API calls, storage GB, compute seconds, data transfer)* | | What aggregation formulas do you use? (SUM, COUNT, LAST) | *Example: SUM for storage GB and data transfer, COUNT for API calls, SUM for compute seconds* | | Do you use meter segments for dimensional pricing? If so, how many dimensions per meter? | *Example: Yes, 2 dimensions on API calls meter (model\_name, region)* | | Do you use tenant-level grouping for multi-tenant attribution? | *Example: No, each customer sends events under their own Stripe Customer ID* | | What is your event ingestion volume (events/second)? | *Example: \~2,000 events/sec average, 10,000 events/sec peak* | | Do you plan to adopt Metronome’s dimensional pricing? | *Example: Yes, to price differently by model and region on a single billable metric* | | If so, are the required properties already in your event payloads? | *Example: Yes, model\_name and region are already in every event payload* | | What additional metadata properties do you include in events today? (for example, `user_id`, `project_id`, `region`) | *Example: user\_id, project\_id, region, model\_name, request\_latency\_ms* | ## Pricing models | Question | Answer | | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | What pricing models do you currently use? (per-unit, tiered/volume, graduated, package) | *Example: Per-unit for API calls, tiered for storage (first 10 GB free, then 0.10 USD/GB)* | | Do you use Stripe’s Credit Grants for prepaid credits? | *Example: Yes, enterprise customers purchase prepaid credit packs* | | If using credits, what are the applicability rules? (specific prices, all usage, custom pricing units?) | *Example: Credits apply to all usage-based prices, not flat-rate subscriptions* | | Do you have prepaid, postpaid, or hybrid billing models? | *Example: Hybrid—enterprise customers purchase prepaid credit packs, PLG customers are postpaid monthly* | | What billing intervals are in use? (monthly, annual, custom) | *Example: Monthly for PLG, annual for enterprise contracts* | | What currencies do you use? | *Example: USD and EUR* | | Do you use subscription schedules for phased pricing changes? | *Example: Yes, for enterprise contracts that have negotiated rate decreases at 6-month intervals* | | Do you bill in custom units (for example, credits) rather than fiat currency? | *Example: Yes, we sell “AI Credits” that customers purchase in packs and draw down with usage* | ## Customer acquisition and lifecycle | Question | Answer | | ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | | PLG: Describe your self-serve customer acquisition flow (Checkout, Payment Links, custom). | *Example: Stripe Checkout for initial signup, then usage-based billing starts immediately* | | PLG: How do you handle plan changes (upgrades, downgrades, cancellations)? | *Example: Customer Portal for upgrades and cancellations, prorated mid-cycle* | | PLG: Do you offer trials, promo codes, or promotional credits? | *Example: 14-day free trial, then 50 USD promotional credit grant for new signups* | | SLG: Describe your enterprise customer flow (discounts, commits, custom contracts). | *Example: Sales negotiates annual prepaid credit grants with volume discounts, provisioned through the API after contract signing* | | Do you use Stripe Connect or multi-entity billing? | *Example: No Connect, but we have 2 Stripe accounts (US and EU entities)* | | Do you have standardized pricing packages you apply across many customers? | *Example: Yes, 3 tiers (Starter, Pro, Enterprise) with fixed pricing per tier* | ## Credit grants [Stripe’s Credit Grant](https://docs.stripe.com/api/billing/credit-grant/object.md) object maps to Metronome’s prepaid commit and credit object. Both support priority, expiration, and scoped applicability. In Metronome, commits and credits can be created at the contract level (consumed by that contract only) or the customer level (consumed across all or a subset of the customer’s contracts). Commits have an invoice schedule (the customer pays for them, either prepaid upfront or postpaid at expiration), while credits have no invoice schedule (promotional or complimentary). | Question | Answer | | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | | How many credit grant types do you have? | *Example: 2 types—paid credit packs (category: paid) and promotional signup credits (category: promotional)* | | Are credits scoped to specific prices or billable items, or do they apply globally? | *Example: Paid credits apply to all usage prices; promo credits are scoped to API call prices only* | | Do you use priority ordering for multiple grants? | *Example: Yes, paid credits (priority 0) draw down before promo credits (priority 50)* | | Are credits issued through the API, manually, or through recurring automation? | *Example: Paid credits issued through the API at purchase; promo credits issued automatically at signup* | | Do credits have expiration dates? | *Example: Promo credits expire after 90 days; paid credits expire at contract end* | ## Dashboards and analytics | Question | Answer | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | Do you use the [Meter Usage Analytics API](https://docs.stripe.com/billing/subscriptions/usage-based/analytics.md) (only applies if you have access to this private preview feature) for customer-facing dashboards? | *Example: Yes, we pull hourly usage aggregates to display in our customer dashboard* | | Do you pull data from Stripe Data Pipeline or Sigma? | *Example: Stripe Data Pipeline exports to Snowflake for internal finance reporting* | | What information do you display to customers about their usage? | *Example: Current-period usage by product, daily usage trends, credit balance remaining* | ## Alerting and entitlements | Question | Answer | | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | | Do you use Stripe webhook events for usage-based alerting? (for example, `customer.subscription.updated`, `invoice.finalized`) | *Example: Yes, we listen to `invoice.finalized` to trigger internal accounting workflows and `invoice.payment_failed` for dunning* | | Do you have entitlement gating based on credit balance or spend thresholds? | *Example: Yes, we block API access when credit balance reaches zero* | | Do you use Stripe Billing’s built-in threshold billing or spend caps? | *Example: Yes, threshold billing triggers an invoice when accumulated usage charges reach 100 USD (prevents large end-of-month invoices)* | ## Next steps After you scope your migration, [design your migration](https://docs.stripe.com/billing/subscriptions/usage-based/migrate-to-metronome/design-your-migration.md).