PO Shipments

Manage incoming shipments in OmniOrders tied to purchase orders. View packing details, box assignments, expected quantities, and full delivery information.

---
title: PO Shipments
description: Manage incoming shipments in OmniOrders tied to purchase orders. View packing details, box assignments, expected quantities, and full delivery information.
---

PO Shipments help you receive and track inventory coming from suppliers. Manage shipping details, assign products to boxes, set packing configurations, and monitor delivery progress for each purchase order shipment.

<SupademoEmbed demoId="cmkd5fsdl035zqm442b65tf95" />

:::tip[Quick Access]
Access shipments from the purchase order details page, or navigate to `/purchase-order/shipments/:shipmentId/:id`.
:::

## Why Manage PO Shipments?

**PO Shipments let you track exactly which products are arriving, when, and in what packaging configuration. Record BOL numbers and delivery dates, monitor real-time receiving progress, and handle partial deliveries or split shipments โ€” ensuring every unit ordered is accounted for when it arrives.**

<CardGrid>
  <IconCard title="Track Deliveries" icon="truck">
    Monitor incoming shipments with BOL numbers, delivery dates, and real-time status updates.
  </IconCard>

  <IconCard title="Organize Packing" icon="package">
    Define how products are packed using boxes, units, and custom packing configurations for accurate receiving.
  </IconCard>

  <IconCard title="Update Locations" icon="map-pin">
    Change shipping and receiving locations, contact details, and delivery addresses as needed.
  </IconCard>

  <IconCard title="Generate ASNs" icon="file-text">
    Create Advanced Shipping Notices (ASNs) for warehouse integration and streamlined receiving processes.
  </IconCard>
</CardGrid>

## Shipment Information

### Ship From and Ship To

Each shipment displays shipping and receiving details:

<SupademoEmbed demoId="cmkd6evg603wtqm44l32x7pnm" />

**Ship From** (Supplier Information):
- Supplier name
- Contact email and phone
- Contact person name
- Complete shipping address

**Ship To** (Fulfillment Location):
- Location name and selection dropdown
- Contact email and phone
- Contact person name
- Receiving address

:::note[Editing Information]
Click the pencil icon next to "Ship From" or "Ship To" to edit contact and address details. Edits are disabled once the shipment status changes to "in transit".
:::

### Shipment Details

Key information displayed for each shipment:

- **PO Number**: The purchase order this shipment belongs to
- **BOL Number**: Bill of Lading number for tracking (editable before in transit)
- **EST. Delivery**: Expected delivery date (editable before in transit)
- **Status**: Current shipment status with visual indicator

## Managing Products and Quantities

### Product List

The shipment displays all products with:

- **Product Name and SKU**: Item identification
- **Quantity**: Total quantity ordered
- **Unassigned**: Units not yet assigned to boxes (color-coded):
  - ๐Ÿ”ด Red: Positive number (units need assignment)
  - ๐ŸŸข Green: Zero (all units assigned)
  - ๐ŸŸก Yellow: Negative (over-assigned, needs correction)

### Unassigned Items

**Add Unassigned Items**: Button to add products not yet included in the shipment

**Return Unassigned**: Click "Unassign" button at the bottom of the Unassigned column to remove items from the shipment

**Add to New Shipment**: Create a new shipment from the current purchase order and move products there

## Packing Details

Configure how products are packed for shipping:

<SupademoEmbed demoId="cmkd7ki2x05jwqm44d0xa4hem" />

### Packing Options

For each product, choose a packing configuration:

- **Individual Units**: Pack items individually without containers
- **Custom Packing**: Select from available packing templates for your products

**Actions**:
- โž• **Plus Icon**: Add a new packing configuration
- โœ๏ธ **Edit Icon**: Modify existing packing details (disabled for individual units)
- **ADD PACK LINE**: Add additional packing lines for the same product

### Boxes

Set the number of boxes for each product line:

- Use the number input with โž•/โž– buttons to adjust box quantities
- Boxes are disabled when using "Individual Units" packing
- **Total Boxes** counter displays at the bottom

### Units

Configure unit assignments:

- **Units Column** (yellow background): Specify units per box
- Units are only editable when using "Individual Units" packing
- Use the โž• icon to set all units to 1
- Use the ๐Ÿ”„ icon to reset all unit values

**Action Buttons**:
- **Assign Units**: Manually assign units to boxes with packing information dialog
- **Auto Assign**: Automatically distribute units across boxes

## Advanced Features

<CardGrid>
  <IconCard title="Edit ASNs" icon="edit">
    Generate or modify Advanced Shipping Notices for warehouse systems and receiving automation.
  </IconCard>

  <IconCard title="Split Shipment" icon="split">
    Divide products into multiple shipments for staggered deliveries or different locations.
  </IconCard>

  <IconCard title="Auto Assign" icon="bolt">
    Automatically distribute unassigned units across boxes based on packing configurations.
  </IconCard>

  <IconCard title="Packing Information" icon="package-open">
    View and edit detailed box dimensions, weights, package IDs, and ASN numbers.
  </IconCard>
</CardGrid>

## In Transit View

