NetSuite MRP gives manufacturers a structured way to answer three questions: what materials do we need, how much, and when? The MRP engine reads open sales orders, active forecasts, current inventory levels, and Bill of Materials data, then generates planned purchase orders and work orders to cover demand. For production planners working across multiple product lines and dozens of components, that calculation happening automatically inside the same system that holds your orders and inventory is a significant operational shift. This post walks through every layer of NetSuite MRP setup, from BOM configuration to running the engine and interpreting planned orders, with the specific settings and gotchas that determine whether your first MRP run produces actionable output or a list of noise. For broader platform context, the NetSuite ERP product overview covers how manufacturing fits within the full suite.

An overhead view of a worker processing soap packages in a traditional factory setting.

How NetSuite MRP Calculates Material Requirements

The MRP engine in NetSuite runs a time-phased calculation. It starts with gross requirements, which are the quantities demanded by sales orders and forecasts within your planning horizon. It then subtracts on-hand inventory and any scheduled receipts (purchase orders, work orders already in progress) to produce net requirements. Finally, it applies the lot-sizing rules from each item record to generate planned orders of the right size at the right time.

The planning horizon is configurable per MRP run. A 90-day horizon is common for discrete manufacturers with moderate lead times. The engine uses the lead times stored on each item record and on vendor records to offset planned purchase orders backward from the need date, so a component with a 21-day supplier lead time will have its planned purchase order start date set 21 days before the assembly work order is scheduled to begin.

Three fields on the item record directly control how MRP sizes planned orders:

MRP and reorder point replenishment can coexist in NetSuite, but mixing them for the same item without a clear policy creates duplicate planned orders. Decide per item which method governs replenishment, and mark the other method inactive on that item record.

Setting Up Bills of Materials in NetSuite

Every finished good and sub-assembly that passes through your production floor needs an accurate Bill of Materials before NetSuite MRP can calculate component requirements. In NetSuite, a BOM is a versioned record attached to an assembly item. You can maintain multiple BOM revisions and specify which revision is active for production at any given time, which matters when engineering changes are in flight.

Each BOM line holds a component item, a quantity per assembly, a unit of measure, and optionally a yield factor. The yield factor tells MRP to inflate the component quantity to account for expected scrap. If your process consumes 1.05 kg of raw material to produce 1 kg of finished part after trim loss, set the yield to 95% and MRP will plan 1.05 kg of purchases per finished unit automatically.

BOM setup checklist

Incomplete BOM data is the single most common reason an MRP run produces zero planned orders for a finished good. Before running MRP for the first time, pull the BOM where-used report and confirm every component in the explosion has a valid supply source and lead time.

Creating and Managing Work Orders in NetSuite

Work orders in NetSuite represent an instruction to manufacture a specific quantity of an assembly by a specific date. MRP generates planned work orders automatically, but a planner must review and firm each planned order before it becomes an actual work order visible to the production floor.

When you firm a planned work order, NetSuite creates the work order record, allocates the component inventory, and optionally creates routing operations if you have production routings set up. The work order then moves through status transitions: Planned, Released, In Progress, and Completed. Component consumption is recorded against the work order when you post a work order completion or a partial completion transaction.

Key work order fields to configure

FieldWhat it controls
Start DateUsed for production scheduling and capacity load reports
End DateMRP uses this as the completion date when scheduling dependent demand
BOM RevisionLocks in the component list at the time of firming
Build QuantityDrives total component allocations and planned output
LocationMust match the location where component inventory is stocked

Work orders can be created manually outside of MRP for urgent builds or prototypes. Manual work orders appear in the MRP supply picture as scheduled receipts on their end date, so MRP will not generate a duplicate planned order for the same need.

Vast industrial factory floor with machinery, crates, and structured workstations.

Production Scheduling and Capacity Planning

NetSuite’s production scheduling module sits alongside MRP and uses the work center and routing data to load operations onto a calendar. Each work center has a defined capacity in hours per day. When a routed work order is released, its operations are sequenced against work center availability using either forward scheduling (start from today) or backward scheduling (start from the due date and work backward).

Capacity load reports in NetSuite show overloaded work centers by week. A planner can see, for example, that the CNC cell is at 140% capacity in week 3 and can manually adjust operation start dates or split the work order to balance load. This is a manual adjustment process in NetSuite’s standard manufacturing module. Advanced Manufacturing, NetSuite’s add-on for high-volume discrete manufacturers, adds finite scheduling and drag-and-drop dispatch boards, but the standard module gives you the load visibility needed to make informed decisions.

For manufacturers without formal routings, work orders still have start and end dates, and you can use those dates to estimate shop load informally using saved searches. It is less precise but functional for lower-complexity environments.

Demand Planning Inputs: Sales Orders and Forecasts

MRP reads two types of demand: firm demand from open sales orders and soft demand from production forecasts. You control which of these inputs the engine uses per MRP run, and you can set consumption rules that reduce forecast quantities as actual sales orders arrive, preventing double-counting.

NetSuite CRM and sales forecasting feeds directly into MRP when you use NetSuite’s Demand Planning module. Forecasts entered by the sales team at the item and period level become MRP demand without manual data transfer. The consumption logic works by matching sales orders to forecast buckets by item and date: when a sales order for 100 units arrives in a period where the forecast was 120, MRP treats the net uncovered forecast as 20 units and the firm sales order as 100.

