Settings
Set Up Cash Register Sessions, Floats and Drawer Control
Cash Register turns branch register names into controlled till sessions with opening float, payment tally, denominations, cash in/out and close review.
- Menu path
- Manage -> Cash Register, Manage -> Branches / Outlet
- Verified from
- Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence
Live local Posnic app reviewed 2026-09-09, frontend/modules/settings_write.html v-pills-cashregister, frontend/static/script/js/modules/js/registers.js renderOverview promptOpen confirmOpen cashReportRegister registercloseFormSubmit, frontend/static/script/js/modules/js/users.js login register selection, frontend/static/script/js/modules/js/sales.js saleRegisterId register guard, api/src/repositories/register.repository.js
What Cash Register Adds
Without Cash Register, sales can still be created. With Cash Register enabled and branch registers configured, the shop adds a drawer session: choose a register, enter opening float, sell through that session, count payments, explain differences and close.
- Every register belongs to a branch.
- Each register row can be Closed, Open - your session, or Open by another user.
- Open sessions store cash_register_id, register_id, register_name, opening float, current user and device lock.
- Sales attach to the current open register when the feature is enabled.
- Payment tally calculates expected totals from sales and refunds.
- Close review compares expected values with counted cash, cards, wallets or other payment labels.
Prepare Registers
- Open Manage -> Branches / Outlet.
- Edit or create the branch.
- Add the register names used at the physical counter.
- Save branch setup.
- Open Manage -> Features and enable Cash Register.
- Open Manage -> Cash Register and confirm the register rows appear.
Status Meanings
| Status | Meaning | What to do |
|---|---|---|
| Closed | No open session is currently attached to that branch register. | Open it only if you are at that physical drawer. |
| Open - your session | The current user/device has an open session. | Continue selling or reconcile and close when the shift ends. |
| Open by another user | Another user has the open register session. | Do not sell on that drawer unless a manager resolves the session. |
| No registers configured | The branch has no register names saved. | Edit the branch and add register rows before drawer control. |
Choose the Right Cash Register Page
| Need | Detailed page | Main screen |
|---|---|---|
| Start a till session | Open Cash Register | Overview row and Open Register modal. |
| Resume or handle locked register | Open Cash Register | Overview row status. |
| Count payment methods and denominations | Count and Close Register | Payment Tally and Denomination cards. |
| Record money added to or removed from drawer | Cash In and Cash Out | Cash Details card. |
| Understand why sale is blocked | Sale Needs Register | New Sale plus register guard. |
Source Behaviors Operators Should Know
- The backend enforces one open session per register.
- If the same user opens an already-open register, Posnic resumes that session and moves the device lock to the current device.
- If another user holds the register, the API returns a register session locked response.
- Opening float must be non-negative.
- Close stores closing expected, closing counted and over/short difference.
- Managers, admins and super admins can close another cashier's till according to the repository rule; normal users are locked to their own user and device session.