Rule MacroRIS-RM-2044 – Out of Stock Order Splitter

Out of Stock Order Splitter

Automatically review selected Linnworks orders, split out-of-stock items into separate orders where required, and assign an out-of-stock identifier for easier review.

Overview

Out of Stock Order Splitter is an automated stock-availability and order-splitting solution for Linnworks. It reviews selected orders, checks item availability at the order fulfilment location, and separates out-of-stock items where the order contains both fulfilment-ready and unavailable items.

The macro processes order IDs supplied through the Linnworks Rule Engine. For each selected order, it retrieves the order details, identifies the fulfilment location, and compares the required item quantities with the available stock at that location.

When an order contains a mixture of available and out-of-stock items, the macro creates a separate order for the out-of-stock items. The split request retains the original postal service and fulfilment location.

Orders containing unavailable items receive the OUT OF STOCK! identifier and internal notes explaining the split result. A macro-run tracking extended property is also added after processing to prevent the same order from being processed repeatedly.

Keep fulfilment-ready items moving by automatically separating unavailable stock and clearly marking orders that require review.

Who Should Use Out of Stock Order Splitter

Key Features

How Out of Stock Order Splitter Works

Out of Stock Order Splitter follows a defined sequence whenever it receives one or more order IDs through the Linnworks Rule Engine.

Step 1: Read selected order IDs

The macro loops through each order ID supplied through the OrderIds parameter.

Step 2: Retrieve the Linnworks order

For each selected ID, the macro retrieves the complete order details and existing extended properties.

Step 3: Check repeat-run protection

The macro checks whether its tracking extended property already exists. Orders already marked as processed are skipped.

Step 4: Identify the fulfilment location

The fulfilment location assigned to the order is identified and used for the stock-availability checks.

Step 5: Check item availability

Each order item's required quantity is compared with the available stock at the fulfilment location.

Step 6: Classify item quantities

The macro separates fulfilment-ready items or quantities from items or quantities considered out of stock by the macro logic.

Step 7: Evaluate the order result

The macro determines whether the order contains only available items, only out-of-stock items, or a mixture of both.

Step 8: Split mixed orders

When both available and out-of-stock items exist, a Linnworks order split is created for the unavailable items.

Step 9: Preserve order settings

The split request uses the original postal service and fulfilment location.

Step 10: Add internal notes

Internal notes are added to explain whether the relevant order contains out-of-stock or fulfilment-ready items.

Step 11: Assign the review identifier

Orders containing out-of-stock items receive the OUT OF STOCK! identifier. The identifier is created first when necessary.

Step 12: Handle fully unavailable orders

When all items are out of stock, the original order is not split. It receives an internal note and the OUT OF STOCK! identifier.

Step 13: Mark the order as processed

The macro adds its tracking extended property after processing to prevent another run against the same order.

Configure the Macro

Once the app is installed, you need to create a macro configuration so the system knows which macro to run when the rule is triggered.

This setup can be adjusted anytime based on your operational requirements.

Steps to Configure

Go to Apps > Macro Configuration and click + Add new configuration.

Key Benefits

Orders containing unavailable items can delay fulfilment when the entire order must be reviewed manually. Out of Stock Order Splitter separates stock exceptions while keeping fulfilment-ready items visible.

Reduce manual stock reviews, keep available items moving, and make out-of-stock exceptions easier to manage.

Usage of App

Out of Stock Order Splitter is triggered through the Linnworks Rule Engine to evaluate and split selected orders automatically.

Execution

Trigger via Rule Engine

Call the OutOfStockOrderSplitter macro through the Rule Engine with the required OrderIds. No additional custom parameter values are required.

Outcome

When the macro runs against an order, it:

Checks previous processing

Reviews the order extended properties and skips the order when the macro-run tracking property already exists.

Checks stock by location

Compares the required item quantities with stock available at the order fulfilment location.

Classifies item availability

Separates fulfilment-ready and out-of-stock items or quantities according to the macro logic.

Splits mixed-availability orders

Creates a separate Linnworks order for out-of-stock items when available and unavailable items are both present.

Adds internal notes

Records the split result and identifies the stock status of the relevant order.

Assigns the OUT OF STOCK! identifier

Marks the original or split order containing the unavailable items.

Prevents another run

Adds the macro-run tracking extended property after processing.

Input Parameters

Out of Stock Order Splitter requires the following input:

ParameterRequiredDescription
OrderIdsYesThe Linnworks order IDs to process. Supplied automatically through the Rule Engine or selected-order context.

No additional user-entered values are required in Macro Configuration.

The macro relies on the following Linnworks order and inventory data:

Data RequirementDescription
Fulfilment locationIdentifies the stock location used for the availability check.
Order item quantityDefines the quantity required by the order.
Available stockUsed to determine whether each item can be fulfilled at the location.
Postal serviceRetained when the macro creates the split request.
Order extended propertiesUsed to determine whether the macro has already processed the order.
Order identifiersUsed to apply the OUT OF STOCK! review marker.

