Stock Management in circuly

Published on
July 13, 2023
Written by
Garima Singh
TABLE OF CONTENT

Introduction

Managing inventory in a subscription-based business is fundamentally different from traditional eCommerce. While terms like product, variant, and SKU exist in both models, their meaning and impact vary significantly in a subscription context. This article explains how circuly handles stock management across different shop systems and provides guidance on how to set it up and automate it effectively.

Feature Overview

circuly enables both manual and automated stock management, adapting to the setup of your shop system. The system updates stock when key order events occur: order placement, order cancellation, product return, and product swap.

Stock management behaviour depends on the shop system:

  • Shopify / WooCommerce / Shopware: Variants can have the same SKU, and Circuly updates stock across all variants sharing that SKU.
  • Saleor: Variants must have unique SKUs; Circuly uses automated N8N flows to harmonise stock between related variants.

circuly offers settings to automate stock updates for each event type.

Step-by-Step Guide

Understanding key terms in subscription commerce

Before setting up stock, it's crucial to grasp these concepts:

  • Product: In both eCommerce and subscription models, a product refers to a specific item available for sale. Each product has a unique name and description. A product is considered unique if it influences the available inventory.Example:
    If you offer iPhones on a subscription basis:
    • iPhone 14 Pro - 128 GB - Black is a different product from
    • iPhone 14 Pro - 512 GB - Black
    In traditional eCommerce, these would be considered variants of the same product. But in a subscription model, since they affect stock differently, they’re set up as separate products.
  • Variant: Variants are different versions or options of a product that differ in certain attributes and affect customer choices. In subscription businesses, the contract duration is the most important attribute.Example:
    If you offer iPhone 14 Pro - 128 GB - Black with the following subscription durations:
    • Variant 1: 6 months (10 units)
    • Variant 2: 12 months (10 units)
    • Variant 3: 18 months (10 units)
    • Variant 4: 24 months (10 units)
    When a customer subscribes to the 6-month variant, stock for all variants must be reduced, because they all represent the same physical item.After the purchase:
    • Variant 1: 6 months → 9 units
    • Variant 2: 12 months → 9 units
    • Variant 3: 18 months → 9 units
    • Variant 4: 24 months → 9 units
    The underlying logic: one physical product, multiple durations = same inventory pool.
  • SKU (Stock Keeping Unit): A SKU is a unique identifier used to track inventory. In traditional eCommerce, each variant of a product (e.g., color, size) has its own SKU.In a subscription model, since variants are based on duration (not attributes like size or color), all variants often share the same SKU — especially in Shopify, WooCommerce, and Shopware.Important Distinction:
    • SKU helps categorize and group products.
    • But for actual stock tracking, every individual item should have a unique serial number.
    Example:
    If a customer orders the 6-month subscription for the iPhone 14 Pro - 128 GB - Black, and this product has 1 SKU, then all variants (12, 18, 24 months) should also decrease in quantity — because they're pulling from the same stock.Note for Saleor Users:
    Saleor does not allow multiple variants to share the same SKU. Therefore, extra configuration using N8N flows is required to synchronise stock across variants.

Shopify / WooCommerce / Shopware

Order Placement

  • If "Check system stock" is enabled:
    circuly checks stock before checkout.
    Path: Settings > Checkout > PRE CHECKOUT > Check system stock

    Scenarios:
    • Product is available: Checkout proceeds → Stock is reduced across all variants with the same SKU.
    • Product not available: Checkout is blocked.

Order Cancellation

  • A webhook triggers a +1 stock update for all variants sharing the SKU.
  • Setting Path: Settings > Orders > CANCELLATION > Restock items after an order cancellation

Return

  • When a product is marked as returned in Circuly, a webhook adds 1 unit back to the stock for all variants with that SKU.
  • Setting Path: Settings > Subscriptions > RETURN SUBSCRIPTION > Update stock on SKU level after return

Manual handling recommended if you differentiate between new and used stock.

Swap

  • Swapping the same product triggers an automatic stock update (a new order is created).
  • Swapping to a different product: select the new product from the dropdown to update stock automatically.

Saleor

Order Placement

  • Since SKUs must be unique, Circuly uses N8N flows to sync stock across all durations.
  • The flow ensures the correct physical stock is updated across duration-based variants.

Order Cancellation

  • A webhook is triggered and updates Saleor stock by +1.
  • N8N harmonises the update across duration-based variants.

Return

  • A return event triggers a webhook to update stock (+1) across all related variants.
  • N8N ensures synchronisation.

Manual review recommended for distinguishing between new and used stock.

Swap

  • Same product: stock updates automatically.
  • Different product: select manually from the dropdown to trigger a new order and stock update.

Additional Settings

Here are the key settings to automate stock management:

EventSetting LocationCheck stock at checkoutSettings > Checkout > PRE CHECKOUT > Check system stockAuto-restock on cancelSettings > Orders > CANCELLATION > Restock items after an order cancellationUpdate on returnSettings > Subscriptions > RETURN SUBSCRIPTION > Update stock on SKU level after return

What Happens Next

Once your stock setup is configured in Circuly:

  • Stock is automatically adjusted during key events: order placement, cancellation, return, and swap.
  • For Shopify, WooCommerce, and Shopware, shared SKUs simplify the logic.
  • For Saleor, Circuly’s N8N integration ensures accurate stock alignment across unique SKUs.
  • For more efficient inventory tracking at scale, we recommend integrating a Warehouse Management System (WMS). Circuly triggers events, while the WMS handles real-time stock adjustments.

Need help? Contact us via Support tab.

missing the answer to your question?

Fields marked with an asterisk (*) are required.
Thank you! Your submission has been received!

