Order preview for all projects, payment retry API, commitment-based plans, and more

Order preview, skip, and snooze now available for all projects
Customers can now preview their upcoming order in the Self Service Center before deciding to skip or snooze. This gives them more control over their subscription โ and means fewer surprise shipments and support tickets. Enable it in your Self Service Center settings.

Match variants to plans by commitment period
The Subscription First theme block now supports matching variants to selling plans based on minimum commitment terms. Set the firmhouse.min_commitment metafield on a variant (e.g. 12_months) and the block automatically links it to the right plan. Perfect for rental merchants where variants represent different commitment lengths with different monthly prices.
Note: After deploying, force-sync your plans via Shopify subscriptions settings so the commitment data is available.

Import archived Shopify products
New setting in the Shopify Subscriptions app: Import archived products. When enabled, archived Shopify products are synced to your Firmhouse catalog and marked as unavailable. Useful if you need archived products for historical tracking or integration purposes. Disabled by default โ turn it on when you're ready.
Retry failed payments via API
Recover failed charges directly from your own systems โ no more manual retries in the dashboard. Use the new retryFailedPayment GraphQL mutation to retry programmatically. When a payment can't be retried, the API returns a clear validation error so your integration handles it gracefully.
Improvements
One-off product option when adding products โ Set a product as "One-off" directly from the Add product form in the admin.

Drag-to-reorder cancellation reasons โ Reorder your cancellation reasons by dragging them. The order is reflected in the Self Service Center cancellation flow.

Invoice reminder webhook โ New
invoice_reminder_sentwebhook event fires when an invoice reminder email is sent. Useful for syncing with external CRM or dunning systems.Direct links for active products โ Click any product title on a subscription detail page to jump straight to the product.
Subscription First widget works on any page โ The widget can now be embedded in a product form on any page, not just the product detail page.
Smarter status filters on subscriptions โ The status filter now only shows statuses that actually exist in your project. Less clutter.
Better timeout errors for GraphQL API โ API requests that hit a server timeout now return a structured timeout response instead of a generic error.
Shopify order status filter โ The Orders page now includes filter pills for whether an order exists in Shopify.
Scheduled orders filter on Orders page โ Filter orders by Scheduled status, the same way you filter by Confirmed, Pending, or Fulfilled.
Price column and subscription links in batch operations โ Subscription product batch operations now show a Price column and link each subscription ID directly to its detail page.
Refund payments by invoice ID โ The
refundPaymentGraphQL mutation now acceptsinvoiceIdas an alternative lookup key.Human-readable shipping rates in audit log โ Shipping rate changes now display the actual rate name and price instead of raw IDs.
iDEAL updated to iDEAL | Wero branding โ All user-facing references to "iDEAL" now reflect the new "iDEAL | Wero" payment method branding โ display names, descriptions, tooltips, onboarding copy, and documentation.
Bug fixes
Applied promotions auto-deactivate โ Setting an applied promotion's usage equal to its maximum now correctly deactivates it.
Invoice processing for one-time purchases โ Fixed an issue that could affect invoice processing for imported one-time purchase customers.
Referral banner for fixed-amount discounts โ The referral banner in the Self Service Center now appears correctly when using fixed-amount referral discounts.
Mollie payment recovery โ Fixed a rare issue where Mollie payments could fail to process correctly. Auto-recovery now handles these cases.
HTML currency format in subscription widgets โ Both the subscription options and Subscription First widgets now properly render HTML tags in Shopify's currency format settings.
Plan group product eligibility โ Products available to order now correctly respect plan group restrictions when a subscription has an active plan in a plan group.
Duplicate Shopify line items โ Shopify subscriptions with multiple line items for the same product and selling plan are now processed as separate subscription products.
Duplicate product names during sync โ Product sync can now handle products with duplicate names without failing.
Mandatory products for Shopify Checkout โ We no longer auto-add mandatory products for Shopify Checkout sign-ups, preventing unexpected items in subscriptions.
Fixed discount price floor โ Fixed-amount plan discounts that exceed a product's price no longer create negative prices. The price floors at zero.
Content
Scale your commerce business faster, with recurring revenue
From one-time to a lifetime, we help you to put customers at the heart of your business and build lasting relationships.

