Manual Register sessions
A register session covers a day's work at the counter: the cashier opens it by entering the cash float, rings up sales, then closes it with a register Z report. Each register has its own dedicated POS stock, created automatically.
Overview
The register session structures the cashier's day into three phases: opening (login + cash float + pairing), activity (sales, payments, returns) and closing (count + Z report + synchronization). Everything takes place on the Swifto POS mobile app, tied to the register declared in the back office.
Business goal
- Delimit a cashier's workday
- Track the opening and closing cash float
- Summarize payments by method
- Synchronize sales & stock to the back office
Target audience
- Cashiers — open and close their sessions
- POS manager — oversees register discrepancies
- Accounting — reconciles the Z reports
Position in the cycle
The session frames the day's payments and return notes. On closing, everything flows up to the Sales and Stock modules.
Access and navigation
Sessions are opened and closed from the Swifto POS mobile app. On the back-office side, their effects show up in Point of Sale → Register payments and in the POS stock movements.
Logging in pairs the device with the register (IMEI remembered); see IMEI pairing.
Opening & cash float
On opening, the cashier logs in (register code + password) and declares the cash float — the amount of cash present in the drawer at the start. This amount serves as the reference for the closing count.
1. Login
Register code + numeric password on the app.
2. Cash float
Entry of the starting cash amount (e.g. 100.000 TND).
3. Pairing
The device is linked to the register (IMEI) on first login.
Cash float — the drawer's starting amount (for making change). It is not a payment: it is kept separate from revenue in the Z report.
Session in progress
During the session, sales, payments and return notes accumulate. Each sale decrements the POS stock; each intact return increments it back. Everything synchronizes in real time (or queues up offline).
Real-time stock impact
The register's POS stock updates with every sale and every return, without any action from the cashier.
Closing & Z report
At the end of the shift, the cashier closes the session: they carry out a physical count of the drawer, the app issues the Z report (totals collected by payment method, any variance against the count), then everything is synchronized to the back office.
Z report — CAISSE-MENZAH1
Register discrepancy — the difference between the expected amount and the physical count is highlighted at closing, for review by the manager.
Automatic POS stock
When it is created, each register automatically generates its own POS stock (type register), pre-populated with the catalog items managed in stock (quantities at zero). Sales from the terminal decrement this stock; intact returns increment it back.
Auto-creation
1 register = 1 dedicated POS stock, created on declaration.
Replenishment
Fed by transfers / replenishment from the main stock.
Updates
Decremented on sale, incremented back on intact return.
POS stock — see the Stock module for the detail of movements, stocktakes and transfers.
Session statuses
| Status | Meaning |
|---|---|
| Open | Session started: cash float entered, device paired, sales possible. |
| In progress | Sales, payments and returns accumulate; POS stock decremented. |
| Closed | Final count done, Z report issued, data synchronized. |
Register day (workflow)
flowchart LR A([Register login
code + password]):::s --> B[Session opening
cash float]:::p B --> C[Sales & payments
cash / card / voucher]:::p C --> D[(POS stock decremented)]:::st C -->|customer return| R([Return note]):::ok R --> D2[(Stock incremented back)]:::st C --> Z[Closing / Z report]:::p Z --> S([Back-office sync
Sales + Stock]):::ok classDef p fill:#ECFDF5,stroke:#10B981,color:#065F46; classDef s fill:#F5F3FF,stroke:#8B5CF6,color:#5B21B6; classDef st fill:#FEF3C7,stroke:#F59E0B,color:#92400E; classDef ok fill:#D1FAE5,stroke:#10B981,color:#065F46; classDef ko fill:#FEE2E2,stroke:#EF4444,color:#991B1B;
Business rules
Dedicated POS stock — each register has its own stock of type register, created on declaration and updated by the session's sales / returns.
Cash float — entered at opening, kept separate from revenue; it serves as the basis for the closing count.
Offline — the register keeps taking payments without a network connection; operations are queued then synchronized on reconnection.
Closing = synchronization — closing issues the Z report and pushes sales, returns and stocktakes to the back office.
Roles & permissions
| Action | Cashier | POS manager | Accountant | Admin |
|---|---|---|---|---|
| Open a session | ✅ | ✅ | — | ✅ |
| Take payments during the session | ✅ | ✅ | — | ✅ |
| Close (Z report) | ✅ | ✅ | — | ✅ |
| View Z reports / discrepancies | — | ✅ | ✅ | ✅ |
| Replenish the POS stock | — | ✅ | — | ✅ |
Indicative matrix — depends on the profiles defined in your company.
FAQ & Real-world scenario
Scenario: a session at the "Menzah 1" counter
- 08:30 — Opening. Salah opens the Swifto POS app, enters
CAISSE-MENZAH1+ his password and declares a cash float of 100.000 TND. The device pairs. - During the day — Activity. He rings up sales; the POS stock updates with every ticket.
- 14:00 — Return. A customer brings back 2 intact packs of water → a return note of 23.000 TND, stock incremented back.
- 19:00 — Closing. Salah closes: the Z report shows totals by method and any variance, then everything is synchronized.
My sales aren't showing up in the back office?
The session probably hasn't been closed yet, or the device was offline. Synchronization happens on reconnection / closing.
Tip — keep the cash float constant
Keep the same cash float every morning: reconciling discrepancies at the end of the day is simpler.
Related pages · Cash registers