Current POS design appears to be flawed

Thanks Chude, appreciate the detailed analysis.

But having cashier to toggle between full sales invoice mode and PoS mode to create a customer is not retail efficient. That’s why we pushed for this ammendment in version 8. And that’s why I think it’s better to fix the jinx in 8 than explore 6.

Your are mixing up things because all the improvements and requirements in the previous POS bounty are working fine and they are not the source of the problem.

Lets now summarize things so we don’t get lost in details

  • Browser Based POS:
    • Fixes:
      • slow search especially barcode
      • Auto Sync and syncing issues
      • Partial payment
    • Improvement:
      • Allow offline mode to be opt in

Now for the real thing which I think the focus should go to (maybe we start a bounty):

  • Stand alone apps for POS:
    • advantages:
      • Avoids security concerns caused by browser caching
      • Better control for the developer over the caching (e.g. SQLlite…etc)
      • Open more compatibility for hardware (e.g. direct printing, …etc)
    • For Mobile:
      • Native apps for android and iOS
    • For Desktop:
      • maybe something like Electron since it provides cross platform compatibilities and allow for code reuse
1 Like

Well, the switching is almost instant; and… dont forget that the cashier can also create from the customer from the customer field; the screenshot is our modification, theres a customer field in v6 pos, we hid it from the core files. We just hid that field as per demand for better sanity (separate topic). but yes, without that modification we made; you can create customer from pos.

We made this setup to prevent cashiers changing their sales customer default entity by mistake, but for stores running a form of loyalty; based on requirementswe either show the standard customer field or they switch to form view.

Also note in some cases we also hide the form view toggle button! so cashier customer entity is still selected in the background but cashier doesnt see it happen and doesnt have the chance to toggle. Well, this whole setup is a different topic. Summarily; its for security and reliability and it works!!! proven records with many stores setup and running.

Kent@Live Mail. its official!

