POS + General Ledger + Inventory + Payroll — All Included on Every Plan | Free Updates Forever

How Stock Works Across Multiple Locations

How Stock Works Across Multiple Locations

AccuArk is designed from the ground up for multi-location businesses. Items exist once in the system, but stock quantities are tracked independently at each location. This guide explains the architecture and how it affects your daily operations.

Core Architecture

The multi-location stock model has two layers:

  • Global Item Catalog — Each inventory item has one record in the inventory_item table. The item's name, SKU, barcode, price, cost, description, category, class, and settings are shared across all locations.
  • Per-Location Stock — Each location maintains its own stock quantity in the inventory_stock_location table. This table stores the item ID, location ID, quantity, last cost, and the timestamp of the most recent transaction.

This means:

  • You define an item once and it is available at all locations
  • Each location has independent stock levels that are tracked separately
  • The item's CurrentStock field on the master record is an aggregate of all location quantities
  • Price and cost settings are global (the same item costs and sells for the same amount everywhere, unless overridden by location-specific promotions)

Stock at Location Level

The inventory_stock_location table tracks:

FieldDescription
item_idThe inventory item this record belongs to
location_idThe location where this stock is held
quantityThe current stock quantity at this location
last_costThe cost from the most recent purchase at this location
latest_transactionThe date and time of the last stock change at this location

Each unique combination of item + location creates one record. This means an item stocked at 5 locations has 5 records in this table.

Viewing Stock Across Locations

On the item form, the Stock tab shows a grid labeled "Stock in Locations" (dgvStockInLocations). This grid displays:

  • Every location where the item has a stock record
  • The quantity at each location
  • The total across all locations

This gives you a complete picture of how inventory is distributed across your business.

User Access and Location Visibility

Not every user sees every location. AccuArk uses the user_location_access table to control which locations a user can view and interact with. Specifically, the view_transactions field must be set to 'y' for a user to see a location's data.

This access control affects:

  • Location dropdowns — On forms like Purchase Orders, Stock Moves, Stock Adjustments, and Reports, the location dropdown only shows locations where the current user has access with view_transactions = 'y'
  • Stock visibility — Users only see stock quantities for their accessible locations
  • Transaction history — Transaction logs are filtered by accessible locations
  • Reorder alerts — The reorder dashboard only shows alerts for accessible locations

Location Scoping on Key Operations

Every major inventory operation is scoped to a specific location:

OperationLocation Behavior
Purchase OrdersEach PO is scoped to one location. All received stock goes to that location.
Stock AdjustmentsEach adjustment targets a specific location (and optionally a zone within it).
Stock MovesTransfers require a From Location and a To Location.
Cycle CountsEach count session covers one location.
Reorder RulesRules are set per-item per-location (e.g., different reorder points at each warehouse).
ReportsReports include a location filter. Selecting "All" shows aggregate data; selecting a specific location shows only that location's stock.
POS SalesSales deduct stock from the location where the POS machine is registered.

Item Location Availability

Items have a LocationsAvailability setting that controls where the item can be stocked and sold:

  • "a" (All Locations) — The item is available at every location in the system
  • Specific Location IDs — The item is restricted to only the listed locations

This is useful for location-specific products that should not appear in other locations' inventory browsers or POS systems.

Tips

  • Set up locations before adding items — Having your location structure in place ensures items can be properly stocked from the start
  • Grant location access thoughtfully — Only give users access to locations they actually need. This keeps their views clean and prevents accidental operations on the wrong location.
  • Use the Stock tab to spot imbalances — Regularly check the Stock in Locations grid to identify locations that are overstocked or understocked relative to demand
  • Remember that cost is global, stock is local — The item's WAC cost is a system-wide average. If you need to know the actual purchase cost at a specific location, check the last_cost field on the stock location record.
  • Use stock transfers to balance inventory — When one location has excess stock and another is running low, use the Stock Move feature (see Article 67) to redistribute without placing a new purchase order
Was this article helpful?
Back to Inventory & Stock Management Contact Support
Please note: This article is intended as a general guide. AccuArk© is continuously improved through regular software updates, so some screens, labels, or features described here may appear slightly different in your version. If something doesn't match or you need further assistance, please don't hesitate to contact our support team.
Still need help?

Our support team is ready to assist you.

Submit a Ticket