Multi-Plant Management — Overview & How to Use

Module: Multi-Plant Management v1.0.0

What is Multi-Plant Management?

Enterprise multi-plant hierarchy, access control, and inter-plant operations for Perfex CRM

This module installs into modules/multi_plant_management/ and adds its own admin menus, permissions, and database tables — without editing Perfex CRM core files.

Who should use this module?

  • Admins — activate the module, configure Settings, assign roles, and manage integrations.
  • Operators / day-to-day staff — create and update records (orders, attendance, shipments, messages, etc.).
  • Managers / approvers — review queues, approve workflows, and monitor dashboards/KPIs.
  • Finance / compliance / ops leads — run reports, exports, and audit trails when the module supports them.

What you can achieve

  • Keep all related work in one place inside Perfex CRM instead of spreadsheets.
  • Control who can view, create, edit, approve, or export with role permissions.
  • Use dashboards and reports to see status, bottlenecks, and history.
  • Connect to other CRM data (customers, invoices, items, staff) where the module integrates.

Recommended learning path

  1. Read How to Install and activate the module.
  2. Skim Features so you know what screens exist.
  3. Complete the Quick Start checklist on this page (Settings → masters → first sample record).
  4. Open each screen guide under Screen-by-screen guides when you need step-by-step help.
  5. Check Version & Changelog after upgrades for new options.

Tip: Train one admin first, then create a limited role for operators so they only see the screens they need.

5-minute Quick Start

Follow this short path the first time you use Multi-Plant Management:

  1. Activate — Setup → Modules → activate Multi-Plant Management (run Upgrade if prompted).
  2. Permissions — Setup → Staff → Roles → enable view/create/edit (and approve/settings if needed) for this module.
  3. Settings — Open Multi-Plant Management → Settings and save company defaults, prefixes, and integrations.
  4. Master data — Create the first required masters (products, warehouses, templates, channels, accounts, routes, etc.).
  5. First transaction — Create one sample record end-to-end (save → submit/approve → complete) and confirm it appears in lists/reports.
  6. Cron — If the module uses alerts, sync, queues, or AI, confirm Perfex CRM cron is scheduled on the server.

Module documentation index

Start here — full guides for Multi-Plant Management:

Screen-by-screen guides (each tab explained)

Click a menu item below for step-by-step instructions on that Multi-Plant Management screen:

How to use in Perfex CRM (daily operations)

  1. Sign in to the admin area with a role that includes Multi-Plant Management permissions.
  2. Open Multi Plant Management (sidebar) or search for Multi-Plant Management in the admin menu.
  3. Start on the Dashboard (if available) to see open tasks, pending approvals, and KPIs.
  4. Review Settings after upgrades — new options may need defaults for your company.
  5. Create or import master data first; most modules block transactions until masters exist.
  6. Run the main business flow (create → submit → approve → post/complete) using the screens listed in Admin menu below.
  7. Use Reports / Analytics screens to reconcile stock, finance, compliance, or SLA metrics.
  8. For integrations (API, EDI, gateways, tax), confirm credentials in Settings and monitor logs or webhook delivery screens.
  9. Train staff with role-based access — give approvers approve permissions only, operators create/edit on their area.
  10. If something fails overnight, check Perfex CRM cron ran and open the module log / failed queue screen if present.

Admin menu — where to work

Open the Multi-Plant Management section in the admin sidebar. Screens your staff may use (depending on role):

  • API Keys
  • Bulk Import
  • Capacity Calendar
  • Costing Profiles
  • Integrations
  • Inter-Plant Transfers
  • Multi-Plant
  • Plant Dashboard
  • Plant Hierarchy
  • Plants
  • Reports
  • Settings
  • Webhooks

Screens map — what each menu is for

These are the admin screens registered by Multi-Plant Management. Click a name in the Knowledge Base for a full how-to, or open the path in admin.

#ScreenAdmin pathGuide
1Plant Dashboardadmin/multi_plant_managementHow to use
2Plantsadmin/multi_plant_management/multi_plant_management_plantsHow to use
3Plant Hierarchyadmin/multi_plant_management/multi_plant_management_plants/hierarchyHow to use
4Inter-Plant Transfersadmin/multi_plant_management/multi_plant_management_transfersHow to use
5Costing Profilesadmin/multi_plant_management/multi_plant_management_costingHow to use
6Capacity Calendaradmin/multi_plant_management/multi_plant_management_capacityHow to use
7Reportsadmin/multi_plant_management/multi_plant_management_reportsHow to use
8Integrationsadmin/multi_plant_management/multi_plant_management_integrationsHow to use
9Settingsadmin/multi_plant_management/multi_plant_management_settingsHow to use

