Skip to main content

Setting Up and Using Order Merge for Shipment Orders

How Order Merge consolidates multiple shipment orders into a single Merged Order, covering setup, unmerge, tracing, and webhooks.

Overview

Order Merge consolidates multiple shipment orders headed to the same customer and address into a single Merged Order, so your team picks, packs, and ships them together instead of as separate shipments. The original orders become Original Orders — cancelled with reason Order Merge and linked to the Merged Order for full traceability — while Logiwa IO keeps every original order's line-level details intact for accurate reporting and store integration.

When to Use It

Use Order Merge when:

  • You regularly receive multiple separate orders for the same customer, going to the same address

  • You want to reduce duplicate picking, packing, and shipping labels for those orders

  • Your orders are eligible: same Client, Customer Name, Shipping Address, and Channel, and each order is in Open, Shortage, or On Hold status

Orders are not eligible for merging if they have Allow Partial Shipment set to Yes, already have a carrier label generated, or belong to different Channels.

Prerequisites

  • Permission to manage Data Setup entries and Job Wave Rules

  • The Outbound → Shipment Order → Unmerge Order permission if you plan to reverse merges later (disabled by default for all roles)

Step-by-Step Instructions

Step 1 — Create an Order Merge Rule

  1. Navigate to Data Setup → Order Merge Rule.

  2. Click Create, enter a Order Merge Rule Name, and select the Warehouse.

  3. Review the locked Default Conditions (Client, Customer Name, Channel, Shipping Address).

  4. Optionally enable Additional Conditions: Carrier, Shipping Option, Order Priority, Planned Delivery Date, Expected Shipment Date, Order Date (matches by date only, not time), Order Tag, or Retailer.

  5. Choose a Data Inheritance option: Oldest Original Order (default), Newest Original Order, or Clean State.

  6. Click Save.

💡 An Order Merge Rule can't be deleted while it's still selected in a wave rule — remove it from all wave rules first.

Step 2 — Create an Order Merge Wave Rule

  1. Navigate to Job Wave Rules → Wave Rules tab.

  2. Create a new wave rule and select Order Merge as the Operation Type.

  3. On General, name the rule, select the Warehouse, and select at least one Order Merge Rule (drag to sequence if more than one).

  4. On Selection, optionally add Filters and an Order By method.

  5. On Schedule, set Days and Time(s), or leave for manual runs.

  6. Click Save.

💡 Schedule your Order Merge Wave Rule 15–30 minutes before Picking or AI Job Optimization waves — it can't run at the same time as either.

Step 3 — Unmerge a Merged Order (if needed)

  1. Go to the Order Backlog grid and select one or more Merged Orders.

  2. Open the Warehouse Ops menu and click Unmerge Order.

  3. If any selected order isn't eligible (for example, it's allocated), you'll see "Allocated Merged Order Cannot be Unmerged" — click Skip Allocated Orders to continue with only the eligible ones, or Go Back to cancel.

  4. Confirm on the Unmerge Order(s) dialog.

  5. Confirm: the original orders return to Open in the Order Backlog, and the Merged Order moves to the Shipped & Canceled tab as Cancelled (reason: Unmerged Master Order).

Key Fields & Options

Field

Description

Notes

Data Inheritance

Which order's metadata the Merged Order inherits

Clean State falls back to the oldest original order's Shipment Order Type if no workflow rule assigns one

Additional Conditions

Optional extra matching criteria beyond Client/Customer/Channel/Address

All off by default

Original Order Code

The source order a line/transaction originally belonged to

Available as a column, filter, and Excel export field on Transaction History, Serial Number Transaction History, and Shipment History

# of Merged Orders Created

Count of Merged Orders created during a wave run

Column on the Wave Log Report

Common Questions & Edge Cases

How does picking work for a Merged Order?
Merged Orders always have 2+ lines, so they're never eligible for a Single Item pick job. If all lines share the same SKU, the order qualifies for an Identical Item job; otherwise it's picked as Multi-Item, with all lines assigned to the same tote/LP regardless of which original order they came from.

Can I update, cancel, or delete a Merged Order directly?
No. Merged Orders are protected once created — any update, cancel, or delete attempt (from the UI or API) is rejected with an error telling you the order is a merged order. To make changes, unmerge it first, which reopens the original orders.

Why can't I delete my Order Merge Rule?
If an Order Merge Rule is currently selected in one or more Order Merge Wave Rules, deletion is blocked with an error asking you to remove it from those wave rules first.

Can I manually select "Order Merge" as a cancellation reason?
No. Order Merge and Unmerged Master Order are system-reserved cancellation reasons used only by automated processes — they won't appear in the Data Setup cancel reason list or the manual cancel dropdown, but you'll see them on affected orders in reports and order history.

