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

# Transfers

> Move inventory between storage units or company locations

# Transfers

Transfers move stock from one storage unit to another.

They create a complete movement trail in the inventory ledger: stock leaves the source storage unit and arrives at the destination storage unit.

<CardGroup cols={3}>
  <Card title="Move stock" icon="right-left">
    Move ingredients between storage units or company locations.
  </Card>

  <Card title="Track in transit" icon="truck">
    See which transfers are shipped, received, or still pending.
  </Card>

  <Card title="Create ledger entries" icon="list">
    Record transfer-out and transfer-in movements automatically.
  </Card>
</CardGroup>

## What a transfer does

A transfer moves one or more ingredients from a source storage unit to a destination storage unit.

When a transfer is shipped, stock is removed from the source.

When it is received, stock is added to the destination.

| Step    | Ledger entry                 | Stock effect                   |
| ------- | ---------------------------- | ------------------------------ |
| Ship    | `TRANSFER_OUT` in source     | Stock reduced in source        |
| Receive | `TRANSFER_IN` in destination | Stock increased in destination |

## Transfer statuses

| Status    | Badge color | Meaning                                                                                |
| --------- | ----------- | -------------------------------------------------------------------------------------- |
| `DRAFT`   | Grey        | Created but not yet shipped. Stock has not moved yet.                                  |
| `SHIPPED` | Blue        | Shipped from source. Stock removed from source. Waiting to be received at destination. |
| `CLOSED`  | Green       | Received at destination. Stock added to destination. Transfer complete.                |

## Creating a transfer

Transfers are created from the storage unit detail page.

The flow creates and ships the transfer in one step — there is no intermediate draft stage in the standard flow.

<Steps>
  <Step title="Open the source storage unit">
    Go to **Manage** → **Storage Units** and open the storage unit the stock should leave from.
  </Step>

  <Step title="Click Transfer">
    Open the transfer sheet from the storage unit detail page.
  </Step>

  <Step title="Select the destination">
    Choose the destination storage unit.
  </Step>

  <Step title="Add transfer lines">
    Add each ingredient and the quantity to transfer.
  </Step>

  <Step title="Review warnings">
    Check whether any line exceeds the current on-hand quantity.
  </Step>

  <Step title="Ship the transfer">
    Click **Ship transfer** to remove stock from the source.
  </Step>
</Steps>

<Warning>
  Shipping a transfer removes stock from the source storage unit immediately.
</Warning>

## Adding lines to a transfer

The transfer sheet works similarly to the stock count sheet.

Add one ingredient line at a time by selecting:

* Ingredient
* Quantity
* Unit, if packaging units are available

## Exceeds on-hand warning

If the quantity you enter is higher than the current on-hand stock, a warning appears:

> Quantity is higher than current on-hand. Shipping will fail.

This warning is shown on the editor form and on the line row in the table.

The transfer is blocked at shipping time if any line exceeds the available on-hand stock.

## Transfer lines table

Once lines are added, they appear in the table above the add form.

| Column     | Description                                                  |
| ---------- | ------------------------------------------------------------ |
| Ingredient | Ingredient name with current on-hand shown below             |
| Transfer   | The quantity to transfer shown in packaging breakdown format |
| Actions    | Edit and Delete buttons                                      |

Lines with quantities exceeding on-hand are highlighted in red.

## Editing a line

Click the pencil icon on any line to edit it inline.

The row switches to edit mode showing:

* Quantity input
* Unit dropdown
* Numpad toggle

Click the save icon to confirm or **X** to cancel.

## Removing a line

Click the trash icon to remove a line from the transfer.

Removing a line from the transfer does not delete the ingredient and does not change stock.

## Viewing the transfers list

The transfers list shows all transfers for your company across all storage units.

Access it from:

* The **Transfers** button on the storage units list page
* The **Incoming transfers** stat card on a storage unit detail page, filtered to transfers incoming to that unit

## Transfers list columns

| Column   | Description                                                         |
| -------- | ------------------------------------------------------------------- |
| ID       | Transfer ID                                                         |
| Status   | Current transfer status with color badge                            |
| Route    | Source → destination with company names for cross-company transfers |
| Items    | Number of ingredient lines                                          |
| Created  | When the transfer was created                                       |
| Shipped  | When the transfer was shipped                                       |
| Received | When the transfer was received                                      |

## Filters

