Module: WMS

Smart Logistics & Inventory Control

Complete warehouse management. Track inventory across multiple locations combined with zones and bins, and manage serial numbers with precision.

Read Documentation
$ composer require obelaw/wms
Laravel 10+ PHP 8.2+ Real-time
StockCheck.php
use Obelaw\Wms\Facades\WMS;

// Check stock in Warehouse (ID: 1)
$balance = WMS::stocks()->getBalance(
  $product,
  1
);

// Result:
[
  'available' => 142,
  'reserved' => 8,
  'sold' => 12
]

Core Capabilities

Manage complex warehouse operations with a simple, modular API.

Location Management

Define hierarchical storage locations. Manage warehouses, zones, aisles, racks, and bins with parent-child relationships using `LocationType`.

Stock Control

Real-time balance tracking per location. Support for any "stockable" model (Products, Assets) via polymorphic relationships.

Serial Number Tracking

Granular control for high-value items. Track individual units by serial number and their specific location history.

Developer Experience

Interact with the WMS via the `WMSService` facade. Clean, fluent interfaces for complex logistics.

Locations & Hierarchy

Create warehouses and nested storage bins.

Serial Management

Register new items with specific serial numbers tied to a location.

use Obelaw\Wms\Facades\WMS;
use Obelaw\Wms\Enums\LocationType;

// 1. Create a Warehouse
$warehouse = WMS::locations()->create([
    'name' => 'Main DC',
    'type' => LocationType::WAREHOUSE,
]);

// 2. Create a Bin inside it
WMS::locations()->create([
    'name' => 'Bin A-01',
    'type' => LocationType::STORAGE_BIN,
    'warehouse_id' => $warehouse->id,
    'parent_id' => $warehouse->id
]);

Seamless Ecosystem Integration

Obelaw PIM

Links physical stock to rich product data and unit definitions.

Obelaw OMS

Reserves stock automatically when orders are placed and confirms shipments.

Obelaw FMS

Tracks inventory asset values and cost of goods sold (COGS).

Hardware Ready

Barcode and QR code friendly architecture for scanning devices.

Back to Stack Overview