Process PO Shipments

Receive and process inventory from purchase order shipments at local fulfillment locations by entering received quantities and tracking delivery progress.

---
title: Process PO Shipments
description: Receive and process inventory from purchase order shipments at local fulfillment locations by entering received quantities and tracking delivery progress.
---

Process PO Shipments lets you receive inventory at local fulfillment locations when purchase order shipments arrive. Enter the quantities you actually received for each item, track partial deliveries, and mark shipments as complete once all items are in.

This workflow is **for local (OmniOrders-managed) fulfillment locations only**. External warehouses ([ShipEdge](https://www.shipedge.com), Amazon, 3PLs) receive inventory automatically through API integration.

<SupademoEmbed demoId="cmkde1usr0ephqm44bq01ymm8" />

:::tip[Quick Access]
When a shipment status is "in transit", click the **Process** button to open the receiving interface.
:::

## Why Process Shipments Manually?

**Manual shipment processing lets your team enter received quantities as physical inventory arrives — handling partial deliveries, overages, shortages, or damaged items in real time. Inventory counts update immediately at the receiving location, keeping your stock data accurate as goods hit the warehouse floor.**

<CardGrid>
  <IconCard 
    title="Accurate Inventory Tracking" 
    icon="check-circle"
    bgColor="#f0fdf4" 
    bgColorDark="rgba(34, 197, 94, 0.12)">
    Update inventory counts in real-time as items are physically received at your location.
  </IconCard>
  
  <IconCard 
    title="Verify Shipment Contents" 
    icon="package-open"
    bgColor="#eff6ff" 
    bgColorDark="rgba(59, 130, 246, 0.12)">
    Compare what you ordered against what actually arrived. Catch shortages or overages immediately.
  </IconCard>
  
  <IconCard 
    title="Handle Partial Deliveries" 
    icon="truck"
    bgColor="#fffbeb" 
    bgColorDark="rgba(251, 191, 36, 0.12)">
    Receive shipments in multiple stages. Update quantities as each box or delivery arrives.
  </IconCard>
  
  <IconCard 
    title="Identify Discrepancies" 
    icon="alert-circle"
    bgColor="#fef2f2" 
    bgColorDark="rgba(239, 68, 68, 0.12)">
    Flag differences between expected and received quantities. Document issues for supplier follow-up.
  </IconCard>
</CardGrid>

## Local vs External Locations

Understanding when to use this workflow:

### Local Fulfillment Locations

**Manual Processing Required**:
- You manage inventory directly in OmniOrders
- Use the **Process** button and receiving interface
- Manually enter quantities as items arrive
- This documentation applies to your workflow

### External Warehouses

**Automatic Processing**:
- Third-party warehouses (ShipEdge, Amazon, 3PLs)
- Warehouse receives and scans items in their system
- Inventory syncs to OmniOrders via API/webhook
- No manual processing needed - skip this workflow

:::note[Check Your Location Type]
If you're unsure which type you have, go to **Fulfillment Locations** and check the location's type field. Local locations show type "Local" or "OmniOrders".
:::

## The Receiving Workflow

<SupademoEmbed demoId="cmkdejgkd0f4lqm445sc1utp2" />

<Steps>

1. **Access the Shipment**
   
   From your purchase order list, click on a purchase order to view details. Click the shipment number you want to process.
   
   The **Process** button appears when the shipment status is "in transit" or "processing".

2. **Click Process Button**
   
   Click **Process** in the shipment header to open the receiving interface. This shows:
   
   - List of all boxes in the shipment
   - Items in each box with quantities
   - Current receiving status
   - Summary totals

3. **Select a Box**
   
   Choose which box you're currently receiving. The interface shows:
   
   - Box number and details
   - All items in that box
   - Quantities ordered vs. received
   - Fields to enter received quantities

4. **Enter Received Quantities**
   
   For each item in the box:
   
   - Look at the **To Receive** field
   - Enter the actual quantity you received
   - System validates you don't exceed the remaining quantity
   - Click to save or press Enter to update
   
   **Quick Entry**: Type the quantity and press Enter. The system saves immediately and moves focus to the next item.

5. **Mark Box Complete**
   
   Once all items in a box are received:
   
   - Review the box totals
   - Click **Receive Items** to confirm the box
   - System updates inventory for all items in that box
   - Move to the next box to continue

6. **Complete the Shipment**
   
   After receiving all boxes:
   
   - System checks if all items are fully received
   - If complete, you'll see a confirmation dialog
   - Choose to mark shipment as "Completed"
   - Inventory is now available for orders

</Steps>

## Understanding Shipment Status

Shipments move through these stages during receiving:

### In Transit

- **Meaning**: Shipment is on its way to your location
- **Action**: Click **Process** button to begin receiving
- **Next**: Changes to "Processing" when you start entering quantities

### Processing

- **Meaning**: Actively receiving items from the shipment
- **Status**: Some items received, others pending
- **Action**: Continue entering quantities for remaining items
- **Next**: Changes to "Completed" or "Discrepancy" when done

### Completed

- **Meaning**: All items fully received as expected
- **Status**: Received quantities match ordered quantities
- **Inventory**: All items added to available stock
- **Action**: None needed - shipment is complete

### Discrepancy

- **Meaning**: Received quantities don't match expected
- **Causes**: Shortages, overages, damaged items, wrong products
- **Action**: Contact supplier to resolve the discrepancy
- **Next**: May need adjustment or partial refund

## Tracking Quantities

The receiving interface shows four quantity types:

### Ordered

The total quantity you originally ordered from the supplier in the purchase order. This number doesn't change during receiving.

**Example**: If you ordered 100 units, "Ordered" always shows 100.

### Received

The total quantity you've entered as received so far across all receiving sessions. This accumulates as you process boxes.

**Example**: 
- First box: Received 30 → Shows 30
- Second box: Received 40 → Shows 70 (30 + 40)
- Third box: Received 30 → Shows 100 (complete)

### Remaining

Calculated as: `Ordered - Received`

Shows how many units are still expected. This helps you know what to look for in remaining boxes.

**Example**: If you ordered 100 and received 70, Remaining shows 30.

### To Receive

The **input field** where you enter the quantity you're receiving right now from the current box.

**Key points**:
- You type the number here
- System validates against "Remaining"
- Cannot exceed remaining quantity
- Updates "Received" when saved

**Example**: Box has 30 units. You count 30 units physically. Type "30" in To Receive field.

## Partial Receiving

You can receive shipments in multiple sessions:

### Scenario: Multiple Deliveries

If your supplier sends the PO in multiple trucks or on different days:

1. Process the first delivery when it arrives
2. Enter quantities for boxes you received
3. Save and exit - shipment stays in "Processing" status
4. When the next delivery arrives, click **Process** again
5. Continue receiving the remaining boxes
6. System tracks cumulative totals automatically

### Scenario: End of Day

If receiving takes multiple work sessions:

1. Receive as many boxes as time allows
2. Save your progress
3. Return the next day and click **Process**
4. Pick up where you left off
5. All previous entries are saved

The progress bars on the shipment page show how much is received vs. remaining.

## Best Practices

<CardGrid>
  <IconCard title="Receive Promptly" icon="clock">
    Process shipments as soon as they arrive. Fresh inventory counts are more accurate and make inventory available faster.
  </IconCard>
  
  <IconCard title="Count Carefully" icon="check-circle">
    Verify physical counts before entering quantities. Double-check items with discrepancies before finalizing.
  </IconCard>
  
  <IconCard title="Note Discrepancies" icon="pencil">
    If quantities don't match, document the issue immediately. Take photos of damaged items or shortages for supplier claims.
  </IconCard>
  
  <IconCard title="Process Box by Box" icon="package">
    Complete one box fully before moving to the next. This keeps your workflow organized and prevents entry errors.
  </IconCard>
</CardGrid>

## Handling Common Scenarios

### Shortage (Received Less Than Ordered)

**Example**: Ordered 100 units, only received 85 units.

**Steps**:
1. Enter the actual received quantity (85)
2. System marks as "Discrepancy" when you try to complete
3. Choose to complete anyway with shortage
4. Contact supplier about missing 15 units
5. Supplier may send remaining items or issue credit

### Overage (Received More Than Ordered)

**Example**: Ordered 100 units, received 110 units.

**System Behavior**:
- You cannot enter more than the "Remaining" quantity
- If you try entering 110 when 100 is remaining, system rejects it

**Solution**:
- Only receive up to the ordered quantity (100)
- Contact supplier about extra units
- They may create a new shipment for the extra items

### Damaged Items

**Example**: Box contains 30 units, but 5 are damaged.

**Steps**:
1. Enter 25 in "To Receive" (only good units)
2. Make note of 5 damaged units
3. Contact supplier about damages
4. Supplier may send replacements or issue credit

### Wrong Product

**Example**: Box contains Product B but you ordered Product A.

**Steps**:
1. Don't receive the wrong product (enter 0)
2. Mark the item as a discrepancy
3. Contact supplier immediately
4. Arrange for return and correct product shipment

## Troubleshooting

### Process Button Not Appearing

**Problem**: Can't find the Process button on the shipment.

**Possible Causes**:
- Shipment status is not "in transit" yet (must click "Complete" on shipment setup first)
- Location is an external warehouse (automatic receiving, no manual process needed)
- Shipment already completed (check status indicator)

**Solution**: 
- Verify shipment status is "in transit" or "processing"
- Check location type - must be local/OmniOrders type
- If external warehouse, receiving happens automatically

### Can't Enter Received Quantities

**Problem**: "To Receive" fields are disabled or read-only.

**Possible Causes**:
- Shipment already marked as "Completed"
- Box was already fully received
- You don't have permission to receive inventory

**Solution**:
- Check shipment status - if complete, receiving is locked
- Verify your user role has receiving permissions
- Contact admin if you need access

### Quantities Don't Add Up

**Problem**: System shows different totals than your count.

**Possible Causes**:
- Items were received in multiple sessions
- Another user partially received the shipment
- Previous receiving sessions not accounted for

**Solution**:
- Check "Received" column to see cumulative total
- Review receiving history if available
- Focus on "Remaining" column to know what's still expected

### System Won't Mark as Complete

**Problem**: Can't mark shipment complete even though all boxes processed.

**Possible Causes**:
- Some items still have quantities remaining
- Required fields not filled
- Box totals don't match shipment totals

**Solution**:
- Review summary totals - must show 0 remaining
- Check each box status individually
- Verify all items in all boxes are accounted for
- If legitimate shortage, system may prompt to complete with discrepancy

## Summary View

While processing, the interface shows helpful summaries:

**Totals Section**:
- **Items**: Number of unique SKUs in shipment
- **Total**: Dollar value of shipment
- **Ordered**: Total units ordered
- **Received**: Total units received so far
- **Remaining**: Total units still expected

**Box Status**:
- Green indicator: Box fully received
- Yellow indicator: Box partially received
- Red indicator: Box not started

Use these summaries to track overall progress and identify which boxes still need attention.

## After Processing

Once you mark a shipment as complete:

- Inventory immediately updates in OmniOrders
- Items become available for order allocation
- Purchase order status updates
- Receiving history is recorded
- You can view the completed shipment but cannot edit quantities

If you discover errors after completion, contact your administrator to make inventory adjustments.

## Related Links

**Next Steps**:

- [Purchase Orders Overview](/purchase-orders/overview/) - Manage all purchase orders
- [PO Shipments](/purchase-orders/shipments/) - Set up shipments and packing
- [Creating Purchase Orders](/purchase-orders/creating/) - Order from suppliers
- [Fulfillment Locations](/inventory/locations/) - Manage receiving locations
Copied to clipboard!