[Tutorial] The Coffee and Cake Company

Just one request, when you author the documentation, please do it in a way that’s easy to understand and implement for beginners, without assuming they know anything about technology or business or accounting. If possible, try to explain what each group type is meant for (eg. Item Groups Consumables, Raw Materials etc.)


Please, where can I see this?

Do people get notified when a post is edited?

depends on your setting. See below:

You’ll need to use the @abbas function to be sure.

Great initiative.

Ok great.

If anyone finds any issues, please let me know!

Hi, it is a great work, so thank you.
May I suggest you if you can use something like this for this doc, it will be great.


1 Like

Thanks you for the suggestion, I will take a look when I get a spare moment.


Why use an unnecessary extra tool? We already have github, and we already have this discussion forum.

1 Like

Notion is not cross platform

Yes, we can use for this GitHub, it will be better then Microsoft doc.

Actually it is .

Oficial site downloads Notion Desktop App for Mac & Windows


Just finishing off the install setup and am now having errors on setting up let encrypt:

INFO:bench.utils:sudo systemctl start nginx
Job for nginx.service failed because the control process exited with error code.
See “systemctl status nginx.service” and “journalctl -xe” for details.
Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/home/erpnext/.bench/bench/cli.py”, line 40, in cli
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/home/erpnext/.bench/bench/commands/setup.py”, line 128, in setup_letsencrypt
setup_letsencrypt(site, custom_domain, bench_path=‘.’, interactive=not non_interactive)
File “/home/erpnext/.bench/bench/config/lets_encrypt.py”, line 41, in setup_letsencrypt
run_certbot_and_setup_ssl(site, custom_domain, bench_path, interactive)
File “/home/erpnext/.bench/bench/config/lets_encrypt.py”, line 80, in run_certbot_and_setup_ssl
service(‘nginx’, ‘start’)
File “/home/erpnext/.bench/bench/config/production_setup.py”, line 67, in service
exec_cmd(“sudo {service_manager} {option} {service}”.format(service_manager=‘systemctl’, option=option, service=service))
File “/home/erpnext/.bench/bench/utils.py”, line 161, in exec_cmd
raise CommandFailedError(cmd)
bench.utils.CommandFailedError: sudo systemctl start nginx

I used the easy install script, enabled multi-site and then ran the:

sudo bench setup lets-encrypt site.domain

Any ideas? Once this is resolved, we should have up to the setup wizard and then we can start setting up the system with users, items, BOMs etc.


I think this command only works, if nginx is not running. Check if it does with systemctl status nginx.service. :thinking:

Thank you… This led me to sudo nginx -t which shows that the conf generated by lets-encrypt added both TSLv1.2 and TSLv1.3. Removing TSLv1.3 fixed the problem.

I will rebuild the server to include these errors and include details of how to locate error.


Can you please also add auto renew lets encrypt?

@abbas - Just thought to add this link which details the solution you mentioned.

@abbas is there an updated version of this document?

Anyone worked on something similar or has the updated version?