When ERPNext routings and capacity planning answer the shop floor question
A production planner needs to know whether the machines can take the next work orders before a promise date goes to a customer. ERPNext Capacity Planning answers that question by tracking the production jobs allocated to each workstation. The working hours, operations and costs for each machine or work centre are held in the Workstation master, so the plan is only as good as those records. A planner who has never maintained working hours, hourly rates or the list of operations a workstation can perform will see a plan that looks complete but does not reflect the floor.
Routings are the second part of the picture. In ERPNext, a routing is an operation template: it lists the sequence of operations an item goes through, the workstation or workstation type for each step, and the time expected for it. When a work order is created, the routing is used to build the job cards, one per operation, and those job cards are what get scheduled across workstations. Confirm in your version how routings attach to BOMs and item variants, and whether the scheduling view you need is available in the release you run, since capacity features change between major versions and the documentation for your version is the reference to check.
Teams need this when several work orders compete for the same machines, when the bottleneck is a specific workstation, or when lead times depend on machine availability rather than material. A small shop with one or two machines, where the planner already knows the sequence by heart, can often manage with work orders and job cards alone. Before committing to the full setup, run a short test: pick one constrained workstation, enter its real working hours and hourly rate, build a routing for one product, and check whether the schedule matches what the supervisor expects. The gaps that test exposes are the data work your team, or a partner, needs to plan.
Which workstation and routing model fits your floor
A single-machine cell is one workstation that performs every operation a product needs, or one operation repeated across several products. In ERPNext, the Workstation master holds the working hours, the operating costs and the operations the machine can run, which is what capacity planning uses to load jobs onto the machine. A routing for this layout is usually short, often one or two operations, so the main effort goes into getting the working hours and hourly cost right rather than into sequencing.
- Workstation hours: Set the working hours on the Workstation master so that capacity planning sees the real time the machine is available, including shifts that differ from the default.
- Operating cost: Enter the workstation cost so that job card time carries a cost into the work order valuation.
- Routing: Keep the routing to the operations the machine truly performs, since a short list makes the capacity view easier to read.
- Job cards: Expect one job card per operation, all queued against the same workstation, so the capacity view shows stacked load on one row.
- Bottleneck visibility: Because every job lands on one machine, the capacity view shows the constraint directly, which is useful for deciding whether to add a second machine.
Confirm with your own team how changeovers and setup time are recorded, because the documentation supports the working hours and cost fields, and your process may need a separate convention for setup.
A multi-station line passes work through several workstations in a fixed order, and each station may run different operations at different rates. Here the routing is the core model: an operation template lists the steps in sequence and the workstation or workstation type that performs each step. Capacity planning then schedules the job cards across those stations, so the sequence and the station hours determine when each product can move on.
- Operation templates: Define each operation once and reuse it in routings, so that a change to a step is made in one place.
- Routing sequence: List operations in the order the product passes through them, since this order drives the scheduling of dependent job cards.
- Station capacity: Set working hours on each Workstation master, because the slowest station usually sets the throughput of the line.
- Job card flow: Expect one job card per operation, scheduled across several workstations, so the capacity view shows load spread over the line and gaps where a station is idle.
- Re-sequencing: When the line changes, update the routing and the workstation hours together, then review open work orders before the change takes effect.
Before building the routings, confirm with your engineers which stations can run which steps, since a station that cannot perform an operation must not be assigned it.
A subcontracted operation is a step that an outside shop performs, such as plating, heat treatment or machining that you do not run in-house. The step still belongs in the routing so that the sequence and the lead time are visible, but there is no internal machine whose hours the capacity view can use. The practical question is how the outside step is represented on the floor, and whether the job card and the capacity view should show it at all.
- Operation in the routing: Keep the subcontracted step in the routing so the full sequence of the product stays visible in one place.
- Workstation for the external step: Confirm whether your team uses a placeholder workstation for the external shop, and set its hours to reflect the supplier's availability if you track it that way.
- Job card expectations: Decide with the shop floor whether a job card is raised for the external step, since the time recorded may be a lead time rather than machine time.
- Capacity view: Expect the internal capacity view to show only the in-house stations, so plan external lead times separately in your planning process.
- Purchasing link: Confirm how the outside work is ordered and received in your process, because the routing does not by itself create a purchase or a delivery.
Check with your supply chain team how external lead times, transport and supplier calendars are tracked, since the capacity view will not reflect them unless your process adds that information.
Configuration options and when each one fits
This table compares the four main configuration choices for routings and capacity in ERPNext: workstation working hours, workstation operating costs, operation templates in routings, and per workstation or per job card capacity checks. Read each row for the typical fit and the trade-off between costing accuracy and the effort of keeping master data current.
| Option | Typical fit | Trade-off |
|---|---|---|
| Workstation working hours | Plants where machines run fixed shifts and capacity must reflect real available time | Accurate scheduling, but holidays, shift changes and maintenance windows must be updated in the Workstation master or the plan drifts |
| Workstation operating costs | Costing that must reflect machine rates, labour and overhead per hour of operation | Better job costing and standard cost accuracy, but rates need periodic review as energy, labour and maintenance costs change |
| Operation templates in routings | Product families that share the same sequence of operations across many BOMs | Less duplication and faster BOM setup, but a change to a shared operation affects every routing that uses it, so changes need review |
| Routings built per product or variant | Products with unique sequences, customer-specific steps or frequent process changes | Precise routing for each item, but more records to maintain and a higher risk of outdated sequences |
| Capacity checked per workstation | Shops where each machine is a constraint and load must be balanced across machines | Shows overloads on a machine, but requires accurate working hours and job card allocation to be meaningful |
| Capacity checked per job card | Shops with few constraints where each job is planned individually and supervisors adjust sequencing on the floor | Simpler to start with, but gives less visibility of total load on a machine across the planning horizon |
| Operating costs at operation level only | Early-stage implementations focused on order tracking rather than detailed costing | Quick to set up, but product costs may understate overhead for machine-intensive steps |
How to set up workstations and routings before scheduling jobs
This sequence moves from a confirmed ERPNext version to capacity planning that places job cards on workstations within working hours. Each step ends with a check so that scheduling errors are caught before production runs.
Confirm the ERPNext version and manufacturing settings
Before creating any master data, confirm which ERPNext major version you run and that it is on a supported release line. Your implementation lead or internal ERP administrator records the version, then reviews the Manufacturing Settings and Stock Settings with the production planner so that work orders, job cards and stock entries behave as your process expects. Check the version against the supported versions page and confirm the planned operations are available in that release. Done when the version, settings and the list of features you intend to use are written down and signed off by the operations lead.
Define workstations with working hours and costs
Create each Workstation master with its working hours, hour rate and any overhead or operating cost your finance team uses for costing. The production planner enters the shift hours and holidays that the workstation should follow, and the controller confirms the cost fields match the cost centers in the chart of accounts. Capacity planning reads these hours, so a missing shift or an incorrect rate will show up later as overbooked or underused machines. Check: open two or three workstations, confirm the calendar matches the real shift pattern, and compare one hour rate against the figure the controller expects.
Define operations linked to workstations
Create an Operation master for each process step, such as cutting, welding, assembly or packing, and link each one to the workstation type or workstation that performs it. The manufacturing lead agrees the operation names and any standard description so that job cards read consistently on the shop floor. Keep the list short enough that supervisors recognize each step, and avoid creating one operation per machine when a shared operation covers the work. Check: filter the workstation list by operation and confirm every operation that a product needs resolves to at least one workstation.
Build routings from operations
Create a Routing for each product family or process, listing its operations in sequence with the expected operating time per operation and, where relevant, the workstation to use. The industrial engineer or process owner supplies the sequence and time standards, and the planner reviews the result for missing or duplicated steps. Routings act as operation templates, so one routing can serve several BOMs that share a process. Check: take one finished product, walk through its routing against the written process sheet, and confirm every step and time standard matches.
Attach routings to BOMs
Open each BOM for the products that use the routing and select the routing on the BOM. The BOM engineer confirms that the operations on the routing match the sub-assemblies and components in the BOM, and that the BOM costing reflects the operation costs. Attaching the routing here lets work orders created from the BOM pull the correct operations into job cards. Check: create a draft work order for one BOM, open its operations, and confirm the operation list and sequence match the routing.
Run capacity planning for the planned period
Open Capacity Planning, select the planning period and the workstations in scope, and review the jobs allocated to each workstation. The production planner uses this view to see which job cards fall on which machines and whether load exceeds available hours. Adjust the work orders, dates or workstation assignments where the plan is not feasible, then rerun the view. Done when every planned job has a workstation and a time window that the team accepts.
Check allocated jobs against working hours
Compare the allocated job cards with each workstation's working hours and holidays. Pick a sample job card and confirm that its start and end times fall inside a working shift, that the operation time matches the routing, and that the workstation cost is applied as expected. The planner and the shop floor supervisor review the sample together, since they will spot shift patterns or setup times that the system does not model. Document any gaps, such as machines that run beyond the calendar, and decide whether to change the calendar or the plan before releasing work orders to the floor.
Confirm the plan with the shop floor before release
Walk one planned period through with supervisors and operators using the job cards and workstation list. Confirm that operators can find their operations, that machine availability matches maintenance and downtime records, and that the planner knows how to update a job card when work runs late. Record the agreed rules for rescheduling and who may change them. The plan is ready when the supervisors accept the schedule, the exceptions are logged and the rules for changes are written down.
Where capacity plans go wrong in practice
Capacity plans in ERPNext are only as good as the workstation records, costs and routings behind them. The five risks below fail quietly: the schedule still looks complete while it drifts away from the shop floor.
Stale working hours
Each Workstation record holds the working hours that capacity planning uses to decide how much work fits on a machine. When a shift pattern changes, a machine is down for planned maintenance, or a team starts a second shift, the record often stays unchanged. Check each workstation's hours against the actual rota at least once per planning cycle, and confirm that holidays and planned downtime are reflected. A schedule built on last year's hours will show capacity that no longer exists.
Costs that do not match actual rates
Workstation costs feed operation costing and the estimated cost of work orders. If the hourly rate or operating cost on the Workstation master reflects an old rate card, planned costs will look healthy while actual shop floor cost moves in the other direction. Compare the workstation rates with the latest machine, labour and overhead figures from your finance team, and review them whenever energy or labour rates change. Ask finance which rates they use for product costing so the two views agree.
Routings that differ from the floor
A routing is an operation template that defines the sequence of operations and the workstations each one uses. Operators often adapt the process on the floor, skip a step, or run a job on an alternate machine, and the routing is not updated. Walk a few recent work orders through the floor with the routing open beside them. Any mismatch in operation order, machine choice or setup steps means the scheduled job cards will not reflect what people actually do.
Overloaded workstations hidden by partial data
Capacity planning only shows load for work that has been entered. If some sales orders, production plans or work orders are missing, or if jobs are created but not assigned to a workstation, a bottleneck can appear free. Before trusting the load view, confirm that every open work order carries its operations and that the planning horizon includes all confirmed demand. Ask which workstation is the constraint and check that its load is complete first.
Schedules trusted without progress updates
A schedule shows when a job card should run, not whether it has run. If operators do not record time logs and progress on job cards, planners will keep rescheduling against stale status and see the same jobs as pending. Confirm who records job card progress at each operation, how often, and whether supervisors review open cards each shift. Compare scheduled and recorded times for a sample of completed jobs to see whether the plan is being corrected by real data.
Access, data quality and operational controls for planning data
Who should be allowed to change workstation costs and routings in ERPNext?
Only people who own the cost and process data should edit it, usually the production engineering or costing lead, with read access for planners and supervisors. Workstation hourly costs feed job card and operation costing, and routings drive which operations appear on work orders, so a change affects future production directly. Agree the owner for each master before go-live and write the rule down. Your role model should then grant edit rights to that owner and read rights to everyone who schedules or reports. The exact role names and permission settings depend on your version and on how you structure your users, so confirm them in your own environment during design.
How are changes to workstations and routings audited in ERPNext?
Audit trails come from ERPNext's own document history and permission model, not from a separate tool. Each Workstation and Operation master is a document, so you can review who changed a record and what it contained before the change, as long as your deployment keeps that history enabled. Pair this with role-based permissions so that only designated roles can save these masters. Confirm in your environment what version history is retained, how long it is kept, and whether your backup policy covers it. Auditors will ask how a change was approved, so keep the approval outside ERPNext too if your process requires it.
Which ERPNext roles and permissions should control planning master data?
Start from the roles and permissions guidance in the ERPNext documentation and map each planning master to a named owner. Separate the people who maintain workstation hours and costs from those who create work orders and job cards, so no single user can change a cost and then consume it in production without review. Field-level restrictions and user permissions can narrow access further, for example by company. Test each role with a real user account in a staging site before production, since permission gaps usually appear only when a non-administrator tries to save. The ERPNext roles, permissions and customization topics cover the mechanics in more detail.
Do custom server scripts in ERPNext need to be enabled deliberately?
Yes. According to the Frappe Framework documentation, Server Scripts are disabled by default from version 15 and must be enabled through the server_script_enabled setting. Enabling them lets administrators run Python on document events, which can change planning data automatically. Treat that as a privileged change: decide who may author scripts, review each one before deployment, and record why it exists. Frappe Cloud public shared benches do not allow Server Scripts at all, so a validation rule that depends on one will not run there. Plan validations that matter for costing as reviewed custom apps where your deployment model allows it.
What master data checks should run after go-live for capacity planning?
Plan a recurring review of workstation hours, hourly costs, operation durations and routing sequences. Working hours that do not match the actual shift pattern will show as overloaded or idle capacity in the capacity planning view, and stale costs distort product costing. A simple monthly or quarterly review by the owner, comparing master data against the shop floor and the finance cost centers, catches most drift. Record the review outcome and the person who signed it off. The frequency should match how often your equipment, shifts and rates change, which you should confirm with your production and finance leads.
How should data quality of planning masters be checked before go-live?
Load a sample of workstations and routings, then check them against the physical shop floor and the costing sheet before importing the full set. The ERPNext Data Import tool can create and update records from CSV or Excel files, and its documentation advises importing only a few thousand records at a time, so split large masters into batches and reconcile counts after each one. Child table rows such as workstation operations need checking separately from their parent records. Keep the source files under version control so every import can be traced.
How does ERPNext master data governance connect to customization and change control?
Any change to workstations, routings or the scripts and custom fields around them should go through the same change process as code. Keep customizations in exported, version-controlled form where your deployment allows, and promote them from a test site to production rather than editing production directly. This keeps the planning data model reproducible during upgrades. The ERPNext customization and development topic covers how to adapt the system without forking it. Ask your implementation partner to show you how changes are tested before any production edit is allowed.
What should a buyer ask a partner about access and controls for planning data?
Ask for a written role matrix that names each planning master, its owner, who can edit it, and who can only read it. Ask how audit history is retained, where it is backed up, and how it is reviewed. Ask whether Server Scripts will be used, how they will be enabled and approved, and which hosting model is planned, since that decides whether they can run at all. Ask how the master data review will be run after go-live and who owns it. A clear answer to each point shows whether the controls will hold once the implementation team leaves.
Limits to confirm in your environment before you commit
Routings, workstation calendars and capacity planning depend on behaviour that varies by ERPNext version, hosting model and how your plant actually runs. The items below are the points to verify with the vendor documentation and a test site before you size the work or sign a scope.
Version support for planning behaviour
Confirm that the ERPNext version you intend to run supports the capacity planning behaviour your planners need, such as how job cards are allocated to each workstation and how operations are scheduled. Check the Capacity Planning documentation for the release you will deploy, and compare it with the release notes for the minor versions you expect to receive. Both supported major versions receive frequent minor releases, so pin the version you test against and retest after each upgrade.
Multi-shift calendar handling
Workstation working hours define when a machine can run, so a plant running two or three shifts, weekend cover or staggered breaks needs those hours modelled correctly. Confirm how your version treats overlapping shifts, holidays and planned maintenance windows, and whether a workstation can hold different hours for different periods. Build a test workstation with your real shift pattern and check that the scheduled job cards fall where your supervisors expect.
Subcontracted operations and capacity
Operations sent to an external supplier do not consume your workstation hours, so the capacity plan must not count them against internal machines. Confirm how a routing mixes internal and subcontracted operations, how lead times for the external step are represented, and whether the internal schedule reflects the return date. Ask the implementer to show both paths on a test order before you rely on the forecast for delivery promises.
Data volume for initial import
Workstations, operations and routings are often loaded from spreadsheets, and the Data Import tool is documented for a few thousand records at a time. Count your workstations, operation templates, routing steps and historical job cards before planning the load, and split the import into batches. Confirm the child table rows for routing operations import correctly in your version, and reconcile counts after each batch.
Scripting limits on Frappe Cloud shared benches
If you plan custom validation or scheduling logic for routings or job cards as Server Scripts, check the hosting model first. From version 15, Server Scripts are disabled by default and must be enabled, and Frappe Cloud public shared benches do not allow them at all. Choose between a dedicated bench, self-hosting or custom apps before you design logic that depends on scripts.
What does capacity planning in ERPNext cost and require?
How much effort does it take to model workstations and routings in ERPNext?
The effort scales with the number of workstations, the number of routing variants and how clean the existing machine and time data is. No fixed duration is published for this work, so the reliable way to size it is a written scope that lists each workstation, its working hours and cost rates, and each routing with its operations. Modelling a few workstations with one routing per product family is a very different job from modelling a full plant with many variants. Ask the partner to show how they will estimate effort from your actual counts before you agree a fixed scope.
What drives the cost of ERPNext capacity planning setup up or down?
Four factors move the cost most: the number of machines and workstations, the number of routing variants, the amount of data cleanup needed in item, operation and machine records, and how many rounds of review your planners require. Each of these is a labor cost, paid to whoever does the configuration and testing. Software licensing is not a driver, because ERPNext is free and open-source under GPL-3.0 when self-hosted. Hosting costs are separate and recur, with Frappe Cloud shared site hosting starting at 5 US dollars per month according to the ERPNext pricing page. Ask for the setup cost and any recurring hosting or support cost as separate line items.
Can our own team set up capacity planning in ERPNext without outside help?
Yes, a team with ERPNext experience can configure workstations, operations and routings in-house, because these are master records and do not require custom code. The harder part is agreeing on the data: working hours, hourly costs, and which operations really happen on which machine. Teams without a Frappe or ERPNext administrator usually benefit from a short external review of the configuration before go-live. If you want a partner, ERPNext implementation is available through certified partners, and DeployOpen plans and implements self-hosted ERPNext within the client's own infrastructure under a written scope.
What do shop floor staff and planners need to provide for this work?
Planners must confirm how capacity should be measured, for example working hours per shift, planned downtime and which operations can run in parallel. Shop floor staff must confirm the real machine names, their operating hours, the operations each machine performs and the cycle times they actually see. Without this input, the workstation records will look complete but will produce schedules nobody trusts. Plan for review sessions where a supervisor walks through each workstation and routing, and confirm who signs off the final master data before job cards are scheduled against it.
When should capacity planning be set up relative to ERPNext go-live?
Set up workstations and routings before the first work orders and job cards are created, because capacity planning depends on operations and working hours being present on the master data. Allow time for planners to test the schedule against a realistic sample of recent production orders before go-live. Avoid loading historical job cards into the new system until the workstation and routing data is stable, since changes later can disturb open orders. The exact timing depends on your go-live date, the number of machines and how many routing variants you need, so confirm the sequence in the project plan.
Which data cleanup tasks should we expect before loading workstations in ERPNext?
Expect to clean up machine lists, duplicate or unused workstation names, operation names that differ by site, and cost rates that are out of date. If you are importing these records, the ERPNext Data Import tool accepts CSV or Excel files with downloadable templates and supports child table rows. The documentation advises importing only a few thousand records at a time, so large workstation and routing lists are best loaded in batches and checked after each batch. Treat this cleanup as part of the scope and agree who owns each decision.
What should we ask for in a quote for ERPNext capacity planning?
Ask for a written scope that lists the workstations and routings in scope, the number of routing variants, the data cleanup included and the review sessions with planners and supervisors. Ask which deliverables are included, such as a configuration record, a test schedule and a short handover guide for your planners. Ask how the work will be tested, who signs off acceptance and what happens if the number of machines changes during the work. Separate one-time setup costs from recurring hosting, support or retainer costs. DeployOpen does not publish a price list, and a quote follows from the written scope.
Does capacity planning in ERPNext need changes to security or access controls?
Capacity planning itself does not require custom code, but it does require role-based access so that planners can change workstation and routing data while shop floor users can only record time and status. Review which roles can edit workstation working hours and cost rates, because these values drive scheduling and costing. If your ERPNext instance is connected to plant systems, treat those connections as a separate scope with its own security review. Confirm the access model with your security team before go-live.
Where to read the capacity planning documentation
The next read for this topic is the ERPNext Capacity Planning documentation, which describes how production jobs are allocated to each workstation and where workstation working hours, operations and costs are defined in the Workstation master. Read it against the ERPNext version you run, not the latest one in your head, because the screens, field names and scheduling behaviour around job cards and workstation capacity can change between major versions. The ERPNext Capacity Planning documentation is the primary source for this, and the page itself is short enough to review with your production planner in one sitting.
Before relying on any of it, confirm the behaviour in a test environment built from the same ERPNext and Frappe versions you plan to run in production. Create a small set of workstations with known working hours, one routing with two or three operations, and a few work orders that overlap on the same machine, then check how job cards land on each workstation and whether the planned times match what your planner expects. Record what you find, including any field the documentation does not describe, and treat those results as the acceptance baseline for your own configuration. Ask your implementation partner or Frappe support to confirm anything the documentation leaves open for your version.
How DeployOpen scopes and delivers routing and capacity work
DeployOpen plans, implements, customizes, tests, documents and supports ERPNext inside your own infrastructure, including the workstation and routing setup that capacity planning depends on. Engagements are fixed-scope, so the routing templates, workstation data and planning rules are agreed in writing before any build starts.
How we scope
- Inventory which products, operations and workstations need routings and capacity data in ERPNext.
- Agree in writing which workstations, working hours and cost rates are in scope.
- Confirm how job cards, work orders and planning runs will be reviewed by your supervisors and planners.
How we build
- Configure Workstation masters with working hours, operations and costs from your own records.
- Build Operation and routing templates, then test them against sample work orders and job cards.
- Verify that capacity planning schedules job cards across workstations as your planners expect.
How we hand over
- Document workstation, routing and capacity settings so your team can maintain them without us.
- Walk through the planning runs and job card flows with the people who will use them daily.
- Hand over a list of open decisions, such as data owners and change approval, with named responsibilities.
How we support
- Support ongoing changes to workstations and routings through a retainer, if you want continuing help.
- Plan ERPNext version upgrades with routing and capacity checks included in the regression tests.
- Confirm with your team which support channel, response expectations and change process apply before go-live.

