LogoPowered by Cycle

New updates and improvements to Firmhouse

Sort overviews in Portal and tag First Recurring Order in Shopify

You can now sort key columns in the Customers, Orders, Invoices, and Products overviews! When you open the page, the default sort column is already selected.

How to sort: Simply hover over a column header. When the sort arrow appears you can click and sort the table on that column.

We've improved the behavior of our applyPromotionToSubscription mutation to:

  • Allow discounts to be applied to subscriptions via API more than once, giving you greater flexibility for managing promotions

  • Provide a clear error message when a discount cannot be applied, making it easier to understand and resolve issues

These enhancements ensure a smoother experience when managing discounts on subscriptions through the API.

We've added a new "Marked as non-paying at" column to the Customers table to help you manage these customers more efficiently!

When you select the non-paying status filter on the Customers page, the table automatically sorts to show the most recent cases first. If needed, you can also reverse the order by clicking the table header!

Bugs and improvements

  • Added {{subscription.confirmed_and_fulfilled_orders_count}} Liquid tag for webhooks and emails
  • Added the subscription_stopped webhook event
  • Normalize phone numbers on Checkout and API based on country of the customer.

Customer filters, Correct Shopify Customer email language, and API and product improvements

In addition to searching and filtering by status, you can now also filter customers on plans and products. Perfect for an email campaign follow-up or simply for checking how many customers are subscribed to which product.

After filtering, you can export the result to CSV by using the Export to CSV button.

You can now set up the Shopify integration so that a Customer in Shopify is created with the correct language before any order is created by Firmhouse.

This prevents your customers from potentially receiving order confirmation emails in the wrong language. With this new option we create the Customer in Shopify first and set the language chosen by the customer at Checkout.

Our team has been hard at work to ensure that our API consistently provides you with all the data you need—quickly and reliably.

We do this by making optimizations to our API and database on an ongoing basis. We’re now also adding measures to limit deliberate misuse or accidental heavy API requests with rate limits and complexity limits.

Rest assured, you’ll still be able to access all your data whenever you need it. No drastic changes to your current API usage will be made without offering a clear solution.

To already prepare your integration of Firmhouse, we’d love to share more about how Query Complexity is calculated and how you can optimize your queries with Pagination.

For further assistance or questions, feel free to reach out to our support team!

Bugs and improvements

  • Added CSS selectors to invoice page for customization
  • Fixed invoice dropdown actions options overflow issue for some edge cases 
  • Added missing SSC asset purchase translations

Add a subscription widget to Shopify Product Details Page

We're thrilled to announce a new feature that makes it easier than ever for your subscribers to enhance their experience with your store! Now, customers can seamlessly add products to their existing subscriptions right from your Shopify product pages—no need to navigate away! This new option streamlines the process, making it simple and convenient for subscribers to expand their recurring orders in just a few clicks.

This feature offers a win-win for both you and your customers. It provides a more flexible and engaging shopping experience while helping you boost sales and increase the average order value.

Ready to get started? Head over to our Developer Docs and Helpcenter article to learn more!

Please note: This functionality is only available for Smart Order-based projects and requires Shopify SSO app to be set up! Learn more about it or reach out to our support team if you have any questions or need assistance with setup. We’re here to help you every step of the way!

Build your custom Checkout with our new Headless React components

Building a custom Checkout on top of Firmhouse has just become extremely easy!

Use our new Headless React components to rapidly build your own custom Checkout, without having to deal with writing GraphQL API calls, field validations, price calculations, or payment step initiation. We take care of the plumbing and piping for basic Checkout features, you brand, style, and add on whatever functionality you like.

This way you can focus on a great custom experience and add on specific functionality, like appointment booking or add some kind of personalization wizard.

The React components can be used in any React-based frontend app, such as NextJS apps. The first few components include:

  • Checkout form fields

  • Subscription cart overview

  • Total order price

  • Checkout / payment button

Head over to our new Headless React section on the Firmhouse Developer docs and definitely take a look at the Examples.

