Shift Happens

RSS

Week of Aug 3, 2026

·

3

new

·

7

improved

·

3

fixed

Track Shopify inventory and skip orders with out-of-stock products

Shipped

Areas

Developers, Customer Portal, Subscriptions, Orders

Track Shopify inventory and skip orders with out-of-stock products

For Shopify-connected projects with automatic product sync, Firmhouse can now track each product’s Shopify inventory level and treat it as out of stock once its tracked quantity runs out, without changing the product’s own availability setting. To get started, enable Product availability & stock rules from the New Features page in your account menu, then turn on Treat out-of-stock Shopify products as unavailable for new orders under Settings → Subscription model to hide out-of-stock products from the customer portal’s add and swap flows. When your order creation behavior for unavailable products is set to Skip order and advance billing date, recurring orders or Shopify billing attempts that include an out-of-stock product move to the next cycle instead of failing. Products with untracked inventory or a “continue selling when out of stock” policy in Shopify always stay in stock.

New

Products

Send test outgoing webhook events

You can now send a manual test event for any outgoing webhook. The test uses your saved webhook configuration with sample Firmhouse data and records the request and response in the Webhook event log, making it easy to check a template, endpoint, Shopify Flow trigger, or Klaviyo metric setup without waiting for a real customer event.

New

Developers

Send outgoing webhook events directly to Klaviyo

You can now configure outgoing webhooks to deliver as Klaviyo metrics, using your connected Klaviyo app credentials. Send any supported Firmhouse webhook event to Klaviyo — including events without a matching Firmhouse email type, such as subscription status changes. The webhook name becomes the Klaviyo metric name, and the webhook template becomes the metric properties.

New

Developers

Improvements

·

7

Auto-refresh the order summary in Customer Portal v2

The {% next_order_price_overview %} component in Customer Portal v2 dashboard templates supports two new options: auto_refresh and auto_refresh_delay. With auto_refresh: true, the order summary reloads itself after the configured delay (3 seconds by default) — once after the dashboard loads and again after each product or discount change — with a loading spinner covering the summary until the refreshed totals arrive.

Improved

Customer Portal

Let customers reorder one-time products

Customers can now reorder select one-time products from the Customer Portal after their previous order has shipped — handy for consumables like filters, refills, or recycling bags that need restocking from time to time. Once a customer places a new order, the product becomes unavailable again until that order ships, while earlier purchases stay visible in their order history.

Improved

Customer Portal

Mark subscriptions as Stopped instead of churned

You can now enable a Stop subscription action in a project’s Subscription settings. Once turned on, activated and paused subscriptions can be marked Stopped from their status menu — useful for wrapping up an instalment plan, asset buyout, gifted period, or another expected end without counting it as churn.

Improved

Subscriptions

See unavailable products at a glance in a subscription

Each product listed in a subscription’s active products section now shows when it’s unavailable or out of stock, so you can spot what’s blocking a shipment without opening the product page.

Improved

Subscriptions

Paused subscriptions no longer skew the shipment forecast

The Forecast Report by Shipment Date now excludes paused subscriptions by default, so the forecast isn’t thrown off by shipment dates that keep rolling forward while a subscription is paused. Need them anyway? Tick the new Include paused subscriptions checkbox to bring them back into the report.

Improved

Analytics

Use the event name in webhook templates

Webhook templates can now use the {{event}} Liquid tag to identify the event being sent. The event name is available in deliveries, test events, and the template preview, making it easier to reuse templates while tailoring their content to events such as subscription_activated or payment_succeeded.

Improved

Developers

Split Shopify checkout products into separate subscriptions

Products bought in one Shopify checkout now stay in the subscriptions where they belong. For example, monthly coffee that can be cancelled at any time can become a separate subscription from monthly filters with a three-month minimum commitment. Customers can then manage each subscription independently.

Improved

Shopify

Fixes

·

3

Shopify subscription payments now follow your dunning flow

Shopify subscription payments that fail from insufficient funds are now retried through your Firmhouse dunning flow — up to three times, two days apart — while invoice reminders wait for the retries to finish. If a retry succeeds, billing continues through Shopify as usual. If it still fails, Firmhouse creates the invoice for the correct amount so the customer can pay it and your configured invoice reminders can take over.

Fixed

Payments

Scheduled orders only include active products

Scheduled orders for anchor-date plans and prepaid renewals now only include a subscription’s active products. One-time products that were already shipped, or that were returned, are no longer pulled into newly generated orders.

Fixed

Orders

Ship now automatically includes pending next-order add-ons

Products marked Next order only can no longer be shipped on their own. Use Ship now on a regular subscription product when you need the order right away — any pending next-order-only add-ons are now included automatically. The updated Ship now modal lists everything the order will include, so you can see the full contents before confirming.

Fixed

Orders

Start selling on repeat, or talk to us about your setup

Pricing that grows with you

Plans for every stage of repeat commerce. No lock-in.

Start selling on repeat, or talk to us about your setup

Pricing that grows with you

Plans for every stage of repeat commerce. No lock-in.

Start selling on repeat, or talk to us about your setup

Pricing that grows with you

Plans for every stage of repeat commerce. No lock-in.