We are looking to refactor the whole POS module of ERPnext, As the POS was build with basic requirements and it have worked very well for most of our clients but there is a need to have more features in order to make it usable by most types of Retail outlets (Pharmacy and Optic Store for Batch and Supermarkets for Smooth Sales)
Currently our clients are facing some challenges with POS sales process which we plan to solve in the Proposed Enhancement plan.
1. Sales Process requires multiple clicks.
Ex.* Scan items, Then (Click1)Pay,
- then if it is not the Default MOP then (Click2) on ‘C’
- then (click 3) on ‘C’ of Card MOP
- then (Click4) on the MOP input field
- (Click5) Submit
- then (Click6) Print
- then (Click7) New
2. Unconsolidated Item Scanning.
If salesperson is selling Item A with 2 different Batch then it is not possible in the current POS Module. - If those who have bought medicines in India and got a Receipt there you will see 2 lines of Item A with line1 showing Batch-1 and Line-2 showing Batch-2. Unconsolidated item scanning is present in the ERPnext Sales Invoice method.
3. Waste of Space with Item blank Image view.
Instead we can utilise it for other buttons like the Pay button which needs scrolling down to be pressed with cursor. remove Collapsible section and make it fixed.
4. Offline Sync Delay.
Reason: One of our client have around 50k items with 90k customer which is working fine on the current offline POS with refactored Customer search algorithm to search by name, Mobile number, Civil ID, email and Customer ID. But the Sync takes around 13mins. This cause delay when new customers are created through POS side.
5. Shorcut Keys.
In the current offline POS we have added shortcut keys for Pay button= F9, Submit = Ctl+S and Print = Ctrl+P and New = Ctrl+b using JS but these are still multiple keys.
6. Sales return
Currently we made a Checkbox to make sales return but it can only return full amount in Cash.
Sales Return types, Cash Return or Store Credit.
7. Clear Details of Item in the Item Cart Row.
As the item card Area is so small it is hard to put everything in that. Currently user have to click on the item to see its UOM, Quantity, Pricelist Rate, Discount, Rate and Amount Etc.
8. POS Closing/Daily/Shift Closing.
There is no proper shift or day closing in ERPnext, So we created a POS Closing Voucher which check if any draft POS Closing Voucher when the POS is opened and if not then it will ask for POS opening cash amount. then at the end of the shift/day the pos closing voucher fetches total sales, total cash mop, card, etc and all invoices, total returns, average sales for the shift/day, total quantity sold.
9. Multiple POS in the same outlet causing Lose of invoices.
Some invoices are just disposed but the browser when syncing at the same time. This only happens when there are multiple POS in the same Outlet with the sane naming series and same POS Profile. This have a workaround by one of the community member which is not 100% successful.
10. Login without Internet at all
In order to start the POS, we need internet connection but in rare case if there is not Internet at all then the pos screen can never be opened.
11. Note/Comment/Remark Field from the POS view so user can add some text info.
12. Item Description to be Shown and be editable field in case user want to edit.
13. Approval Number for different types of payment.
MOP which needs to have a approval number will need a text field. Ex. Card payments, Online Wallet Payments.
14. Cash Reconciliation Report
Currently we make a report using Report builder with MOP and MOP Amount but in cash it always shows Amount and Change column separately. So we made custom report just for Daily Sales with Cash MOP.
15. Shift/Day Closing to have Accounting Entry for Cash sales.
We make Sales - Cash account in Chart of Accounts and use it with the Cash MOP. Currently we ask accountants to make Sales-Cash to Cash or Sales-Cash to Bank etc journal entry manually but what we plan to do is once Shift/Day Closing is submitted it will pass a JV for Sale-Cash to actual Cash account. This keeps the Cash ledger clean with only 1 or 2 transfer a Day for Cash Sale instead of have all the sales invoice directly connected to the default cash account.
Some of the above have been resolved with the above mentioned workarounds but to resolve the second point we need to refactor the Item cart Area which needs us to re-write the whole calculation methods.
So instead we plan to Redesign the whole POS with a stable browser DB, Maybe PouchDB.
Here is our proposal to the Community and the Core Team.
We would like to Redesign the whole POS but will need support and some funding too. Without the funding we will only achieve the points which are important for us, which is not our aim. Our Aim is to get it ready for us as well as the ERPNext Core so everyone can make use of it.
I request everyone to share their feedback on this topic and push it forward. I will be updating more point to this and get a Scope of work ready, so everyone will get clear understanding and if there are any other issues faced by other users then they can add it here and I will add it to the points.
We will be setting a deadline for this SOW, so we can start work on this. Estimated time required for development is 2 months.
9T9 IT Team.