Inventory Management — Features (Full Detail)

← 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.

#ScreenAdmin pathGuide
1Dashboardadmin/inventory_managementHow to use
2Warehousesadmin/inventory_management/inventory_management_warehousesHow to use
3Locations / Binsadmin/inventory_management/inventory_management_locationsHow to use
4Stock Overviewadmin/inventory_management/inventory_management_stockHow to use
5Opening Stockadmin/inventory_management/inventory_management_stock/opening_stockHow to use
6Stock Movementsadmin/inventory_management/inventory_management_movementsHow to use
7Stock Transfersadmin/inventory_management/inventory_management_transfersHow to use
8Stock Adjustmentsadmin/inventory_management/inventory_management_adjustmentsHow to use
9Batch & Serial Trackingadmin/inventory_management/inventory_management_batchesHow to use
10Reorder Rulesadmin/inventory_management/inventory_management_reorderHow to use
11Low Stock Alertsadmin/inventory_management/inventory_management_reorder/low_stockHow to use
12Purchase Receivingadmin/inventory_management/inventory_management_purchasesHow to use
13Reportsadmin/inventory_management/inventory_management_reportsHow to use
14Audit Logsadmin/inventory_management/inventory_management_auditHow to use
15Settingsadmin/inventory_management/inventory_management_settingsHow 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 keyCapabilitiesMenu area
--------------------------------------
inventory_managementviewDashboard
inventory_dashboardviewDashboard widget
inventory_warehouseview, create, edit, deleteWarehouses, Locations
inventory_stockview, create, edit, adjustStock, Movements, Transfers*, Adjustments*, Batches, Reorder, Purchases
inventory_transferview, create, approve, receiveStock transfers
inventory_adjustmentview, create, approveStock adjustments
inventory_reportsview, exportReports, Audit logs
inventory_settingsview, editSettings

\* Transfer and adjustment capabilities use their own feature keys when approval workflows apply.

---

Settings reference

OptionDefaultDescription
------------------------------
inventory_enable_negative_stock0Allow stock to go below zero
inventory_stock_deduction_triggermanualWhen invoices deduct stock
inventory_enable_batch_tracking1Track batch numbers on stock
inventory_enable_serial_tracking1Track serial numbers on stock
inventory_enable_expiry_alerts1Include expiry in cron alerts
inventory_expiry_alert_days30Days ahead for expiry alerts
inventory_default_warehouse0Default warehouse for operations
inventory_valuation_methodaverageaverage or fifo
inventory_auto_reorder_alerts1Low stock notifications
inventory_transfer_approval_required1Transfers need approval
inventory_adjustment_approval_required1Adjustments need approval
inventory_show_item_tab1Show stock links on items
inventory_enable_estimate_reservation0Reserve stock on estimates
inventory_sync_purchase_management1Sync GRN from Purchase Management
inventory_cron_alerts_enabled1Run alerts on Perfex CRM cron
inventory_cron_email_alerts1Send email in addition to notifications
inventory_cron_alert_cooldown_hours24Hours before same alert repeats
inventory_cron_alert_staff_ids(empty)Comma-separated extra staff IDs
inventory_restore_stock_on_credit_note1Restore stock when credit note is created
inventory_restore_stock_on_invoice_cancel1Restore stock when invoice cancelled/deleted
inventory_api_enabled0Enable 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_handler
  • numbers_of_features_using_cron_job — counts this module when enabled
  • used_cron_features — shows “Inventory Management stock & expiry alerts”

Recipients (in order):

  1. Warehouse manager (inventory_warehouses.manager_id)
  2. Extra staff from inventory_cron_alert_staff_ids
  3. 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

FeatureCapabilities
----------------------
inventory_managementview (dashboard)
inventory_warehouseview, create, edit, delete
inventory_stockview, create, edit, adjust
inventory_transferview, create, approve, receive
inventory_adjustmentview, create, approve
inventory_reportsview, export
inventory_settingsview, edit

---

Workflows

Stock transfer

Draft → Requested → Approved → In transit → Completed
              ↓
          Rejected / Cancelled

Stock adjustment

Draft → Pending approval → Approved
              ↓
          Rejected

Sales integration

EventStock action
--------------------
Invoice (per trigger setting)Deduct stock (sale_issue)
Credit note createdRestore stock (stock_return)
Invoice cancelled/deletedRestore net remaining stock

Settings control credit note and invoice restoration independently.

---

REST API

Enable under Settings → API Settings.

EndpointDescription
-----------------------
GET /inventory_management/apiModule info
GET /inventory_management/api/warehousesAll warehouses
GET /inventory_management/api/stockStock rows (filter: warehouse_id)
GET /inventory_management/api/stock/{item_id}Stock for one item
GET /inventory_management/api/movementsRecent movements (filters: item_id, warehouse_id, movement_type, limit)
GET /inventory_management/api/low_stockLow 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

FeatureCapabilities
----------------------
inventory_managementview (dashboard)
inventory_warehouseview, create, edit, delete
inventory_stockview, create, edit, adjust
inventory_transferview, create, approve, receive
inventory_adjustmentview, create, approve
inventory_reportsview, export
inventory_settingsview, edit

---

Workflows

Stock transfer

Draft → Requested → Approved → In transit → Completed
              ↓
          Rejected / Cancelled

Stock adjustment

Draft → Pending approval → Approved
              ↓
          Rejected

Sales integration

EventStock action
--------------------
Invoice (per trigger setting)Deduct stock (sale_issue)
Credit note createdRestore stock (stock_return)
Invoice cancelled/deletedRestore net remaining stock

Settings control credit note and invoice restoration independently.

---

REST API

Enable under Settings → API Settings.

EndpointDescription
-----------------------
GET /inventory_management/apiModule info
GET /inventory_management/api/warehousesAll warehouses
GET /inventory_management/api/stockStock rows (filter: warehouse_id)
GET /inventory_management/api/stock/{item_id}Stock for one item
GET /inventory_management/api/movementsRecent movements (filters: item_id, warehouse_id, movement_type, limit)
GET /inventory_management/api/low_stockLow 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 fieldFile
------------------------
Thumbnail 80×80.../images/thumbnail_80x80.png
Preview 590×300.../images/preview_590x300.jpg
Screenshots ZIP.../screenshots/screenshots.zip
Main Fileinventory_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).

Staff permissions (from module)

Assign under Setup → Staff → Roles. Each feature can expose different actions:

FeatureActions
Inventory
inventory_management
view
Dashboard
inventory_dashboard
view
Warehouses
inventory_warehouse
view, create, edit, delete
Stock
inventory_stock
view, create, edit, adjust
Stock Transfers
inventory_transfer
view, create, approve, receive
Stock Adjustments
inventory_adjustment
view, create, approve
Reports
inventory_reports
view, export
Settings
inventory_settings
view, edit

Related: Quick Start · How to Install · FAQ & Tips · Version & Changelog

Did you find this article useful?