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

# Shipments

> Goods going out — one posting model serving sales orders, returns, and transfers.

A **shipment** records goods leaving the company against a sales order, sales return order, purchase order, purchase return order, or outbound transfer. Its source type selects the corresponding posting behavior.

Creating a shipment does not affect inventory. **Posting** relieves inventory, updates the source document, and records cost in a journal. Partial shipments allow one order to be fulfilled in multiple deliveries.

## Fields

FieldType

<details>
  <summary>**Source document**`reference`</summary>

  The order, return, or outbound transfer being shipped: *Sales Order*, *Sales Return Order*, *Purchase Order*, *Purchase Return Order*, or *Outbound Transfer*.
</details>

<details>
  <summary>**Shipped quantity**`number`</summary>

  Units on this shipment, per line.
</details>

<details>
  <summary>**Fulfillment**`enum`</summary>

  Where a line is sourced: *Inventory* (from stock) or *Job* (from a production job).
</details>

## Status

<details>
  <summary>**Draft**</summary>

  Being prepared; nothing posted.
</details>

<details>
  <summary>**Pending**</summary>

  Queued to post.
</details>

<details open>
  <summary>**Posted**</summary>

  Inventory relieved and the source document advanced.
</details>

<details>
  <summary>**Voided**</summary>

  Reversed after posting.
</details>

NOTE

Posting decrements inventory and bumps the source line's sent quantity; a sales order line's *sent complete* flag flips only once the cumulative shipped quantity reaches the ordered quantity. Posting a shipment does **not** create the invoice — billing is a separate step.

## Posting checks

Before a shipment posts, the **storage rules** that apply are evaluated against every line, for both the shipment and the pick, and for an outbound transfer also against the transfer. A sales shipment is also checked against the sales rules of its sales order, using this shipment's lines and shipped quantities. A violation is shown in the post dialog; see [Storage rules](/docs/reference/storage-rules.md). Posting an outbound transfer's shipment completes the transfer.

## Related

**Sales orders**

The document a sales shipment advances.

[Open](/docs/reference/sales-orders.md)

**Storage rules**

The checks that run before a shipment posts.

[Open](/docs/reference/storage-rules.md)


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