We are now hitting the keys to produce the content you are looking for. We will inform you once we are finished.  
Oops! Something went wrong while submitting the form.

Stock Management in circuly

Introduction

Managing inventory in a subscription-based business is fundamentally different from traditional eCommerce. While terms like product, variant, and SKU exist in both models, their meaning and impact vary significantly in a subscription context. This article explains how circuly handles stock management across different shop systems and provides guidance on how to set it up and automate it effectively.

Feature Overview

circuly enables both manual and automated stock management, adapting to the setup of your shop system. The system updates stock when key order events occur: order placement, order cancellation, product return, and product swap.

Stock management behaviour depends on the shop system:

  • Shopify / WooCommerce / Shopware: Variants can have the same SKU, and Circuly updates stock across all variants sharing that SKU.
  • Saleor: Variants must have unique SKUs; Circuly uses automated N8N flows to harmonise stock between related variants.

circuly offers settings to automate stock updates for each event type.

Step-by-Step Guide

Understanding key terms in subscription commerce

Before setting up stock, it's crucial to grasp these concepts:

  • Product: In both eCommerce and subscription models, a product refers to a specific item available for sale. Each product has a unique name and description. A product is considered unique if it influences the available inventory.Example:
    If you offer iPhones on a subscription basis:
    • iPhone 14 Pro - 128 GB - Black is a different product from
    • iPhone 14 Pro - 512 GB - Black
    In traditional eCommerce, these would be considered variants of the same product. But in a subscription model, since they affect stock differently, they’re set up as separate products.
  • Variant: Variants are different versions or options of a product that differ in certain attributes and affect customer choices. In subscription businesses, the contract duration is the most important attribute.Example:
    If you offer iPhone 14 Pro - 128 GB - Black with the following subscription durations:
    • Variant 1: 6 months (10 units)
    • Variant 2: 12 months (10 units)
    • Variant 3: 18 months (10 units)
    • Variant 4: 24 months (10 units)
    When a customer subscribes to the 6-month variant, stock for all variants must be reduced, because they all represent the same physical item.After the purchase:
    • Variant 1: 6 months → 9 units
    • Variant 2: 12 months → 9 units
    • Variant 3: 18 months → 9 units
    • Variant 4: 24 months → 9 units
    The underlying logic: one physical product, multiple durations = same inventory pool.
  • SKU (Stock Keeping Unit): A SKU is a unique identifier used to track inventory. In traditional eCommerce, each variant of a product (e.g., color, size) has its own SKU.In a subscription model, since variants are based on duration (not attributes like size or color), all variants often share the same SKU — especially in Shopify, WooCommerce, and Shopware.Important Distinction:
    • SKU helps categorize and group products.
    • But for actual stock tracking, every individual item should have a unique serial number.
    Example:
    If a customer orders the 6-month subscription for the iPhone 14 Pro - 128 GB - Black, and this product has 1 SKU, then all variants (12, 18, 24 months) should also decrease in quantity — because they're pulling from the same stock.Note for Saleor Users:
    Saleor does not allow multiple variants to share the same SKU. Therefore, extra configuration using N8N flows is required to synchronise stock across variants.

Shopify / WooCommerce / Shopware

Order Placement

  • If "Check system stock" is enabled:
    circuly checks stock before checkout.
    Path: Settings > Checkout > PRE CHECKOUT > Check system stock

    Scenarios:
    • Product is available: Checkout proceeds → Stock is reduced across all variants with the same SKU.
    • Product not available: Checkout is blocked.

Order Cancellation

  • A webhook triggers a +1 stock update for all variants sharing the SKU.
  • Setting Path: Settings > Orders > CANCELLATION > Restock items after an order cancellation

Return

  • When a product is marked as returned in Circuly, a webhook adds 1 unit back to the stock for all variants with that SKU.
  • Setting Path: Settings > Subscriptions > RETURN SUBSCRIPTION > Update stock on SKU level after return

Manual handling recommended if you differentiate between new and used stock.

Swap

  • Swapping the same product triggers an automatic stock update (a new order is created).
  • Swapping to a different product: select the new product from the dropdown to update stock automatically.

Saleor

Order Placement

  • Since SKUs must be unique, Circuly uses N8N flows to sync stock across all durations.
  • The flow ensures the correct physical stock is updated across duration-based variants.

Order Cancellation

  • A webhook is triggered and updates Saleor stock by +1.
  • N8N harmonises the update across duration-based variants.

Return

  • A return event triggers a webhook to update stock (+1) across all related variants.
  • N8N ensures synchronisation.

Manual review recommended for distinguishing between new and used stock.

Swap

  • Same product: stock updates automatically.
  • Different product: select manually from the dropdown to trigger a new order and stock update.

Additional Settings

Here are the key settings to automate stock management:

EventSetting LocationCheck stock at checkoutSettings > Checkout > PRE CHECKOUT > Check system stockAuto-restock on cancelSettings > Orders > CANCELLATION > Restock items after an order cancellationUpdate on returnSettings > Subscriptions > RETURN SUBSCRIPTION > Update stock on SKU level after return

What Happens Next

Once your stock setup is configured in Circuly:

  • Stock is automatically adjusted during key events: order placement, cancellation, return, and swap.
  • For Shopify, WooCommerce, and Shopware, shared SKUs simplify the logic.
  • For Saleor, Circuly’s N8N integration ensures accurate stock alignment across unique SKUs.
  • For more efficient inventory tracking at scale, we recommend integrating a Warehouse Management System (WMS). Circuly triggers events, while the WMS handles real-time stock adjustments.

Need help? Contact us via Support tab.