Stock Availability Rules

The macro applies the following stock evaluation behaviour:

Order or Stock ConditionMacro Behaviour
Tracking extended property already existsSkips the order.
All required items are availableNo out-of-stock split is required.
Both available and out-of-stock items existCreates a separate order for the out-of-stock items.
An item cannot be fully fulfilledThe unavailable item or quantity is treated according to the macro's out-of-stock split logic.
All items are out of stockDoes not split the order; marks the original order for review.
Out-of-stock items exist in a split orderAssigns the OUT OF STOCK! identifier to that order.
Processing completesAdds the macro-run tracking extended property.

Important: Stock availability is evaluated at the fulfilment location assigned to the order. Accurate location-level inventory data is required for reliable results.

Order Split Behaviour

When the order contains both fulfilment-ready and unavailable items, the macro creates a Linnworks order split.

The split operation retains:

Split SettingBehaviour
Postal serviceUses the original order postal service.
Fulfilment locationUses the original order fulfilment location.
Out-of-stock itemsMoved into the separate order according to the macro logic.
Internal notesAdded to describe the stock status and split result.
IdentifierOUT OF STOCK! is applied to the order containing unavailable items.

The exact note wording and macro-run tracking property name are not specified in the supplied documentation.

Example Scenario

Assume a selected order contains three items:

ItemAvailability ResultMacro Treatment
SKU-001Enough stock at the fulfilment locationRemains fulfilment-ready.
SKU-002Insufficient stock for the full ordered quantityThe unavailable quantity is handled by the out-of-stock split logic.
SKU-003Fully unavailable at the fulfilment locationAdded to the out-of-stock order.

The resulting behaviour is:

The original order is then marked with the macro-run tracking extended property to prevent repeat processing.

Best Practices

Test the macro against representative stock scenarios before enabling it across a large order volume because it can create split orders automatically.

FAQ

How is Out of Stock Order Splitter triggered?

The macro is triggered through the Linnworks Rule Engine. Matching order IDs are supplied through the OrderIds parameter.

Does the macro require additional configuration parameters?

No. The macro configuration requires a name and must be enabled, but no additional custom values are entered.

Where is stock checked?

Stock is checked at the fulfilment location assigned to the order.

How does the macro determine whether an item is available?

It compares the required item quantity with the available stock at the order location.

What happens when every item is available?

No out-of-stock split is required.

What happens when the order contains both available and out-of-stock items?

The macro creates a separate order for the out-of-stock items.

What happens when an item has some, but not all, required stock?

The source documentation states that the macro separates available and out-of-stock quantities according to its stock logic. The precise partial-quantity calculation is implemented within the macro.

What happens when every item is out of stock?

The order is not split. The original order receives an internal note and the OUT OF STOCK! identifier.

Which order receives the OUT OF STOCK! identifier after a split?

The order containing the out-of-stock items receives the identifier.

Does the macro create the identifier when it is missing?

Yes. The documented behaviour states that the macro creates the OUT OF STOCK! identifier when necessary.

Are internal notes added?

Yes. Internal notes are added to explain whether the relevant order contains out-of-stock or in-stock items.

What is the exact note text?

The exact note wording is not provided in the supplied documentation.

Does the split retain the original postal service?

Yes. The split request uses the original postal service.

Does the split retain the fulfilment location?

Yes. The split request uses the original fulfilment location.

How does the macro prevent duplicate processing?

It checks for a macro-run tracking extended property before processing and adds the property after the run.

What is the tracking extended property called?

The source confirms that a tracking property is used but does not provide its exact name.

Can multiple orders be processed in one execution?

Yes. The macro loops through each order ID supplied through OrderIds.

Does the macro update stock levels?

The supplied documentation describes reading stock availability and splitting orders. It does not state that stock levels are changed.

What should be checked when an order is skipped?

Check whether the macro-run tracking extended property already exists on the order.

What should be checked when an order is split incorrectly?

Review the fulfilment location, location-level stock values, ordered quantities, and macro execution logs.

What should teams do after an order receives the OUT OF STOCK! identifier?

Review whether the order requires replenishment, delayed fulfilment, customer contact, cancellation, or another manual action.

Please review these pages to understand how data is handled and the terms governing the use of this application.

Summary

Out of Stock Order Splitter automates stock validation and order splitting for selected Linnworks orders.

Once connected to the Rule Engine, the macro checks repeat-run tracking, retrieves stock availability at the fulfilment location, separates available and unavailable items, creates a split order where required, adds internal notes, and assigns the OUT OF STOCK! identifier.

For orders that do not split as expected, review the Rule Engine and macro logs, confirm the fulfilment location, verify location-level stock quantities, and check whether the macro-run tracking property already exists.