| Filter       | Description                                     |
| ------------ | ----------------------------------------------- |
| Status       | Filter by `DRAFT`, `SHIPPED`, or `CLOSED`       |
| From storage | Filter by one or more source storage units      |
| To storage   | Filter by one or more destination storage units |

The list defaults to showing the most recent transfers first.

Click column headers to change the sort.

## Transfer actions

The action column in the transfers list shows a button on transfers that need action.

| Condition                                    | Button  | What it does                                              |
| -------------------------------------------- | ------- | --------------------------------------------------------- |
| Status is `SHIPPED` and transfer is incoming | Receive | Adds stock to destination storage and closes the transfer |
| Status is `DRAFT` and transfer is outgoing   | Ship    | Removes stock from source and marks transfer as `SHIPPED` |

Both actions show a confirmation dialog before executing.

## Shipping a transfer

The **Ship** confirmation dialog shows:

* Source storage unit
* Destination storage unit
* Item count

Confirming shipping removes stock from the source storage unit and marks the transfer as `SHIPPED`.

## Receiving a transfer

The **Receive** confirmation dialog shows:

* Source storage unit
* Destination storage unit
* Item count

Confirming receipt adds stock to the destination storage unit and marks the transfer as `CLOSED`.

## Transfer detail panel

Click any transfer row in the list to open its detail panel.

The panel shows:

* Transfer ID and status badge
* From → To storage unit cards
* Company names, if the transfer crosses company boundaries
* Created, shipped, and received timestamps
* Notes, if any were added when creating the transfer
* Lines table showing each ingredient with its transferred quantity in packaging breakdown format

The footer shows **Ship** or **Receive** buttons depending on the transfer status and direction.

## Cross-company transfers

Transfers support moving stock between different company locations within your organization.

The route column in the transfers list shows company names when the source and destination belong to different companies.

## Inventory ledger entries

Each transfer creates two inventory ledger entries.

| Step    | Transaction type | Storage unit | Effect          |
| ------- | ---------------- | ------------ | --------------- |
| Ship    | `TRANSFER_OUT`   | Source       | Stock reduced   |
| Receive | `TRANSFER_IN`    | Destination  | Stock increased |

The same quantity appears as a `TRANSFER_OUT` in the source ledger and a `TRANSFER_IN` in the destination ledger.

## Common workflows

### Move stock between storage units

1. Open the source storage unit — go to **Manage** → **Storage Units** and click the unit
2. Click **Transfer**
3. Select the destination storage unit
4. Add each ingredient with its transfer quantity
5. Check the on-hand warning for any lines that exceed available stock
6. Click **Ship transfer**
7. Stock leaves the source immediately

### Receive an incoming transfer

1. Go to the transfers list from the **Transfers** button on the storage units page
2. Filter by **Status** → `SHIPPED` to see transfers waiting to be received
3. Click the transfer row to open the detail panel
4. Review the ingredients and quantities
5. Click **Receive** in the footer
6. Confirm in the dialog — stock is added to the destination and the transfer closes

### Check incoming transfers for a specific storage unit

1. Open the storage unit detail page
2. Check the **Incoming transfers** stat card — it shows the count of `SHIPPED` transfers
3. Click the stat card to go directly to the transfers list filtered for that storage unit

## Best practices

<CardGroup cols={2}>
  <Card title="Ship when stock leaves" icon="truck">
    Ship transfers when the physical movement happens. Stock is removed from the source when the transfer is shipped.
  </Card>

  <Card title="Receive on arrival" icon="circle-check">
    Receive transfers as soon as goods arrive so stock appears in the destination storage unit.
  </Card>

  <Card title="Check on-hand warnings" icon="triangle-exclamation">
    If any line exceeds available stock, the transfer will fail. Adjust quantities before shipping.
  </Card>

  <Card title="Use transfers consistently" icon="right-left">
    Use transfers for all inter-location stock movement to keep the ledger aligned with physical stock.
  </Card>

  <Card title="Review incoming transfers" icon="magnifying-glass">
    Long-standing shipped transfers may indicate that the receiving step was missed.
  </Card>

  <Card title="Use clear storage names" icon="warehouse">
    Clear source and destination names make transfer routes easier to audit.
  </Card>
</CardGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Storage Units" icon="warehouse" href="/en/restaurants/inventory/storage-units">
    Learn how physical inventory locations are managed.
  </Card>

  <Card title="Ingredients" icon="wheat-awn" href="/en/restaurants/inventory/ingredients">
    Learn how ingredients are tracked in inventory.
  </Card>

  <Card title="Stock Counts" icon="clipboard-check" href="/en/restaurants/inventory/stock-counts">
    Learn how counted stock adjusts inventory.
  </Card>

  <Card title="Inventory Ledger" icon="list" href="/en/restaurants/inventory/ledger">
    Learn how inventory movements are recorded.
  </Card>
</CardGroup>

They create a complete movement trail in the inventory ledger: stock leaves the source storage unit and arrives at the destination storage unit.

<CardGroup cols={3}>
  <Card title="Move stock" icon="right-left">
    Move ingredients between storage units or company locations.
  </Card>

  <Card title="Track in transit" icon="truck">
    See which transfers are shipped, received, or still pending.
  </Card>

  <Card title="Create ledger entries" icon="list">
    Record transfer-out and transfer-in movements automatically.
  </Card>
</CardGroup>

## What a transfer does

A transfer moves one or more ingredients from a source storage unit to a destination storage unit.

When a transfer is shipped, stock is removed from the source.

When it is received, stock is added to the destination.

| Step    | Ledger entry                 | Stock effect                   |
| ------- | ---------------------------- | ------------------------------ |
| Ship    | `TRANSFER_OUT` in source     | Stock reduced in source        |
| Receive | `TRANSFER_IN` in destination | Stock increased in destination |

## Transfer statuses

| Status    | Badge color | Meaning                                                                                |
| --------- | ----------- | -------------------------------------------------------------------------------------- |
| `DRAFT`   | Grey        | Created but not yet shipped. Stock has not moved yet.                                  |
| `SHIPPED` | Blue        | Shipped from source. Stock removed from source. Waiting to be received at destination. |
| `CLOSED`  | Green       | Received at destination. Stock added to destination. Transfer complete.                |

## Creating a transfer

Transfers are created from the storage unit detail page.

The flow creates and ships the transfer in one step — there is no intermediate draft stage in the standard flow.

<Steps>
  <Step title="Open the source storage unit">
    Go to **Manage** → **Storage Units** and open the storage unit the stock should leave from.
  </Step>

  <Step title="Click Transfer">
    Open the transfer sheet from the storage unit detail page.
  </Step>

  <Step title="Select the destination">
    Choose the destination storage unit.
  </Step>

  <Step title="Add transfer lines">
    Add each ingredient and the quantity to transfer.
  </Step>

  <Step title="Review warnings">
    Check whether any line exceeds the current on-hand quantity.
  </Step>

  <Step title="Ship the transfer">
    Click **Ship transfer** to remove stock from the source.
  </Step>
</Steps>

<Warning>
  Shipping a transfer removes stock from the source storage unit immediately.
</Warning>

## Adding lines to a transfer

The transfer sheet works similarly to the stock count sheet.

Add one ingredient line at a time by selecting:

* Ingredient
* Quantity
* Unit, if packaging units are available

## Exceeds on-hand warning

If the quantity you enter is higher than the current on-hand stock, a warning appears:

> Quantity is higher than current on-hand. Shipping will fail.

This warning is shown on the editor form and on the line row in the table.

The transfer is blocked at shipping time if any line exceeds the available on-hand stock.

## Transfer lines table

Once lines are added, they appear in the table above the add form.

| Column     | Description                                                  |
| ---------- | ------------------------------------------------------------ |
| Ingredient | Ingredient name with current on-hand shown below             |
| Transfer   | The quantity to transfer shown in packaging breakdown format |
| Actions    | Edit and Delete buttons                                      |

Lines with quantities exceeding on-hand are highlighted in red.

## Editing a line

Click the pencil icon on any line to edit it inline.

The row switches to edit mode showing:

* Quantity input
* Unit dropdown
* Numpad toggle

Click the save icon to confirm or **X** to cancel.

## Removing a line

Click the trash icon to remove a line from the transfer.

Removing a line from the transfer does not delete the ingredient and does not change stock.

## Viewing the transfers list

The transfers list shows all transfers for your company across all storage units.

Access it from:

* The **Transfers** button on the storage units list page
* The **Incoming transfers** stat card on a storage unit detail page, filtered to transfers incoming to that unit

## Transfers list columns

| Column   | Description                                                         |
| -------- | ------------------------------------------------------------------- |
| ID       | Transfer ID                                                         |
| Status   | Current transfer status with color badge                            |
| Route    | Source → destination with company names for cross-company transfers |
| Items    | Number of ingredient lines                                          |
| Created  | When the transfer was created                                       |
| Shipped  | When the transfer was shipped                                       |
| Received | When the transfer was received                                      |

