ERPNext Foundation ERPNext Cloud User Manual Blog Discuss Frappé* Donate

New Feature? Process Manufacturing


is this going to be merged into the core project?


Hello Salim

Trust you are doing very well…

Please i have tried reinstalling this app but i still can’t see the icon on the desk. Any idea what i can do?



Please can you help with this ? I have a demo in a few hours and this feature is quite critical for the client. I have the same issue as @EnSeal



Hi @EnSeal , @olamide_shodunke.

Sorry for the late reply.

This is the step to install the App.


you can use bench get-app

bench get-app process_manufacturing

that should download the app
then to install the app in your current site,

bench install-app process_manufacturing.

Once you successfully installed the module, The module would be listed on the left sidebar of explorer.

If you are trying to check the module as Normal user , You might not able to see the module, Since you may have not given the module access to that particular user. Please check and confirm…

Hope this helps.



Thank You @salim

This is exactly what i have done, but still i can’t find the icon on the sidebar. i have installed the app to try reinstalling but still same issue


Have you checked the user module Access as well as ‘Show or Hide Desktop Icons’ ?


yes i have. The apps seems to have been installed but i cant see the icon anywhere.


@salim It is like you have removed the app from the github.I could not install it running the command you specified.Or i am missing something.Kindly help your friend because i need this app now.Thanks


@Fred1 The link quoted above works for me. Good luck!


Hi @Fred1, Use this link, haven’t tried this on v11, let us know…


Hey @Ranjith

Great app. Thanks for the good work.

I’m testing on V11 and getting this error when I enter Raw Material Trying to process the Process Order:

  Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 61, in application
    response = frappe.handler.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 21, in handle
    data = execute_cmd(cmd)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 56, in execute_cmd
    return, **frappe.form_dict)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 1013, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 84, in runserverobj
    frappe.desk.form.run_method.runserverobj(method, docs=docs, dt=dt, dn=dn, arg=arg, args=args)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/", line 42, in runserverobj
    r = doc.run_method(method, **args)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/", line 772, in run_method
    out = Document.hook(fn)(self, *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/", line 1048, in composer
    return composed(self, method, *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/", line 1031, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/", line 766, in <lambda>
    fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
  File "/home/frappe/frappe-bench/apps/process_manufacturing/process_manufacturing/process_manufacturing/doctype/process_order/", line 48, in start_finish_processing
    return self.make_stock_entry(status)
  File "/home/frappe/frappe-bench/apps/process_manufacturing/process_manufacturing/process_manufacturing/doctype/process_order/", line 183, in make_stock_entry
    stock_entry = self.set_se_items_start(stock_entry)
  File "/home/frappe/frappe-bench/apps/process_manufacturing/process_manufacturing/process_manufacturing/doctype/process_order/", line 60, in set_se_items_start
    se = self.set_se_items(se, item, src_wh, self.wip_warehouse, False)
  File "/home/frappe/frappe-bench/apps/process_manufacturing/process_manufacturing/process_manufacturing/doctype/process_order/", line 138, in set_se_items
    ["item_name", "stock_uom", "description", "expense_account", "buying_cost_center"])[0]
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 528, in get_values
    out = self._get_values_from_table(fields, filters, doctype, as_dict, debug, order_by, update)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 670, in _get_values_from_table
    as_dict=as_dict, debug=debug, update=update)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 199, in sql
    self._cursor.execute(query, values)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 170, in execute
    result = self._query(query)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 328, in _query
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 516, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 727, in _read_query_result
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 1066, in read
    first_packet = self.connection._read_packet()
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 683, in _read_packet
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 220, in check_error
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
InternalError: (1054, u"Unknown column 'expense_account' in 'field list'") 

Any ideas?


How to attach Sales order in this
any idea>>


thanks for reporting, will add a fix soon.


Glad to help, I’ve noted that the issue is limited to V11. It is working fine on V10.


I’m trying to install this module but I get the following:

