Capacity Planning V13, How Does it Actually Work? Does It Provide Meaningful Data?

New to ERPNext and not a developer. My entire goal right now is to test out how Capacity Planning works from a Make-to-Order or Engineer-to-Order standpoint. I need to fill the entire system with enough dummy data to, hopefully, produce a bar graph, or any kind of graph, that says:

  1. Allocated Jobs (Actual jobs, per month, that we have planned for the year)
  2. Available Capacity (How many extra jobs we can accept)

The ERPNext website says it has Capacity Planning, but does a terrible job helping you figure out how to find it, use it, and get valuable data from it.

It says on the website, “Based on the planned start date and end date, users can calculate the capacity of their work stations.” Ok, but how? Is this automatic or do I need to calculate this myself? Where do I go to find this?

The website says: “Before creating and using a Work Order, it is advised that you create the following first” which I have:

  • Bill Of Materials - I have created a multi-level BOM for a single item. It’s composed of 8 BOM’s.
  • Operation - I have created all Operations and their attached default workstation.
  • Workstation - I have created all workstations with their start and end times and holiday times.
  • Work Order - I created the work order, which then created all of the Job Cards.
  • Capacity Planning Set for 60 Days in Manufacturing Settings. Not sure if it should be 30 Days or 365 Days, though.

I completed one entire demo Product. I created the Project, BOM’s, Work Order, Workstations, Operations, added times to all job cards, submitted the work order, and submitted the Stock entry.

Then I went to “Work Order Calendar” and I see the completed job. Which is cool. But I don’t understand how, once I fill this with more dummy data, it will provide Capacity Planning. It seems like all it will do is show me the Work Order time frames, but won’t tell me how many more jobs I can accept each month based on current workload.

What am I missing? Do I just need to add way more data? Or is this really it?


Did you enter operation durations in the Operation and BOM Operation detail ?

If I go to Manufacturing > Operation. I have a list of all of my Operations and the default Workstation. I have NOT filled out Sub Operations. So, it appears that “Total Operating Time” is listed as 0 for each operation.

If I go to Manufacturing > Workstation, I see all of my workstations and I have Production Capacity, Wages, Holiday List, and Working Hours filled out.

When I go to Manufacturing > BOM, I DID fill out the Operating Times for each Operation for the FINAL Product. However, for the lower level BOMs, I did NOT select “With Operations”. The reason I did this was to save time when it came to data entry as I’m testing this feature. I was hoping that listing the Operations only on the final product BOM would be enough.

Does anyone have screenshots or more information on how exactly Capacity Planning works? I’ve looked at past posts but they have less than steller information.

ERPNext works if you need a very basic capacity check, more like a report. Mostly, it warns and tells you that you can’t plan a work order since it is over capacity.
If you need serious capacity planning, try Frepple which is an open source planning engine. We did it for one of clients in the past and has been working great for them.

1 Like

Thanks so much for responding! So all ERPNext does it give a warning if you’re at or over capacity? It doesn’t provide any charts or graphs or forcasting?

Can I export data from ERPNext into Frepple to get the types of graphs and information that I’m looking for? Or can I setup ERPNext to give me that same info via customizations?

We can customize and integrate erpnext with frepple

The capacity planning functions that exist are very basic. Really, all they do is prevent you from issuing new work orders when a workstation is booked out for 7/30/365/whatever days already.

I don’t know anything about Frepple, but you will not be limited in your ability to export data from the ERPNext side. Frappe comes with comprehensive tools for that, including apis and webhooks.

You could also build the features you want into ERPNext directly, though it would likely take some work. Graphs are relatively simple, and existing doctypes would be able to produce the kind of visualizations you’re describing in your first post via script reports. The big functionality gap is scheduling. Right now, work orders are scheduled to start whenever they’re created, and there’s no simple way to book jobs to particular time windows based on workstation availability. ERPNext would be well suited to handling those kinds of flows, but the logic would need to be formalized.

WOW, Frepple looks very interesting and it’s great that it’s open-source.

Seeing as I’m testing out these systems, from your knowledge of Frepple, what’s the minimum amount of data I can add to it to get some semblance of Capacity Planning? I don’t even need to connect it to ERPNext at the moment because there is such little data in there (as I’m just testing). I can hand feed it whatever it needs.

I appreciate such a thorough answer. I now finally understand that “Capacity Planning” may not be the right term for ERPNext to be using. Perhaps “Over Capacity Warning” is more appropriate?

Ah, Work Orders being scheduled the moment they are created is not good. As we are Engineer-to-Order, we might make a Work Order but won’t start it for a few weeks or even months depending on client requirements. So we would want to make a Work Order, set a start date for it (let’s say in 2 months), and have it activate at that time.

It’s great to know that ERPNext is superb when it comes to creating the reports and visualizations we need. I love the interface of ERPNext. It definitely has a long way to go in terms of features, but it’s incredible in its own unique way.

1 Like

We should also mention that ERPNext is great at creating new modules and features. So, we may have more Capacity Planning features.

By the way, can we just integrate Frepple’s scheduling methods in ERPNext? I mean can we use Frepple headless in ERPNext?

You can do that, using the Planned Start Date and Expected Delivery Date fields in the Work Order doctype, but it’s all manual. Some higher level capacity planning tools, including visualizations and gantt charts, would be an extremely beneficial addition, but so far nobody has stepped up to make it.

I’m currently researching this for a client and would be interested to know where you got to?
I’m proposing two additions implemented as a custom module, with the intention it might be integrable in the future:

  • Just-In-Time Production Planning / Backward scheduling: production plan, work order and material requests are created on Sales Order submission and scheduled according to delivery date. The customer manufactures-to-order to future installation dates.
  • Just-In-Time Purchasing: Daily scan through material requests to produce consolidated purchase orders against default Item supplier and lead-times

@peterg I guess you might be interested too?
@asoral Is your frepple integration module open-source or is it a module you sell and is it available, erpnext version compatibility, etc?

It is open source, you can find it on github

For anyone else looking, I’m assuming it is here?

There are some impressive other integrations on there: Metabase and Telegram!

Frepple, like Odoo has a crippled Community Edition though.

1 Like

We’ve done no development on this particular feature. Advanced Capacity Planning features are absolutely critical, especially Capacity Estimations and Forecasting. We need to be able to tell the system how many units we want by X date and it should tell us if it can be done or not. It’s not worth it for us to program this into ERPNext when we can get it from pre-existing systems. :confused:

Yeah, I’m checking out frepple and the integration now. ERPNext does have a couple of reports below, but no I’m not convinced by them either and much more functionality is required.

Frepple on the other hand, although the UI is a bit clunky, seems to be a tool specifically designed for the job. Not sure if the features I need are in the Community Edition however. The installation was a breeze.

Embedded frepple pages :laughing:
The integration is technically fully functional I think but having had a look really requires a complete rewrite, but the embedded pages are a nice idea.

1 Like

I have also checked the frepple planning engine which is available as a compiled shared object python module ripe for direct integration with ERPNext, but that is also crippled alongside the UI in the Community Edition. I’m not sure how much use that edition is?