Warehouses & Locations
A manufacturing business rarely stores everything in one place. Raw materials may arrive at a central receiving warehouse. Semi-finished parts move to the shop floor for further processing. Finished goods are stored in a separate dispatch warehouse or a distribution center closer to customers. Some businesses maintain multiple sites across different cities.
Udyamo ERP Lite tracks inventory at the location level. Every stock movement — whether a purchase receipt, production output, transfer, or sale — is recorded against a specific location. This gives you precise visibility into what is where, at all times.
What You Will Learn
- The concept of locations and why location-level inventory tracking matters
- The three location types in Udyamo ERP Lite
- Hierarchical locations using parent-child relationships
- Location-based access control through user assignments
- Step-by-step instructions for creating warehouses, shop floors, and distribution centers
Prerequisites
- Udyamo ERP Lite is set up with your organization details (Chapter 5)
- You have Owner or Admin role access
Why Location-Level Tracking Matters
Without location tracking, your stock records show a single aggregate number for each item. You might know you have 2,000 kg of MS plates in total, but not how much is in the main warehouse versus on the shop floor versus at a branch in another city.
This leads to problems:
- Blind transfers — Materials are moved between locations without a record, and stock counts at each location diverge from reality
- Misplaced stock — An item shows as available, but nobody can find it because it was moved without updating records
- Inaccurate dispatch planning — The dispatch team at one warehouse sees total stock across all locations and commits to deliveries they cannot fulfil locally
- Security gaps — Without location-level control, any user can view or transact stock at any location, even if they should only manage their own site
Udyamo ERP Lite solves these problems by making Location a required dimension on every stock ledger entry.
Location Types
Udyamo ERP Lite supports three types of locations, each representing a different function in your operations.
Warehouse
A storage facility for incoming materials, finished goods, or both. Warehouses are the most common location type. A typical manufacturing business has at least one raw material warehouse and one finished goods warehouse.
Examples:
- Main Warehouse (for raw materials)
- Finished Goods Warehouse
- Spare Parts Store
- Packing Material Store
Shop Floor
The production area where manufacturing happens. Tracking stock on the shop floor lets you see how much material has been issued to production and what is available for further operations.
Examples:
- Machine Shop Floor
- Assembly Line — Bay 1
- Welding Section
- Paint Shop
Distribution Center
A facility focused on outbound logistics — storing finished goods for dispatch to customers or regional distribution. Distribution centers are typically separate from the manufacturing plant.
Examples:
- Mumbai Distribution Center
- Delhi Regional Warehouse
- Pune Dispatch Hub
Hierarchical Locations
Udyamo ERP Lite supports hierarchical locations through the parent_id field. This lets you model complex facility structures where locations contain sub-locations.
Example hierarchy:
Pune Factory (Warehouse)
├── Raw Material Store (Warehouse)
│ ├── Steel Section (Warehouse)
│ └── Electrical Section (Warehouse)
├── Production Block A (Shop Floor)
│ ├── CNC Section (Shop Floor)
│ └── Assembly Section (Shop Floor)
└── Finished Goods Store (Warehouse)
When you create a sub-location, you select its Parent Location from the existing locations. This creates the hierarchy.
Tip: Start with a flat structure (no hierarchy) if your business has a single manufacturing site with a few distinct areas. Introduce hierarchy only when you genuinely need to track stock at finer granularity. Overcomplicating the location structure adds unnecessary data entry overhead.
Location-Based Access Control
Udyamo ERP Lite restricts stock visibility and transaction capability by location through user-location assignments. This means:
- A warehouse manager at the Mumbai distribution center sees only the stock at that location
- A shop floor supervisor at Assembly Line Bay 1 can issue and receive materials only at that location
- The plant head or owner can be assigned to all locations for a complete view
This is configured through the User Location Assignments feature, which links users to the locations they operate. Access control is covered in detail in Chapter 48, but it is important to plan your location structure with access control in mind from the start.
Tip: When setting up locations, list which users or roles need access to each one. This planning step ensures that user-location assignments are complete and correct when you begin transacting.
Address Fields
Each location has address fields to capture its physical location:
| Field | Description | Example |
|---|---|---|
| Address | Street address or plot details | Plot 47, MIDC Industrial Area |
| City | City name | Pune |
| State | State name | Maharashtra |
| Pincode | PIN code | 411026 |
These fields are useful for logistics planning, e-way bill generation (which requires dispatch and delivery addresses), and general recordkeeping.
Step-by-Step: Creating Locations
Creating a Warehouse
- Navigate to Inventory > Locations
- Click Add New
- Fill in the fields:
- Name: Main Raw Material Warehouse
- Location Type: Warehouse
- Parent Location: (leave blank — this is a top-level location)
- Address: Plot 47, MIDC Industrial Area, Phase II
- City: Pune
- State: Maharashtra
- Pincode: 411026
- Active: Enabled
- Click Save