[http://discuss.frappe.io/user_avatar/discuss.frappe.io/olamide_shodunke/45/7133_1.png] olamide_shodunkehttp://discuss.frappe.io/u/olamide_shodunke
July 30

Thanks Chude, appreciate the detailed analysis.

But having cashier to toggle between full sales invoice mode and PoS mode to create a customer is not retail efficient. That’s why we pushed for this ammendment in version 8. And that’s why I think it’s better to fix the jinx in 8 than explore 6.

@olamide_shodunke

Lets not also forget that any shop running any form of loyalty or named customer sales must take in basic info like full name, phone, email, the customer is usually cooperative with this. So to keep that form filling operation away from the cashier, the customer service handles it. Thats what is in practice in most big stores. The whole loyalty card data and card issuing happens with cs, cashier just enters name or account ID and makes the sale as usual.

Kent@Live Mail. its official!

[http://discuss.frappe.io/user_avatar/discuss.frappe.io/olamide_shodunke/45/7133_1.png] olamide_shodunkehttp://discuss.frappe.io/u/olamide_shodunke
July 30

Thanks Chude, appreciate the detailed analysis.

But having cashier to toggle between full sales invoice mode and PoS mode to create a customer is not retail efficient. That’s why we pushed for this ammendment in version 8. And that’s why I think it’s better to fix the jinx in 8 than explore 6.

THANKS!!! on point

Thanks for joining us! You may have come accross an old post where I requested the POS module offline mode should be optional, thanks for considering that as well, will solve this long post’s issue.

Do you see the same v6 with ability to create customer from the POS screen? Previous screenshot just had the display set to hidden.

Allow me to even escalate this… Who even says the new POS is better or even faster with usage? I am learning from this forum there was a bounty on this. I guess then that the proposals on the design was by people who dont really use this for fast retail operations where management needs reliability of the financial and valuation data.

POS Ease of Use. v6 wins. If you never used v6 and its close relations then I’ll take you through it now.


This is the v6 grid. Cashier adds an item, inline there is a -, text field and +, cashier sets quantities inline. This is operationally faster than clicking a line item and heading below the grid to set quantities. Like here.

BALANCE, in addition to @ganas analysis, start with v6 layout: put discount and rate inline, reduce the paddings of the layout so its small and compact like v8 - [with role level security for discounts and rate ]. Keep the POS as simple as it was. no heading down after clicking a grid to change quantities and all, frankly how is that better than just tapping the + or - sign or entering the quantity in the provided field. End result: a compact layout like v8 with the same beautiful inline quantity and discount features and optional offline capability.

The Old POS is so easy that I have taught cashiers in 3 minutes and they never needed any reminders, Its so insanely easy and efficient.

Again in v8, cashier can see the queue of invoices and if they’re in draft or not. What if the cashier decides to not synch, clear the browser’s cache and make away with cash collected; even deciding to stop work at the store? This is something very possible in parts of the world. In practice, cashiers shouldnt have that kind of view while making sales.

@Fred1
@ganas
@felix
@Deepak_Pai
@meigallodixital
@olamide_shodunke
@rmehta
Let me also demonstrate and permit me to use the term reproduce this erratic offline pos behavior.

I just posted 5 sales.
If I click on Print or New after invoicing, sale gets submitted and shows paid on the POS screen if you click the queue icon. Seems ok? I head to Sales Invoice List, they are not there! I sync, nothing. They’ve gone into limbo.

If I just close after clicking submit, ie not print or new, I see them in Sales Invoice List but as draft, even though I clicked Submit.

These 2 sales are not in my Sales invoice list even after hitting sync several times, take a look…


the top 3 sales were today 13m, 8m, 7m, before that you see 3d (3days ago) so where are my other 2 sales, the ones you see as paid for N380k and 279.5k??? If I decide to clear this browser and I have this cash, hand it to someone who can take it out the store, I’m gone clean!

Please who wants to use this to run a store, this is 5 sales in a row and 3 are draft, 2 are still stuck in cache, ie, none has hit my database reliably!!!. So if I clear my browser. Poof! It’s lost!!! Come on!! Let’s decisively withdraw this, WE NEED ERPNEXT TO BE THE BEST ERP SOLUTION IN THE WORLD PLEASE, thats why we spend useful time hitting on this topic.

NB, Just synced again before hitting reply to post this… Still…

All 5 invoices not commited, 3 are in draft, 2 are lost in the cache. 100% failure on this test. Unusable for serious retail. Simple.

UPDATE

I just cleared the browser (last 2 hours) fully and here’s my list… emptied, sales invoice list, no records, the 2 stuck sales are gone forever. the other 3 are in draft so sales register nothing also, so should cash officer submit these? and why? are they valid? why should he/she submit a draft created by a cashier? was this sale complete? was it a mistake? hard to tell. its invalid, in real business this should be queried at the end of sale.

I disagree with you when it comes to v8 design since v8 aims to be touch friendly first which is the most cases of pos usage. Thats why having the keypad for different operation on the pos screen was important as you wouldn’t need to use the device keyboard. Try to use v6 design on an iPad and you will understand what i mean

2 Likes

So lets take the best of both worlds! Thats the point.

1 Like

Well, you also see why these things should be optional? In our part of the world, 1% of shops run on ipads and all, even touch based PCs are rare, too expensive.

1 Like

UPDATE

I just cleared the browser (last 2 hours) fully and here’s my list… emptied, reads clearly, no customers yet but I’ve had 5, 2 showing paid; and I vacuumed them with my browsers’ clear history feature, sales invoice list, no records, the 2 paid stuck sales are gone forever. the other 3 are in draft so sales register nothing also, cache is cleared so should cash officer submit these as cashier’s browser cannot sync again? and why? are they valid? why should he/she submit a draft created by a cashier? was this sale complete? was it a mistake? hard to tell. its invalid, in real business this should be queried at the end of sale, its a major problem for the sales people.

I don’t even believe with all the security issues in today’s world, someone will want to keep financial transactions and master data inside a browser that may have an internet connection! Correct me if I’m wrong on this; is the cache of all popular browsers hacker-proof? What about slightly older browsers? Are they also secure? Because this works in some recent but older versions of Chrome and Firefox. Is there an issue here?
Is it possible for a hacker to lift data like stock, customers and prices from the cache?

@noetico some of these issues are already mentioned inside the topic. Try to make your replies concise to the point and aggregate them in one reply. Its better than spamming the topic with tens of replies as readers will get lost and will be hard to follow the topic. Thanks

Noted Sir, things just flood in and I update, Sorry everyone.

2 Likes

@noetico We understand your point about the older version 6 of ERPNext working so well for you with POS, but your idea of us all going backwards to that old version is actually diluting the important point of fixing ERPNExt version 8.4 and beyond with a good working POS module. I actually considered for a few minutes trying out an older version, but I (and I fear many others) do not want to be in your position of being firmly stuck at versions 6. The transitions from version 6 to version 7 were not reliable and about half the time the system upgrade process left errors that took a great deal of energy to repair. The transitions from version 7 to version 8 are even worse. I do not recall of reading a single upgrade that went well and most are still stuck in version 7 because they cannot afford to loose all of their data when it does not upgrade well. So to me your idea is not worth the trouble to go backwards and possibly be stuck there forever. So may new features and fixes went into the manufacturing and purchasing modules since version 6 that I cannot even consider it.

Again, building a faster server is not a real solution. I am running on Google Cloud Platform and have scaled the system up to 15gb of memory and 4 cpu’s for testing and found no measurable relief.

My point exactly! I have already committed a developer contractor to prepare a fix for the barcode scan buffering and they are nearly finished. When it is done I will have paid as much as your bounty (and possibly even more) to fix a problem that still will be added to a useless POS module. Useless because I cannot trust it to handle the simplest of tasks like decrementing inventory and crediting accounts when a transaction ‘appears’ to be done.

Isn’t that something the foundation should do? If any of us were to start down that road, it would be a very biased end result. Most of us are NOT developers, we are users or implementers. Knowing the problems we described here, it should be the original developers of this version of POS that would best know how much of it can be salvaged and what parts need to be tossed out and redesigned.

I and many others are using a cloud based erpnext system (mine is on Google Cloud Platform) so thhe idea that these problems are only with local installations is a mistake. The issues are version related and not host related.

Ok so lets make sure to add the unreliable transaction submit process of a POS sale. This does not appear to be related to whether a transaction is cached as offline (even though the internet is not down). Some transactions just never deduct inventory from stock and add the sales funds to accounts. Not a single one of my cashier users would be able to figure out when something has been completely submitted or what the might do to remedy the issue. They are all great customer relations people, not software troubleshooters.

It is this last issue that has turned me off to the system in general. If the POS system cannot be trusted to manage the inventory and the money, then how could I trust any of the other modules to do the same?

BKM

@bkm and all; Please dont get me wrong! I’m not saying stay on v6! I’m saying before a fix,if you must use the system for clients and avoid even court cases (haha), stay on v6 to 7 for supermarket style operations. Going forward; the design also should be based on the reliability of online-only POS in previous versions, improve their touch friendliness as stated by others.

For upgrades I totally agree; I have basically wept on this forum about that, the updates mostly fail so I have never upgraded a client’s server, I know fom local attempts that the updates/upgrades usually leave the server with internal error or updating, we’ll be back soon. I have one v8 I just needed to update, same version, It still failed. With this in view, I say if you have something working in production, take a backup (full server image not db only), test the update on a different system, note the steps if you succeed. Hitting bench update on a production server could put you in big trouble.

If you want to update talk to @bobzz_zone. He has done miracles in different areas for me.

I wish you the best of luck on that bounty

You will have to count me out until I am able to get value for the one I contributed to that’s still unusable.

And when you say we got what we paid for in the last bounty …do we need to set a bounty to correct a bug? Cause that is what this offline syncing matter is …a bug.

I will really be interested in seeing how many of the last contributors will line up behind this bounty request.

I am quite dissapointed

Thanks …thank you so much