Can I set up automation based on merge status?
Yes. Workflow rules support two filters: Is Merged Order and Is Original Order.

How do I trace which original orders fed into a Merged Order?
Use the Original Order Code filter on Transaction History, Serial Number Transaction History, or Shipment History.

What happens if a Return Station operator scans an Original Order's code?
The screen displays a message identifying the Merged Order it was merged into, so the operator can proceed with the return on the correct order.

If I use webhooks or the API, how do I track merges programmatically?

Logiwa IO fires two webhooks relevant to Order Merge:

wms/shipmentorder/statuschange — fires when an Original Order is cancelled due to a merge or unmerge. Includes CancellationReason and MergedShipmentOrderCode.

Merge example:

{
  "Identifier": "e9e0c79b-b5ba-4de1-8366-86a031cc4e63",
  "Code": "SO0457",
  "PreviousStatus": "Open",
  "CurrentStatus": "Cancelled",
  "ClientId": 25480,
  "IsPartial": false,
  "ShipmentOrderTypeName": "123",
  "WarehouseIdentifier": "b31f77a2-4b8d-4519-85ac-45493ca81c52",
  "WarehouseCode": "MyWarehouse",
  "ActionDateTime": "2026-06-07T23:21:49.796Z",
  "CancellationReason": "Order Merge",
  "MergedShipmentOrderCode": "SO0462"
}

Unmerge example — note MergedShipmentOrderCode is null since the order is no longer part of a Merged Order:

{
  "Identifier": "f674e308-c417-4401-846f-e502794d4164",
  "Code": "SO0468",
  "PreviousStatus": "Open",
  "CurrentStatus": "Cancelled",
  "ClientId": 25480,
  "IsPartial": false,
  "ShipmentOrderTypeName": "123",
  "WarehouseIdentifier": "b31f77a2-4b8d-4519-85ac-45493ca81c52",
  "WarehouseCode": "MyWarehouse",
  "ActionDateTime": "2026-06-07T23:34:27.895Z",
  "CancellationReason": "Unmerged Order",
  "MergedShipmentOrderCode": null
}

wms/shipmentorder/mergeorder — fires once per merge or unmerge operation, with ActionType distinguishing the two and OriginalOrders listing every order involved.

Merge example:

{
  "ActionType": "Merge",
  "ActionDateTime": "2026-06-07T23:29:14.410Z",
  "Identifier": "cdeaacff-1345-4b9d-94ce-bfb5b36dabd9",
  "Code": "SO0463",
  "ClientId": 25480,
  "WarehouseIdentifier": "b31f77a2-4b8d-4519-85ac-45493ca81c52",
  "WarehouseCode": "MyWarehouse",
  "OriginalOrders": [
    { "Code": "SO0463", "Identifier": "cdeaacff-1345-4b9d-94ce-bfb5b36dabd9" },
    { "Code": "SO0464", "Identifier": "00168966-d9ca-4895-b8ee-ce1f947842d6" },
    { "Code": "SO0465", "Identifier": "b6890b1f-1f19-43bd-a146-9ebad79cab0f" },
    { "Code": "SO0466", "Identifier": "39558f4a-0e99-44b8-bb4d-63fcdcd50c9e" }
  ]
}

Unmerge example:

{
  "ActionType": "Unmerge",
  "ActionDateTime": "2026-06-07T23:34:27.862Z",
  "Identifier": "f674e308-c417-4401-846f-e502794d4164",
  "Code": "SO0468",
  "ClientId": 25480,
  "WarehouseIdentifier": "b31f77a2-4b8d-4519-85ac-45493ca81c52",
  "WarehouseCode": "MyWarehouse",
  "OriginalOrders": [
    { "Code": "SO0463", "Identifier": "cdeaacff-1345-4b9d-94ce-bfb5b36dabd9" },
    { "Code": "SO0464", "Identifier": "00168966-d9ca-4895-b8ee-ce1f947842d6" },
    { "Code": "SO0465", "Identifier": "b6890b1f-1f19-43bd-a146-9ebad79cab0f" },
    { "Code": "SO0466", "Identifier": "39558f4a-0e99-44b8-bb4d-63fcdcd50c9e" }
  ]
}

On the Shipment Order API itself, look for the mergedOrder, canceledByMerge, and mergedShipmentOrderCode fields at the order level.

Is there a limit to how many orders can be merged or processed per wave run?
Up to 50 original orders per Merged Order, and up to 15,000 eligible orders per wave run (oldest first). See New Wave Rule Optimizations: Pre-Flight Check and Processing Caps.

Related Articles

  • New Wave Rule Optimizations: Pre-Flight Check and Processing Caps

  • Create a Wave Rule for Picking

  • Shipment Order Statuses

  • Cancel a Shipment Order

Did this answer your question?