Multi-Location Inventory
Manage inventory across multiple warehouses, shops, and stores with intelligent location assignment and centralized visibility.
Overview
TimberCloud's multi-location system enables you to:
- Track separate stock levels for each location
- Automatically assign orders to the best location
- View combined or location-specific inventory
- Transfer stock between locations
- Receive purchases at specific locations
Location Setup
Adding Locations
- Go to Settings → Company → Locations
- Click Add Location
- Fill in location details:
| Field | Description |
|---|---|
| Name | Display name (e.g., "Main Warehouse") |
| Description | Optional notes |
| Address | Full address (required for proximity calculations) |
| Timezone | Local timezone for the location |
| Operating Hours | When the location operates |
| Primary | Is this the main/default location? |
| Active | Is the location currently operational? |
| Service Radius | Maximum distance for proximity-based assignment (miles) |
- Click Save
Primary Location
One location should be marked as Primary:
- Used when "Primary Default" strategy is selected
- Fallback when no other location qualifies
- Only one location can be primary at a time
Active vs. Inactive
- Active locations participate in:
- Location assignment for orders
- Inventory views
- Purchasing operations
- Inactive locations are excluded from operations but retain data
Location Types
TimberCloud supports various location types for different operational needs:
Warehouses
Main storage and distribution facilities:
- Bulk inventory storage
- Receiving from vendors
- Order fulfillment and shipping
- Production/fabrication
Retail Stores
Customer-facing locations:
- Point of sale
- Customer pickup
- Limited inventory display
- Direct sales
Shops / Fabrication
Production facilities:
- Manufacturing operations
- Work-in-progress inventory
- Material consumption
- Finished goods output
Location Assignment Strategies
When an order is created, TimberCloud automatically assigns a fulfillment location based on your configured strategy.
Primary Default
How it works: All orders are assigned to your primary location.
Best for:
- Single-location operations
- Centralized fulfillment
- Simple operations
Configuration:
- Go to Settings → Company
- Set Location Strategy to "Primary Default"
Proximity-Based
How it works:
- Customer's shipping address is geocoded
- Distance to each active location is calculated via Google Maps Distance Matrix API
- Nearest location within its service radius is selected
- Falls back to primary if no locations qualify
Best for:
- Multiple warehouses serving different regions
- Minimizing shipping costs and transit times
- Regional distribution networks
Requirements:
- Google Maps API Key configured on the server
- Complete addresses on all locations
- Service radius set for each location
Configuration:
- Go to Settings → Company
- Set Location Strategy to "Proximity"
- Ensure locations have full addresses
- Set appropriate service radius for each location
Inventory Available
How it works:
- System checks which products are in the order
- Each location is scored by percentage of products in stock
- Location with highest score (most products available) is selected
- Falls back to primary if no products available anywhere
Best for:
- Ensuring orders can be fulfilled
- Reducing backorders and split shipments
- Balancing inventory across locations
Configuration:
- Go to Settings → Company
- Set Location Strategy to "Inventory Available"
How Location Assignment Works
Order Creation Flow
1. Customer places order (or staff creates order)
↓
2. System determines fulfillment location:
├── Single location? → Use that location
└── Multiple locations? → Apply strategy
↓
3. Strategy evaluation:
├── Primary Default → Select primary location
├── Proximity → Calculate distances, select nearest
└── Inventory Available → Score by stock, select highest
↓
4. Fallback if strategy fails:
└── Use primary location (or first available)
↓
5. Order assigned to selected locationFallback Behavior
All strategies fall back to Primary Default when:
- No shipping address provided (proximity)
- Google Maps API unavailable (proximity)
- No location has products in stock (inventory)
- Any unexpected error occurs
Viewing Multi-Location Inventory
All Locations View
- Go to Shop → Inventory
- Select All Locations from the dropdown
- See combined inventory across all locations:
- Total stock levels (sum of all locations)
- Low stock indicators (any location below threshold)
- Aggregated metrics
Single Location View
- Go to Shop → Inventory
- Select a specific location
- See inventory for that location only:
- Stock levels at that location
- Location-specific low stock indicators
- Local metrics
Location Selector
The location selector shows:
- All active locations
- Current location details (address, hours)
- Quick switch between locations
Location-Specific Operations
Receiving at a Location
When receiving inventory:
- Create a Receipt from a Purchase Order
- Select the Location where goods are arriving
- Post the receipt
- Inventory is added to that specific location
Orders from a Location
Orders are fulfilled from their assigned location:
- Order is assigned to a location (automatically or manually)
- Inventory is deducted from that location
- Shipping originates from that location's address
Adjustments at a Location
Manual inventory adjustments apply to a specific location:
- Select the location in the inventory view
- Find the product option to adjust
- Update the stock level
- Change applies only to that location
Inventory Transfers
Move stock between locations when needed.
Transfer Process
-
Identify the transfer:
- Source location (where stock is now)
- Destination location (where stock should go)
- Product option to transfer
- Quantity to move
-
Execute the transfer:
- Stock is deducted from source location
- Stock is added to destination location
- Both changes are atomic (either both succeed or neither)
-
Verify completion:
- Check source location shows reduced quantity
- Check destination location shows increased quantity
Transfer Considerations
- No in-transit state: Transfers are immediate in the system
- Physical shipping: For tracked shipments, consider using internal POs
- Audit trail: Transfer history is logged for accountability
Location Configuration
Service Radius
For proximity-based assignment, each location can have a service radius:
- Distance in miles
- Orders beyond this distance won't be assigned to this location
- Leave empty or 0 for unlimited service area
Example:
- East Coast Warehouse: 500-mile radius
- West Coast Warehouse: 500-mile radius
- Central Warehouse: Unlimited (catches everything else)
Operating Hours
Configure when each location operates:
- Shipping hours: When orders can be shipped
- Receiving hours: When deliveries are accepted
- Production hours: When manufacturing occurs
Timezone
Set the local timezone for each location:
- Affects order due time calculations
- Affects schedule displays
- Affects shipping cutoff times
Products at Locations
You can optionally restrict which products are available at each location:
Location-Product Assignment
- Go to the Product Attribute settings
- In the Locations section, select which locations carry this attribute
- Save
When configured:
- Inventory records are created only at assigned locations
- Proximity and inventory strategies consider product availability
When not configured (default):
- All active locations can carry any product
- Inventory records are created for all locations
Best Practices
Address Configuration
- Complete addresses — Include street, city, state, ZIP, country
- Verify accuracy — Test with Google Maps to ensure correct geocoding
- Update promptly — Change addresses immediately if locations move
Service Radius Strategy
- No overlap — Avoid overlapping service areas to prevent ambiguity
- Complete coverage — Ensure at least one location covers each area you serve
- Consider shipping zones — Align radius with carrier zone pricing
Inventory Distribution
- Stock popular items everywhere — Fast movers should be available at all locations
- Specialize locations — Some locations may focus on specific product lines
- Monitor imbalances — Transfer stock before locations run out
Performance Monitoring
Track metrics by location:
- Order volume
- Fulfillment time
- Stock turnover
- Out-of-stock incidents
Troubleshooting
Orders Not Going to Expected Location
Problem: Orders aren't being assigned to the location you expect.
Check:
- Is the expected location Active?
- Is the strategy set correctly in Company settings?
- For proximity: Is the location's address complete and valid?
- For proximity: Is the customer within the service radius?
- For inventory: Does the location have the ordered products in stock?
Proximity Not Working
Problem: Proximity-based assignment isn't calculating distances correctly.
Check:
- Is the Google Maps API key configured on the server?
- Are location addresses complete and geocodable?
- Are customer shipping addresses complete?
- Check server logs for Google API errors
Inventory Not Showing for a Location
Problem: Products don't appear when viewing a specific location.
Check:
- Is the location Active?
- Have inventory records been synced for this location?
- Is the product attribute assigned to this location?
- Try clicking Sync Inventory on the product attribute
Transfer Failed
Problem: Transfer between locations didn't work.
Check:
- Does the source location have enough stock?
- Are both locations active?
- Is the product option valid at both locations?
- Check for server errors in logs