Change many Stripe objects from a Google Sheets™ tab. The headline job is moving subscriptions to a new price. Every run starts with a dry run, and every change can be undone.
Coming soon
Not yet availableBulk Editor for Stripe is a Google Sheets™ add-on published by Cody Labs. I'm the developer. You paste a Stripe restricted key, fill in a tab, and the add-on checks every row against your live Stripe data before it writes anything. It is built for finance and operations teams on Stripe Billing, usually in the middle of a price increase.
Switch now, with or without proration, or at the end of the current period through a subscription schedule. Multi-item subscriptions need an item ID. Subscriptions that already have a schedule are blocked and say so.
Name, email, phone, description, address and metadata keys. Rows that already match Stripe show "No change".
Coupon and promotion code in one row: percent or amount off, currency, duration, max redemptions and expiry.
Product name, amount, currency, interval and lookup key. A lookup key that already exists is never created twice.
Each row shows Ready, No change or the reason it is blocked. A live-mode key shows a red banner and asks you to type the row count before it applies.
Prior values are stored before every change. The Undo tab is built from them and goes through the same dry run before it applies. Pro.
Paste a restricted key. The sidebar lists the seven permissions to tick. Start with a test mode key.
Load a tab per job. Pull current fills subscriptions or customers from Stripe: ID, customer email, current price, amount, interval, period end and status.
Fill the change columns and click Dry run. Nothing is written to Stripe.
Only Ready rows run. If a row changed after the dry run, that row is blocked. Results are written back row by row with the Stripe ID. A failed run continues where it stopped and never changes a subscription twice.
No. The add-on runs in your Google account and talks to api.stripe.com directly. The only other request it makes is a licence check to Polar, which carries the licence key and nothing from Stripe.
No. Version 1 has no refunds, invoices, payouts, cancellations or deletes. Nothing that moves money directly.
The add-on creates a subscription schedule from the subscription. The current items run until the period end, then the same items with the new price take over. The schedule is released at the end.
Yes, on Pro, for price migrations made "now" and for customer updates. Created coupons, products and prices are not deleted by this add-on. A change scheduled for period end is listed as manual: release that schedule in Stripe.
It pauses and continues by trigger. Every request carries an idempotency key built from the run, the row and the row contents, so a retry cannot change a subscription twice.