The platform supports three advanced shipping options that control how orders are split, routed, and shipped. These options are designed to prevent incorrect partial shipments, handle oversized items correctly, and ensure inventory is sourced from the right warehouse.
All three options are:
Configured per line item on the order
Applied by setting flags in the order object using the automation engine
Evaluated during order routing
There are no UI settings for these options. Implementation requires automation logic that updates the order JSON before routing.
The three supported shipping options are:
Ship in Its Own Container (SIOC)
All or Nothing shipping
Single Location shipping
Ship in Its Own Container (SIOC)
What SIOC Does
Ship in Its Own Container (SIOC) ensures that a line item is shipped by itself and is not combined with any other items in the same shipment.
This option is commonly used for large or oversized products that already have their own packaging and cannot be boxed with other items.
How SIOC Works
When a line item is marked as SIOC:
The order routing engine creates a separate shipping request (SR) for that line item based on quantity: if the quantity on that line is two, there would be two shipping requests
No other line items are included in the same SR
Behavior details:
Each SIOC line item generates its own SR
Multiple SIOC items result in multiple SRs
Non-SIOC items are grouped into one or more separate SRs, depending on routing logic
Example:
Order contains five line items
Two line items are marked as SIOC
-
Result:
One SR for SIOC item #1
One SR for SIOC item #2
One SR for the remaining three non-SIOC items
How to Configure SIOC
SIOC is controlled by a flag in the line item’s shippingOptions array within the order object.
The flag must be set using the automation engine before the order is routed.
Common implementation approaches:
Maintain a hard-coded list of SIOC SKUs in the automation rule (recommended only for small SKU sets)
-
Look up the product record in the platform’s product catalog and evaluate metadata, such as:
Custom fields
Tags
UPC
If the product meets the SIOC condition, the automation rule sets the SIOC shipping option on that line item.
SIOC behavior is entirely flag-driven and is not hardcoded.
All or Nothing Shipping
What All or Nothing Does
All or Nothing shipping prevents a defined set of line items from being partially shipped.
The system will only ship the items if every line item marked with All or Nothing is available.
This option is used when certain products must ship together to avoid customer confusion, returns, or incomplete deliveries.
Common Use Case
A customer orders:
One table
Six chairs
Additional unrelated items such as a table runner or plates
Desired behavior:
The table and all six chairs should only ship if all are available
The chairs should not ship without the table
The system should not ship only two chairs if the other four are out of stock
Unrelated items can ship independently when available
How All or Nothing Works
When All or Nothing is set on multiple line items:
The routing engine checks availability for all marked items
If even one item is unavailable, none of the marked items are shipped
Partial fulfillment of those items is blocked
This logic applies only to the line items with the All or Nothing flag.
How to Configure All or Nothing
All or Nothing is configured by setting a flag in the shippingOptions array for each applicable line item.
The automation rule must:
Identify the related SKUs
Apply the All or Nothing flag consistently across all required line items
There is no UI toggle for this option.
Single Location Shipping
What Single Location Does
The Single Location shipping enforces that all marked line items must be fulfilled from one warehouse location.
This option is typically used together with All or Nothing but can be evaluated independently.
Why Single Location Matters
All or Nothing ensures availability, but without Single Location, items could still be sourced from multiple warehouses.
This can result in:
Multiple shipments
Increased shipping costs
Operational complexity
How Single Location Works
When Single Location is set:
The routing engine verifies that all marked line items are available
It also checks that one warehouse can fulfill all of them
If inventory is split across locations:
The items are treated as unavailable
No shipment is created
Example:
Six chairs are available, but split across three warehouses
Single Location is enabled
Result: the items are not shipped
How to Configure Single Location
Single Location is configured using a flag in the same shippingOptions array as All or Nothing.
Automation rules typically:
Apply Single Location to the same line items that use All or Nothing
Ensure both availability and location constraints are enforced together
Adding Shipping Options Using Automations
Shipping options are applied to line items using the automation engine. Because there are no UI-based toggles for these options, you must configure an automation that updates the order object before routing begins.
Steps
Navigate to Automations → Orders → New Orders.
Create a new automation by entering a Name and Description to document the purpose of the rule.
(Optional) Add Filter conditions if the automation should only apply to specific orders. For example, filter by sales channel, order type, or customer segment.
Configure the action by selecting Update Order by Code (JavaScript) as an Action.
Review action settings, leave Abort on error set according to your operational requirements.
Under Evaluation Dependencies, select shipments to ensure the code evaluates correctly against shipment-related data before routing.
Add the code logic by entering JavaScript that evaluates each line item and sets the appropriate shipping option. Example: setting SIOC based on a line item custom field.
order.lineItems?.forEach(lineItem => {
lineItem.customFields?.forEach(customField => {
if (customField.name === 'productoption' && customField.value === 'sioc') {
lineItem.shippingOption = 'sioc';
}
});
});
return order;How this example works:
The code loops through all line items on the order
It checks each line item’s custom fields
If the custom field name is productoption and the value is sioc, the line item’s shippingOption is set to sioc
The updated order object is returned for downstream routing
Use the Test code button to validate that the logic runs successfully before saving the automation.
Add a terminal action, such as Set order to draft. This ensures the automation completes cleanly and predictably.
Click Save to activate the rule.
Important Implementation Notes
All options are applied at the order level, not at the routing rule level
Flags must be set using the automation engine before routing begins
There are no dropdowns or UI-based configuration options
A working code example is required to implement these flags correctly
Future functionality for shipment grouping, which will allow line items to be treated as a single inseparable group, is under development and not covered in this article.
Troubleshooting
SIOC items are shipping with other products
Verify the SIOC flag is set on the correct line item
Confirm the automation rule runs before order routing
All or Nothing items are partially shipping
Ensure the flag is applied to every required line item
Confirm inventory availability for all flagged items
Items are not shipping despite being in stock
Check whether the Single Location constraint is enabled
Verify that one warehouse can fulfill all marked items
Need Help?
If you need additional assistance:
Use Ask Pippen, our AI agent, located at the top of the app page.
Submit a support request with as much relevant detail as possible. Learn how to submit a request.
For urgent issues, email us directly at support@pipe17.com.
We're here to help you succeed with your operations.
Comments
0 comments