$ bench get-app process_manufacturing
===================================================== app oztro
INFO:bench.utils:git clone   --origin upstream
Cloning into 'oztro'...
remote: Enumerating objects: 400, done.
remote: Total 400 (delta 0), reused 0 (delta 0), pack-reused 400   
Receiving objects: 100% (400/400), 6.94 MiB | 1.15 MiB/s, done.
Resolving deltas: 100% (264/264), done.
('installing', u'process_manufacturing') process_manufacturing
INFO:bench.utils:./env/bin/pip install -q  -e ./apps/process_manufacturing
/home/frappe/frappe-bench/apps/frappe/frappe/ UserWarning: Source /home/frappe/frappe-bench/apps/frappe_io/frappe_io/docs does not exists
  warnings.warn('Source {source} does not exists.'.format(source = source))
/home/frappe/frappe-bench/apps/frappe/frappe/ UserWarning: Source /home/frappe/frappe-bench/apps/foundation/foundation/docs does not exis
  warnings.warn('Source {source} does not exists.'.format(source = source))
/home/frappe/frappe-bench/apps/frappe/frappe/ UserWarning: Source /home/frappe/frappe-bench/apps/process_manufacturing/process_manufactur
ing/docs does not exists.
  warnings.warn('Source {source} does not exists.'.format(source = source))
SyntaxError: Unexpected end of JSON input
    at Object.parse (native)
    at make_build_map (/home/frappe/frappe-bench/apps/frappe/frappe/build.js:193:22)
    at Object.<anonymous> (/home/frappe/frappe-bench/apps/frappe/frappe/build.js:22:17)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.runMain (module.js:611:10)
at run (bootstrap_node.js:394:7)
SyntaxError: Unexpected end of JSON input
    at Object.parse (native)
    at make_build_map (/home/frappe/frappe-bench/apps/frappe/frappe/build.js:193:22)
    at Object.<anonymous> (/home/frappe/frappe-bench/apps/frappe/frappe/build.js:22:17)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.runMain (module.js:611:10)
    at run (bootstrap_node.js:394:7)
Wrote css/frappe-web.css - 65.43 KB
Wrote js/frappe-web.min.js - 135.26 KB
Wrote js/control.min.js - 81.7 KB
Wrote js/dialog.min.js - 124.34 KB
Wrote css/desk.min.css - 310.94 KB
Wrote css/frappe-rtl.css - 32.73 KB
Wrote js/libs.min.js - 1.13 MB
Wrote js/desk.min.js - 481.11 KB
Wrote css/module.min.css - 2.16 KB
Wrote css/form.min.css - 4.55 KB
Wrote js/form.min.js - 205.97 KB
Wrote css/list.min.css - 13.67 KB
Wrote js/list.min.js - 161.88 KB
Wrote css/report.min.css - 8.31 KB
Wrote js/report.min.js - 263.25 KB
Wrote js/web_form.min.js - 248.66 KB
Wrote css/web_form.css - 24.69 KB
Wrote js/print_format_v3.min.js - 25.87 KB
Wrote css/erpnext.css - 8.17 KB
Wrote js/erpnext-web.min.js - 4.23 KB
Wrote js/erpnext.min.js - 170.89 KB
Wrote js/item-dashboard.min.js - 8.48 KB
INFO:bench.utils:sudo supervisorctl restart frappe:
unix:///var/run/supervisor/supervisor.sock no such file


I’m not sure you have a problem…

I was able to get and install this just now without issue.
What versions of: Frappe, ERPNext, Python, OS…

The warnings being given there can be ignored. Since this app was started a long time, not all the file structure that Frappe is expecting is there. A docs folder (and documentation) is missing.


Here’s is the repo


Thanks Anoop,

It now works…


this addon is very useful to my friend but he can’t enter every time the product consumption when he creates the Process Order
what I mean is, he has 15 raw materials to prepare 1 item but he doesn’t know how many products quantity will be produced
but every raw material quantity is fixed.
give me the option to add quantity in Process Definition that can reflect when he creates the process order.

thanks for reading
am waiting for any idea…


Raise an issue here. Please provide additional details (an example with quantities please) so that your feature request can be better understood.
This is a volunteer maintained module, so you may have to support it direct to have your feature added.

@akurungadam In a different direction, do you think we could set up a call to about bringing in some of these features to V12? I’m in touch with some other folks who are working on process mfg problems @joshreeder and @RohanB and I’d like to figure out how some these solutions could be contributed.