The app lets you create metered subscriptions and report customer usage events in bulk — directly from your Stripe Dashboard using CSV, Excel and Google Sheets. No APIs. No scripts. No manual work.
Stop manually creating and sending invoices, building metered subscriptions one by one, and uploading usage records by hand. Bulk upload usage events, charge customers based on consumption, and automate recurring usage reporting — all without writing a single line of code.
Stop manually creating metered subscriptions and uploading usage one by one. Use a spreadsheet, validate your data, and let the app handle the rest — directly inside your Stripe Dashboard.
Bulk Usage-Based Metered Billing is a Stripe Dashboard app that automates both sides of usage-based billing — creating metered subscriptions in bulk and reporting customer usage events to Stripe Billing Meters at scale. The entire workflow runs inside your Stripe Dashboard, using CSV or Excel files that anyone on your team can prepare without writing a single line of code.
The app is built around two focused modules. Module 1 lets you create large volumes of metered subscriptions simultaneously — linking customers to usage-based Stripe prices with full support for trials, billing cycle anchors, setup fees, discounts, tax rates, scheduled start dates, and cancellation rules. Module 2 lets you bulk-report usage events against your Stripe Billing Meters — for any number of customers, any meter, and any usage quantity — in a single file upload.
Built for SaaS companies, AI platforms, API businesses, agencies, and finance teams who charge customers based on consumption — tokens used, API calls made, emails sent, storage consumed, or any other measurable metric. If your pricing model is usage-based, this app is built for you.
Each module handles a distinct part of the metered billing workflow. Use them together or independently depending on your needs.
Use when customers do not yet have a metered subscription. Link them to a usage-based Stripe price in bulk — with full control over every billing parameter.
Use when customers already have active metered subscriptions. Report their usage in bulk — for any meter, any quantity, any number of customers — in one upload.
The same simple workflow applies to both modules — metered subscription creation and usage event reporting.
See exactly what changes when you stop managing metered billing manually and start using the Stripe Bulk Usage-Based Metered Billing app.
Every feature is built directly on Stripe’s official API — giving you the full power of Stripe’s billing engine without writing any code.
Module 1 — Subscriptions
Create hundreds of metered subscriptions simultaneously from a single CSV or Excel file. Each row is completely independent — different prices, payment methods, trials, and settings per customer.
Module 2 — Usage Events
Upload usage events for any number of customers and any number of meters in one file. Stripe accumulates all reported usage and automatically bills customers at the end of the billing cycle.
Module 1 — Subscriptions
Supports both charge_automatically and send_invoice — charge cards automatically at billing cycle end, or email invoices to customers for manual payment.
Module 2 — Usage Events
Report usage across different meters in the same file upload. Each row specifies its own Meter_Event_Name — so you can report API requests, token usage, storage GB, and emails sent all in one batch.
Module 1 — Subscriptions
Add trial days (1–730) to any metered subscription. Usage events can still be recorded during the trial — they accumulate but are not billed until the trial ends and the first billing cycle completes.
Module 1 — Subscriptions
Add an upfront setup fee to the first invoice — especially valuable for metered billing, since metered subscriptions never charge at creation. Currency is auto-detected from the Price ID. Per-customer amounts supported.
Module 1 — Subscriptions
Schedule subscriptions to start on a future date, or backdate them for customers you are migrating to Stripe. When backdated, the app automatically applies proration_behavior: none to prevent unexpected charges.
Both Modules
Every Stripe API call uses a unique idempotency key based on the row ID and customer. If the import is interrupted and resumed, the same records are never created or reported twice — even across multiple retry attempts.
Module 1 — Subscriptions
Force all customers to bill on the same day every month — e.g. always on the 1st. The anchor determines when accumulated usage is totalled and the invoice is generated. Cannot be combined with trial days.
Module 1 — Subscriptions
Cancel on a specific date or at the end of the current billing period. When a metered subscription cancels, the final invoice automatically includes all accumulated usage from the last billing period — no usage is lost.
Module 1 — Subscriptions
Apply discounts per subscription. Coupons with duration: forever apply to every usage invoice automatically for the subscription lifetime — no re-application needed each cycle.
Module 1 — Subscriptions
Enable Stripe Tax automatic calculation or apply manual Tax Rate IDs per subscription. Supports business tax IDs and customer tax IDs (VAT, GST, ABN, EIN) for compliant B2B invoicing in any country.
Module 1 — Subscriptions
Add customer-facing memos, custom footer text, and up to 4 custom fields (PO numbers, project codes) visible on every usage invoice PDF. Supports multi-line text with line break formatting.
Both Modules
Attach unlimited Metadata to subscriptions for internal reference — CRM IDs, sales rep names, account codes. Never visible to customers. Both modules also support a Your_Reference field for row-level notes stored in your WebApp.
Both Modules
Every row in your file is validated before anything is created. Conflicting fields, invalid formats, missing required data — all caught upfront with clear error messages that include the row number and customer ID.
Both Modules
Watch the import run live — total records, processed count, and failures shown in real time inside your Stripe Dashboard. All results are stored in your WebApp for review, export, and re-processing of failed records.
Built specifically for teams who run usage-based pricing — and need to operate it at scale without writing code or doing repetitive manual work.
We run an AI API platform and were manually calling the Stripe API to report token usage for hundreds of customers every week. Now we export our usage data to a CSV and upload it in one batch. What used to require a developer and two hours of scripting takes our ops team five minutes.
Setting up metered subscriptions for our entire customer base after switching to usage-based pricing was something I dreaded. We uploaded 400 subscriptions in one file — different meters, different billing cycles, different setup fees per tier. Everything went live perfectly. I couldn’t believe how straightforward it was.
The idempotency protection is what I trust most. Our internet dropped mid-upload and I was worried about duplicate usage events reaching Stripe. We just restarted the import and it resumed exactly where it stopped — nothing was doubled. That level of reliability is critical when you’re reporting billing data.
We bill customers based on emails sent each month. Before this app, someone on our team had to manually enter usage figures in Stripe every month for each account. Now we export from our email platform, upload the file, and Stripe handles billing at cycle end automatically. It’s completely changed how we operate.
We offer a free trial with usage tracking from day one. Being able to set trial days per customer in the same bulk upload — while still having usage accumulate on the meter during the trial — is exactly what we needed. The documentation explained the metered billing behaviour clearly and the app delivered exactly as described.
Any business using Stripe’s usage-based or metered billing that needs to operate it at scale without writing code.