Creating a Shop Floor
- Navigate to Inventory > Locations
- Click Add New
- Fill in the fields:
- Name: Machine Shop Floor
- Location Type: Shop Floor
- Parent Location: (leave blank, or select the parent factory location if using hierarchy)
- Address: Plot 47, MIDC Industrial Area, Phase II
- City: Pune
- State: Maharashtra
- Pincode: 411026
- Active: Enabled
- Click Save
Creating a Distribution Center
- Navigate to Inventory > Locations
- Click Add New
- Fill in the fields:
- Name: Mumbai Distribution Center
- Location Type: Distribution Center
- Parent Location: (leave blank)
- Address: Unit 12, Bhiwandi Warehouse Complex
- City: Mumbai
- State: Maharashtra
- Pincode: 421302
- Active: Enabled
- Click Save
Creating a Sub-Location (Hierarchical)
- Navigate to Inventory > Locations
- Click Add New
- Fill in the fields:
- Name: Steel Section
- Location Type: Warehouse
- Parent Location: Main Raw Material Warehouse
- Address: (inherits from parent — fill if different)
- City: Pune
- State: Maharashtra
- Pincode: 411026
- Active: Enabled
- Click Save
The Steel Section now appears as a child of the Main Raw Material Warehouse.
Planning Your Location Structure
Before creating locations in the system, consider these questions:
- How many physical sites does your business have? Each site typically becomes a top-level location.
- Within each site, how many distinct storage and production areas need separate stock tracking? Each becomes a location or sub-location.
- Do different teams manage different areas? If yes, separate locations enable access control.
- Will stock be transferred between areas? Every transfer between locations creates a stock ledger entry, so you need both source and destination locations defined.
- Do you need dispatch/delivery addresses for e-way bills? Each location with a unique address should be a separate location.
A practical starting configuration for a single-site manufacturer:
| Location Name | Type | Parent |
|---|---|---|
| Main Warehouse | Warehouse | — |
| Shop Floor | Shop Floor | — |
| Finished Goods Store | Warehouse | — |
A multi-site manufacturer might use:
| Location Name | Type | Parent |
|---|---|---|
| Pune Factory | Warehouse | — |
| Pune — Raw Material Store | Warehouse | Pune Factory |
| Pune — Machine Shop | Shop Floor | Pune Factory |
| Pune — FG Store | Warehouse | Pune Factory |
| Mumbai DC | Distribution Center | — |
| Delhi DC | Distribution Center | — |
Tips & Best Practices
Tip: Keep location names descriptive but concise. "Main Warehouse" is better than "Warehouse 1" (which tells you nothing) or "Central Raw Material Receiving and Storage Warehouse Block A" (which is too long for dropdown menus and reports).
Warning: Do not create too many locations at the start. Every location adds a dimension to your stock tracking, and every stock movement must specify a location. If you create 20 sub-locations but your team only realistically tracks stock at 5 points, you will have inaccurate records at the granular level. Start with the minimum number of locations that reflect your actual operations, and expand as needed.
Tip: Deactivate locations you no longer use by setting Active to disabled. Deactivated locations are excluded from selection dropdowns in new transactions but remain visible in historical data.
Tip: If your business has a single small workshop with no meaningful separation between storage and production, a single location (e.g., "Workshop") is perfectly acceptable. Do not force hierarchy where none exists.
Quick Reference — Location Fields
| Field | Required | Description | Example |
|---|---|---|---|
| Name | Yes | Descriptive name for the location | Main Raw Material Warehouse |
| Location Type | Yes | Classification: warehouse, shop_floor, distribution_center | warehouse |
| Parent Location | No | Parent location for hierarchical structure | Pune Factory |
| Address | No | Street address or plot details | Plot 47, MIDC Industrial Area |
| City | No | City name | Pune |
| State | No | State name | Maharashtra |
| Pincode | No | PIN code | 411026 |
| Active | Yes | Whether the location is active and available for transactions | true |