Inventory Management
Vectis tracks inventory across all your warehouses with real-time updates, atomic reservations, and full audit trails.
Inventory Model
Quantities
For each product at each location, Vectis tracks:
| Quantity | Definition |
|---|---|
| On Hand | Physical units in the warehouse |
| Reserved | Units held back: holds set with Reserve, and holds Vectis places for some new orders |
| Available | On Hand minus Reserved minus units allocated to packages (what you can still sell) |
Units allocated to an order’s packages aren’t shown as their own column; they come out of Available.
Locations
Inventory is tracked at multiple levels:
Warehouse → Zone → Aisle → Rack → Shelf → Bin
You can use as many or as few levels as needed. Simple operations might just use Warehouse. Complex operations use full bin-level tracking.
Viewing Inventory
Inventory List
Inventory shows:
- Product name and SKU
- On Hand, Reserved, and Available, totalled across warehouses (or for the warehouse you’ve selected)
- Stock status: In Stock, Low Stock, or Out of Stock
- How many warehouses stock it
Item detail
Click any item to see its quantity by warehouse and location, with actions to Adjust, Transfer, view Locations, or Reserve stock.
Warehouse View
Warehouses → [Warehouse] → Inventory shows:
- All products at that warehouse
- Location assignments
- Bin-level quantities
Adjustments
Inventory adjustments change On Hand quantity with a reason code.
Making an Adjustment
- Open the item from Inventory
- On the warehouse row, click Adjust
- Enter the amount to add (positive) or remove (negative)
- Choose a reason
- Add notes (required for Other)
- Click Apply Adjustment
Reason Codes
Every adjustment requires a reason:
| Reason |
|---|
| Damaged Goods |
| Lost/Missing |
| Found During Count |
| Cycle Count Correction |
| New Stock Received |
| Customer Return |
| Other |
Counting stock
For cycle counts or a full count, use Cycle Counts, which records each counted location.
Transfers
Move inventory between locations within a warehouse or between warehouses.
Intra-Warehouse Transfer
Move stock from one bin to another with the API (POST /api/inventory/{inventoryId}/move). The move is instant. API-client tokens are read-only on orders, products, and inventory today, so contact support@stoalogistics.com to move stock through the API.
Inter-Warehouse Transfer
Move between warehouses:
- Open the item from Inventory
- On the source warehouse row, click Transfer
- Choose the destination warehouse and quantity
- Submit. This creates a transfer order.
Transfer order workflow:
in_transit→received(orcancelled)- Source warehouse: quantity decremented immediately
- Destination warehouse: quantity added on receipt
Reservations
There is no separate Allocate step: Vectis allocates stock to an order’s packages when they’re generated.
Allocated units leave Available; On Hand doesn’t change when stock is allocated.
Cancelling an order cancels its unshipped packages.
Viewing reservations
An item’s inventory page shows reserved quantity per warehouse. Reserve sets how many units are held back at that warehouse (for example, a quality hold). They stay reserved until you change or release them.
Reorder points
Each item can carry a reorder point per warehouse, set as Low Stock Threshold when you first add stock. When available stock falls to it, the item is flagged Low Stock on the Inventory list; items without one are flagged at 20 units or fewer. On the Growth plan and above, Analytics → Inventory health also counts items below their reorder point and lists items without one as setup gaps.
Receiving
Receiving lists transfers on their way to a warehouse. When a transfer arrives, open it, confirm the quantities received, and submit. Stock is added to the destination warehouse. On the Growth plan and above, customer returns are received from the return’s page (Returns → [Return] → Receive).
Multi-Channel Sync
Vectis pushes Available quantity to sales channels:
| Channel | Sync Method | Frequency | Status |
|---|---|---|---|
| Shopify | Inventory Levels API | When stock changes, plus a scheduled re-sync (every 5 minutes by default); Force Sync on demand | Native |
| WooCommerce | Stock endpoint | When stock changes, plus a scheduled re-sync (every 5 minutes by default); Force Sync on demand | Native |
Stock flows one way, from Vectis to the channel. TikTok Shop stock isn’t synced.
Audit Trail
Every inventory change is logged:
- What changed (SKU, location, quantity)
- Who made the change (user or system)
- When it happened
- Why (reason code, linked order, linked transfer)
View history: per item through the API (GET /api/inventory/{inventoryId}/movements); across the account, Analytics (Growth and above) charts receipts, fulfillments, adjustments, and transfers over time.
Allocation Behavior
There is no separate Allocate step: Vectis allocates stock to an order’s packages when they’re generated. It picks the warehouse automatically from where the stock is, and, with two or more warehouses (Growth and above; Starter includes one warehouse), can split an order across them.
Important: There is no automatic backorder status. Put the order on hold or cancel it until stock arrives.
AI Demand Forecasting (Enterprise tier)
Vectis includes AI-powered demand forecasting to help optimize reorder points:
- Endpoint:
GET /api/forecasts - Powered by: Google Gemini
- Returns: Days until stockout, suggested reorder dates/quantities, confidence levels
- Rate limit: 10 requests/minute per tenant
- Cache: Results cached for 1 hour
Access via the API.
API Operations
# Get inventory levels
GET /api/inventory?warehouseId=<warehouse-uuid>&sku=WIDGET-BLU
# Adjust inventory (add or remove units)
PATCH /api/inventory/{inventoryId}/adjust
{
"adjustment": -5,
"reason": "Damaged Goods"
}
# Transfer one SKU between warehouses
POST /api/inventory/transfer
{
"sku": "WIDGET-BLU",
"fromWarehouseId": "<source-uuid>",
"toWarehouseId": "<destination-uuid>",
"quantity": 50
}
# Get AI demand forecasts (Enterprise tier)
GET /api/forecasts?productIds=uuid1,uuid2&daysOfHistory=90
API-client tokens are read-only on orders, products, and inventory today. To adjust or transfer stock through the API, contact support@stoalogistics.com.
See API Reference for authentication and the documented endpoints.