We all know how much is important point of sale to retail businesses, and till this point, we didn’t have a good solution for this in Erpnext, and I have listened to the needs of the PoS users and their restrictions. I have also tried to work around the PoS module (including the new one on version 13 ) but I have found it to be quite inflexible and difficult to customize to meet the various needs of the retail market.
So I designed a new PoS Module on ERPNext as an open-source project using Vue.js and Vuteify. I call it PoS Awesome.
The idea is to have an alternative for the current one with a high ability for customizations and add more features easily and quickly without so many restrictions and complications.
POS Awesome now in beta and not ready for production environment, and it needs more improvement and testing, and it supports only Erpnext version 13 beta 4+.
Apart from the usual POS features, the current beta version of PoS Awesome has the following specific features
The cashier has the option of either list view or card view
Putting products in the cart is extremely fast compared to the existing version 13
Supports batch & Serial numbering
Supports UOM specific barcode and pricing
Supports sales of scale (weighted) products
I will keep adding more features in the future after it becoming stable and ready for production like:
Batch specific pricing
Ability to make returns from PoS
Ability to take payment on account from PoS
Dashboard on PoS
Specific needs of retail verticals (hospitality/pharmacy etc)
I welcome criticism, feature requests, bug fixes, and code contributions from members of the ERPNext community. This will be forever an open-source project.
I will like to acknowledge @olamide_shodunke and @aakvatech for their contributions in making this possible.
You can install this from the following Github repo
I Update POS Awesome now to support Erpnext V12 also, and it still needs more tests, you can try it from beta4 branch, I will merge it later with master branch.
Once again thanks for your selfless service.
I ran bench get-app git@github.com:yrestom/POS-Awesome.git from bench folder and got this error ( pls note my instance is version 12):
~/frappe-bench$ sudo bench get-app git@github.com:yrestom/POS-Awesome.git
INFO:bench.app:Getting app POS-Awesome
$ git clone git@github.com:yrestom/POS-Awesome.git --depth 1 --origin upstream
Cloning into ‘POS-Awesome’… git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/home/fred/.bench/bench/cli.py”, line 41, in cli
bench_command()
File “/usr/local/lib/python3.6/dist-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.6/dist-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python3.6/dist-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.6/dist-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.6/dist-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/home/fred/.bench/bench/commands/make.py”, line 62, in get_app
get_app(git_url, branch=branch, skip_assets=skip_assets, overwrite=overwrite)
File “/home/fred/.bench/bench/app.py”, line 142, in get_app
app_name = get_app_name(bench_path, repo_name)
File “/home/fred/.bench/bench/app.py”, line 149, in get_app_name
with open(app_path, ‘rb’) as f:
FileNotFoundError: [Errno 2] No such file or directory: ‘./apps/POS-Awesome/setup.py’
yarn: error: no such option: --app
$ sudo supervisorctl restart frappe-bench13-workers: frappe-bench13-web:
frappe-bench13-workers:frappe-bench13-frappe-schedule: stopped
frappe-bench13-workers:frappe-bench13-frappe-short-worker-0: stopped
frappe-bench13-workers:frappe-bench13-frappe-default-worker-0: stopped
frappe-bench13-workers:frappe-bench13-frappe-long-worker-0: stopped
frappe-bench13-web:frappe-bench13-node-socketio: stopped
frappe-bench13-web:frappe-bench13-frappe-web: stopped
frappe-bench13-workers:frappe-bench13-frappe-schedule: started
frappe-bench13-workers:frappe-bench13-frappe-default-worker-0: started
frappe-bench13-workers:frappe-bench13-frappe-short-worker-0: started
frappe-bench13-workers:frappe-bench13-frappe-long-worker-0: started
frappe-bench13-web:frappe-bench13-node-socketio: started
frappe-bench13-web:frappe-bench13-frappe-web: started
frappe@ubuntu:~/frappe-bench13$
frappe@ubuntu:~/frappe-bench13$ bench setup requirements
Updating Python libraries…
$ ./env/bin/pip install -q -U pip
INFO:bench.app:installing frappe
$ ./env/bin/pip install -q -U -e ./apps/frappe
INFO:bench.app:installing erpnext
$ ./env/bin/pip install -q -U -e ./apps/erpnext
INFO:bench.app:installing posawesome
$ ./env/bin/pip install -q -U -e ./apps/posawesome
Updating node packages…
$ yarn install
00h00m00s 0/0: : ERROR: [Errno 2] No such file or directory: ‘install’
$ yarn install
00h00m00s 0/0: : ERROR: [Errno 2] No such file or directory: ‘install’
$ yarn install
00h00m00s 0/0: : ERROR: [Errno 2] No such file or directory: ‘install’
frappe@ubuntu:~/frappe-bench13$
There were errors when installing v13b4, until finally I managed to run/open it. But I guess something is still broken at some point.
Well done @youssef . I will be eagerly waiting for its release on ERPNext V13. Whilst you’re there, is there a chance for the development of a livestock farming specific module? I find it hard to believe that ERPNext is more tailored for retailing than farming. One would have thought being open source, it would be focused more on 3rd World users who cannot afford the costly proprietary systems. Half the world does nothing but farming! Or am I missing something? Anyhow, well done once again
Well, ERPNext has an agriculture module, but focused on crop production.
The truth is, it is all about matching Four types of people together
Someone who knows the industry
Someone who knows how to code
Someone who is willing to pay for the coding effort
Someone who will test and eventually use the system
Sometimes the four types above can be found in 2 people, it is very unusual for all types to be in one person.
You have to find a way to “scratch your itch”. If you are one of the four types above, you need to find a way of finding the other three types and form a team to solve the problem.