S&OP / Demand Planning — Overview & module guide

Module: S&OP / Demand Planning v1.4.0

Sales & Operations Planning and demand forecasting for BIXCRM

Screen-by-screen guides (each tab explained)

Click a menu item below for step-by-step instructions on that S&OP / Demand Planning screen:

How to use in BIXCRM (daily operations)

  1. Sign in to the admin area with a role that includes S&OP / Demand Planning permissions.
  2. Open Demand Planning (sidebar) or search for S&OP / Demand Planning 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 BIXCRM cron ran and open the module log / failed queue screen if present.

Admin menu — where to work

Open the S&OP / Demand Planning section in the admin sidebar. Screens your staff may use (depending on role):

  • Consensus Forecasts
  • Demand Forecasts
  • Demand Planning
  • Distributor Demand
  • Executive Dashboard
  • Exports
  • Forecast Accuracy
  • Forecast Item Groups
  • Historical Actuals
  • Inventory Gap
  • Planning Cycles
  • Planning Dashboard
  • Reports
  • Revenue vs Budget
  • S&OP Meetings
  • S&OP Process
  • Safety Stock
  • Scenarios
  • Settings
  • Statistical Forecast
  • Supply Plans
  • Webhooks

Detailed guide — features, workflows, API & FAQ

Current Version: 1.4.0 (Phase 5)

Phase 1 Features

FeatureStatus
-----------------
Planning cycles (weekly / monthly / quarterly)Done
Auto-generated planning periodsDone
Item-level demand forecastsDone
Draft → Submit → Approve workflowDone
Planning dashboard with KPIsDone

Phase 2 Features

FeatureStatus
-----------------
Historical actuals sync (invoices, estimates, sales orders)Done
Statistical forecasting (moving avg, exponential, seasonal)Done
Baseline vs manual override on forecast linesDone
Forecast item groups + bulk generationDone
MAPE / bias accuracy reportingDone

Phase 3 Features

FeatureStatus
-----------------
Supply plans (production / purchase) with approvalDone
Inventory projection (on-hand + inbound − forecast)Done
Inventory / Purchase / Manufacturing inbound hooksDone
Safety stock min / max / reorder rulesDone
Gap analysis + draft supply plan generationDone

Phase 4 Features

FeatureStatus
-----------------
Pre-S&OP and executive meetings + attendeesDone
Meeting action items with owners and due datesDone
Sales / finance / ops consensus forecastsDone
Best / base / worst scenario planningDone
Executive dashboard (revenue, margin, capacity)Done

Phase 5 Features (New)

FeatureStatus
-----------------
REST API for cycles, forecasts, supply plans, gaps, consensusDone
Webhooks (forecast.approved, cycle.closed, plus S&OP events)Done
CSV / S&OP pack exportsDone
Distributor sales-order demand signal vs forecastDone
Accounting Pro revenue forecast vs income budgetDone

Quick Start (Phase 5)

  1. Settings → API & Integrations → enable the API and generate a key
  2. Create webhooks for forecast.approved / cycle.closed (HMAC header X-DP-Signature)
  3. Exports → pick a cycle and download forecast / supply / consensus CSV or the S&OP pack
  4. Distributor Demand → compare open + delivered sales orders with the forecast
  5. Revenue vs Budget → compare forecast/consensus revenue with Accounting Pro income budgets
  6. Close a cycle from the cycle form when the S&OP cadence is finished

REST API

Base path: /demand_planning/demand_planning_api

Auth: X-DP-API-Key, Authorization: Bearer <key>, or ?api_key=

MethodPathNotes
----------------------
GET/Catalog (no auth)
GET/cycles, /cycle/{id}Planning cycles + periods
GET/forecasts, /forecast/{id}Optional cycle_id, status, item_id
POST/forecastsCreate draft forecast + lines
GET/supply_plans, /supply_plan/{id}Phase 3
POST/supply_plansCreate draft supply plan
GET/gaps?cycle_id=Inventory gap snapshot
GET/consensus, /consensus/{id}Phase 4

Menu Structure

Menu ItemPurpose
--------------------
Planning DashboardKPIs and quick actions
Planning CyclesHorizon and period setup
Demand ForecastsManual and generated forecasts
Statistical ForecastAuto-generate from history
Historical ActualsSync and view sales actuals
Forecast Item GroupsProduct family groupings
Forecast AccuracyMAPE / bias reports
Supply PlansPlanned production / purchase
Inventory GapProjection and replenishment suggestions
Safety StockMin / max / reorder thresholds
Executive DashboardS&OP financial and capacity view
S&OP MeetingsCadence meetings and actions
Consensus ForecastsSales / finance / ops number
ScenariosBest / base / worst cases
ExportsForecast, supply, consensus, S&OP pack
Distributor DemandSales-order signal vs forecast
Revenue vs BudgetForecast/consensus vs income budget
WebhooksOutbound event endpoints
SettingsModule configuration

