Shift Management
1. Overview & Purpose
What is Cashier Shift Management?
2. When to Use Shift Management
Morning Cash Float Drawer Initialization (Rp 500.000)
Cashier starts duty at 08:00 AM, receives a Rp 500.000 physical change float from the store vault, and counts denominations before opening the store doors.
Afternoon Shift Handover with Blind Cash Count
Morning cashier concludes duty at 15:00 PM and hands the cash drawer over to the afternoon shift replacement.
Cash Over/Short Discrepancy Auditing & Variance Tolerance
Closing a shift reveals a -Rp 25.000 cash shortage between physical cash counted and expected cash calculated from sales and cash flow entries.
Non-Cash Settlement Batch Audit (QRIS & EDC Card Slips)
Cashier reconciles physical bank EDC card settlement slips and QRIS transaction records before leaving the register.
Empty Shift Cancellation without Corrupting Cash Ledgers
A cashier opens a shift by mistake on Counter 03 instead of Counter 01, realizing the error before ringing up any customer transactions.
Store Night Audit & Multi-Counter Shift Consolidation
Store general manager reviews all 5 counter shifts at midnight to ensure all registers are CLOSED before running end-of-day revenue postings.
3. Data Dictionary & Fields
Schema structure for the pos_shifts table:
| Field / Column | Input Type | Requirement | Description & Operational Guide |
|---|---|---|---|
shiftNumber | STRING(100) | Required | Auto-generated shift code (e.g. SFT-20260521-001) uniquely tracking the session. |
branchId | BIGINT (FK) | Required | Branch governing the shift operations. |
posCounterId | BIGINT (FK) | Required | Counter workstation terminal assigned to this shift. |
cashierUserId | BIGINT (FK) | Required | User ID of the cashier responsible for drawer accountability. |
status | ENUM(OPEN, CLOSED, CANCELLED) | Required | Current lifecycle state of the shift. |
openingCashAmount | DECIMAL(18,4) | Required | Starting cash float placed into drawer at session initialization. |
expectedCashAmount | DECIMAL(18,4) | Required | Expected cash: Opening Cash + Cash Sales - Cash Returns + Cash In - Cash Out. |
actualCashAmount | DECIMAL(18,4) | Required | Physical counted cash submitted by cashier at shift close. |
cashDifferenceAmount | DECIMAL(18,4) | Required | Variance between actual and expected cash (surplus or shortage). |
4. Interface Preview
Shift management console showing active sessions, opening cash float, cash differences, and closing dialogues.
Screen Preview: POS Shift Management Interface
Visual interface illustration and control layout for menu Route: /admin/point-of-sale/shift-management
5. Opening a Cashier Shift
Initialize Shift Form
Navigate to Point of Sale > Shift Management or click Start Session on Cashier.
Select Branch & Terminal
Pick the operational branch, location, and an active counter workstation.
Declare Opening Cash Float
Input the exact starting drawer money provided for customer change.
Submit Opening Session
Click Open Shift & Start Session to unlock the retail checkout register.
6. Closing & Blind Reconciliation
Trigger Shift Closing
Click Close Shift from the Cashier header or Edit action in Shift table.
Input Actual Amounts
Enter counted Actual Cash and Non-Cash totals from physical count.
Submit & Finalize
Add optional closing notes and confirm. The shift is locked and posted.
7. Shift Cancellation Rules
Irreversible Transaction Binding
Cancel Empty Shift
Shifts with zero completed sales can be cancelled by authorized supervisors.
8. Cross-Module Impact
| Target Subsystem | Relational & Transactional Effect |
|---|---|
| Cashier Terminal | Requires an active OPEN shift before allowing products to be rung up or paid. |
| Cash Flow Movements | Every cash-in or cash-out dynamically adjusts expectedCashAmount. |
| Accounting Postings | Closing a shift triggers automated journal entries for cash and discrepancy accounts. |
Operational Best Practices
- Mandate blind closing so cashiers count physical drawer money before seeing expected totals.
- Require supervisory sign-off when cash shortage or surplus exceeds outlet tolerance limits.