Industrial factory floor with production machinery and heavy equipment
Business Central extension · visual finite-capacity scheduling

Drag a Gantt bar. Reschedule the shop.

Three interchangeable Gantt boards over standard BC Manufacturing and Projects — Operations, Project, and Unified Resource. Real finite capacity. Every move undoable. A Claude copilot that suggests, never commits. Standalone by architecture.

  • Operations · Project · Unified Resource boards
  • Real finite-capacity scheduler with alt-machine
  • Claude copilot: suggest, never commit
  • Plan versions + KPI snapshots · plan compare
  • Late-risk prediction · shop-floor mobile progress
  • Standalone (dependencies: []) · undoable audit

Where Planning Studio shows up for the people who use it

Planner Role Center

Activities, KPIs, plan versions

Operations Board

Machines · Work Centers · Routing

Project Board

Jobs · Tasks · Dependencies

AI Copilot page

Chat · suggestions · logs

Shop-floor mobile

Start · pause · complete · scrap

Why we built it

BC ships MRP that's infinite-capacity and worksheet-driven. Real shops need a Gantt.

Standard Business Central Planning Worksheet is fine for demand-supply matching. It stops being fine the moment a planner has to sequence eleven firm-planned orders onto seven machines that share three fixtures and one skilled operator. That work happens in a spreadsheet today — copied out of BC, argued over in a meeting, copied back in as a manual re-order-date. Planning Studio puts that work back into BC, on a real Gantt UI with a real finite-capacity engine, and lets Claude suggest moves the planner accepts or rejects. Nothing is auto-committed. Every move is undoable. Every plan is versioned.

Finite
capacity engine

Sequences respect Machine Center calendars, alt-machine rules, secondary constraints and material readiness. Nothing is overloaded silently.

Undoable
every drag, every drop

Change Log Manager makes every move reversible. Try aggressive rescheduling knowing revert is one click. Plan baselines are protected.

Zero
declared dependencies

app.json declares no required AppSource dependency. Sits alongside standard BC and any other extensions you already run. Upgrade-safe.

Three boards, one engine

Three ways to look at the same schedule.

Operations focuses on machines and routing. Project focuses on jobs and dependencies. Unified Resource shows everything on one canvas. A move on any of the three posts through the same scheduling engine — no divergent state, no reconciliation.

Board 1 · Operations Planning Board
Finite capacity · shop floor · Gantt UI

A finite-capacity Gantt over the standard BC Production Order, Machine Center, Work Center, Routing and Planning Worksheet. Drag operations onto machines, split, reschedule, gap-close and cascade downstream impact. Alt-machine resolution respects skill and setup rules; subcontracted operations sit inline; material readiness is checked at each move.

  • Finite-capacity scheduler with alt-machine, gap-close and MRD
  • Sits alongside standard Planning Worksheet — not a replacement for MRP
  • Handles subcontract operations and staging lanes as first-class
  • Downstream impact + secondary constraints (tooling, operators, fixtures)
  • Works on Firm-Planned and Released Production Orders
Board 2 · Project Planning Board
Jobs · tasks · dependencies · templates

The same Gantt UX applied to standard BC Jobs, Job Tasks and Job Planning Lines. Dependency solver keeps chains consistent when a task moves. Project templates spin up new engagements from a proven structure. Skills matcher on Resource cards routes tasks to the right people.

  • Drag-and-drop over BC Jobs / Job Tasks / Job Planning Lines
  • Dependency solver — moves cascade through the chain
  • Project templates for repeatable engagements
  • Skill-matched assignment to Resources
  • Load-buffer view so overallocation is visible before it bites
Board 3 · Unified Resource Board
One view · people + machines + subcontract

One Gantt across every kind of capacity — human resources, machines and outsourced work — so the planner sees the whole picture in a single scroll. Filter by department, skill, calendar or shift. Any move made here is the same move the domain-specific board would make; it posts through the same scheduling engine.

  • One board for humans + machines + subcontract
  • Filter by department, skill, calendar or shift
  • Same engine as Operations / Project boards — no divergent state
  • Shift + calendar aware for accurate capacity math
  • Colour-coded overallocation and idle bands
Core capabilities

Eight capabilities planners actually rely on.

The features that show up in Monday-morning planning meetings, in the daily stand-up, and in the auditor's change-log review.

Real finite capacity

The scheduler is finite — it will not overload a machine or a resource just because the standard Planning Worksheet said the order was due. Overallocation is surfaced with a resolution path, not hidden.

Every move is undoable

