Dynamic Subscription Repricing
Dynamic Subscription Repricing is not enabled by default. To request access, contact your Customer Success Manager or FastSpring Support.
Use the Dynamic Subscription Repricing extension to manage and automate bulk price adjustments for active subscriptions. Following a structured workflow, you can filter targeted subscription instances, configure new pricing logic, and verify the change before execution.
The reprice tool automatically handles complex subscription configurations (including progressive renewal paths and tiered volume discounts), ensuring your customers are billed accurately based on the price they are currently paying.
Get started
Prerequisite: You must have user permissions for Developer Tools in the FastSpring app to access this feature.
Manage all pricing updates from the Dynamic Subscription Repricing dashboard. This page allows you to launch new repricing jobs, track their progress, and download the results of past reprice jobs.
In the FastSpring app, navigate to Developer Tools > Extensions > Dynamic Subscription Repricing.
Click Create Reprice Job to launch the configuration workflow. The following sections guide you through each step of the process.
Step 1: Select subscription
In the first step of the workflow, identify the subscription you wish to reprice.
Note: The repricing tool only supports base plans. Subscription add-ons cannot be repriced through this workflow.
- Select the radio button next to the desired subscription. You can use the search bar to find a specific subscription by name or path.
- Click Next: Select instance.
Step 2: Select instance
Define which specific subscription instances will be affected. The Current Plan pane at the top confirms the base plan you are modifying. By default, the tool targets all active instances.
To refine this scope and target specific instances, you can build a filter rule:
-
Click + Add.
-
Select a filter from the Filter by dropdown.
-
Configure the criteria using the table below as a guide:
Filter Configuration Next renewal date Select a start and end date to target subscription instances based on their upcoming billing date. Creation date Select a start and end date to target subscription instances based on their initial checkout date. Tag Select an operator ( equals to/does not equal to) and enter a comma-separated list of tags to target subscription instances based on existing metadata.Subscription ID Select an operator ( equals to/does not equal to) and enter a comma-separated list of IDs to target specific subscription instances by their unique identifier. -
(Optional) Layer additional filters using the logic buttons:
- Click + And to add a restrictive rule (e.g., match Tag AND Next renewal date).
- Click + Or to add an alternative rule (e.g., match Subscription ID OR Tag).
-
Verify the Found [X] active subscriptions count at the bottom to confirm the number of subscription instances targeted. The pricing changes configured in Step 3: Set price will apply only to these qualifying instances.
Important: A single repricing job can process a maximum of 100,000 subscriptions. If your filter targets more than 100,000 instances, you must refine your criteria to create smaller batches.
-
Click Next: Set price.
Step 3: Set price
Configure the pricing adjustment for your targeted instances and add internal tracking details.
-
In the Set price section, select a pricing method and configure the adjustment:
-
Increase or decrease price by Percentage
Select Increase or Decrease, then enter a percentage value. -
Add or reduce by Amount
Select Increase or Decrease, enter the exact adjustment amount, and select the applicable Currency. -
Update to a fixed price
Enter the new total price and select the applicable Currency. This value completely overrides the current rate.
Note: Subscriptions utilizing "Amount Off" volume discounts do not support "Amount" or "Fixed price" changes. You must use the "Percentage" method to modify these subscriptions.
-
-
In the Tag & notes section, enter a unique Tag (e.g.,
Spring2026_Increase).Important: The Tag field is required. Tags allow you to identify this job in your audit logs and use it as a filter for future repricing workflows.
-
(Optional) Add Notes for internal reference.
-
Review the Summary pane on the right. This pane confirms your pricing logic and recaps the filter scope you built in Step 2: Select instance, ensuring you are targeting the right instances.
-
Click Next: Verify price change.
View pricing logic for complex subscriptions
The repricing tool automatically handles complex product configurations to ensure your customers are billed accurately based on the price they are currently paying.
Standard path subscriptions
How it works: Changes are applied directly to the list price.
Example: A 10% increase is applied to a standard monthly subscription.
| Base price | Current subtotal | New subtotal (+10%) |
|---|---|---|
| $20.00 | $20.00 | $22.00 |
Progressive path subscriptions
How it works: If a subscription is configured to transition to a different product after a predefined number of terms, the tool applies the price change only to the renewing subscription list price.
Example: A 10% increase is applied to a software bundle that renews into a maintenance plan.
| Subscription stage | Product | Price | Reprice target |
|---|---|---|---|
| Original purchase | Video Editing Software Bundle | $300.00 | Ignored |
| Renewal | Annual Maintenance Plan | $100.00 | Targeted ($110.00) |
Volume discounts (Percentage off)
How it works: For subscriptions where the discount is based on quantity tiers using percentages, the tool increases the base list price, and the system automatically recalculates the subtotal using the existing percentage discount.
Formula: New Price = (Base Price × (1 + Increase %)) × (1 - Discount %) × Quantity
Example: A 10% increase is applied to a customer with 5 units who qualifies for a 20% discount tier.
| Base price | Quantity | Discount tier | Current subtotal | New subtotal (+10%) |
|---|---|---|---|---|
| $100.00 | 5 units | 20% off | $400.00 | $440.00 |
Volume discounts (Amount off)
How it works: For subscriptions where the discount is a fixed monetary value based on quantity tiers, the tool increases the base list price, and the fixed discount amount is subtracted from that new rate.
Formula: New Price = ((Base Price × (1 + Increase %)) - Discount Amount) × Quantity
Example: A 10% increase is applied to a customer with 5 units who qualifies for a $10 off discount tier.
| Base price | Quantity | Discount tier | Current subtotal | New subtotal (+10%) |
|---|---|---|---|---|
| $100.00 | 5 units | $10.00 off | $450.00 | $500.00 |
Step 4: Verify price change
Review the impact of your changes before execution. This step provides a preview that shows how the price change will be applied to qualifying subscription instances.
Note: The final calculated price cannot be negative. If a flat amount decrease results in a negative value, the tool will fail to reprice that specific instance and flag it in the preview.
- Review the Preview Prices table to verify the pricing logic, confirm expected outcomes, and catch issues before committing changes.
- Compare the Current Subtotal against the Updated Subtotal to ensure the calculation matches your expectations.
- If the data is correct, click Submit Job.
- In the confirmation modal, type REPRICE and confirm to execute the batch update.
Note: The new price applies to the next rebill and appears on the Subscription Details screen, in the Invoice Order, and in the Account Management portal. For progressive path subscriptions, the new price becomes visible only during the final period of the initial term.
Monitor results
After confirmation, you are redirected to the Repricing Subscription Jobs dashboard. This main dashboard provides a history of all executed jobs.
Review the dashboard columns to track your updates:
- Job ID: The unique system-generated identifier for the task.
- Creation Date: Date when the reprice job was initiated.
- Created by: The email or user who triggered the job.
- Tags: The mandatory unique tag assigned to the job.
- Status: Current state of the job (e.g., Finished, In Progress).
- Start Time / End Time: Exact timestamps of the execution period.
- Total Subs: Total number of subscriptions identified by your filters.
- Repriced Subs: Number of subscriptions successfully updated.
- CSV Report: A downloadable file containing the job results.
Verify the CSV report
Click the download icon in the CSV Report column to retrieve your job results. This file dedicates one row to each subscription, providing a clear, side-by-side comparison of the old and new pricing values.
Quick audit checklist:
- Ensure the
STATUScolumn readsREPRICED(and investigate anyINVALIDrows using theERROR_MESSAGE). - Compare
CURRENT_SUBTOTALtoNEW_SUB_TOTALto confirm the final price reflects the intended change. - Compare
CURRENT_DISCOUNT_AMOUNTtoNEW_DISCOUNT_AMOUNTto ensure volume discounts were preserved.
View CSV data dictionary
| Field name | Description |
|---|---|
| SUBSCRIPTION_ID | Unique identifier for the subscription. |
| STATUS | Result of the repricing attempt (e.g., REPRICED or INVALID). |
| CURRENT_LIST_PRICE | Product price before the reprice. |
| CURRENT_SUBTOTAL | Subscription subtotal before the update. |
| CURRENT_DISCOUNT_AMOUNT | Discount amount applied before the reprice. |
| NEW_LIST_PRICE | Product price after the reprice. |
| NEW_SUB_TOTAL | Subscription subtotal after the update. |
| NEW_DISCOUNT_AMOUNT | Discount amount applied after the reprice. |
| CURRENCY | Currency code used for the subscription (e.g., USD). |
| ACCOUNT_EMAIL | Email address associated with the subscription. |
| ERROR_MESSAGE | Explanation of why a subscription was not updated, if applicable. |
Updated about 3 hours ago
