Skip to main content
PRODUCT

Branches and warehouses as real, location-scoped entities

AccountDesq models Branch and Warehouse as distinct, first-class entities - not a single 'location' field bolted onto other records. Warehouses can have zones and bins, stock transfers between warehouses are a real tracked workflow, and access can be scoped per warehouse, branch, or register so staff only see and act on the locations relevant to them - enforced by database-level row security, not just app-layer checks.

Get started free

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.

app.accountdesq.com
Branch and Warehouse as separate, first-class entities - not one location field.

How it works, step by step

  1. Set up branches and warehouses

    Model your actual footprint - financial branches and physical stock-holding warehouses, with zones and bins where useful.

  2. Scope staff access

    Assign each team member to the warehouses, branches, or registers relevant to their role.

  3. Transfer stock between locations

    A dedicated transfer workflow moves stock between warehouses with its own GL posting, not a manual two-sided adjustment.

  4. 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.

Related pages