Everything you need to know about the Stripe Bulk Subscription Manager — from getting started to advanced billing scenarios. If you can’t find what you’re looking for, feel free to contact our support team and we’ll get back to you promptly.
There is no manual registration or login required. Simply install the app from the Stripe Marketplace and open it inside your Stripe Dashboard. Your account is created automatically using your Stripe account details — your Stripe Account ID, name, email, and company name are used to set everything up instantly. From the app, click “Visit WebApp” and you will be logged in automatically every time. You cannot access the WebApp directly from a browser without going through the Stripe Dashboard first.
The app has two parts that work together. The WebApp is where you upload your CSV or Excel file, validate your data, and review results — it runs in your browser and is accessed via your Stripe Dashboard app. The Stripe Dashboard Extension is the app installed in your Stripe account — it is where you click the button to start creating subscriptions in Stripe after your file has been validated. Both parts are required and work seamlessly together.
None at all. The app is designed for non-technical users — finance teams, operations managers, and business owners. If you can fill in a spreadsheet, you can use this app. No API keys to configure, no code to write, no developers needed. Everything is managed through a simple file upload and a single button click.
Yes. This app creates subscriptions for existing Stripe customers only — it does not create new customer records. Every row in your file requires a valid Stripe Customer ID which always starts with cus_ and is generated by Stripe automatically when a customer is created. You cannot use self-created IDs like cus_johnsmith or cus_001 — these will be rejected. If you need to create customers in bulk first, use our companion app Stripe Bulk Customer Importer and Uploader on the Stripe Marketplace, then run this import.
Go to your Stripe Dashboard → Customers tab. Each customer is listed with their unique Stripe Customer ID — it looks like cus_Abc1234XyzDef56. Click on any customer to see their full ID on their profile page. You can also export your customer list from Stripe Dashboard as a CSV which includes the Customer ID column — then copy those IDs into your subscription file.
A Price ID is the unique identifier for a subscription plan in your Stripe account — it always starts with price_. You can find it in your Stripe Dashboard → Products → select a product → Prices section. Click on any price to see its full ID. The Price ID determines the billing amount, currency, and billing frequency (monthly, annual, etc.) for each subscription — so make sure you use the correct one per customer row.
The app accepts both CSV (.csv) and Excel (.xlsx) files. Download the pre-formatted sample file from the WebApp, fill in your data, and upload. The column names and order must match the template exactly — do not rename or remove any columns. The app validates the column structure automatically on upload and will show an error if any column is missing or incorrectly named.
The app supports 28 data fields in total. Only 3 are required: Stripe_Customer_ID, Price_ID, and Collection_Method. Two additional fields are conditional — Payment_Method_ID is required when using charge_automatically, and Days_Until_Due is used with send_invoice. All remaining 23 fields are optional — leave them empty and Stripe uses its defaults. You only fill in what you need per customer.
Yes — completely. Every row is fully independent. Each customer can have a different plan, billing cycle, payment method, trial period, discount, setup fee, tax rate, cancellation rule, invoice memo, custom fields, and more. You have full per-customer control in a single file — the same power as creating each subscription manually in the Stripe Dashboard, but done in bulk in one upload.
The app validates every row before creating any subscriptions. If errors are found, the import is paused and a detailed list of errors is shown — including the exact row number, the customer ID, the specific field that failed, and a clear explanation of what needs to be fixed. Nothing is sent to Stripe until your file is completely clean. Fix the errors, re-upload, and the import runs without issues.
All date fields must be formatted as YYYY-MM-DD — for example 2026-09-01. This applies to Start_Date, Backdate_Start_Date, Cancel_At_Date, and Billing_Cycle_Anchor. If you are editing in Excel, make sure to format those columns as Text — otherwise Excel may auto-convert dates to its own format which will fail validation.
charge_automatically — Stripe automatically charges the customer’s saved payment method on each billing date. No invoice email is sent. Requires a Payment_Method_ID in your file. Best for customers who have a saved card on file.
send_invoice — Stripe creates an invoice and emails it to the customer. The customer pays manually via the invoice link within the number of days set in Days_Until_Due (defaults to 30 days if left empty). Best for B2B customers who pay by bank transfer or prefer invoice-based billing. Note: invoice emails do not send in Stripe test mode.
Yes. Enter a future date in the Start_Date column (format: YYYY-MM-DD) and the app creates a Stripe Subscription Schedule. The subscription status shows as not_started until that date arrives — then Stripe automatically activates it and either charges the card or sends the invoice depending on your Collection Method. You can also combine a future start date with a cancellation date or end behavior for full scheduling control.
Yes. Use the Backdate_Start_Date column and set a past date in YYYY-MM-DD format. Stripe will generate a prorated first invoice covering the period from that past date up to today, then billing continues normally from the current billing cycle. This is ideal when migrating customers from another billing platform to Stripe — their original subscription start date is preserved correctly.
Yes. The billing frequency is determined entirely by the Price ID in each row — if the Price is set to monthly in Stripe, the subscription bills monthly. If it’s annual, it bills annually. You can mix different billing frequencies across rows in the same file — monthly for some customers, annual for others, all in one upload.
When you set a Payment_Method_ID, the app attaches that card to the customer and sets it as the default at the subscription level. Every renewal charges that specific card automatically — no manual action needed. The customer’s other saved payment methods in Stripe are not affected. If a card needs to be updated later, it can be done via the Stripe Customer Portal by the customer, or directly on the subscription in the Stripe Dashboard by you.
No — this workflow is not supported by Stripe’s API. Stripe’s two collection methods are mutually exclusive: charge_automatically charges the card immediately, and send_invoice emails the invoice for manual payment. There is no native Stripe option to send an invoice email first and then automatically charge the card on the due date. Choose the method that best fits your billing model.
Failed subscriptions are logged in the WebApp with the exact error message returned by Stripe — so you know precisely what went wrong. The import continues processing all remaining rows — one failure does not stop the entire batch. You can review all failed records, fix the issue (e.g. update the payment method, correct the price ID), and re-process just the failed rows without re-uploading or re-validating the entire file.
There is no hard technical limit on file size — the app processes rows in batches and tracks progress in real time, so even large imports of hundreds or thousands of rows are handled reliably without timeouts.
Invoice Memo — free-text note shown on the invoice PDF and email. Visible to your customer. Good for thank-you messages or order references. Max 500 characters.
Custom Fields — structured key:value pairs shown in a table on the invoice PDF. Visible to your customer. Use for PO numbers, project codes, contract references. Maximum 4 fields per invoice.
Metadata — internal key:value data attached to the subscription in Stripe. Never visible to customers. Only visible to you in the Stripe Dashboard and API. Use for CRM IDs, sales rep names, internal account codes. Up to 50 keys — no practical limit.
Yes — full tax support is included. You can enable Stripe Tax automatic calculation per row (requires Stripe Tax configured in your Dashboard). Alternatively, apply manual Tax Rate IDs (txr_) for fixed rates — both cannot be used together and validation catches this. For B2B invoicing, you can display your business tax registration number (Account_Tax_Ids) and your customer’s own VAT/GST/ABN/EIN (Customer_Tax_IDs) directly on invoice PDFs — supporting compliance in any country.
Yes. Use the Setup_Fee column to add a one-time fee amount to the customer’s first invoice — in addition to the recurring subscription charge. The currency is automatically detected from the Price ID — no separate currency field needed. You can also customise the line item label using Setup_Fee_Description (defaults to “One-time Setup Fee” if left empty). Works with both collection methods.
Yes. Use the Coupon_or_Promo_ID column to apply a discount per row. The field accepts both a Stripe Coupon ID (found in Dashboard → Products → Coupons → Details → ID) and a Promotion Code API ID (starts with promo_ — found in the API ID column of the Promotion Codes table). The app auto-detects which type you are using. Do not use the customer-facing code string like SUMMER20 — you must use the API ID.
You can reach our support team directly from the Stripe app dashboard and WebApp both. You can also visit our Contact Support page or email us at support@asrrcrm.com. We aim to respond to all support requests within 48 hours. For faster resolution, please include your Stripe Account ID, a description of the issue, and the row number or customer ID from your file if the issue is related to a specific record.
We take bug reports seriously and fix issues as quickly as possible. Visit our Bug Report page or email us at support@asrrcrm.com with your inquiry. Please include as much detail as possible — what you were doing when the issue occurred, what you expected to happen, what actually happened, and any error messages you saw. Screenshots or a copy of your file (with sensitive data removed) are very helpful. We will acknowledge your report and keep you updated on the fix.
Absolutely — we love hearing from our users. Feature suggestions directly shape our roadmap. Visit our Contact Support page or email us at support@asrrcrm.com with your suggestion. Describe what you would like to see and how it would help your workflow. Popular and frequently requested features are prioritised for upcoming releases. Every suggestion is read and considered by our team.
We would love to hear about your experience. You can submit your review directly on our Submit a Review page or or email us at support@asrrcrm.com — your honest feedback helps other businesses discover and trust the app. If you had a great experience, a quick review goes a long way. If something did not go as expected, please reach out to our support team first — we would love the opportunity to make it right before you leave your feedback.