Inventory Module Getting Started Guide
Essential knowledge
Intended Audience:
Technical User
Authors:
Fluent Commerce, Kirill Gaiduk
Changed on:
29 Aug 2025
Overview
The Inventory Reference Module is the foundation for inventory-related implementations. It provides reference Workflows for inventory ingestion and processing. Extensible by design, use this Module as a base to build a solution to your customers' needs.Key points
- Understanding the prerequisites is crucial before you begin using the Inventory Module.
- Learn how to enable the Inventory Module for your system.
- Get familiar with the Module Workflows to effectively manage your Inventory.
- Ensure proper configuration of the Inventory Module to suit your business needs.
Prerequisites
Training
Before attempting to set up the Inventory Module, it is recommended that you complete the following Training modules:- Foundation course
- Inventory course
Account Setup
To get started with the Inventory Module, a Sandbox or Production Account requires:Settings
The following Settings enable the Orchestration Engine (Rubix), Inventory and Inventory Batch processing.| Setting Name | User Type | Value |
| RUBIX_ENABLED | RETAILER | TRUE |
| GLOBAL_INVENTORY_ENABLED | ACCOUNT | TRUE |
| INVENTORY_BATCH_ENHANCEMENT_ENABLED | ACCOUNT | TRUE |
| rubix.entity.parent.status.fix | ACCOUNT | TRUE |
Enabling the Module
Once you have completed the prerequisites above, you are ready to download and install the Module.Follow the steps described in the Reference Module Installation Guide, using the detailed guidance for Module Workflows setup with variables and Configuration of the Inventory Module with Rule properties that are provided below.Module Workflows setup
Within each Workflow, there are levels of configuration that are needed to ensure the Workflows work for the specific implementation. Below are outlines per Ruleset/Rule of what needs to be updated for each Workflow. Additionally, there is a range of configurations that make it possible to tailor the Workflows to a specific Retailer's requirements.All Workflows
Please ensure all`[[retailer.id]]` and `[[account.id]]` variables are replaced with relevant values.Product Catalog Workflow
Ensure that`[[product.catalogue.type]]` has been replaced with your desired type throughout the Workflow.| Ruleset | Rule | Configuration required |
| UpdateProductStatus | NotifyInventoryCatalogueForProduct | Ensure the variables `[[inventory.catalogue.ref]]` and `[[inventory.retailer.id]]` are replaced to correctly reference the Inventory Catalog and Retailer this Rule should send a message to. |
Inventory Catalog Workflow
Ensure that`[[inventory.catalogue.type]]` has been replaced with your desired type throughout the Workflow.| Ruleset | Rule | Configuration required |
`[[inventory.change.event.name]]` | This Ruleset placeholder should match the event name produced by the Inventory Batch. The default value for the placeholder is `InventoryChanged`. | |
| BatchInventoryPositionCreate | LoadProductAndLocationStatus | Ensure the variable `[[product.catalogue.ref]]` is replaced with the reference for the Product Catalog you are using. |
| NotifyVirtualCatalogues | NotifyVirtualCataloguesByRefsOnNetworksMatch | Ensure the variables:
|
| UpdateProductInventoryPositions | ForwardIfProductStatusEquals | Ensure the variable `[[product.catalogue.ref]]` is replaced with the reference for the Product Catalog you are using. This Rule appears twice in this Ruleset and must be updated for both cases. |
| UpdateLocationInventoryPositions | ForwardIfProductStatusEquals | Ensure the variable `[[product.catalogue.ref]]` is replaced with the reference for the Product Catalog you are using. This Rule appears twice in this Ruleset and must be updated for both cases. |
| VerifyLocationStatusOnProductStatusChange | ForwardIfLocationStatusEquals | Ensure the variable `[[product.catalogue.ref]]` is replaced with the reference for the Product Catalog you are using. |
| VerifyProductStatusOnLocationStatusChange | ForwardIfProductStatusEquals | Ensure the variable `[[product.catalogue.ref]]` is replaced with the reference for the Product Catalog you are using. |
Virtual Catalog Workflows
The Virtual Catalog Workflows have no specific updates required other than the globally applicable`[[retailer.id]]` and `[[account.id]]` update.Control Group Workflows
| Ruleset | Rule | Configuration required |
| CheckControlChange | ProduceVirtualPositionEventsForControlUpdate | For the BASE Control Group Workflow: update the variable `[[virtual.catalogue.base.ref]]` to refer to the correct BASE Virtual Catalog and update the variable `[[product.catalogue.ref]]` to refer to the correct Product Catalog. There are 2 instances of this Ruleset and Rule combo which operate against different Control Types, they both need the same change.For the AGGREGATE Control Group Workflow: make similar updates for the variables `[[virtual.catalogue.aggregate.ref]]` and `[[product.catalogue.ref]]`. There are 2 instances of this Ruleset and Rule combo as well. |
Configuration of the Inventory Module
Within the Inventory Module, there are also a range of possible configurations which are shared below. Please, check and apply any that are applicable to your Retailer. This is by no means exhaustive and there are more configuration capabilities available.Configuration of the Product Catalog Workflow
The below table details all the Rules that can be configured.| Ruleset | Rule | What can be configured? |
| UpdateProductStatus | NotifyInventoryCatalogueForProduct | This Rule can be duplicated to send events to different Inventory Catalogs and different Retailers from a single trigger. Duplicate the whole Rule and ensure the `inventoryCatalogueRef` and `retailerId` match your desired destination for each message. |
Configuration of the Inventory Catalog Workflow
The below table details all the Rules that can be configured.| Ruleset | Rule | What can be configured? |
| BatchInventoryPositionUpdate | UpdateInventoryQuantitiesStatus | The `filterTypes` and `filterStatuses` can be updated to fit which Quantities a Retailer uses. |
| CalculateOnHand | CalculateOnHand | The `filterTypes` and `filterStatuses` can be updated to fit which Quantities a Retailer uses. |
| UpsertInventoryQuantity, BatchInventoryPositionUpdate | UpsertInventoryQuantity | The `defaultType` can be updated to fallback the Inventory Quantity Type which a Retailer uses for Inventory Updates. |