Bugs and improvements

  • Fix: Make sure to cancel all payment retries when invoice gets paid
  • Add invoice line item effective amount Liquid tags
  • Expose currency field in GraphQL Order type
  • Add VAT number field to Subscription reports
  • Add Date of birth field to Subscriptions export
  • Add paid_at field to Invoices export
  • Add more context to Self service center login email description

Shopify Single-Sign On, minimum order threshold, modifying products from the SSC & more

We’ve heard you loud and clear! While we still love our Magic Link, we understand it’s not always the most convenient way to access the Self Service Center.

That’s why we’re thrilled to introduce an exciting update for merchants using Shopify: your customers can now seamlessly log into the Firmhouse SSC using their Shopify credentials. Enjoy a smoother, more integrated user experience with this streamlined login process!

Learn more about Shopify Single Sign-On

Exciting news! You can now set a minimum order amount for your store, ensuring that orders below the required threshold are not accepted. It's a great way to manage your business needs and achieve your profitability goals!

Please note: This functionality is only available for Smart Order-based projects.

Read more about this functionality

Let your customers add and remove products in their subscription directly from the Self Service Center. You can activate or disable this feature from the Portal.

When enabled, your customers can easily add products to their subscription or swap out current ones to try new flavors or explore more of your catalog. It's a fun way to discover new favorites!

Please note: This functionality is only available for Smart Order-based projects.

Read more about this functionality

We're working on further improvements to the product addition process. Stay tuned for updates!

You can now quickly and easily delete a customer’s personal data directly from the Portal, giving you more control over your customer information.

This new feature simplifies data management, allowing you to handle everything securely and confidently on your own, without needing to reach out to our support team.

Read more about this functionality

We're excited to introduce a new feature that streamlines how you manage payments made outside the Firmhouse platform. Now, you can quickly mark invoices as paid directly from the Portal, making it easier and quicker to update your records. Simply use the new sub-menu item in the invoice overview on the subscriptions detail page to mark the invoice as paid.

Read more about this functionality

Bugs and improvements

  • Fix firmhouse.shipment metafield for Shopify product sync
  • Ensure subscription locale format correction (normalized to lowercase)

API updates: Prepaid Plans, Subscription changed email notification, and managing Service Channels

Our API now allows upgrading your customers to a pre-paid plan. This currently works on Plan-based projects and we’re going to release this functionality for Recurring Order business models soon.

For instance: A customer currently pays €25 per month on their current plan. With the new flow, you can offer that customer a reduced price or €20 per month if they pay for 6 months up-front.

Customers don’t have to cancel their subscription and go through a new shortened payment flow to upgrade their current subscription to the new prepaid plan.

Billing cycles and orders will still be generated on the monthly cadence as they were, but no invoice or charge is required during the pre-paid period.

Read the details on how the new plan upgrades flow works

Check our developer guide for implementing a plan upgrade flow

We’ve added a new email notification which gets sent when products are added, removed, or updated in a customer’s subscription. Head over to email configuration page to configure this email.

The email is sent sent when making modifications via the createOrderedProduct, updateOrderedProduct, destroyOrderedProduct, enqueueOrderedProduct or dequeueOrderedProduct.

We batch all changes made via the API and wait 10 minutes before sending out the email. Otherwise, your customer would immediately receive an email for every update made.

You can now set a BCC email address for a Service Channel. With the BCC address the Service Channel is included in every email that goes out to the customers assigned to that Service Channel.

Including your Service Channels in all transactional customer-facing communication is a great way to involve your distributor, retail store, and other partners in every step of the customer journey.

⚠️ Make sure that you make your customers aware of including Service Channels in their communication. And that your privacy policy reflects this.

Learn how to add a BCC address to a Service Channel

Learn more about using Service Channels

Bugs and improvements

  • Prevent already scheduled retry on credited invoices
  • Don't crash Customers overview when plan is missing
  • Prevent completing an Offers more than once when multiple processing webhooks

Self Service Center updates, Shopify Shipping Cost reliability, and Klaviyo update

