Skip to main content
The Firmhouse Shopify app can automatically create and update Firmhouse products when you change products in Shopify. Shopify becomes the source of truth for product details such as title, price, availability, and inventory. You do not need to start a product sync manually. This automatic sync works for plan-based projects and order-based projects with plan support. In Apps > Shopify > Product sync, you can confirm that your project uses it when you see Automatic product syncing enabled.
If the Product sync page shows checkboxes for choosing how and what to sync, your project still uses the legacy Shopify product sync. Contact Firmhouse if you want to discuss migrating an existing project to automatic product sync.

Choose which products to sync

Add one or both of these tags to a product in Shopify: Shopify product tags apply to every variant of the product. For example, if a Shopify product has three variants and both tags, Firmhouse creates six products: a recurring and a one-time product for each variant. The automatic sync does not use the legacy FIRMHOUSE_SHIPMENT_* tags to create products. It supports products that are scheduled once or on the billing cycle. Configure the available billing frequencies with Firmhouse plans and Shopify selling plans instead of putting a custom shipment interval on an individual product.

Sync a product

  1. In Shopify admin, go to Products and open the product you want to sync.
  2. Add FIRMHOUSE_SUBSCRIPTION, FIRMHOUSE_ONE_TIME, or both in the Tags section.
  3. Set the product status to Active or Unlisted.
  4. Save the product.
  5. In Firmhouse, go to Products and verify that every expected variant and product type appears.
Firmhouse receives the Shopify update and processes every variant in the background. Most updates appear shortly after you save the product, but large product updates or Shopify API limits can cause a short delay.

What is synchronized

For every tagged Shopify variant, Firmhouse synchronizes:
  • Product and variant title
  • Price
  • SKU
  • Variant image, or the product’s featured image when the variant has no image
  • Vendor and Shopify product type
  • Whether the product requires shipping
  • Inventory and in-stock status
  • Shopify product status and Firmhouse availability
When a recurring product is created or updated, Firmhouse synchronizes its applicable Shopify selling plans. Changes made to these fields in Shopify can overwrite their values in Firmhouse the next time the product is synchronized. The product’s separate Available in Firmhouse checkout and Existing customers can add this product to their subscription settings are managed in Firmhouse. Automatic product sync does not overwrite them. This lets an Active or Unlisted Shopify product remain available to existing subscribers while new Firmhouse checkouts reject it. Shopify checkout imports are unaffected.

Understand tags and availability

For Active and Unlisted Shopify products, changing a tag updates the availability of the corresponding Firmhouse product:
  • Adding a tag creates the matching product type if it does not exist and makes it available.
  • Removing FIRMHOUSE_SUBSCRIPTION makes the corresponding recurring product unavailable.
  • Removing FIRMHOUSE_ONE_TIME makes the corresponding one-time product unavailable.
  • Replacing one tag with the other makes the old product type unavailable and creates or enables the new product type.
  • Removing both tags makes both Firmhouse product types unavailable.
Firmhouse retains the product records and their connections to subscriptions and order history when products become unavailable or are archived. If you add a removed tag again while the Shopify product still exists, the matching Firmhouse product becomes available after the next sync.

Availability in the Customer Portal

An unavailable product is excluded from the product choices customers see when they add, replace, or swap products in the Customer Portal. Customers cannot newly select that product while it is unavailable. If the product is already on a subscription, it remains visible on that subscription. Making it unavailable does not automatically remove it, replace it, or change its next scheduled order. Whether Firmhouse should skip unavailable products when creating orders is configured separately with Product availability controls. Availability is one of several Customer Portal filters. Making a product available does not guarantee that every customer can select it: its separate Customer Portal availability setting, country settings, collections, plan, compatible order schedule, and stock configuration can also affect whether it appears.

Shopify product statuses

Deleting a variant has the same safe-archive behavior as deleting its Shopify product.

Inventory and existing subscriptions

Firmhouse synchronizes Shopify’s sellable online inventory. A product is marked out of stock when its tracked online inventory reaches zero. It remains in stock when Shopify does not track inventory or allows selling after inventory reaches zero. Product tags, Shopify status, and inventory determine whether a product is available for new use. They do not automatically remove or replace that product on existing subscriptions. Review affected subscriptions separately before archiving a product or removing its tags.

Common edge cases

Both tags create what looks like a duplicate

This is expected. One Firmhouse product is recurring and the other is one-time. Remove the tag for the product type you do not want; that Firmhouse product will become unavailable.

Only some variants should be synchronized

Shopify tags are set on the product and apply to all its variants. The automatic sync cannot select variants individually with these tags. Split the variants into separate Shopify products if they need different Firmhouse product types.

A product does not appear in Firmhouse

Check that:
  • The Shopify app settings show Automatic product syncing enabled.
  • The tag is spelled exactly FIRMHOUSE_SUBSCRIPTION or FIRMHOUSE_ONE_TIME.
  • The tag is on the Shopify product, not an individual variant.
  • The product status is Active or Unlisted.
  • The Shopify app is still connected and authorized.
Save the Shopify product again after correcting the configuration. If the product still does not appear, contact Firmhouse support with the Shopify product URL and your Firmhouse project name.

A product is unavailable in Firmhouse

Confirm that its matching tag is still present and that the Shopify product is Active or Unlisted. If the product cannot be selected because it is out of stock, also check its sellable online inventory and inventory policy in Shopify.