POS Logout validation when Bills are on Hold in ADempiere Retail
If there are any bills placed on hold, the POS system should restrict the user from logging out until those bills are either retrieved and billed or cancelled. This ensures that no transaction is left incomplete or unaccounted for.
User Access
Who Can Access
- Cashier
- Head Cashier
What User Can Do
- Place a bill on hold temporarily (e.g., customer steps away).
- Resume (retrieve) the bill and complete payment.
- Cancel the held bill if not required.
- Only after no bills are in hold status, user can logout from POS.
Pre-Requisite Activities
- POS should support:
- Bill Hold / Retrieve function
- Session-level tracking of held bills
- User session management should be enforced
Business Rules
- If any bill is in hold status, system must:
- Block logout with error message:
“Logout not allowed. Clear all held bills first.”
- Block logout with error message:
- Bills on hold must be:
- Completed (converted to sale) OR
- Deleted/cancelled (if invalid)
- Hold bills should be user-specific (one cashier shouldn’t be blocked by another’s hold).
- Optionally, allow admin override in emergencies.
User Interface
Step 1 : Logout the POS screen

Step 2 : System should not allow logout POS screen when hold bills