Detailed guide — features, workflows, API & FAQ

Features

AreaCapabilities
----------------------
PlantsMaster data, hierarchy, default plant, staff assignments
MappingWarehouse / workstation mapping, plant switcher
TransfersInter-plant transfers with approval & receive flow
Costing & capacityCosting profiles, capacity calendar
ReportsPlant comparison, transfer history, utilization
IntegrationsREST API, webhooks, bulk CSV import

---

Quick Start

  1. Settings — Enable multi-plant mode, set default plant
  2. Plants → New Plant — Create your first manufacturing plant
  3. Assign staff and map warehouses/workstations
  4. Use the Active Plant switcher on the dashboard
  5. Integrations — Configure API keys, webhooks, bulk import

---

REST API

Base URL: /multi_plant_management/multi_plant_management_api

GET  /plants              List plants
POST /plants              Create plant (write scope)
GET  /plants/{id}         Get plant
GET  /transfers           List transfers
GET  /transfers/{id}      Get transfer
GET  /context             Active plant context
POST /context             Set active plant

Authentication: Authorization: Bearer mpm_... or header X-MPM-API-Key

---

Webhooks

EventTrigger
----------------
plant.createdNew plant via UI, API, or CSV import
transfer.receivedInter-plant transfer received

Signed with X-MPM-Signature: sha256=... when secret is configured.

---

Database Tables

TablePurpose
----------------
tblmpm_plantsPlant master
tblmpm_plant_staffStaff assignments
tblmpm_plant_warehousesWarehouse mappings
tblmpm_plant_workstationsWorkstation mappings
tblmpm_plant_transfersTransfer headers
tblmpm_plant_transfer_itemsTransfer lines
tblmpm_plant_costing_profilesCosting rates
tblmpm_plant_capacity_calendarShift/downtime calendar
tblmpm_api_keysREST API tokens
tblmpm_webhooksWebhook subscriptions
tblmpm_webhook_deliveriesDelivery log
tblmpm_integration_logsAPI/webhook/import audit
tblmpm_plant_logsGeneral audit trail

Options marker: mpm_db_version (100 for v1.0.0)

---

Permissions

FeatureCapabilities
-----------------------
mpm_dashboardview
mpm_plantsview, create, edit, delete
mpm_transfersview, create, edit, approve, receive
mpm_reportsview, export
mpm_integrationsview
mpm_api_keysview, create, edit, delete
mpm_webhooksview, create, edit, delete
mpm_importview, create
mpm_settingsview, edit

---

How to Use

1. Settings

  1. Open Multi-Plant → Settings.
  2. Enable Multi-Plant Mode.
  3. Set plant code prefix (e.g. PLT-) and transfer prefix (e.g. IPT-).
  4. Optionally require plant context before plant-scoped actions.
  5. Enable REST API / webhooks if needed.

2. Create plants

  1. Open Multi-Plant → Plants → New Plant.
  2. Choose type: Corporate HQ, Regional, Manufacturing, Distribution, or Warehouse.
  3. Set parent plant for hierarchy, manager, capacity, and address.
  4. Assign staff and mark primary plant / switch permission.
  5. Map warehouses and workstations on the plant record.

3. Switch active plant

Use the Active Plant switcher in admin. Staff only see plants they are assigned to (admins can access all).

4. Inter-plant transfers

  1. Open Inter-Plant Transfers → New.
  2. Select from/to plant and warehouses, add line items.
  3. Submit → Approve (if required) → Receive → Close.

5. Costing, capacity & reports

  • Costing Profiles — labor/overhead rates per plant
  • Capacity Calendar — shifts and downtime by date
  • Reports — comparison, transfer history, utilization

6. Integrations

  • Create API keys under Integrations
  • Configure webhooks for plant.created and transfer.received
  • Use bulk CSV import for plants / staff mappings

