Inventory Management
Multi-Location Inventory

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

  1. Go to SettingsCompanyLocations
  2. Click Add Location
  3. Fill in location details:
FieldDescription
NameDisplay name (e.g., "Main Warehouse")
DescriptionOptional notes
AddressFull address (required for proximity calculations)
TimezoneLocal timezone for the location
Operating HoursWhen the location operates
PrimaryIs this the main/default location?
ActiveIs the location currently operational?
Service RadiusMaximum distance for proximity-based assignment (miles)
  1. 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:

  1. Go to SettingsCompany
  2. Set Location Strategy to "Primary Default"

Proximity-Based

How it works:

  1. Customer's shipping address is geocoded
  2. Distance to each active location is calculated via Google Maps Distance Matrix API
  3. Nearest location within its service radius is selected
  4. 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:

  1. Go to SettingsCompany
  2. Set Location Strategy to "Proximity"
  3. Ensure locations have full addresses
  4. Set appropriate service radius for each location

Inventory Available

How it works:

  1. System checks which products are in the order
  2. Each location is scored by percentage of products in stock
  3. Location with highest score (most products available) is selected
  4. 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:

  1. Go to SettingsCompany
  2. 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 location

Fallback 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

  1. Go to ShopInventory
  2. Select All Locations from the dropdown
  3. 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

  1. Go to ShopInventory
  2. Select a specific location
  3. 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:

  1. Create a Receipt from a Purchase Order
  2. Select the Location where goods are arriving
  3. Post the receipt
  4. Inventory is added to that specific location

Orders from a Location

Orders are fulfilled from their assigned location:

  1. Order is assigned to a location (automatically or manually)
  2. Inventory is deducted from that location
  3. Shipping originates from that location's address

Adjustments at a Location

Manual inventory adjustments apply to a specific location:

  1. Select the location in the inventory view
  2. Find the product option to adjust
  3. Update the stock level
  4. Change applies only to that location

Inventory Transfers

Move stock between locations when needed.

Transfer Process

  1. Identify the transfer:

    • Source location (where stock is now)
    • Destination location (where stock should go)
    • Product option to transfer
    • Quantity to move
  2. Execute the transfer:

    • Stock is deducted from source location
    • Stock is added to destination location
    • Both changes are atomic (either both succeed or neither)
  3. 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

  1. Go to the Product Attribute settings
  2. In the Locations section, select which locations carry this attribute
  3. 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

  1. Complete addresses — Include street, city, state, ZIP, country
  2. Verify accuracy — Test with Google Maps to ensure correct geocoding
  3. Update promptly — Change addresses immediately if locations move

Service Radius Strategy

  1. No overlap — Avoid overlapping service areas to prevent ambiguity
  2. Complete coverage — Ensure at least one location covers each area you serve
  3. Consider shipping zones — Align radius with carrier zone pricing

Inventory Distribution

  1. Stock popular items everywhere — Fast movers should be available at all locations
  2. Specialize locations — Some locations may focus on specific product lines
  3. 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:

  1. Is the expected location Active?
  2. Is the strategy set correctly in Company settings?
  3. For proximity: Is the location's address complete and valid?
  4. For proximity: Is the customer within the service radius?
  5. For inventory: Does the location have the ordered products in stock?

Proximity Not Working

Problem: Proximity-based assignment isn't calculating distances correctly.

Check:

  1. Is the Google Maps API key configured on the server?
  2. Are location addresses complete and geocodable?
  3. Are customer shipping addresses complete?
  4. Check server logs for Google API errors

Inventory Not Showing for a Location

Problem: Products don't appear when viewing a specific location.

Check:

  1. Is the location Active?
  2. Have inventory records been synced for this location?
  3. Is the product attribute assigned to this location?
  4. Try clicking Sync Inventory on the product attribute

Transfer Failed

Problem: Transfer between locations didn't work.

Check:

  1. Does the source location have enough stock?
  2. Are both locations active?
  3. Is the product option valid at both locations?
  4. Check for server errors in logs

Related Topics