For manufacturers with seasonal demand or long-lead-time purchased components, running MRP against a 6-month forecast horizon lets procurement place purchase orders ahead of firm sales, reducing the risk of material shortages at peak demand periods. The accuracy of that planning is only as good as the forecast, so connecting sales input to the forecast process is worth the configuration effort.

Running the MRP Engine and Reviewing Planned Orders

The MRP run in NetSuite is triggered from Transactions, then Manufacturing, then Run MRP. Before each run, you specify the planning horizon (start and end dates), the locations to include, and whether to use sales orders only, forecasts only, or both as demand sources. You can also filter by item or item class to run MRP for a product family without regenerating the full plan.

After the run completes, planned orders appear in the Planned Orders list. Each record shows the item, planned quantity, planned start date, planned end date, and the demand source that triggered it. Planners review this list and take one of three actions on each record:

  1. Firm: Converts to an actual work order or purchase order
  2. Reschedule: Adjusts dates before firming
  3. Delete: Removes if the planned order is not needed

Run MRP on a consistent cadence, weekly for most manufacturers, and clear out stale planned orders from previous runs before the new results arrive. NetSuite marks planned orders from prior runs as outdated, but leaving them in the list creates confusion during review. A saved search filtered to current-run planned orders sorted by item helps planners work through the list efficiently.

Common MRP Configuration Mistakes to Avoid

Most MRP failures trace back to data quality rather than software configuration. These are the problems encountered most frequently during NetSuite ERP implementation for manufacturing clients.

Missing or incorrect lead times

If a component item has no lead time on its vendor record, MRP assumes zero lead time and places the planned purchase order on the same date as the need. The order will appear correct in the planned orders list but will be impossible to execute. Audit all purchased component items for lead time before go-live.

Inactive BOM revisions

A BOM revision must be in Active status and within its effective date range for MRP to use it. A common mistake is creating a new revision for an engineering change but forgetting to set the old revision to Obsolete. MRP will use the revision with the latest effective date, but if both revisions overlap in their effective ranges, the results are unpredictable.

Safety stock set too high

Safety stock in NetSuite is treated as a permanent demand floor. If you set safety stock to 500 units for a component that you actually only need as a buffer for demand variability, MRP will always plan enough to keep 500 on hand regardless of actual demand, inflating purchase recommendations and tying up working capital.

Locations not included in the MRP run

If your finished goods inventory sits in a different location than the one selected in the MRP run parameters, that inventory does not reduce your net requirements. The result is MRP recommending production of goods you already have in stock. Always confirm that your MRP run includes all locations where supply and demand are active.

Firming planned orders without reviewing dates

Planned order dates from MRP are calculated dates based on lead times and demand, but they do not account for supplier minimums, production batch constraints, or calendar holidays. Firming a planned order without adjusting dates to reflect real-world constraints pushes inaccurate due dates onto vendors and your production team.

Frequently Asked Questions

Does NetSuite MRP work with multi-level BOMs?

Yes. NetSuite MRP performs a full multi-level BOM explosion. When a planned work order is generated for a finished good, the engine automatically calculates requirements for all sub-assemblies and raw materials at every level of the BOM. Sub-assembly work orders are generated as separate planned orders with start dates offset to ensure components are available before the parent assembly begins.

Can NetSuite MRP plan for both manufactured and purchased components in the same run?

Yes. The supply source field on each item record tells MRP whether to generate a planned work order (for manufactured items) or a planned purchase order (for purchased items). Both types appear in the planned orders list after the run, and planners can firm each type independently or in bulk.

How often should we run the MRP engine?

Weekly is the standard cadence for most discrete manufacturers. High-volume or make-to-order environments may benefit from running MRP daily. The key is consistency: running MRP at irregular intervals means planners are working from stale data between runs, which erodes confidence in planned order recommendations.

What is the difference between a planned order and a firmed order in NetSuite?

A planned order is a system recommendation generated by the MRP engine. It exists only in the MRP planned orders list and has no effect on inventory or purchasing until a planner acts on it. A firmed order is a confirmed work order or purchase order that has been formally created in NetSuite, triggering inventory allocation and vendor communication.

Can we use NetSuite MRP without production routings?

Yes. Routings are optional in NetSuite. MRP will still generate planned work orders based on BOM data and item lead times without any routing information. Routings add operation-level scheduling and work center load visibility, but manufacturers with simple production processes often start without them and add routings later as needed.

Setting up NetSuite MRP correctly the first time prevents months of planning errors and material shortages. Our team has configured NetSuite manufacturing modules for production environments across discrete, process, and mixed-mode operations.

Book a free consultation

NetSuite MRP is a practical tool for manufacturers who need to move beyond spreadsheet-based production planning. The engine itself is reliable when it receives accurate BOM data, realistic lead times, and clean inventory records. The configuration work is front-loaded: get the item records, BOMs, and supply sources right before the first run, and the planned orders it produces will reflect actual production needs. For teams looking to get this right from the start, NetSuite implementation services from a manufacturing-experienced partner reduces the trial-and-error typically associated with MRP go-live.