> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Planning (MRP)

> How demand turns into suggested jobs and purchase orders — and where that ends and scheduling begins.

Planning determines what to make or buy and in what quantity. Alforse's MRP nets demand against supply across the complete bill of materials. It converts shortages into suggested orders and offsets component demand by lead time.

## Two stages

Planning has two distinct stages:

1. **MRP, explode and net.** The engine explodes demand through bills of material, nets it against on-hand plus open jobs and purchase orders, and writes period-bucketed demand forecasts (plus the demand and supply *actuals* it read). It then sizes each shortage with the item's reorder policy and writes a planning action for it, and one for every open order whose date or quantity no longer fits.
2. **Planning views, show and apply.** The production and purchasing planning pages project running stock week by week, show the actions on each row, and let you apply them.

NOTE

MRP **suggests, it never auto-orders.** The engine writes forecasts and suggestions; turning a suggestion into a real job or PO, or moving an existing one, is an explicit action you take on the planning page.

## When it runs

MRP recalculates on its own every 3 hours. To run it once a day instead, go to **Settings → Planning → MRP Schedule**, choose **Once a day**, and pick the hour; the hour is on your company's time zone. You can also run it yourself at any moment with **Recalculate** on the planning pages, whichever schedule is set; hover the button to see which schedule is active.

## What feeds it

| Input | Source |
| - | - |
| Customer demand | Open sales-order lines, by promised date. |
| Production demand | Job material still to issue, offset by lead time. |
| Forecast demand | Manually entered demand projections. |
| Open supply | Open jobs and open purchase-order lines. |
| On hand | The item ledger balance. |

## Reorder policy

Each item, per location, carries a **reordering policy** that decides how a suggestion is sized: *Manual Reorder* (suggests nothing), *Demand-Based Reorder* (the default), *Fixed Reorder Quantity*, or *Maximum Quantity*. Each is tuned by reorder point, order quantity, accumulation period, and min/max/multiple rounding. See [Reordering](/docs/reference/reordering.md) for the parameters in full.

## From suggestion to order

An item's **replenishment system** determines where its shortage appears. *Make* items produce suggested jobs on the production planning page; *Buy* items produce suggested POs on the purchasing page. Choosing **Order** creates a saved job or purchase order with status **"Planned"**, pending release into its normal lifecycle. Purchase orders are grouped one per supplier per week, so each week's order is sent on its own and the later weeks stay open to planning changes.

NOTE

**"Planned"** is a real, saved job or PO that came from a planning suggestion and is waiting to be released — distinct from a hand-started **"Draft"**.

## Reading the grid

Each row is an item at the location. **Stock Availability** draws the projected stock for every planning week as one strip; the CSV export keeps a column per week. **1st Negative On Hand** is the first week the projection goes below zero. **Latest Order Date** is the date you must order by to receive in time (the required date less the lead time); it turns red once it has passed. Open a row to see the order drawer.

## Planning actions

Every MRP run leaves a worklist on the planning pages. Each row's **Actions** column shows one chip per open action type, an **ASAP** flag when a suggestion is already late, and a muted count of the actions you dismissed. Expand the row to see each action with its target order, quantity, date and assignee; hover the action type for MRP's reason.

| Action | Target | What applying it does |
| - | - | - |
| **Order** / **Make** | none yet | Opens the order drawer; the existing **Order** button creates the PO or job. |
| **Expedite** / **Defer** | an open PO line or job | Moves the required date (PO line) or the due date (job) to the suggested date. |
| **Increase** / **Decrease** | an open PO line or job | Sets the line's purchase quantity, or the job's quantity, to the suggested quantity. |
| **Cancel** | an open PO line or job | Deletes the PO line, or cancels the job, when nothing needs it. |

**Apply** is offered only while the target can still change from planning: a PO at **"Draft"** or **"Planned"**, a job at **"Draft"** or **"Planned"**. A PO that has been sent or is in approval, a job on the floor, or a PO line whose date the supplier has promised shows **Review** instead, and you make the change on the order itself. Select several rows and choose **Apply Suggested Changes** to apply every open action on them at once. Apply writes the suggestion as it is at that moment: if an MRP run refreshed the action after the page loaded, the refreshed quantity or date is what lands. A job that had no deadline gets a **Soft Deadline** with its new date. Cancelling a PO line deletes it, so it needs the purchasing delete permission.

NOTE

**A dismissed action stays dismissed until the need changes**

**Dismiss** hides an action you have decided not to take. The next MRP runs keep it hidden while the suggested quantity stays the same and the date moves by no more than the reschedule tolerance; a larger change reopens it. **Reopen** brings it back by hand. **Assign to Me** sets the owner, and MRP keeps a hand-set owner on later runs.

An applied action is finished: the next run re-evaluates the changed order and writes a fresh action only if something still does not fit.

Alforse screenshot**Production planning grid with the Actions column and one row expanded to its action lines**

Each row carries its open actions; expand it to apply, dismiss or assign them.

## The order drawer

The drawer shows the item's suggested orders — the same Order or Make suggestions as the row's action list, one per week, refreshed each time MRP runs — and, below them, its **Open Jobs** (production) or **Open Orders** (purchasing). An open order at **"Draft"** or **"Planned"** can be edited in place: change its **Due Date** or **Quantity** in the grid and the order is saved. The **Suggestion** column shows the open action on that order, with the same Apply, Dismiss, Reopen and Assign controls as the grid. Suggested orders due after the row's planning horizon stay out of the drawer until you choose **N More After \<date>**. The chart in the drawer marks the planning horizon.

## Planning horizon

The **Planning Horizon** column is a date per row: today plus the item's horizon in days. A row shows only the actions and suggested orders due on or before that date, so a long planning window does not bury next week's work. Set the company default in **Settings → Planning → Planning Horizon**, and override it per item on the item's planning tab (**Planning Horizon (Days)**). An item set to 0 shows everything MRP plans, whatever the company default.

Moving the date in the column widens or narrows that one row for this page view only; it never changes the item.

## Reschedule tolerance

MRP suggests **Expedite** or **Defer** only when an open order lands more than the tolerance away from the date it is needed. Set it in **Settings → Planning → Reschedule Tolerance**; a new company starts at 0, which suggests a move for any date difference.

Two kinds of open order never get a change suggestion. An order due after the planning window (48 weeks) is outside what the check can judge, so it is left alone rather than offered for Cancel. An order that holds the item's safety stock or reorder point is never Cancelled, Decreased or Deferred; it can still be Expedited when demand needs it earlier.

## Planning ownership

Each action gets a responsible employee, resolved from the most specific setting that names one: the item at that location, then the item group at that location, then the location, then the company default. Set the rungs in **Settings → Planning → Planning Ownership** and on the item's planning tab (**Responsible Employee**). Filter the grid by assignee to see your own worklist.

## Planning vs scheduling

Planning determines quantities; **scheduling** determines timing and work-center allocation. After a job exists, scheduling places its operations on work centers and calculates dates without changing quantities.

## Related

**Reordering**

The replenishment policies and parameters that size a suggestion.

[Open](/docs/reference/reordering.md)

**Jobs**

What a Make suggestion becomes once you order it.

[Open](/docs/reference/jobs.md)

**Demand forecasts**

The projections MRP plans against, and how real orders consume them.

[Open](/docs/reference/forecast.md)

**Company settings**

The planning settings behind the horizon, the tolerance and the owner ladder.

[Open](/docs/reference/company-settings.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.