View Issue Details

IDProjectCategoryView StatusLast Update
0011407Talermerchant-pos-terminal (Android App)public2026-05-17 23:20
ReporterChristian Grothoff Assigned ToBohdan  
PrioritynormalSeveritymajorReproducibilityalways
Status confirmedResolutionopen 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Target Version1.8 
Summary0011407: when using limited stock, PoS does not handle product locking well
DescriptionBasically, users ran out of stock because the remaining stock was locked. What we need:

1) proper locking: when product is selected and cannot be locked, grey out the button and do not add it to the list
2) proper unlocking: when products are removed from the order, unlock them
3) when orders are unpaid and removed from the PoS rotation, force-delete them instead of keeping the logs



TagsNo tags attached.

Activities

Bohdan

2026-05-17 22:43

developer   ~0028635

I don't like the idea of locking the products the moment it gets on the order in the tablet...

Otherwise, more functionalities( go back to the started payment/delete order) are being added to the orders(history) screen for better control of orders without the need to use the Merchant Portal for it.

Christian Grothoff

2026-05-17 22:46

manager   ~0028636

I'm a bit confused. The previous version of the PoS I'm aware of always had a "reset/clear order" button (= delete order). Was that removed? Similarly, users can remove (=unlock) individual products already. What is the problem here in terms of needing any changes to the UI for this?

Bohdan

2026-05-17 23:02

developer   ~0028639

Okay, we are speaking mainly about 2 cases:

I speak about the actual order that was posted, and we tried to get payment for it, which actually locked the products

While you speak about the orders that we prepare locally to be sent to the backend. |

For the use case I am describing, actually, there were no options for orders. If you got out of the payment screen, you have to wait till it auto-deletes, or go to the Portal to delete it. Now there is a button to delete it or to return to the payment screen.

For your use case, it was not actually a problem because pre-creating the order was not doing anything, and locking for that was absent. Now, for this use case, I added local locking, but not the remote one. And I believe for orders which we only prepare locally, we don't need to add locking on the server...

Bohdan

2026-05-17 23:04

developer   ~0028640

By not actually a problem, I mean that PoS didn't care about quantities at all.

which is, of course, a problem.

Christian Grothoff

2026-05-17 23:09

manager   ~0028641

The /lock API is there to allow the PoS to lock products while it is building the order. Otherwise, it would have no use. The point is to avoid a situation where the backend then cannot create the order due to insufficient inventory -- a case which produced really bad error messages at the Lugcamp. So for products with limited stock, the PoS should lock -- and unlock. And orders where the seller cancelled without being paid should probably be deleted. If unclaimed certainly without warning, but maybe even if claimed as the seller would no longer get the payment confirmation in this case and/or is likely to modify the order!

Bohdan

2026-05-17 23:18

developer   ~0028642

> Otherwise, it would have no use.

This feature has far more potential for online shops, and people buying something there, than in the case of offline sales, I mean, the amount of products is supposed to match the amount of products in people's hands, locking/unlocking is doing work for no reason... it is already pre-done by people themselves...

I can only see it useful if the shop operates in hybrid mode... but then it will be a mess anyway, because someone got something online, then the guy took the last object from the shelf, got to the cash register, the person sold the object using a custom object in the receipt... and the guy who bought something online has nothing in the end but a refund.

Proper error showing is another entry in my TODO asap stuff for PoS.

Christian Grothoff

2026-05-17 23:20

manager   ~0028643

Look, the user is _never_ wrong. They wanted to use the inventory management. It exists. Instead of the UI stopping to show products that were out of stock, they got weird errors for products still in stock. Very bad UX. We know how to fix it. A few lock/unlock calls won't bother the server.

Issue History

Date Modified Username Field Change
2026-05-15 16:23 Christian Grothoff New Issue
2026-05-17 22:22 Christian Grothoff Assigned To => Bohdan
2026-05-17 22:22 Christian Grothoff Status new => confirmed
2026-05-17 22:22 Christian Grothoff Target Version => 1.8
2026-05-17 22:43 Bohdan Note Added: 0028635
2026-05-17 22:46 Christian Grothoff Note Added: 0028636
2026-05-17 23:02 Bohdan Note Added: 0028639
2026-05-17 23:04 Bohdan Note Added: 0028640
2026-05-17 23:09 Christian Grothoff Note Added: 0028641
2026-05-17 23:18 Bohdan Note Added: 0028642
2026-05-17 23:20 Christian Grothoff Note Added: 0028643