Order Management
Orders are the core of Vectis. This guide covers the order lifecycle, status management, and fulfillment workflows.
Order Lifecycle
Orders in Vectis follow a 17-state lifecycle:
Happy Path
pending → confirmed → allocated → sent_to_wms → picking → picked → packing → packed → shipped → in_transit → out_for_delivery → delivered
Exception States
on_hold— Order paused, requires manual reviewbackordered— Insufficient inventory, waiting for stockpartially_shipped— Some packages shipped, others pendingfailed_delivery— Carrier couldn’t delivercancelled— Order cancelled before shipment
Order Sources
Orders enter Vectis from:
Sales Channels
Available now:
- Shopify — Via OAuth integration, real-time webhooks
- WooCommerce — Via REST API, webhooks or polling
Coming soon:
- Amazon — Via SP-API
- eBay — Via OAuth
- TikTok Shop, Etsy, Walmart
Manual Entry
- Create orders directly in Vectis UI
- Useful for phone orders, wholesale, or testing
API
POST /api/v1/orders— Create order programmatically- Used for custom integrations, B2B portals, EDI
Order Detail View
Click any order to see:
Header
- Order number (internal and external)
- Customer name and email
- Order date and channel
- Current status with timestamp
Items
- Line items with SKU, name, quantity, price
- Allocation status per item
- Backorder status if applicable
Packages
- Packages created for this order
- Package status, tracking number, carrier
- Items in each package
Shipping
- Ship-to address
- Requested shipping method
- Actual carrier and service used
Timeline
- Full history of status changes
- Who made each change and when
- System events (allocation, label generation)
Allocation
Allocation reserves inventory for an order. Until allocated, inventory isn’t committed.
Automatic Allocation
By default, orders allocate automatically when:
- Order status is
confirmed - Sufficient inventory exists
- Routing rules determine the warehouse
Manual Allocation
For orders requiring review:
- Set order to
on_holdinitially - Review in Orders dashboard
- Click Allocate to reserve inventory
- Or click Cancel to reject
Allocation Failures
Orders fail allocation when:
- Insufficient inventory (→
backordered) - No warehouse matches routing rules
- Product not found in catalog
Failed allocations appear in the Exceptions queue.
Routing
Routing determines which warehouse fulfills an order.
Default Routing
- Find warehouses with inventory for all items
- Among those, pick the closest to shipping address
- If tie, pick the warehouse with most inventory
Custom Routing Rules
Configure in Settings → Routing Rules:
- By product type — Hazmat only from certified warehouses
- By shipping speed — Express orders from closest warehouse
- By channel — Specific channel orders from specific warehouse
- By region — West Coast orders from LA, East Coast from Atlanta
Rules evaluate in order. First match wins.
Split Orders
When no single warehouse has all items:
- Vectis creates multiple packages
- Each package routes to a warehouse with its items
- Order status reflects aggregate package status
Split orders cost more (multiple shipments) but ensure faster fulfillment than waiting for transfers.
Fulfillment Workflow
1. Pick
Generate pick list from Orders or Packages view:
- Select orders/packages
- Click Generate Pick List
- Print or view on screen
- Pick items in warehouse
- Mark as picked in Vectis
Pick lists can be:
- Per-order (one list per order)
- Batch (multiple orders, grouped by location)
- Wave (time-based batches)
2. Pack
After picking:
- Open package in Vectis
- StoaPack suggests optimal box
- Confirm or override box selection
- Scan/enter items packed
- Mark as packed
3. Ship
Generate shipping label:
- Select carrier and service
- Click Generate Label
- Label created via EasyPost integration
- Print label
- Mark as shipped
Tracking number syncs back to sales channel automatically.
Bulk Operations
Bulk Allocate
Select multiple pending orders → Allocate All
Bulk Ship
Select multiple packed orders → Generate Labels → Mark Shipped
Bulk Cancel
Select multiple orders → Cancel
Cancelled orders release inventory reservations automatically.
Order Edits
Before Allocation
- Add/remove items
- Change quantities
- Update shipping address
- Change shipping method
After Allocation
- Cancel and re-create (releases inventory)
- Or: Release allocation, edit, re-allocate
After Shipment
- Cannot edit shipped orders
- Create return/exchange instead
Exceptions Handling
Orders requiring attention appear in Orders → Exceptions:
| Exception | Cause | Resolution |
|---|---|---|
| Allocation failed | No inventory | Wait for stock or cancel |
| Address invalid | Carrier rejected | Update address, retry |
| Payment hold | Fraud flag from channel | Review and release or cancel |
| Duplicate | Same external ID | Merge or cancel duplicate |
Exports
Export orders to CSV:
- Apply filters (date range, status, channel)
- Click Export
- Download CSV
Exports include all order fields, line items, and current status.
API Operations
Common API operations:
# List orders
GET /api/v1/orders?status=pending&channel=shopify
# Get order detail
GET /api/v1/orders/ord_abc123
# Create order
POST /api/v1/orders
# Cancel order
POST /api/v1/orders/ord_abc123/cancel
# Allocate order
POST /api/v1/orders/ord_abc123/allocate
See API Reference for full documentation.