Home / Help Center / pos-app / Stock / Godown / Godowns
🏬 Stock / Godown

Godowns

Godowns lets you manage multiple storage locations — main store, distribution centre, cold storage, transit — see exactly how much of each product sits in each one, and move stock between them with a full approval-to-completion trail.

📍 Menu path: Stock / Godown → Godowns
👤 Who uses it: All roles with Inventory view access; Add/Edit/Delete warehouse and stock transfers need the Inventory Create/Edit/Delete permission
🏷️ Plan tier: advanced+

Overview

The page has three tabs: Warehouses (the list of godowns you manage, each as a card with its own stock stats), Stock by Location (a matrix of every product × every warehouse), and Transfers (requests to move stock from one warehouse to another).

Each warehouse card shows its type (Main Store, Distribution, Cold Storage, Transit), product count, total quantity, and — if a capacity was set — a utilization bar that turns amber past 70% full and red past 90%.

Stock transfers between warehouses go through a five-step status flow: Requested → Approved → In Transit → Received → Completed, so nothing moves silently — every step is a deliberate action by a manager or admin.

Before You Start

Step-by-Step Guide

1 Add or edit a warehouse

  1. Click Add Warehouse (Warehouses tab) or the edit icon on an existing card.
  2. Fill in Name (required) and optionally Code (auto-generated if left blank), Type (Main Store/Distribution/Cold Storage/Transit), Address, Capacity, Contact Name/Phone and Notes.
  3. Admins creating a new warehouse also choose its Visibility: This branch only, All branches in unit, or All branches (company).
  4. Click Save — the warehouse appears immediately as a card with zero stock.

2 View and add stock inside a warehouse

  1. Click a warehouse card (or its "View Stock" link) to open the Inventory drawer for that location.
  2. The drawer header shows Products / Total Qty / Low Stock counts for that warehouse; search within the drawer to find a specific product.
  3. Click Add Stock, search for and pick a product, then enter its Quantity and Min Stock level for this warehouse, and click Save.

3 See stock across every location at once

  1. Switch to the Stock by Location tab for a matrix: one row per product, one column per warehouse, with a Total column on the right.
  2. Cells are colour-coded — red for zero stock at that location, amber for at/below that location's minimum, plain otherwise.
  3. Use the search box to filter the matrix by product name or SKU; column and row totals update automatically.

4 Request and track a stock transfer between warehouses

  1. Switch to the Transfers tab and click New Transfer.
  2. Pick a From Warehouse and a different To Warehouse, then add one or more product rows (search + pick product, enter quantity) — use "Add Row" for multiple products in one transfer.
  3. Add an optional note and click Create Transfer — it starts in Requested status.
  4. Open any transfer from the list to see its status stepper (Requested → Approved → In Transit → Received → Completed) and the exact items/quantities involved.
  5. Move the transfer forward with the action button shown for its current status: Approve (Requested), Dispatch (Approved → In Transit), Mark as Received (In Transit → Received — this is the step that actually moves the stock), then Close Transfer (Received → Completed).
  6. A transfer can be Cancelled at the Requested or Approved stage, before stock has moved.
💡 Stock only actually leaves the source warehouse and lands in the destination when a transfer is marked Received — Requested/Approved/In Transit are purely a paper trail up to that point.

5 Filter and manage the warehouse list

  1. Use the search box, Type filter and Active/Inactive Status filter on the Warehouses tab to narrow the card grid.
  2. Use the toggle switch on a card to activate/deactivate a warehouse without deleting it.
  3. Use the delete icon to remove a warehouse — if it still holds stock, BazaarPOS deactivates it instead and tells you so in the confirmation dialog.

Every Field & Button, Explained

Field / ButtonWhat it does
Warehouses / Stock by Location / Transfers tabsSwitches the whole page between the warehouse card grid, the product×warehouse stock matrix, and the transfer request list.
Total / Active / Total Products / Total Stock Qty tilesSummary stats across all warehouses currently in view.
Search name, code…Filters the warehouse card grid by name or code.
Type filterMain Store / Distribution / Cold Storage / Transit.
Status filterActive or Inactive warehouses.
Warehouse cardShows name, type badge, code, address, active/inactive state, Products/Total Qty/Capacity stats and a capacity utilization bar.
View StockOpens the Inventory drawer listing every product stocked at that warehouse.
Edit (pencil icon)Opens the warehouse form pre-filled for editing.
Active/Inactive toggleActivates or deactivates the warehouse without deleting it.
Delete (trash icon)Deletes the warehouse, or deactivates it instead if it still has products assigned.
Add Stock (inside drawer)Assigns a product to this warehouse with an initial quantity and minimum stock level.
Stock matrix tableProduct rows × warehouse columns; red = out of stock at that location, amber = at/below minimum, with row and column totals.
New TransferOpens the form to request moving one or more products from one warehouse to another.
Transfer status filterAll / Requested / Approved / In Transit / Received / Completed / Cancelled.
Transfer status stepperVisual 5-step progress (Requested → Approved → In Transit → Received → Completed) shown in the transfer detail drawer.
Approve / Dispatch / Mark as Received / Close TransferThe single action button shown depends on the transfer's current status — each advances it one step.
Cancel (transfer)Available only at Requested or Approved status, before any stock has moved.

Tips & Best Practices

Troubleshooting & FAQ

I don't see Godowns in my sidebar at all.
It requires the Advanced plan tier or above for the Multi-Store feature. Check your plan under Settings/License, or ask your Admin.
I deleted a warehouse but it is still showing, just greyed out.
A warehouse with products still assigned is deactivated instead of deleted, to avoid losing the stock records. Move its stock to another warehouse first if you need a full delete.
A transfer says "Received" but I still see old stock levels.
Stock is moved out of the source and into the destination at the moment a transfer is marked Received, not before. If numbers still look off after that, refresh the Stock by Location matrix.
I can't select the same warehouse as both From and To on a transfer.
That is enforced intentionally — source and destination must be different warehouses.
The utilization bar isn't showing on a warehouse card.
It only appears once a Capacity value greater than zero has been set for that warehouse.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/WarehousePage.jsx

Backend endpoints used:

  • GET /warehouses
  • POST /warehouses
  • PUT /warehouses/:id
  • DELETE /warehouses/:id
  • GET /warehouses/:id
  • POST /warehouses/:id/stock
  • GET /warehouses/stock-matrix
  • GET /stock-transfers
  • POST /stock-transfers
  • GET /stock-transfers/:id
  • POST /stock-transfers/:id/approve
  • POST /stock-transfers/:id/in-transit
  • POST /stock-transfers/:id/receive
  • POST /stock-transfers/:id/complete
  • POST /stock-transfers/:id/cancel
  • GET /products

Related tables (db-core repositories):

  • Warehouse
  • WarehouseInventory
  • StockTransfer
  • StockTransferItem
  • Product

Redux slices:

  • auth (role)
  • scope (selectCurrentScope / getScopeQueryParams)
  • NavPermissionContext (usePagePermission)

Feature flag key: multi_store (requires advanced plan tier or above)

This warehouse-to-warehouse Stock Transfer flow (with its own /stock-transfers endpoints and REQUESTED→APPROVED→IN_TRANSIT→RECEIVED→COMPLETED status machine) is a distinct feature from the product-to-product "Transfer" action inside Inventory (POST /inventory/transfer), which moves stock between two different products rather than between two locations.