Features

  • Plant hierarchy and staff plant access control
  • Warehouse / workstation mapping and plant switcher
  • Inter-plant transfer workflow with approval & receive
  • Costing profiles and capacity calendar
  • Reports, REST API, webhooks, bulk import
  • Clean uninstall removes all module data

Permissions

Assign under Setup → Staff → Roles.

FeatureCapabilities
mpm_dashboardview
mpm_plantsview, create, edit, delete
mpm_transfersview, create, edit, approve, receive
mpm_reportsview, export
mpm_integrationsview
mpm_api_keysview, create, edit, delete
mpm_webhooksview, create, edit, delete
mpm_importview, create
mpm_settingsview, edit

REST API (optional)

Base path: /multi_plant_management/multi_plant_management_api

GET  /plants
POST /plants
GET  /plants/{id}
GET  /transfers
GET  /transfers/{id}
GET  /context
POST /context

Auth: Authorization: Bearer mpm_... or header X-MPM-API-Key

Uninstall

  1. Deactivate Multi-Plant Management in Setup → Modules.
  2. Click Uninstall.

This removes all Multi-Plant Management database tables (mpm_*) and module settings/options. Core Perfex CRM files are not modified.

After activation — configuration checklist

  1. Go to Setup → Modules and activate Multi-Plant Management.
  2. Reload admin once if menus do not appear — schema version mpm_db_version is set to 100 for v1.0.0.
  3. Assign permissions under Setup → Staff → Roles.
  4. Open the module menu and configure settings (default plant, prefixes, API/webhooks).
  5. Perfex CRM 2.3+ (3.x recommended)
  6. PHP 7.4+ (8.1+ recommended)
  7. MySQL 5.7+ / MariaDB 10.3+ (InnoDB)
  8. PHP extensions: mysqli, json, mbstring, curl, fileinfo

Staff permissions (from module)

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

FeatureActions
Plant Dashboard
mpm_dashboard
view
Plants
mpm_plants
view, create, edit, delete
Inter-Plant Transfers
mpm_transfers
view, create, edit, approve, receive
Reports
mpm_reports
view, export
Settings
mpm_settings
view, edit
Integrations
mpm_integrations
view
API Keys
mpm_api_keys
view, create, edit, delete
Webhooks
mpm_webhooks
view, create, edit, delete
Bulk Import
mpm_import
view, create

One-time setup (first time only)

  1. Setup → Modules → activate Multi-Plant Management.
  2. Setup → Staff → Roles → assign Multi-Plant Management permissions (view, create, edit, delete, approve, export, settings as needed).
  3. Open Multi-Plant Management → Settings and complete company defaults, prefixes, integrations, and notification options.
  4. Create master data (warehouses, products, templates, accounts, routes, etc.) before processing live transactions.
  5. Enable Perfex CRM cron (php /path/to/perfex/index.php cron/index) for sync, retries, alerts, and scheduled jobs.
  6. Optionally enable REST API / webhooks in module settings if you integrate external systems.

Tips for success

  • Always configure Settings before creating live transactions.
  • Create master data (items, warehouses, templates, channels, accounts) first — most modules block incomplete records.
  • Use a test/sample record before going live with real customers or production stock.
  • Separate roles: operators create/edit; managers approve; finance/reporting get view/export only.
  • After any module upgrade, reopen Settings and confirm new options have sensible defaults.
  • If overnight jobs fail, verify Perfex CRM cron and check the module log / failed queue screen.

Common questions (FAQ)

Where do I find the module after activation?

In the admin sidebar look for Multi-Plant Management. If missing, your role may lack view permission — fix under Setup → Staff → Roles.

Do I need to edit core Perfex CRM files?

No. Keep all custom code under modules/multi_plant_management/. Activate/deactivate from Setup → Modules.

What happens if I uninstall?

Deactivate keeps data. Uninstall usually removes module tables/options (see the Install article). Core customers, invoices, and items are not deleted by well-built modules.

Why can't my staff see a screen?

Almost always a permissions issue. Give the role at least view on that feature, then ask the user to log out and back in.

Reports/export buttons do nothing

Confirm the role has export (or view reports) permission, and that filters return at least one row. Try PDF/CSV from a wider date range.


Perfex CRM Knowledge Base — detailed usage guide generated from module README, HOW_TO_USE, and documentation.

Did you find this article useful?