Introducing POS Awesome

Hello Community,

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

  1. The cashier has the option of either list view or card view

  2. Putting products in the cart is extremely fast compared to the existing version 13

  3. Supports batch & Serial numbering

  4. Supports UOM specific barcode and pricing

  5. Supports sales of scale (weighted) products

I will keep adding more features in the future after it becoming stable and ready for production like:

  1. Batch specific pricing

  2. Ability to make returns from PoS

  3. Ability to take payment on account from PoS

  4. Dashboard on PoS

  5. 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

59 Likes

Great job @youssef!

It was wonderful working with you on this project, and I am truly excited about the possibilities.

I truly believe we now have a very flexible platform that people interested in ERPNext for retail can build on.

@bkm @wale @fkardame @Muzzy you truly need to check this out.

Once again good job @youssef .

Olamide

1 Like

Awesome stuff.

Highly appreciate that you have kept it open source.
Will try it asap.

2 Likes

:+1: @youssef
Please take a breather from working so hard. You have already done such excellent work. It’s time to celebrate now!

2 Likes

+1 for these plans.

2 Likes

Nice work

If you have specs we can help

1 Like

@youssef kudos…

I must say… This is impressive… I have been playing around the interface and I love some amazing functionality seen…

In addition

  1. it will be nice to have a Logout button a click directly from the page instead of having to return to the home page to logout…

  2. There should be somewhere on the page to indicate the user currently logged on, just at a glance…

Well done again @youssef

1 Like

Of course, we have to pay back for open-source

Live is short

You are More than welcome

Will consider this in the next versions

We can do a lot with this project.

We have worked on this and it is available in our repo, return was added to pos but we never used it in production.

I would request you to work with our team as we’re in the process of updating our app to sorry v12.

We can split the task between back end codes which we already have while use your front end design.

Do let me know.

I think we can discuss this, because I have some questions.

Sure you can text me the points or we can have a chat server to discuss further, I am open to telegram, matrix or discord.

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.

Please report for any issues.
Thanks.

3 Likes

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’

Your help please

Please try this

bench get-app https://github.com/yrestom/POS-Awesome.git

and after this you need to make sure to switch to beta4 branch

1 Like

I tried adding POS Awesome app, to be installed on my second bench (v13b4). But I got errors:

frappe@ubuntu:~/frappe-bench13$ bench get-app GitHub - yrestom/POS-Awesome: POS Awesome is an open-source Point of Sale for Erpnext using Vue.js and Vuetify
INFO:bench.app:Getting app POS-Awesome
$ git clone GitHub - yrestom/POS-Awesome: POS Awesome is an open-source Point of Sale for Erpnext using Vue.js and Vuetify --depth 1 --origin upstream
Cloning into ‘POS-Awesome’…
remote: Enumerating objects: 80, done.
remote: Counting objects: 100% (80/80), done.
remote: Compressing objects: 100% (67/67), done.
remote: Total 80 (delta 11), reused 44 (delta 6), pack-reused 0
Unpacking objects: 100% (80/80), done.
INFO:bench.app:installing posawesome
$ ./env/bin/pip install -q -U -e ./apps/posawesome
$ bench build --app posawesome
Usage: yarn [options]

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.

Could anyone help?

You need first run bench setup requirements Then bench build --app posawesome Or just bench build

It only works from app directory

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

  1. Someone who knows the industry
  2. Someone who knows how to code
  3. Someone who is willing to pay for the coding effort
  4. 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.

Welcome to open source

2 Likes

It is already in V13. It came out originally in V13 before the v12 version was done by @youssef