Once a shipment is marked "in transit", the view changes to display receiving progress:

<SupademoEmbed demoId="cmkd82c180617qm44eun4hzat" />

**Box Details Table**:
- **#**: Box number
- **Package**: Package ID
- **Dimension**: Length x Width x Height
- **Weight**: Box weight
- **ASN**: Advanced Shipping Notice number
- **Items**: Product list with progress bars showing received/expected quantities

### Understanding Progress Bars

Each item shows a **progress bar** and **quantity fraction** (e.g., `15/20`):

- **Green progress bar**: Indicates receiving progress visually
- **15** = Quantity received so far
- **20** = Total quantity expected
- **Progress percentage**: Calculated as (received รท expected) ร— 100

**Example Scenarios**:
- `0/100` with 0% progress: Nothing received yet
- `50/100` with 50% progress: Half received (partial delivery)
- `100/100` with 100% progress: Fully received (complete)

### How Receiving Updates

The progress bars update automatically based on your fulfillment location type:

**Local Locations**: 
- Use the **Process** button to manually enter received quantities
- Progress updates as you process each box
- See [Process PO Shipments](/purchase-orders/process-shipments/) for the receiving workflow

**External Warehouses**:
- Warehouse receives items and updates their system
- Progress syncs automatically via API/webhook
- No manual entry needed in OmniOrders

## Shipment Workflow

<SupademoEmbed demoId="cmkd9oa4o087xqm44nj15a072" />

<Steps>

1. **Access Shipment**

   Open the purchase order and click on a shipment number to view details.

2. **Review Shipping Information**

   Verify Ship From (supplier) and Ship To (location) details. Edit if needed using the pencil icons.

3. **Set Shipment Details**

   Enter BOL Number and estimated delivery date.

4. **Configure Packing**

   For each product:
   - Select packing type (Individual Units or custom template)
   - Set number of boxes
   - Specify units per box (for individual packing)

5. **Assign All Units**

   Ensure the "Unassigned" column shows ๐ŸŸข green zeros for all products. Use Auto Assign if needed.

6. **Generate ASNs**

   Click "Edit ASNs" to create Advanced Shipping Notices for warehouse receiving systems.

7. **Update Status**

   Once shipped, update the shipment status to "in transit" to lock the configuration and begin tracking.

</Steps>

## ๐Ÿ’ก Best Practices

<CardGrid>
  <IconCard title="Complete Info Early" icon="clock">
    Enter BOL numbers and delivery dates as soon as you receive them from the supplier.
  </IconCard>

  <IconCard title="Verify Packing" icon="check-circle">
    Double-check packing configurations match actual supplier packaging to avoid receiving discrepancies.
  </IconCard>

  <IconCard title="Use Auto Assign" icon="zap">
    For simple shipments with uniform packing, use Auto Assign to quickly distribute units to boxes.
  </IconCard>

  <IconCard title="Monitor Unassigned" icon="alert-circle">
    Keep the Unassigned column at zero before finalizing. Red or yellow values indicate issues that need fixing.
  </IconCard>
</CardGrid>

## Common Scenarios

### Splitting a Shipment

If your supplier will deliver in multiple shipments:

1. Click "Add to new shipment"
2. Select products and quantities to move
3. The system creates a new shipment with those items
4. Original shipment updates to reflect the split

### Editing Packing After Setup

- **Before "in transit"**: Click edit icons to modify packing details
- **After "in transit"**: Contact support to make changes, or process corrections during receiving

### Handling Over-Assignment

If you see negative values in Unassigned (yellow):

1. Reduce the number of boxes or units
2. Check packing configurations for errors
3. Ensure box quantities match the ordered quantity

## Troubleshooting

**Can't edit shipment details**:
- Check if status is "in transit" - editing is locked at this stage
- Verify you have permission to modify shipments

**Unassigned column shows red/yellow**:
- Red (positive): You haven't assigned all units to boxes yet
- Yellow (negative): You've over-assigned - reduce boxes or units
- Use Auto Assign to quickly balance assignments

**Auto Assign not working**:
- Ensure at least one packing configuration is selected
- Check that all products have valid packing options
- Verify unassigned quantities exist

**Can't generate ASN**:
- Confirm all boxes have packing details
- Ensure box dimensions and weights are set
- Check that no products have unassigned units

## Shipment Status Overview

Shipments progress through these status stages:

- **Draft**: Shipment created but not finalized
- **Open**: Shipment confirmed, ready for packing setup
- **In Transit**: Shipment sent to fulfillment location, receiving can begin
- **Processing**: Actively receiving items (local locations only)
- **Completed**: All items fully received
- **Discrepancy**: Received quantities don't match expected (requires attention)

The status indicator appears in the shipment header with color coding for quick identification.

## Related Links

**Next Steps**:

- [Purchase Orders Overview](/purchase-orders/overview/) - Manage all purchase orders
- [Creating Purchase Orders](/purchase-orders/creating/) - Set up new purchase orders
- [Process PO Shipments](/purchase-orders/process-shipments/) - Receive inventory at local locations
- [Fulfillment Locations](/inventory/locations/) - Configure receiving locations
Copied to clipboard!