Over the coming weeks, we’re gradually rolling out updates to the out-of-self service features that our platform offers.

First up is a gradual visual update of our out-of-the-box hosted Self Service Center, we’re calling SSC 1.5. The 1.5 visual refresh features a more modern interface, easier access to typical functionality, and a personalized touch.

We’re introducing a new sleek blue default color scheme that lays the groundwork for future customization options, allowing you to soon personalize the SSC with your own brand colors.

We taking care to strike a balance to what we update and how any custom CSS you may have applied is affected. Please get in touch with us if you’d like to do a sanity check on what you may need to update.

What’s New?

1. Modern Interface: Enjoy a fresh, engaging look with standardized card layouts for a consistent feel across all devices.

2. Blue Theme: Our new color scheme sets the stage for future customization options that can incorporate your brand’s look&feel.

3. Improved Copy: We’ve improved our copy for clarity and added personal touches.

What’s Next?

  • Customization Features: In our upcoming updates, you’ll be able customize the look and feel of your Self Service Center with your own brand colors and style, without having to maintain custom CSS and other scripts.

  • Dashboard Enhancements: We’re working on making the dashboard more intuitive to use. Clearly presenting the contents of a subscription and the next order pricing breakdown including shipping costs and discounts.

  • More self service features: Search & browse and add multiple products at the same time, add repeated one-time products to an order, trigger ad-hoc features.

  • Going beyond the hosted SSC: We’re working on several nifty self serve features that will blend with your regular e-commerce pages. Providing even more options to purchase and subscribe to your products, without having to leave a page.

Read more about the SSC 1.5 update and how it’s being rolled out

We now synchronize shipping costs from Shopify just in time before generating and charging for each order. This makes sure that every order generated will have the most up-to-date shipping costs as configured in your Shopify store.

On top of that we now also continuously sync shipping costs from Shopify when any changes are made to a subscription’s products. This way you and your customer always have access to the most correct shipping rate that will be charged on their next order.

Learn about using Shopify for calculating shipping costs

Our integration with Klaviyo was upgraded to the most recent API version. This was needed because the old public API of Klaviyo will become unsupported as per June 30th, 2024.

With our upgrade it means that all Firmhouse merchants that use the Klaviyo integration can rest assured that everything will keep running as before.

We now have improved email validation on Checkout and API. The improved validation should prevent people from not getting emails after they signed up.

In addition: if you’re using Shopify, the validation improvements should also prevent that orders fail to generate because of Shopify’s stricter email validation.

We now add the discount code that was used at checkout to the eCommerce dataLayer. This allows you to track in Google Analytics and other analytics tools how individual or campaign discount codes are performing. The coupon key is now added to the ecommerce key in the dataLayer that is rendered on the order thank you page.

Bugs and improvements

  • Improvement
    Fixed autofill on Checkout for certain languages
  • Improvement
    Prevent Shopify API rate limit errors

Returns, pausing, and international pricing

We’re introducing a big thing: Returns. With our new returns feature we introduce the concept of return orders. Return orders are created automatically when you or your customer initiate full cancellations or returns for individual products.

Upon completing a return order, the products in the return will automatically be removed from active billing. Or, if the return order consisted of only the remainder of the products, a subscription is automatically cancelled.

Return orders in Firmhouse work out-of-the box and provide you all the basic functionality to handle returns for your business. But if you’d like to hook up your existing return solution you can use our new webhooks events and our API to do so.

Learn how to use Returns in Firmhouse

Your customers can now pick which products in their subscription they want to cancel and return. And they can keep being subscribed the remaining ones on the same subscription. Previously cancelling a subscription meant that the whole subscription was cancelled. But no more!

This opens up the opportunity to introduce swapping logic, by cancelling one product, and then adding another one. Or to cancel and return short-term rentals but keep renting long-term products. All from one subscription.

Read more about cancelling subscriptions and partial cancellations