## Filters

| Filter       | Description                                     |
| ------------ | ----------------------------------------------- |
| Status       | Filter by `DRAFT`, `SHIPPED`, or `CLOSED`       |
| From storage | Filter by one or more source storage units      |
| To storage   | Filter by one or more destination storage units |

The list defaults to showing the most recent transfers first.

Click column headers to change the sort.

## Transfer actions

The action column in the transfers list shows a button on transfers that need action.

| Condition                                    | Button  | What it does                                              |
| -------------------------------------------- | ------- | --------------------------------------------------------- |
| Status is `SHIPPED` and transfer is incoming | Receive | Adds stock to destination storage and closes the transfer |
| Status is `DRAFT` and transfer is outgoing   | Ship    | Removes stock from source and marks transfer as `SHIPPED` |

Both actions show a confirmation dialog before executing.

## Shipping a transfer

The **Ship** confirmation dialog shows:

* Source storage unit
* Destination storage unit
* Item count

Confirming shipping removes stock from the source storage unit and marks the transfer as `SHIPPED`.

## Receiving a transfer

The **Receive** confirmation dialog shows:

* Source storage unit
* Destination storage unit
* Item count

Confirming receipt adds stock to the destination storage unit and marks the transfer as `CLOSED`.

## Transfer detail panel

Click any transfer row in the list to open its detail panel.

The panel shows:

* Transfer ID and status badge
* From → To storage unit cards
* Company names, if the transfer crosses company boundaries
* Created, shipped, and received timestamps
* Notes, if any were added when creating the transfer
* Lines table showing each ingredient with its transferred quantity in packaging breakdown format

The footer shows **Ship** or **Receive** buttons depending on the transfer status and direction.

## Cross-company transfers

Transfers support moving stock between different company locations within your organization.

The route column in the transfers list shows company names when the source and destination belong to different companies.

## Inventory ledger entries

Each transfer creates two inventory ledger entries.

| Step    | Transaction type | Storage unit | Effect          |
| ------- | ---------------- | ------------ | --------------- |
| Ship    | `TRANSFER_OUT`   | Source       | Stock reduced   |
| Receive | `TRANSFER_IN`    | Destination  | Stock increased |

The same quantity appears as a `TRANSFER_OUT` in the source ledger and a `TRANSFER_IN` in the destination ledger.

## Common workflows

### Move stock between storage units

1. Open the source storage unit — go to **Manage** → **Storage Units** and click the unit
2. Click **Transfer**
3. Select the destination storage unit
4. Add each ingredient with its transfer quantity
5. Check the on-hand warning for any lines that exceed available stock
6. Click **Ship transfer**
7. Stock leaves the source immediately

### Receive an incoming transfer

1. Go to the transfers list from the **Transfers** button on the storage units page
2. Filter by **Status** → `SHIPPED` to see transfers waiting to be received
3. Click the transfer row to open the detail panel
4. Review the ingredients and quantities
5. Click **Receive** in the footer
6. Confirm in the dialog — stock is added to the destination and the transfer closes

### Check incoming transfers for a specific storage unit

1. Open the storage unit detail page
2. Check the **Incoming transfers** stat card — it shows the count of `SHIPPED` transfers
3. Click the stat card to go directly to the transfers list filtered for that storage unit

<CardGroup cols={2}>
  <Card title="Ship when stock leaves" icon="truck">
    Ship transfers when the physical movement happens. Stock is removed from the source when the transfer is shipped.
  </Card>

  <Card title="Receive on arrival" icon="circle-check">
    Receive transfers as soon as goods arrive so stock appears in the destination storage unit.
  </Card>

  <Card title="Check on-hand warnings" icon="triangle-exclamation">
    If any line exceeds available stock, the transfer will fail. Adjust quantities before shipping.
  </Card>

  <Card title="Use transfers consistently" icon="right-left">
    Use transfers for all inter-location stock movement to keep the ledger aligned with physical stock.
  </Card>

  <Card title="Review incoming transfers" icon="magnifying-glass">
    Long-standing shipped transfers may indicate that the receiving step was missed.
  </Card>

  <Card title="Use clear storage names" icon="warehouse">
    Clear source and destination names make transfer routes easier to audit.
  </Card>
</CardGroup>
