Introducing POS Awesome V2

We are happy to introduce version 2 of POS Awesome.

Apart from improved stability and updates to the UI, this version comes with the following new features;

  1. Promotions and Offers - we have developed separate promotions and offers features for POS Awesome. This takes care of almost all possible promotional scenarios from basic discounts to Buy X get Y free across a different item or item groups. The redemption process at the point of sale is also more streamlined. Learn more about this feature HERE

  1. Sales Orders at Point of Sale - In some retail verticals, the customer does not take delivery of the item bought at the point of sale. An example of this is Cake Shops where the customer orders for the cake and picks it up later. POS Awesome now handles this functionality. Learn More about this feature HERE
  2. Returns - You can now make returns using POS Awesome. When making returns cashier can also decide whether to give cashback or create a credit note for the return. Learn more about this HERE

  1. Make Credit Sales with proper payment due dates at POS. Learn more about this HERE

  1. Use Customer credit notes as payment in Point Of Sale

  1. Enhanced Templates and Variants at POS - The Sales process for items with Templates and Variants has been refactored and made more sales friendly, especially for items without barcodes in a touch screen checkout environment - Learn More about this HERE

  1. Auto choosing of Batch numbers at Point of Sale - Retailers now have the option to have the system automatically choose the batch with the nearest expiry date at POS. Learn More about the updated batching feature Here
  2. Auto apply batch numbers for bundle items with batch numbers.
  3. Search for Items at point of sale using serial numbers - Simply type/scan in the serial number and the item will be placed in the shopping cart.
  4. Apply Customer-specific discounts - You can give a customer discount from the Customer Master. Go to the Customer master, input the discount % in the discount % field and it will be automatically applied at Point of Sale.
  5. More enhanced POS Profile - The POS Profile settings are much more enhanced with more controls. You will definitely need to start with a proper review of the new POS Profile Here

This version is brought to the community in partnership with @olamide_shodunke and his team.

Kindly try this new version out at GitHub - yrestom/POS-Awesome: POS Awesome is an open-source Point of Sale for Erpnext using Vue.js and Vuetify and let us have your feedback

Thank you


Use this repo to build common community apps as docker images.

POS Awesome is part of the Dockerfiles already.


@revant_one Any documentation link to build common community apps as Docker images. I have installed docker but not explored docker technologies. Whether this repository can help to have installed and run docker images in a production environment. What one needs to do after installing docker to get it installed and run.

@youssef , Great , A lot has been covered, will install and explore , thanks for such a wonderful contribution .

1 Like

Sweet mother of Harry. Amazing. More power to you and God bless.


That’s amazing!:heart_eyes::heart:

Such very cool additions!!

Thanks @youssef and @olamide_shodunke


1 Like

Great effort and good job, thank you Yusuf.


Nice work @youssef and @olamide_shodunke, please keep on.

Now can you make labels on VUE like this
:label=“frappe._(‘Item Code’)”
Also on text: to be like text: __(‘Name’),

This will facilitate the translation to other Languages.

Also maybe someone know how to but i have created the translations directory and file pt.csv and added lines like " ,Type,Tipo" and " ,Total Qty, Qtd Total" but Frappe not getting those to translate.

Also for labels on Vue after add :label=“frappe._(‘Item Code’)” had to add to this on posapp.js

$.extend(frappe._messages, {“Type”: “Tipo”, “is Offer”: “é Oferta”, “Total Qty”: “Qtd Total”});
so labels on VUE get translated.
Any easy way of doing ?

Can you also make the show_message Text like this so translation can be done
text: __(Selected Serial No QTY is {0} it should be {1}, item.serial_no_selected_count,item.stock_qty]),

instead of
text: Selected Serial No QTY is ${item.serial_no_selected_count} it should be ${item.stock_qty},

Thanks for your suggestion
I will definitely give this a try

I will work on Docker as soon as possible
Thank you

if you plan to use github actions refer this repo, it is a frappe app. GitHub - revant/erpnext_feature_board: Feature board for ERPNext

refer the github actions yaml for building images erpnext_feature_board/build_container_images.yml at main · revant/erpnext_feature_board · GitHub

the files needed to build the images are here erpnext_feature_board/containers at main · revant/erpnext_feature_board · GitHub

You’ll need to replace the repo name, image name, registry. Pass the registry cred as env vars to github actions.

I use this release script to bump versions, erpnext_feature_board/ at main · revant/erpnext_feature_board · GitHub you’ll need to modify to suit your need. The github action yaml is written such that if you push a tag, image of that tag will be built.

1 Like

Have a look at

1 Like

Thank you @Helio_Jesus

It merged in develop branch

Best Regards

1 Like

Impressive work @youssef

Keep it up, hope to work with you on this soon.

1 Like


for return invoices , its stick the payment for default mode of payment only in POS profile

how can i set the payment of return invoices as original one ?

Thanks IN Advance


Hello, it’s an idea to create an air condition , which only allows per client per day one items offers

hi @youssef I think in POS, we should add Filter Company and Warehouse, it’s good to show for retails business. thanks

Hey Guys. I think we should add multiple POS to send sales orders. To Factory’s Sales order. That way if anyone has multiple retail, can manage thier sales order and production plan.

Thank you