The problem
Multi-location businesses often end up choosing between two bad options: one shared system where everyone sees every location's data, or a patchwork of separate spreadsheets or logins per site. Neither gives accurate, real-time, per-location stock or financial visibility, and neither actually stops a staff member at one location from seeing or editing another location's data.
How AccountDesq solves it
Branch (an organizational/financial location) and Warehouse (a physical stock-holding location, with optional zones and bins) are separate, purpose-built entities. Stock transfers between warehouses are a dedicated workflow with its own ledger posting, not a manual adjustment at both ends. Permission scoping is enforced through a member-scopes system checked on every request, backed by Postgres row-level security - so location restrictions hold even if application code is bypassed, not just when the UI happens to hide a button.
How it works, step by step
Set up branches and warehouses
Model your actual footprint - financial branches and physical stock-holding warehouses, with zones and bins where useful.
Scope staff access
Assign each team member to the warehouses, branches, or registers relevant to their role.
Transfer stock between locations
A dedicated transfer workflow moves stock between warehouses with its own GL posting, not a manual two-sided adjustment.
See per-location reality
Stock balances and financial data are naturally scoped by location, not aggregated into one undifferentiated view.
Connected to the rest of AccountDesq
Nothing here works in isolation - it posts through the same ledger as everything else.
In practice
A retail chain with three stores and one central warehouse gives store staff access scoped to their own location's register and stock, while the warehouse manager can see and transfer stock across all three stores. If the central warehouse runs low on a fast-moving item, a transfer moves stock from a slower store without any location gaining visibility into data outside its own scope.
What this means for your business
- Staff at one location genuinely can't see or act on another location's data - enforced at the database, not just hidden in the UI.
- Stock transfers between locations are a real, auditable workflow instead of two disconnected manual adjustments.
- Reporting and permissions scale with the number of locations instead of becoming harder to manage as you add sites.
Frequently asked questions
What's the difference between a Branch and a Warehouse in AccountDesq?
A Branch is an organizational/financial location; a Warehouse is a physical stock-holding location that can have its own zones and bins. They're modeled as separate entities so each can be scoped and managed on its own terms.
Is location-based access control just a UI restriction?
No - it's enforced by Postgres row-level security in addition to application-layer checks, so the restriction holds at the database itself.
Can I transfer stock between warehouses?
Yes - transfers are a dedicated workflow with their own GL posting, not a manual adjustment at each end.