> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.returnhelper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Consolidate Shipping Flow

> How a consolidate shipping order moves between you and the warehouse

A consolidate shipping order moves inventory from one Return Helper warehouse to one destination. You build and submit the order; the warehouse packs and ships it; webhooks tell you when each step happens.

| `destinationType` | Destination | Shipping fee |
| - | - | - |
| `CUSTOM_ADDRESS` | The address you set in `shipTo` | Quoted by the warehouse. You accept it before the order ships. |
| `RH_WAREHOUSE` | A Return Helper warehouse whose `isConsolidateShippingDestination` is `true` in [Get all warehouses](/api-reference/warehouse/get-all-warehouses-accessible-to-user) | No quote. Each shipment is charged when it arrives, from its chargeable weight. |

> [!NOTE]
>
> The Hong Kong warehouse is currently the only `RH_WAREHOUSE` destination.

## Custom address (`CUSTOM_ADDRESS`)

| # | Who | Action | Order status after | Webhook |
| - | - | - | - | - |
| 1 | You | [Create the order](/api-reference/consolidateshippingorder/create-consolidate-shipping-order) | `CREATED` | — |
| 2 | You | [Add inventory](/api-reference/consolidateshippinginventory/add-inventory-to-consolidate-shipping-order): RMAs by `returnInventoryId`, FBA stock by FNSKU | `CREATED` | — |
| 3 | You | [Confirm the order](/api-reference/consolidateshippingorder/confirm-consolidate-shipping-order) | `CONFIRMED` | — |
| 4 | Warehouse | Packs every line into shipments and boxes | `CONFIRMED` | [All packed](/webhooks#consolidate-shipping-all-packed) |
| 5 | Warehouse | Quotes the shipping fee | `CONFIRMED` | [Cost updated](/webhooks#consolidate-shipping-cost-updated) |
| 6 | You | [Confirm the shipping quote](/api-reference/consolidateshippingorder/confirm-consolidate-shipping-quote) | `CONFIRMED_QUOTE` | — |
| 7 | You | [Mark the order ready to ship](/api-reference/consolidateshippingorder/mark-consolidate-shipping-order-ready-to-ship) | `READY_TO_SHIP` | — |
| 8 | Warehouse | Ships a shipment and records its AWB | `PARTIALLY_SHIPPED` while other lines remain; `SHIPPED` once every line has shipped | [AWB updated](/webhooks#consolidate-shipping-awb-updated); [Order completed](/webhooks#consolidate-order-completed) when the order reaches `SHIPPED` |

Shipment status: `CREATED` → `SHIPPED`.

## Return Helper warehouse (`RH_WAREHOUSE`)

| # | Who | Action | Order status after | Webhook |
| - | - | - | - | - |
| 1–3 | You | Create, add inventory and confirm, as above | `CONFIRMED` | — |
| 4 | Warehouse | Packs each shipment into one box | `CONFIRMED` | [All packed](/webhooks#consolidate-shipping-all-packed) |
| 5 | Warehouse | Ships a shipment and records its AWB | `PARTIALLY_SHIPPED` | [AWB updated](/webhooks#consolidate-shipping-awb-updated), shipment `IN_TRANSIT` |
| 6 | Return Helper | The shipment arrives, its chargeable weight is recorded and it is charged | `PARTIALLY_SHIPPED` while other shipments are on the way; `SHIPPED` once every shipment holding items has arrived | [Shipment arrived](/webhooks#consolidate-shipment-arrived); [Order completed](/webhooks#consolidate-order-completed) when the order reaches `SHIPPED` |

Shipment status: `CREATED` → `IN_TRANSIT` → `READY_TO_PICKUP`.

The order's `shipTo` is the destination warehouse's address. [Confirm shipping quote](/api-reference/consolidateshippingorder/confirm-consolidate-shipping-quote), [Mark ready to ship](/api-reference/consolidateshippingorder/mark-consolidate-shipping-order-ready-to-ship), [Update ship-to](/api-reference/consolidateshippingorder/update-ship-to-information-of-consolidate-shipping-order) and [Update packaging type](/api-reference/consolidateshippingorder/update-packaging-type-of-consolidate-shipping-order) reject `RH_WAREHOUSE` orders.

## Lines and boxes

| Object | Status flow |
| - | - |
| Line (an RMA or an FNSKU on the order) | `PENDING` → `IN_PROGRESS` (partly packed) → `PACKED` → `SHIPPED` |
| Box | `IN_PROGRESS` → `SHIPPED` |

In [Get consolidate shipping order](/api-reference/consolidateshippingorder/get-consolidate-shipping-order), unpacked lines are in `pendingInventoryList` and `inProgressInventoryList`; packed lines are listed inside their box under `shipmentList[].boxList[]`.

## Changing or cancelling an order

| Change | Allowed while | Effect |
| - | - | - |
| Add or remove inventory | `CREATED` | — |
| Update ship-to or packaging type (`CUSTOM_ADDRESS`) | `CREATED`, `CONFIRMED` | The order's and every shipment's shipping fee reset to `0`; a `CONFIRMED` order is quoted again |
| [Cancel](/api-reference/consolidateshippingorder/cancel-consolidate-shipping-order) | `CREATED` | The order becomes `CANCELED`; FNSKU pieces go back to stock |

After you confirm, only the warehouse can cancel the order. You receive [Order cancelled](/webhooks#consolidate-order-cancelled).

## Partial shipments

The warehouse may ship an order in several shipments. The order stays `PARTIALLY_SHIPPED` until every line has shipped and, for `RH_WAREHOUSE`, every shipment holding items has arrived. Track progress with the webhooks above; use [Get consolidate shipping order](/api-reference/consolidateshippingorder/get-consolidate-shipping-order) for a one-off check.

## Charges

The order's `shippingFee` is the sum of its shipments' fees. Each charge appears as a transaction on your account. For a merge handling fee transaction, [list the FNSKUs in each box](/api-reference/apitransaction/get-fnskus-of-consolidate-shipping-merge-fee-transaction) with its `apiTransactionId`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.