Change Log Manager records every drag, delete and gap-close. Undo, redo and revert-to-baseline are one click. Planners try aggressive moves knowing nothing is destructive.

Plan versions + KPIs

Snapshot a plan, publish it, run the shop against it. KPI snapshots — on-time%, load%, lateness distribution — travel with the version so plan-vs-plan comparison is a real diff, not a memory test.

Late-risk prediction

The Late Risk Predictor scores every operation and job for on-time probability using the finite-capacity plan plus historical variance. Planners see the risky bars before the customer does.

Shop-floor mobile progress

A small mobile companion for operators — start op, pause op, complete op, report scrap. Progress lands through the Page API, updates the routing lines, and re-scores late risk in real time.

Claude scheduling copilot

Ask in plain English — "can we close the gap on line 4 without slipping Job ACME?" Claude reads the board state, proposes moves, and returns them as suggestions the planner accepts or rejects. Nothing is applied without a human step.

Teams + Outlook notifications

Late-risk changes, plan publications and assignment changes ping the right person in the channel they already use. No email folder to babysit.

Change audit + baselines

Full audit of who moved what, when, and against which plan version. Baselines you can revert to. Auditors and customers get a clean narrative of every schedule decision.

Claude inside — with a clear boundary

Four places AI suggests. Three places it never touches.

Every AI call goes directly to Anthropic Claude. The API key lives in Isolated Storage. Every prompt is logged with token counts. The default model is Claude Opus. There is no fallback provider — one API, one contract.

The copilot is two-gated and off by default. A license entitlement gates the module at the license layer; an explicit setup opt-in gates it per company. Without both, the AI provider resolves to a no-op — nothing leaves the tenant. And no matter how the copilot is licensed, no AI response ever applies a schedule change on its own. A human clicks Accept, or nothing happens.

AI on
  • Gap closing

    Given a capacity gap on a machine, suggest a combination of moves (alt-machine, split, sequence swap) that closes it without slipping downstream due dates.

  • What-if reasoning

    "What happens to Job ACME's due date if we accept this rush order?" Claude runs the mental model against the board and returns a written impact summary + the moves that would soften it.

  • Move suggestions

    Natural-language plan-adjustment requests turn into a list of concrete drag-and-drop moves, ranked by predicted impact. The planner accepts individually.

  • Late-risk explanation

    For any job or operation flagged as high-risk, Claude produces a plain-English explanation of why — which constraints are hitting, which upstream events raised the probability.

AI off — by design
  • Applying moves

    No AI suggestion applies itself. Every move is human-approved before it touches the scheduler. The apply path is the same one a manual drag uses.

  • Committing production orders

    Firming and releasing production orders remains a deliberate BC action. AI never firms or releases on its own — it can only recommend.

  • Constraint definition

    Alt-machine rules, secondary constraints and shift calendars are authored by planners. AI reads them; it never rewrites them.

End-to-end walkthrough

A late order lands. The board gets rescheduled.

One flow a planner runs every week: a rush production order arrives, capacity is already tight, and something has to move. Here's what the app actually does — every step is auditable, every AI move is human-approved, every drag is undoable.

  1. 1Sales creates the rush Sales Order; the promised date is tighter than the standard lead time.
  2. 2MRP suggests a new firm-planned production order on the Planning Worksheet.
  3. 3Planner opens the Operations Planning Board and sees the new bar has landed on top of an already-full machine.
  4. 4Planner asks the AI Copilot: "Close this gap without slipping Job ACME."
  5. 5Claude reads the board state, proposes three moves (split op, swap sequence, use alt-machine), each with predicted impact.
  6. 6Planner accepts move #2 in the AI Suggestions page.
  7. 7Scheduler applies the move; downstream impact cascades; late-risk is rescored; change is captured in the Change Log.
  8. 8Notification sent to the Job ACME owner via Teams — "no delivery impact, plan updated."
  9. 9Plan version snapshotted; KPI dashboard shows the new load% and on-time% delta.
  10. 10Shop-floor operators see the updated bars on the mobile companion; start-op events flow back and refresh late-risk as the day progresses.
Sample AI suggestion
Request
  "Close the gap on Line 4 without
   slipping Job ACME."

Board state
  Load%      108 (over)
  Late risk  Job ACME  0.32
  Late risk  Job BETA  0.11

Suggestion #2 (recommended)
  Move Op 302 to alt-machine MC-05
  Swap sequence 411 <-> 412
  Predicted:
    Load% Line 4       94
    Late risk ACME     0.09
    Late risk BETA     0.13
    Load% MC-05        88

