Dynamic Subscription Repricing

Available on demand — Contact your CSM or Support to enable

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.

  1. Select the radio button next to the desired subscription. You can use the search bar to find a specific subscription by name or path.
  2. 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:

  1. Click + Add.

  2. Select a filter from the Filter by dropdown.

  3. Configure the criteria using the table below as a guide:

    FilterConfiguration
    Next renewal dateSelect a start and end date to target subscription instances based on their upcoming billing date.
    Creation dateSelect a start and end date to target subscription instances based on their initial checkout date.
    TagSelect 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 IDSelect 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.
  4. (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).
  5. 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.

  6. Click Next: Set price.

Step 3: Set price

Configure the pricing adjustment for your targeted instances and add internal tracking details.

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

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

  3. (Optional) Add Notes for internal reference.

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

  5. 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 priceCurrent subtotalNew 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 stageProductPriceReprice target
Original purchaseVideo Editing Software Bundle$300.00Ignored
RenewalAnnual Maintenance Plan$100.00Targeted ($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 priceQuantityDiscount tierCurrent subtotalNew subtotal (+10%)
$100.005 units20% 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 priceQuantityDiscount tierCurrent subtotalNew subtotal (+10%)
$100.005 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.

  1. Review the Preview Prices table to verify the pricing logic, confirm expected outcomes, and catch issues before committing changes.
  2. Compare the Current Subtotal against the Updated Subtotal to ensure the calculation matches your expectations.
  3. If the data is correct, click Submit Job.
  4. 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 STATUS column reads REPRICED (and investigate any INVALID rows using the ERROR_MESSAGE).
  • Compare CURRENT_SUBTOTAL to NEW_SUB_TOTAL to confirm the final price reflects the intended change.
  • Compare CURRENT_DISCOUNT_AMOUNT to NEW_DISCOUNT_AMOUNT to ensure volume discounts were preserved.
View CSV data dictionary
Field nameDescription
SUBSCRIPTION_IDUnique identifier for the subscription.
STATUSResult of the repricing attempt (e.g., REPRICED or INVALID).
CURRENT_LIST_PRICEProduct price before the reprice.
CURRENT_SUBTOTALSubscription subtotal before the update.
CURRENT_DISCOUNT_AMOUNTDiscount amount applied before the reprice.
NEW_LIST_PRICEProduct price after the reprice.
NEW_SUB_TOTALSubscription subtotal after the update.
NEW_DISCOUNT_AMOUNTDiscount amount applied after the reprice.
CURRENCYCurrency code used for the subscription (e.g., USD).
ACCOUNT_EMAILEmail address associated with the subscription.
ERROR_MESSAGEExplanation of why a subscription was not updated, if applicable.