B

Bulk Editor for Stripe

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 available

What is Bulk Editor for Stripe?

Bulk 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.

What it does

Migrate subscriptions to a new price

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.

Update customers

Name, email, phone, description, address and metadata keys. Rows that already match Stripe show "No change".

Create promo codes

Coupon and promotion code in one row: percent or amount off, currency, duration, max redemptions and expiry.

Create products and prices

Product name, amount, currency, interval and lookup key. A lookup key that already exists is never created twice.

Dry run and typed confirmation

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.

Undo tab

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.

How it works

  1. Connect

    Paste a restricted key. The sidebar lists the seven permissions to tick. Start with a test mode key.

  2. Load template, Pull current

    Load a tab per job. Pull current fills subscriptions or customers from Stripe: ID, customer email, current price, amount, interval, period end and status.

  3. Dry run

    Fill the change columns and click Dry run. Nothing is written to Stripe.

  4. Apply

    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.

What you need

  • A Stripe account (test mode works with no setup).
  • A restricted key with write access on Customers, Subscriptions, Subscription Schedules, Products, Prices, Coupons and Promotion Codes. Nothing else.
  • A Google account with edit access to the spreadsheet.

Pricing

Free
$0
  • Unlimited dry runs
  • Unlimited Pull current
  • Apply up to 20 rows a month
Pro
US$20/mo
  • Unlimited rows
  • Undo tab
  • Saved jobs
Available after Marketplace approval
Migration pass
US$49 once
  • Pro for 14 days
  • For one price increase
Available after Marketplace approval

Frequently asked questions

Does my Stripe data go to Cody Labs?

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.

Can it refund, cancel or delete?

No. Version 1 has no refunds, invoices, payouts, cancellations or deletes. Nothing that moves money directly.

How does the period-end option work?

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.

Can I undo a run?

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.

What if a run fails halfway?

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.