Database Tables (Phase 1–5)

TablePurpose
----------------
dp_planning_cyclesPlanning horizon master
dp_planning_periodsTime buckets within a cycle
dp_demand_forecastsForecast header (+ method, MAPE, bias)
dp_demand_forecast_linesPeriod qty (+ baseline_qty)
dp_historical_actualsSynced sales history by item/period
dp_item_groupsForecast product families
dp_item_group_itemsItems in each group
dp_forecast_accuracyPer-period accuracy metrics
dp_supply_plansPlanned production / purchase headers
dp_supply_plan_linesPeriod planned qty
dp_safety_stockMin / max / reorder by item / plant
dp_inventory_gapsProjection snapshot
dp_sop_meetingsPre-S&OP / executive meetings
dp_sop_attendeesMeeting attendees and roles
dp_sop_actionsMeeting decisions with owners
dp_consensus_forecastsConsensus header
dp_consensus_forecast_linesSales / finance / ops / consensus qty
dp_scenariosScenario factors
dp_scenario_resultsRun snapshot (revenue, margin, coverage)
dp_webhooksOutbound webhook endpoints
dp_webhook_deliveriesDelivery log
dp_logsAudit trail

Integrations

ModuleIntegration
---------------------
BIXCRM Items / Invoices / EstimatesHistorical actuals + item rate for revenue
Distributors / WholesalersSales order actuals + live demand signal
Multi-Plant ManagementPlant scope on forecasts, safety stock, consensus
Inventory ManagementOn-hand qty, reorder import, average cost for margin
Purchase ManagementOpen PO remaining qty as inbound
ManufacturingOpen work orders, BOM cost, workstation capacity
Accounting ProIncome-account budget vs forecast/consensus revenue

Hooks: dp_on_hand_qty, dp_inbound_qty, dp_after_gap_calculated, dp_after_forecast_approved, dp_after_cycle_closed, dp_after_supply_plan_approved, dp_after_meeting_completed, dp_after_consensus_approved, dp_after_scenario_run, dp_item_unit_price, dp_item_unit_cost, dp_capacity_utilization.

Webhooks: forecast.approved, cycle.closed, supply_plan.approved, consensus.approved, meeting.completed. Signed with X-DP-Signature: sha256=<hmac>.

Roadmap

See [docs/ROADMAP.md](docs/ROADMAP.md) — Phase 5 complete.

DB Version

Check option dp_db_version — expected 104 after Phase 5.

Features

Sales & Operations Planning and demand forecasting for BIXCRM

See README.md in the module folder for the complete feature list.

Permissions

Granular staff capabilities are registered on activation. Assign them under Setup → Staff → Roles for the S&OP / Demand Planning 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 BIXCRM's main cron. Example crontab (every 5 minutes):

* * * * * php /path/to/bixcrm/index.php cron/index > /dev/null 2>&1

Check module settings for scheduled jobs (alerts, sync, reports, retention).

After activation — configuration checklist

  1. Go to Setup → Modules and activate S&OP / Demand Planning.
  2. If prompted, click Upgrade Database or reload admin — migrations run automatically.
  3. Assign permissions under Setup → Staff → Roles.
  4. Open the module menu and configure settings.
  5. BIXCRM 3.0+
  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
Planning Dashboard
dp_dashboard
view
Planning Cycles
dp_cycles
view, create, edit, delete
Demand Forecasts
dp_forecasts
view, create, edit, delete, approve
Reports
dp_reports
view, export
Supply Plans
dp_supply
view, create, edit, delete, approve
S&OP Process
dp_sop
view, create, edit, delete, approve
Settings
dp_settings
view, edit

One-time setup (first time only)

  1. Setup → Modules → activate S&OP / Demand Planning.
  2. Setup → Staff → Roles → assign S&OP / Demand Planning permissions (view, create, edit, delete, approve, export, settings as needed).
  3. Open S&OP / Demand Planning → 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 BIXCRM cron (php /path/to/bixcrm/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.

BIXCRM Knowledge Base — usage guide generated from module README and documentation.

Did you find this article useful?