A selection of smaller updates and improvements we'd like to make sure you know about, these include:

  • Automatic rate limits for the Shopify API

  • Counter caches for subscriptions

  • Table-views get a bit more love

  • More portal/API control over the next billing date

  • Quickly get to know when a subscription started.

  • Improved API Response for CreateAsset mutation

  • An update to the Outstanding Invoices Report

  • Fixed Upcoming Order Notice bug

Learn more about these updates.

Veriff integration, APIs for asset management, and new Developer Docs

We’ve added Veriff as an integration for providing identity document verification when signing up to your products. This way you can let your customers verify their identity before activating their subscription and before sending out your (high value) products.

At the time of writing, Veriff supports fully automatic AI-powered as well as human-assisted services for various types of identity documents (eg: passport, driver’s license, identification cards). They also offer additional KYC checks such as PEP and sanctions screening.

Your customers will be able to use their desktop/laptop and mobile phone to easily take a picture of their identity document to submit them for verification after checking out your subscription.

In Firmhouse, the Veriff app ties into our already supported identity verification and acceptance check flows. After signing up for Veriff, you can add the appropriate API connection credentials to your Firmhouse project and add an acceptance check for the Checkout.

Read about Veriff’s Document & Identity Verification services

Learn how to set up Veriff in Firmhouse

Learn more about adding acceptance checks for when customers sign up

You can now create, update, assign and un assign assets via the Firmhouse API. This allows you to create your own dashboards or integrate your own storefront or ERP systems with the assets you have on Firmhouse.

How merchants are using these new APIs:

  • Reserve a specific asset on or right after Checkout automatically based on a trigger from a webhook.

  • Set a custom field with a purchase price on an Asset based on its refurbished quality so you can sell an asset for its unique discounted price.

  • From a custom inventory reservation system update an Asset’s status, condition, and next available date.

  • Integrate your warehouse system to automatically unassign an asset as active from a Subscription when it’s been returned in healthy condition to your stock.

Head over to our new Developer Docs to view these new and updated GraphQL mutation calls:

  • assignAsset

  • unassignAsset

  • createAsset

  • updateAsset

Sometimes you store important information in an Extra Field that you want to push to other systems or that has a specific meaning in a 3rd party integration.

To make external systems aware of the purpose of a value stored in an extra field, we’ve added an extra attribute called Purpose. With the Purpose of an Extra Field you can let external integrations know how they should use the value in the field.

For now, the Purpose field is only vailable when you have the Intrum integration enabled. This way you can push an imported phone number to Intrum case files.

Learn how to use and manage Extra Fields

Learn how to configure the Intrum integration

One time checkouts and saving payment method from payment links

We’re gradually rolling out support for one time checkouts via Firmhouse Checkout. We invite all our merchants who are interested to get in touch and join our private beta.

Adding one time checkouts allows Firmhouse to support more traditional e-commerce in combination with all the new and innovative models we support such as subscriptions, rental, and try & buy. Adding support for one time checkouts is a key point for making sure you as merchant can offer a consistent and holistic experience to all your customers. Whichever way you choose to sell.

With one time checkouts enabled:

  • Checkouts with only “one off” products in the cart will be marked as “one time purchase” instead of being a. Full subscription carts or hybrid cards will still be treated as subscriptions.

  • Analytics and insights will ignore one time purchases from subscription metrics, making it easier to distinguish between your one time revenue and your recurring revenue.

  • The Self Service Center will be updated to make a clearer distinction between one time orders and subscriptions.

See how to join the beta

When creating an API access token, you can now set it up to expire within a number of chosen days. Our API will throw an error message on an expired token.

Expiring API tokens allow you to enforce key rotation policies. Or a safer way to allow individual developers to use tokens for one off maintenance tasks or troubleshooting sessions.

See how to set up expiring tokens

One time products will now be handled much better in smart order-based projects.

From now on any product that is set to a ship once frequency will be marked as owned as soon as the order for it is generated. Previously we kept these products shown as active in Firmhouse Portal and Firmhouse Self Service Center which is could lead to confusion for your customer.

In addition, this fixes an issue that Shopify sometimes returned the wrong shipping costs for a recurring order, because it was still treating previous ship once products as active.

Read more on how one time products work