Skip to main content

Overview

The Warehouses module provides hierarchical storage organization with warehouses and bin locations. This structure enables precise tracking of where parts are physically stored.

Warehouse Structure

Warehouse (Main Facility)
└── Bins/Locations (Specific Storage)
    ├── Aisle-A-Shelf-1
    ├── Aisle-A-Shelf-2
    └── Aisle-B-Shelf-1

Warehouse Fields

FieldTypeDescription
codestringUnique warehouse identifier (e.g., “WH-01”)
namestringWarehouse name (e.g., “Main Warehouse”)
locationstringPhysical address or site
is_activebooleanActive status flag

Bin/Location Fields

FieldTypeDescription
warehouse_idUUIDParent warehouse
codestringUnique bin code within warehouse
namestringDescriptive bin name (optional)
is_activebooleanActive status flag

Accessing Warehouses

Navigate to Inventory > Almacenes y ubicaciones (/inventory/warehouses) to manage warehouses and bins.
Requires inventory:read permission to view. Editing requires inventory:write or inventory:full_access.

Creating a Warehouse

1

Open Warehouse Dialog

Click Nuevo almacén in the warehouses page.
2

Enter Warehouse Code

Provide a unique code (e.g., “WH-MAIN”, “WH-YARD”).
Warehouse codes must be unique and cannot be changed after creation.
3

Add Warehouse Details

Fill in:
  • Name: Descriptive name (e.g., “Main Storage Facility”)
  • Location: Physical address or site reference
  • Is Active: Check for active warehouses
4

Save Warehouse

Click Guardar to create the warehouse.

Creating Bin Locations

After creating a warehouse, add bin locations:
1

Select Warehouse

Choose the parent warehouse from the dropdown or list.
2

Open Bins Dialog

Click Agregar ubicación or similar button.
3

Enter Bin Code

Provide unique code within the warehouse:
  • A-01-01: Aisle A, Row 01, Position 01
  • B-02-03: Aisle B, Row 02, Position 03
  • FLOOR-1: Floor storage area 1
  • RACK-A: Rack A
4

Add Bin Name (Optional)

Provide descriptive name like “Hydraulics Section” or “Small Parts Drawer”.
5

Save Bin

Click Guardar to create the bin location.

Warehouse Organization Strategies

Aisle-Based LayoutTraditional warehouse organization:
A-01-01, A-01-02, A-01-03  (Aisle A, Row 1)
A-02-01, A-02-02, A-02-03  (Aisle A, Row 2)
B-01-01, B-01-02, B-01-03  (Aisle B, Row 1)
Best for: Large warehouses with systematic layouts

Service Functions

Warehouse operations use these service functions:
// List warehouses
import { listWarehouses } from '@/services/inventory';

const warehouses = await listWarehouses({
  limit: 200,
  orderBy: 'code',
  ascending: true,
  is_active: true
});

// Create warehouse
import { createWarehouse } from '@/services/inventory';
const warehouse = await createWarehouse({
  code: 'WH-01',
  name: 'Main Warehouse',
  location: 'Building A, Floor 1',
  is_active: true
});

// Update warehouse
import { updateWarehouse } from '@/services/inventory';
await updateWarehouse(warehouseId, {
  location: 'Building A, Floor 2'
});

// Delete warehouse
import { deleteWarehouse } from '@/services/inventory';
await deleteWarehouse(warehouseId);

Stock by Location View

View detailed stock levels by warehouse and bin: Navigate to Inventory > Stock por ubicación (/inventory/stock-by-location) to see:
  • Part code and name
  • Warehouse
  • Bin location
  • Quantity on hand
  • UOM
This view uses the v_stock_by_location database view for real-time accuracy.
The stock by location view shows only bins with non-zero quantities. Empty bins are hidden from the report.

Bin Location in Documents

When processing inventory documents, bin locations are required:
To Bin RequiredSpecify where incoming parts will be stored:
  • to_bin_id: Destination bin in warehouse
Example: Receiving 50 filters → WH-MAIN / A-01-05

Best Practices

Logical Naming

Use consistent, meaningful codes:
  • Include warehouse prefix
  • Use leading zeros for sorting
  • Keep codes short but descriptive
  • Example: WH01-A01-R01-S01

Physical Layout Mapping

Match codes to physical layout:
  • Create floor plans
  • Label physical locations
  • Train staff on system
  • Update maps when reorganizing

Bin Capacity

Consider storage limits:
  • Don’t overload bins
  • Account for part sizes
  • Reserve space for growth
  • Document weight limits

Active Status Management

Mark inactive locations:
  • Under maintenance
  • Temporary closures
  • Decommissioned areas
  • Prevents new stock placement

Multi-Warehouse Scenarios

Scenario 1: Multiple Facilities

WH-MAIN (Main Plant)
WH-SITE-A (Remote Site A)
WH-SITE-B (Remote Site B)
WH-VENDOR (Vendor-Managed Inventory)
Use TRANSFER documents to move parts between facilities.

Scenario 2: Segregated Storage

WH-NEW (New/Unused Parts)
WH-RECON (Reconditioned Parts)
WH-SCRAP (Scrap/Damaged)
Track part lifecycle through warehouse transfers.

Scenario 3: Access Control

WH-GENERAL (General Access)
WH-RESTRICTED (Controlled Access)
WH-HAZMAT (Hazardous Materials)
Use separate warehouses for security/compliance.

Common Issues

Bin Not Found Error

If a bin is marked inactive, it cannot be used in new transactions. Activate the bin or choose an alternative location.

Stock Discrepancies

If physical stock doesn’t match system:
1

Perform Physical Count

Count actual parts in the bin location.
2

Compare to System

Check v_stock_by_location view for system quantity.
3

Create ADJUSTMENT Document

Use adjustment document to correct discrepancy:
  • Positive quantity: Add missing stock
  • Negative quantity: Remove excess
4

Document Reason

Add notes explaining the adjustment cause.

Stock Management

Track quantities by warehouse and bin

Documents

Process movements between locations

Parts

Manage parts stored in warehouses

Reorder Policies

Set min/max levels per warehouse