Applied by
  Planner: rachel@acme  15:42
  Baseline version    v2026-07-19-A
  Change log entry    #4137
Architecture & governance

Six architectural decisions that keep Planning Studio clean for the long run.

Each one is enforced — by AppSourceCop, by our own ruleset, or by the guard rails baked into the code paths themselves.

Standalone by architecture

app.json declares zero required dependencies on any other AppSource app. Nothing to break during a BC major upgrade cycle. Every hook into base BC goes through event subscribers — never a modification to a base object.

AI cannot commit to the schedule

Every Claude call is advisory. The scheduler applies a move only when a human clicks Accept in the AI Suggestions page. There is no code path where an AI response reaches the finite-capacity engine without human approval.

AI is two-gated, off by default

The AI-COPILOT license entitlement gates the module at the license layer. On top of that, an explicit setup opt-in per company gates it at the tenant layer. Without both, the AI provider resolves to a no-op — nothing leaves the tenant.

Direct to Anthropic Claude

The Claude API key lives in Isolated Storage under SFPLN_ANTHROPIC_KEY. Every prompt is logged in SSFPLN AI Prompt Log with token counts. The default model is Claude Opus. There is no fallback provider — one API, one contract.

Renderer-agnostic UI

The Gantt is drawn by an interchangeable adapter — a custom SVG renderer ships in the box; vis-timeline and frappe-gantt are supported as optional adapters when your team can supply the JS libraries. The domain logic never depends on which renderer is active.

Feature-guarded everything

Every page, action and code path runs through FeatureGuard which checks the customer's active license tier and per-feature entitlement. Turning off a feature is a licensing operation — nothing to uninstall, nothing to redeploy.

Implementation

4–6 weeks single domain. 6–8 weeks Unified.

Implementation scales with the number of boards you activate and the amount of shift-calendar / alt-machine data you already have clean. A single-domain deployment (Operations only or Projects only) is the fast path. Unified adds the resource-side data prep.

4–6
weeks · single domain
6–8
weeks · unified
Production planner reviewing manufacturing schedules and drawings
BC 24+ · Cloud-only · AppSource-pathed

Per-Tenant Extension while AppSource clears. Same code, same license.

Week 1

Kickoff

Scope agreed: Operations only, Projects only, or Unified. Machine-center / work-center / routing data reviewed. AI copilot decision (on or off) confirmed. Assisted-setup wizard run in a sandbox tenant.

Week 2

Configure

Shift calendars mapped. Alt-machine rules authored per work center. Secondary constraints (tooling, operators, fixtures) defined. Project templates copied from live engagements. AI entitlement activated if licensed.

Weeks 3–4

Pilot

One production line or one project group. Planner uses the board daily, mobile progress live for operators, plan versions snapshotted each Monday. KPI baseline captured for the next phase.

Week 5

Cutover

All lines / all projects on Planning Studio as source-of-truth. Previous scheduling tool retired. Teams / Outlook notifications enabled. Change-audit reporting handed to the operations lead.

Week 6+

Steady state

Weekly plan publication, KPI review, drift analysis. Claude copilot used for gap-closing and what-if reasoning. Late-risk report reviewed at daily stand-up.

Beyond

Optimise

Refine alt-machine rules from actuals. Extend Unified Resource Board scope. Enable shop-floor mobile for more operators. Layer scenario planning on top of published plan versions.

Planning Studio FAQ

Frequently asked questions

No. It augments them. Microsoft's standard Planning Worksheet still runs MRP; Planning Studio is what you use after MRP suggests firm-planned orders — to sequence them onto finite-capacity work centers with a real Gantt UI, to solve alt-machine and secondary-constraint problems, and to publish plan versions with KPIs. If you're happy with infinite-capacity MRP output, you don't need Planning Studio; if you're building spreadsheets to fix MRP output, you probably do.

Book a working session

Bring one week of your real production data. We'll build the board live.

A 60-minute working session, not a slide deck. Send us a slice of your Machine Center, Work Center, Routing and Production Order data. We load it into a BC sandbox, activate Planning Studio, and rebuild your current-week schedule on the Gantt in front of you. Then we let the copilot loose on one real problem you have this week.

  • Your real data · loaded into a BC sandbox
  • Operations, Project or Unified — your call
  • Copilot demonstrated on a real problem you name
  • Written proposal within one working day

Book a Planning Studio session

Tell us whether you run Manufacturing, Projects or both, and how many production lines or active jobs. We respond within one working day.

WhatsAppCall us