# Transfer stock between warehouses
URL: https://support.starshipit.com/articles/14700000000040-transfer-stock-between-warehouses
Canonical: https://support.starshipit.com/articles/14700000000040-transfer-stock-between-warehouses
Markdown: https://support.starshipit.com/articles/14700000000040-transfer-stock-between-warehouses.md
Updated: 2026-07-20

> For the complete documentation index, see [llms.txt](https://support.starshipit.com/llms.txt).

> Transfer stock between eligible Starshipit WMS accounts and track the source order, destination purchase order, shipment, and receipt.

Use an inter-warehouse transfer to send stock from one Starshipit WMS account to another eligible WMS account in the same Starshipit account family. This guide explains how to create, fulfil, receive, and reconcile the transfer.

:::important
An inter-warehouse transfer moves stock between separate WMS accounts. It creates a real Starshipit order for the source warehouse and a purchase order for the destination warehouse. To move stock between locations in one WMS account, use the normal stock movement workflow instead.
:::

## Before you begin

Confirm the following before you create a transfer:

* The source and destination are different Starshipit accounts in the same parent and child account family. This is typically two sibling warehouse accounts.
* Starshipit WMS is enabled for both accounts. Only eligible family accounts with a WMS instance appear as destinations.
* The destination account has a complete sender address in Starshipit. WMS uses this as the delivery address on the source order.
* Each selected source product has a SKU of 50 characters or fewer, and each transfer quantity is a positive whole number.
* Each product also exists in the destination WMS account with the same SKU. WMS matches products by SKU rather than product name. Matching ignores upper- and lower-case differences, but using identical SKU formatting avoids confusion.
* The source warehouse has enough available stock to release the order. Creating the transfer does not reserve or check source inventory.

The workflow uses these permissions:

| Task | Required permission |
| --- | --- |
| Open, view, or create transfers | Manage purchase orders (`purchase-orders.manage`) |
| Open the linked source order | View fulfilment (`fulfillment.view`) |
| Release the source order | Manage fulfilment (`fulfillment.manage`) |
| Open the linked destination purchase order | View purchase orders (`purchase-orders.view`) |
| Receive the destination purchase order | Complete receiving tasks (`receiving.*`) |
| Investigate order import events | View process logs (`process-logs.view`) |

Your team can split these tasks between authorised users in each warehouse.

## Create the transfer

Create the transfer while signed in to the WMS account that will send the stock.

1. Go to **Purchase Orders > Transfers**.
2. Select the **Destination warehouse** under **Create Transfer**.
3. Click **Add product** and select a product from the source warehouse.
4. Enter the quantity to transfer.
5. Add any other products required.
6. Review the SKUs and quantities, then click **Create transfer**.

WMS creates three linked records:

* A real Starshipit order in the source account, addressed to the destination warehouse.
* A purchase order with status **CREATED** in the destination WMS account. WMS creates or reuses a supplier named **Internal Transfer - _source warehouse name_**.
* An inter-warehouse transfer record visible to both WMS accounts.

The source order, destination purchase order, and transfer share an `XFER-...` reference. Use this reference to match the records throughout the workflow.

The transfer initially shows **Waiting on webhook** while the new Starshipit order imports into the source WMS account. Click **Refresh** under **Recent Transfers** to load the latest status.

## Release and ship from the source warehouse

After the source order has imported, it behaves like another outbound Starshipit order.

1. Open the source WMS account.
2. Go to **Purchase Orders > Transfers** and find the `XFER-...` reference.
3. Open the linked source order.
4. Review its products, quantities, destination address, and available inventory.
5. Release the order to allocate stock and create the required pick work.
6. Pick, pack, and ship the order using your normal outbound workflow.

The transfer changes to **Released**, **Partially shipped**, or **Shipped** as the source order progresses.

## Receive at the destination warehouse

Receive only the stock that physically arrives at the destination.

1. Switch to the destination WMS account.
2. Go to **Purchase Orders > Transfers** and find the same `XFER-...` reference.
3. Open the linked destination purchase order.
4. Compare the delivered SKUs and quantities with the purchase order.
5. Receive the quantities that arrived, including any required batch, serial, or expiry details.
6. Complete putaway using your normal receiving workflow.

The transfer becomes **Partially received** while quantities remain outstanding. It becomes **Completed** when the destination purchase order is marked **RECEIVED**.

:::caution
Do not mark the destination purchase order as fully received until you have reconciled the physical delivery. A **Completed** transfer means the purchase order is **RECEIVED**; it does not independently prove that the source shipment and received quantities match.
:::

## Understand transfer statuses

| Status | What it means | What to do next |
| --- | --- | --- |
| **Waiting on webhook** | Starshipit created the source order, but the source WMS account has not imported and linked it yet. | Wait briefly, then click **Refresh**. |
| **Created** | The source order is in WMS and is waiting to be released. The destination purchase order already exists. | Review and release the source order. |
| **Released** | Source stock is allocated and outbound work has started. | Pick, pack, and ship the source order. |
| **Partially shipped** | Some source quantities shipped, but others remain outstanding. | Continue the remaining source fulfilment or reconcile the short shipment. |
| **Shipped** | The source order is fully shipped. | Receive the delivery at the destination. |
| **Partially received** | The destination recorded some, but not all, expected stock. | Leave the purchase order open and receive the remainder when it arrives. |
| **Completed** | The destination purchase order is **RECEIVED**. | Confirm quantities match and finish putaway. |
| **Cancelled** | The linked source WMS order has status **CANCELLED**, and the destination purchase order has no receipt. | Stop any remaining work and reconcile the destination purchase order separately. |

Receiving takes precedence in the transfer summary. If the destination has already received stock, the transfer continues to show **Partially received** or **Completed** even if the source order is later cancelled.

## Handle partial transfers

If the source workflow results in a partial shipment, you do not need to create a new transfer for the remaining quantity.

1. Confirm the quantity that shipped from the source. The transfer shows **Partially shipped** while units remain outstanding.
2. Receive only the quantity that physically arrives. The destination purchase order and transfer show **Partially received**.
3. Keep the destination purchase order open.
4. Continue the normal source fulfilment workflow for the outstanding units when they become available.
5. Receive the remaining quantity when it arrives.
6. Mark the destination purchase order as fully received only after all expected stock is accounted for.

If the remaining stock will not be sent, reconcile the source order and destination purchase order before closing either record. Record the actual quantities rather than using a manual stock movement to make the transfer appear complete.

## Cancel a transfer

There is no separate **Cancel transfer** action. **Cancelled** is a summary status that can appear when the linked source WMS order is already **CANCELLED** and the destination has not recorded a receipt. The destination purchase order remains a separate record.

If a transfer must stop before anything has shipped or been received:

1. Stop further outbound work on the source order using the appropriate hold or undo release action.
2. Follow your organisation's normal Starshipit order-cancellation process. Contact Starshipit support before deleting or archiving the source order if you are unsure how its linked records will be affected.
3. Confirm the source warehouse has no active pick or pack work for the order.
4. Switch to the destination account and confirm that no quantities were received against the purchase order.
5. Keep the `XFER-...` reference with any operational notes so both warehouses have the same record of the cancellation.

Cancelling the source order does not reverse stock that has already shipped or been received, and it does not automatically close the destination purchase order. If work has already started, reconcile the physical stock, source order, purchase order, and stock movements before making any corrections.

## Reconcile the transfer

Use the shared `XFER-...` reference as the reconciliation key for operational checks.

1. Open **Purchase Orders > Transfers** and click **Refresh**.
2. Confirm the source and destination accounts, transfer role, and current status.
3. Compare the source order quantities with what was actually shipped in the source account.
4. Compare the purchase order's ordered and received quantities with what physically arrived in the destination account.
5. Investigate any difference before marking the purchase order as fully received.
6. Use stock movement and process logs to investigate an unexplained variance. Make a stock adjustment only when you have confirmed the physical quantity and the reason for the correction.

An ordinary stock movement within either warehouse does not update the linked source order, destination purchase order, or inter-warehouse transfer status.

## Troubleshooting

### The destination warehouse is not listed

Confirm that the destination:

* Is a different account in the same Starshipit parent and child account family.
* Has Starshipit WMS enabled.
* Is a full warehouse account that your current account can access, rather than a linked user account.

Refresh the Transfers page after correcting the account setup.

### The destination is missing one or more SKUs

The error lists the SKUs that do not have a matching destination product. Sync or create those products in the destination WMS account, confirm the SKU values match, then create the transfer again.

### The destination address cannot be loaded

Review the sender address in the destination Starshipit account. Complete any missing address details, save the account settings, and retry the transfer.

### The transfer stays on Waiting on webhook

1. Click **Refresh** under **Recent Transfers**.
2. Search for the `XFER-...` order in the source Starshipit account.
3. Check **System > Process Logs** in the source WMS account for order import warnings, including missing product or account-scope issues.
4. Resolve the import warning, then retry the eligible process action or wait for the order to import.

Do not create another transfer while the source order already exists. This can create duplicate outbound work.

### Creation failed but a source order exists

The source Starshipit order is created before the linked destination purchase order and transfer record. If a later step fails, the error identifies the source order that may need manual cleanup.

Search both accounts for the order's `XFER-...` reference. If the source order exists without a destination purchase order, cancel or remove the orphaned source order using your normal order process before retrying. Contact Starshipit support if you cannot confirm which records were created.

### The source order cannot be released

Creating a transfer does not check or reserve source stock. Review the source order's allocation warning and available inventory. Receive, move, or correct the required stock before trying to release the order again.

### The transfer status looks out of date

Click **Refresh**, then check the source order and destination purchase order directly. If their statuses are correct but the transfer summary still differs, use the `XFER-...` reference when contacting Starshipit support.

## Related articles

* [Starshipit WMS orders and allocation](/articles/14700000000010-starshipit-wms-orders-and-allocation)
* [Packing and shipping orders](/articles/14700000000012-packing-and-shipping-orders)
* [Receiving stock](/articles/14700000000008-receiving-stock)
* [Products and inventory configuration](/articles/14700000000006-starshipit-wms-products-and-inventory-configuration)
* [Stock integrity and adjustments](/articles/14700000000020-stock-integrity-and-adjustments)
