← Back to Inventory Management overview
Features (Full Detail) — Inventory Management
Current version: v1.0.0
Enterprise inventory management module for Perfex CRM
This page explains module capabilities in depth so new users understand what each feature does, why it matters, and how to use it inside Perfex CRM.
Feature catalog (explained)
Every major capability below is explained in plain language — what it is, why it helps, and how to use it.
1. Live dashboard with stock value, movement trends, low-stock count, and expiring items
In plain words: Live dashboard with stock value, movement trends, low-stock count, and expiring items
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Go to Inventory Management → Reports / Dashboard (or the matching analytics screen), set filters (date, status, warehouse, staff), then run or export the report.
2. Multi-warehouse stock overview with batch/serial/expiry columns
In plain words: Multi-warehouse stock overview with batch/serial/expiry columns
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
3. Opening stock entry
In plain words: Opening stock entry
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
4. Stock movements ledger (full audit trail)
In plain words: Stock movements ledger (full audit trail)
Why it matters: This supports compliance, audit readiness, and on-time operations so nothing important is missed.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
5. Warehouse CRUD with manager assignment
In plain words: Warehouse CRUD with manager assignment
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
6. Bin/location management (zone, aisle, rack, shelf, bin code)
In plain words: Bin/location management (zone, aisle, rack, shelf, bin code)
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
7.
In plain words:
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Create a draft record, submit it, then have an approver open the same record and Approve / Reject. Approvers need the approve permission on their role.
8.
In plain words:
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Create a draft record, submit it, then have an approver open the same record and Approve / Reject. Approvers need the approve permission on their role.
9.
In plain words:
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
10.
In plain words:
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
11. Batch/serial tracking on stock rows
In plain words: Batch/serial tracking on stock rows
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
12. Batch/serial CRUD with status badges
In plain words: Batch/serial CRUD with status badges
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
13. Expiry alerts for stock nearing expiration
In plain words: Expiry alerts for stock nearing expiration
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
14. Syncs with Purchase Management module (modules/purchase_management/)
In plain words: Syncs with Purchase Management module (modules/purchase_management/)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Enable credentials in Inventory Management → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
15. GRN posting updates inventory stock and creates movements
In plain words: GRN posting updates inventory stock and creates movements
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
16. GRN cancel reverses stock correctly
In plain words: GRN cancel reverses stock correctly
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
17. Mirrors GRN records in inventory_purchase_receives
In plain words: Mirrors GRN records in inventory_purchase_receives
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
18. Stock valuation, movement, transfer, adjustment, and expiry reports
In plain words: Stock valuation, movement, transfer, adjustment, and expiry reports
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Go to Inventory Management → Reports / Dashboard (or the matching analytics screen), set filters (date, status, warehouse, staff), then run or export the report.
19. CSV export on supported reports
In plain words: CSV export on supported reports
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Go to Inventory Management → Reports / Dashboard (or the matching analytics screen), set filters (date, status, warehouse, staff), then run or export the report.
20. Full audit log viewer with detail view and CSV export
In plain words: Full audit log viewer with detail view and CSV export
Why it matters: This supports compliance, audit readiness, and on-time operations so nothing important is missed.
How to use it: Open the list screen for this data, use Import / Export / PDF buttons (or the bulk actions menu), follow the template columns, then verify a few rows after upload.
21. Invoice stock deduction (configurable trigger — manual, creation, sent, paid)
In plain words: Invoice stock deduction (configurable trigger: manual, creation, sent, paid)
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Configure under Inventory Management → Settings, and assign staff access from Setup → Staff → Roles.
22. Credit note stock restoration
In plain words: Credit note stock restoration
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
23. Invoice cancel/delete stock restoration
In plain words: Invoice cancel/delete stock restoration
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
24. Estimate stock reservation (optional)
In plain words: Estimate stock reservation (optional)
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
25. “Manage Stock” link on invoice item modal and items list
In plain words: “Manage Stock” link on invoice item modal and items list
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
26. Read-only endpoints for warehouses, stock, movements, and low stock
In plain words: Read-only endpoints for warehouses, stock, movements, and low stock
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
27. API key authentication (X-INV-API-Key)
In plain words: API key authentication (X-INV-API-Key)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Enable credentials in Inventory Management → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
28. Disabled by default — enable in Settings
In plain words: Disabled by default — enable in Settings
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Configure under Inventory Management → Settings, and assign staff access from Setup → Staff → Roles.
29. Low stock alerts from reorder rules
In plain words: Low stock alerts from reorder rules
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
30. Expiry alerts from stock rows within alert window
In plain words: Expiry alerts from stock rows within alert window
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
31. Cooldown deduplication via inventory_alert_logs
In plain words: Cooldown deduplication via inventory_alert_logs
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
32. Recipients — warehouse manager, optional extra staff IDs, active admins
In plain words: Recipients: warehouse manager, optional extra staff IDs, active admins
Why it matters: This keeps stock quantities accurate across warehouses so sales and purchasing decisions stay reliable.
How to use it: Open Inventory Management in the admin sidebar, then use the related menu screen for this capability.
Screens map — what each menu is for
These are the admin screens registered by Inventory Management. Click a name in the Knowledge Base for a full how-to, or open the path in admin.
| # | Screen | Admin path | Guide |
|---|---|---|---|
| 1 | Dashboard | admin/inventory_management | How to use |
| 2 | Warehouses | admin/inventory_management/inventory_management_warehouses | How to use |
| 3 | Locations / Bins | admin/inventory_management/inventory_management_locations | How to use |
| 4 | Stock Overview | admin/inventory_management/inventory_management_stock | How to use |
| 5 | Opening Stock | admin/inventory_management/inventory_management_stock/opening_stock | How to use |
| 6 | Stock Movements | admin/inventory_management/inventory_management_movements | How to use |
| 7 | Stock Transfers | admin/inventory_management/inventory_management_transfers | How to use |
| 8 | Stock Adjustments | admin/inventory_management/inventory_management_adjustments | How to use |
| 9 | Batch & Serial Tracking | admin/inventory_management/inventory_management_batches | How to use |
| 10 | Reorder Rules | admin/inventory_management/inventory_management_reorder | How to use |
| 11 | Low Stock Alerts | admin/inventory_management/inventory_management_reorder/low_stock | How to use |
| 12 | Purchase Receiving | admin/inventory_management/inventory_management_purchases | How to use |
| 13 | Reports | admin/inventory_management/inventory_management_reports | How to use |
| 14 | Audit Logs | admin/inventory_management/inventory_management_audit | How to use |
| 15 | Settings | admin/inventory_management/inventory_management_settings | How to use |
Features & workflows from documentation
Features
Dashboard & stock
- Live dashboard with stock value, movement trends, low-stock count, and expiring items
- Multi-warehouse stock overview with batch/serial/expiry columns
- Opening stock entry
- Stock movements ledger (full audit trail)
Warehouses & locations
- Warehouse CRUD with manager assignment
- Bin/location management (zone, aisle, rack, shelf, bin code)
Operations
- Stock transfers — draft → approval → in transit → received workflow
- Stock adjustments — increase/decrease with optional approval
- Reorder rules — min/max qty per item/warehouse
- Low stock alerts — in-app notifications and email (realtime + cron)
Batch, serial & expiry
- Batch/serial tracking on stock rows
- Batch/serial CRUD with status badges
- Expiry alerts for stock nearing expiration
Purchase integration
- Syncs with Purchase Management module (
modules/purchase_management/) - GRN posting updates inventory stock and creates movements
- GRN cancel reverses stock correctly
- Mirrors GRN records in
inventory_purchase_receives
Reports & audit
- Stock valuation, movement, transfer, adjustment, and expiry reports
- CSV export on supported reports
- Full audit log viewer with detail view and CSV export
Perfex CRM integration
- Invoice stock deduction (configurable trigger: manual, creation, sent, paid)
- Credit note stock restoration
- Invoice cancel/delete stock restoration
- Estimate stock reservation (optional)
- “Manage Stock” link on invoice item modal and items list
REST API
- Read-only endpoints for warehouses, stock, movements, and low stock
- API key authentication (
X-INV-API-Key) - Disabled by default — enable in Settings
Cron & email alerts
- Low stock alerts from reorder rules
- Expiry alerts from stock rows within alert window
- Cooldown deduplication via
inventory_alert_logs - Recipients: warehouse manager, optional extra staff IDs, active admins
---
Permissions
| Feature key | Capabilities | Menu area |
|---|---|---|
| ------------- | -------------- | ----------- |
inventory_management | view | Dashboard |
inventory_dashboard | view | Dashboard widget |
inventory_warehouse | view, create, edit, delete | Warehouses, Locations |
inventory_stock | view, create, edit, adjust | Stock, Movements, Transfers*, Adjustments*, Batches, Reorder, Purchases |
inventory_transfer | view, create, approve, receive | Stock transfers |
inventory_adjustment | view, create, approve | Stock adjustments |
inventory_reports | view, export | Reports, Audit logs |
inventory_settings | view, edit | Settings |
\* Transfer and adjustment capabilities use their own feature keys when approval workflows apply.
---
Settings reference
| Option | Default | Description |
|---|---|---|
| -------- | --------- | ------------- |
inventory_enable_negative_stock | 0 | Allow stock to go below zero |
inventory_stock_deduction_trigger | manual | When invoices deduct stock |
inventory_enable_batch_tracking | 1 | Track batch numbers on stock |
inventory_enable_serial_tracking | 1 | Track serial numbers on stock |
inventory_enable_expiry_alerts | 1 | Include expiry in cron alerts |
inventory_expiry_alert_days | 30 | Days ahead for expiry alerts |
inventory_default_warehouse | 0 | Default warehouse for operations |
inventory_valuation_method | average | average or fifo |
inventory_auto_reorder_alerts | 1 | Low stock notifications |
inventory_transfer_approval_required | 1 | Transfers need approval |
inventory_adjustment_approval_required | 1 | Adjustments need approval |
inventory_show_item_tab | 1 | Show stock links on items |
inventory_enable_estimate_reservation | 0 | Reserve stock on estimates |
inventory_sync_purchase_management | 1 | Sync GRN from Purchase Management |
inventory_cron_alerts_enabled | 1 | Run alerts on Perfex CRM cron |
inventory_cron_email_alerts | 1 | Send email in addition to notifications |
inventory_cron_alert_cooldown_hours | 24 | Hours before same alert repeats |
inventory_cron_alert_staff_ids | (empty) | Comma-separated extra staff IDs |
inventory_restore_stock_on_credit_note | 1 | Restore stock when credit note is created |
inventory_restore_stock_on_invoice_cancel | 1 | Restore stock when invoice cancelled/deleted |
inventory_api_enabled | 0 | Enable read-only REST API |
inventory_api_key | (auto-generated) | Send as header X-INV-API-Key |
Configure under Inventory Management → Settings. Use Run Alerts Now to test cron alerts without waiting for the scheduler.
---
Workflows
Stock transfer
Draft → Request approval → Approved → In transit → Received
↓ ↓
Rejected Cancelled
When approval is required (default), stock is reserved/deducted at the appropriate stage and received into the destination warehouse.
Stock adjustment
Draft → Pending approval → Approved (stock updated)
↓
Rejected
Low stock alert
Triggered when available_qty <= min_qty on an active reorder rule:
- Realtime — on stock update via
inventory_management_notify_low_stock() - Cron — scans all reorder rules on each cron run
- Respects cooldown per item/warehouse combination
Expiry alert
Triggered when stock has expiry_date within inventory_expiry_alert_days and qty_available > 0.
---
Cron alerts
Registered with Perfex CRM via:
after_cron_run→inventory_management_cron_handlernumbers_of_features_using_cron_job— counts this module when enabledused_cron_features— shows “Inventory Management stock & expiry alerts”
Recipients (in order):
- Warehouse manager (
inventory_warehouses.manager_id) - Extra staff from
inventory_cron_alert_staff_ids - All active admin staff
Deduplication: Alerts are logged in inventory_alert_logs. The same alert key is not sent again within the cooldown window.
---
Permissions
| Feature | Capabilities |
|---|---|
| --------- | ------------- |
inventory_management | view (dashboard) |
inventory_warehouse | view, create, edit, delete |
inventory_stock | view, create, edit, adjust |
inventory_transfer | view, create, approve, receive |
inventory_adjustment | view, create, approve |
inventory_reports | view, export |
inventory_settings | view, edit |
---
Workflows
Stock transfer
Draft → Requested → Approved → In transit → Completed
↓
Rejected / Cancelled
Stock adjustment
Draft → Pending approval → Approved
↓
Rejected
Sales integration
| Event | Stock action |
|---|---|
| ------- | ------------- |
| Invoice (per trigger setting) | Deduct stock (sale_issue) |
| Credit note created | Restore stock (stock_return) |
| Invoice cancelled/deleted | Restore net remaining stock |
Settings control credit note and invoice restoration independently.
---
REST API
Enable under Settings → API Settings.
| Endpoint | Description |
|---|---|
| ---------- | ------------- |
GET /inventory_management/api | Module info |
GET /inventory_management/api/warehouses | All warehouses |
GET /inventory_management/api/stock | Stock rows (filter: warehouse_id) |
GET /inventory_management/api/stock/{item_id} | Stock for one item |
GET /inventory_management/api/movements | Recent movements (filters: item_id, warehouse_id, movement_type, limit) |
GET /inventory_management/api/low_stock | Low stock from reorder rules |
Authentication: Header X-INV-API-Key: your-key or query ?api_key=your-key
API is read-only and disabled by default.
---
Cron alerts
Registered on after_cron_run. Sends low-stock and expiry alerts with cooldown deduplication via inventory_alert_logs.
---
Permissions
| Feature | Capabilities |
|---|---|
| --------- | ------------- |
inventory_management | view (dashboard) |
inventory_warehouse | view, create, edit, delete |
inventory_stock | view, create, edit, adjust |
inventory_transfer | view, create, approve, receive |
inventory_adjustment | view, create, approve |
inventory_reports | view, export |
inventory_settings | view, edit |
---
Workflows
Stock transfer
Draft → Requested → Approved → In transit → Completed
↓
Rejected / Cancelled
Stock adjustment
Draft → Pending approval → Approved
↓
Rejected
Sales integration
| Event | Stock action |
|---|---|
| ------- | ------------- |
| Invoice (per trigger setting) | Deduct stock (sale_issue) |
| Credit note created | Restore stock (stock_return) |
| Invoice cancelled/deleted | Restore net remaining stock |
Settings control credit note and invoice restoration independently.
---
REST API
Enable under Settings → API Settings.
| Endpoint | Description |
|---|---|
| ---------- | ------------- |
GET /inventory_management/api | Module info |
GET /inventory_management/api/warehouses | All warehouses |
GET /inventory_management/api/stock | Stock rows (filter: warehouse_id) |
GET /inventory_management/api/stock/{item_id} | Stock for one item |
GET /inventory_management/api/movements | Recent movements (filters: item_id, warehouse_id, movement_type, limit) |
GET /inventory_management/api/low_stock | Low stock from reorder rules |
Authentication: Header X-INV-API-Key: your-key or query ?api_key=your-key
API is read-only and disabled by default.
---
Cron alerts
Registered on after_cron_run. Sends low-stock and expiry alerts with cooldown deduplication via inventory_alert_logs.
---
Listing highlights
Item Title
Inventory Management Module for Perfex CRM
Short Description (max ~160 chars)
Enterprise multi-warehouse inventory for Perfex CRM — transfers, batches, alerts, reports. By Nasbix Technologies.
Full Description
Use HTML from:
releases/codecanyon/inventory_management_submission/copy/02_description.html
How to Use
releases/codecanyon/inventory_management_submission/copy/03_how_to_use.txt
Tags
releases/codecanyon/inventory_management_submission/copy/04_tags.txt
Category
PHP Scripts > Add-ons > Perfex CRM
Files to upload
| CodeCanyon field | File |
|---|---|
| ------------------ | ------ |
| Thumbnail 80×80 | .../images/thumbnail_80x80.png |
| Preview 590×300 | .../images/preview_590x300.jpg |
| Screenshots ZIP | .../screenshots/screenshots.zip |
| Main File | inventory_management-v1.0.0-codecanyon.zip |
Official HTML documentation (feature sections)
Features
Enterprise inventory management module for Perfex CRM
- Live dashboard with stock value, movement trends, low-stock count, and expiring items
- Multi-warehouse stock overview with batch/serial/expiry columns
- Opening stock entry
- Stock movements ledger (full audit trail)
- Warehouse CRUD with manager assignment
- Bin/location management (zone, aisle, rack, shelf, bin code)
- **Stock transfers** — draft → approval → in transit → received workflow
- **Stock adjustments** — increase/decrease with optional approval
- **Reorder rules** — min/max qty per item/warehouse
- **Low stock alerts** — in-app notifications and email (realtime + cron)
- Batch/serial tracking on stock rows
- Batch/serial CRUD with status badges
- Expiry alerts for stock nearing expiration
- Syncs with **Purchase Management** module (`modules/purchase_management/`)
- GRN posting updates inventory stock and creates movements
- GRN cancel reverses stock correctly
- Mirrors GRN records in `inventory_purchase_receives`
- Stock valuation, movement, transfer, adjustment, and expiry reports
- CSV export on supported reports
- Full audit log viewer with detail view and CSV export
Permissions
Granular staff capabilities are registered on activation. Assign them under Setup → Staff → Roles for the Inventory Management capability group.
Typical capabilities include view, create, edit, delete, plus module-specific actions (approve, export, settings, API access).
Cron Jobs
Background tasks (if enabled) run through Perfex CRM's main cron. Example crontab (every 5 minutes):
* * * * * php /path/to/perfex/index.php cron/index > /dev/null 2>&1
Check module settings for scheduled jobs (alerts, sync, reports, retention).
Related: Quick Start · How to Install · FAQ & Tips · Version & Changelog