Fluent Commerce Logo
Docs

LoadInventoryPosition

Rule

Changed on:

12 Aug 2025

Overview

Forward event `{eventName}` (inline event) with the attribute 'inventoryPositionExists' set to true or false if the inventory position exists or not respectively.
Plugin NameInventory Reference Module
Namespace[[account.id]].globalinventory
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 the needs of your customers.The Inventory Module includes the following areas:
  • Product Catalogue workflow
  • Inventory Catalogue workflow
  • Control Group workflow
  • Virtual Catalogue workflow

UI Description

Forward event {eventName} (inline event) with the attribute 'inventoryPositionExists' set to true or false if the inventory position exists or not respectively.

Accepts

  • INVENTORY_CATALOGUE

Actions

Rule parameters

ParameterTypeDescription
`eventName``String`The name of event to be triggered

Event attributes

NameTypeDescriptionRequired?
`inventoryPosition`InventoryPositionOne single item of inventory batch requestYes
InventoryPosition sub-attributes
ParameterDescriptionData TypeRequired?
`ref`refStringNo, unused
`type`The inventory position typeStringNo, unused
`productRef`The ref of the variant product associated to the inventory positionStringNo
`locationRef`The location ref associated to the inventory positionStringNo
`qty`The quantityIntegerNo
`correctedQty`corrected quantityIntegerNo, unused
`inventoryQuantity`inventoryQuantityUpdate[InventoryQuantity]No
InventoryQuantity sub-attributes
ParameterDescriptionData TypeRequired?
`ref`Inventory Quantity refStringNo 
`type`Inventory Quantity typeStringNo 
`qty`QuantityIntegerNo
`status`StatusStringNo 

Exceptions

This rule will throw a RubixException if `{eventName}` property is not provided.

Configuration example

1{
2  "name": "[[account.id]].globalinventory.LoadInventoryPosition",
3  "props": {
4    "eventName": "CheckInventoryPositionExists"
5  }
6}

Detailed Technical Description

Based on the inventory position `ref` (from inventory batch) and inventory catalogue ref (from event root entity ref) the rule loads the corresponding inventory position in one GraphQL API request. The rule then adds all the following information into event attributes and produces one `SendEventAction` with the event `{eventName}`.
Event Attribute KeyEvent Attribute Value
`type``entitySubtype`, if undefined (null) sets to `DEFAULT`
`ref` `<productRef>:<locationRef>:type`
`qty`inventoryPosition.qty (from incoming event attributes)
`productRef`inventoryPosition.productRef (from incoming event attributes)
`locationRef`inventoryPosition.locationRef (from incoming event attributes)
`inventoryPositionStatus`inventoryPosition.status from GraphQL query*, otherwise set to CREATED
`inventoryPositionRef`inventoryPosition.ref from GraphQL query*, otherwise generated to `<productRef>:<locationRef>:type`
`inventoryPositionOnHand`inventoryPosition.onHand from GraphQL query*, otherwise set to 0
`inventoryPositionExists`TRUE if position exists, FALSE if position doesn't exist
`correctedQty`inventoryPosition.correctedQty (from incoming event attributes) - UNUSED
`inventoryQuantityExists`TRUE if quantity exists, FALSE if quantity doesn't exist
`inventoryQuantityTypes`The List<String> of all the inventory quantity types that exist for the given inventory position. Currently, the rule is restricted to picking only LAST_ON_HAND Inventory Quantity type for performance reasons
*The first option will occur when an Inventory Position already exists, otherwise the second option will occur.

Version History

2024-08-15

v24.8.15

Refers to the Product Release Version
2024-07-04

v24.7.4

Refers to the Product Release Version
2023-11-02

v1.0.0

refers to the plugin