POS Shift and Z-Report
POS shift is a way to keep accurate track of cash in the POS: the cashier opens a shift with a starting cash float, records all cash movements, and at the end closes the shift and reconciles the actual balance with the calculated one. The result goes to the "Finance" section.
To open: Admin panel → POS. Shift management is in the header of the POS ticket (the POS icon or the menu next to it).
Why you need a shift#
In normal operation, without an open shift, the payment button in the POS is unavailable. This ensures that every payment is linked to a specific cashier and shift — this is how cash reconciliation is formed.
Shifts are tracked per cashier: if several people work at the POS, each has their own shift for the location. Sales data for each shift is not mixed.
What you need to get started#
- The POS — a shift is opened from the ticket header; it has no section of its own.
- Permission to open a shift — the employee's role on the POS.
- A cash float — the amount the shift starts with; expected cash is counted from it (and so is the "Drawer" chip, which adds cash sales and movements on top).
- The bridge and a printer — if you want X and Z reports on paper (Printing).
Opening a Shift#
Before work, open “Hardware” and run “Self-test” for the connected fiscal register and terminal. Opening a cash shift does not check hardware readiness.
- In the ticket header, click “Open shift”.
- In “Open cash shift”, fill in “Opening float” — the cash in the drawer before work starts. If denomination counting is enabled for the location, fill in the banknote and coin grid (see the beta conditions below).
- Confirm. The shift is open: the payment button becomes active, and a badge with the cashier's name appears in the header.
Result: the shift is open. If a ticket is already filled, tap “Pay” again to take payment. “The shift is already open” means the POS found an existing shift and uses it without creating another.
After opening, the POS compares the connected fiscal register’s clock with the computer. A difference of five minutes or more produces a ⏰ warning with the number of minutes. Check the PC clock, then choose “Sync register time with this PC” in “Hardware”. The clock is not changed automatically; an unavailable device or one that cannot report its time may produce no warning.
The shift belongs to the signed-in cashier. To select another employee, use “🪪 Switch cashier” and their PIN (see command availability below).
When blind closing is off, the "Drawer" chip shows how much cash should be in the drawer right now: it grows with every cash payment, and goes down by the change handed back (the chip counts the receipt total, i.e. tendered minus change), by pay-outs, cash drops and cash refunds. Hover the chip — the tooltip breaks the amount down into opening float, cash sales, pay-ins, pay-outs and drops.
If shift opening checklists are configured for the location, the system will automatically create tasks from them right at the moment of opening and show how many items were added — "turn on the coffee machine, take meter readings, check the display case" appear automatically, without reminders from the manager. You can find them in the Work Chat, under the "Tasks" section: as of 29.08.2026, the shift task board lives there, and there is no separate "Tasks" item in the sidebar (see Tasks).
Once opened, the shift is cached on the device — in case of a temporary network outage, the cashier can continue accepting orders.
Cash Movements#
During a shift, you can record three types of transactions:
| Transaction | When to use |
|---|---|
| Cash In | Adding cash to the drawer (e.g., change) |
| Cash Out | Removing cash from the drawer (e.g., for business expenses) |
| Cash Drop | Transferring excess cash to the safe or to a cash collector |
In the cash-in, cash-out or cash-drop window, enter the amount and select a chip under “Category”. The choices depend on the transaction:
| Transaction | Categories |
|---|---|
| Cash In | “Owner contribution”, “Change float”, “Other (comment required)” |
| Cash Out | “Payment to supplier”, “Deposit to bank”, “Owner withdrawal”, “Change float”, “Refund to guest (no receipt)”, “Other (comment required)” |
| Cash Drop | “Deposit to bank”, “Owner withdrawal”, “Other (comment required)” |
“Other” requires a comment; for other categories it is optional. The movement is recorded in the shift. For a refund against an existing receipt, use that receipt: the system assigns “Cash refund by receipt” automatically.
Payment to a supplier: to whom and for which document#
Cash goes to the milkman, the market, a supplier's courier. To keep such a payment in the books:
- In the movement window choose “Cash Out” and the “Payment to supplier” category.
- In “Supplier”, start typing the name and pick a card from Counterparties (cards with the “Supplier” role are shown). Not in the list — just type the name.
- In “Supplier document no.” enter the invoice or delivery note number, e.g.
INV-118. - Enter the amount and, if you need a paper signed by the recipient, tick “Print a cash slip”.
What happens next:
- Supplier card. With a card picked, the payout is added to the supplier's “Settlements” as a payment and settles their bills (see Counterparties). This needs the “Money” right in Counterparties; without it the cash is still paid out and the register says the accountant has to add the payment. Repeating the same movement does not create a second payment.
- Accounting books. Payables go to this supplier; a payout without a card goes to “unassigned”, and the accountant sees it in the review with the supplier name.
- Finance. The “Cash movements” report shows the supplier and document number in “Reason”; the CSV has separate “Counterparty” and “Document no.” columns.
A purchase from a private person with ID details is a stock purchase act — it writes the cash payout itself; do not duplicate it with a supplier payment.
In the Android, Windows and Linux POS apps the movement window works the same way: “Category” chips with the same list as in the table above (until a category is chosen, “Record” stays disabled; “Other” needs a comment). “Payment to supplier” has a “Supplier” field with suggestions from Counterparties cards with the “Supplier” role (from two letters) and “Supplier document no.”; “Unlink” drops the chosen card and keeps the name as text. A payout with a card is posted to the supplier's settlements just as in the web POS, and the app shows the result in a line at the bottom of the screen: posted, no “Money” right, the card has no “Supplier” role, or no connection. Offline the cash still leaves the drawer and the movement is sent with the other shift commands; add the payment to the supplier's settlements later in the card. If the cashier has no access to Counterparties, there are no suggestions and the supplier is entered by name.
Deposit slip number for a cash drop#
The “Deposit to bank” category has a “Deposit slip no.” field — the bank's receipt number for the cash deposit. The accountant matches the drop to the bank statement by it: the number shows in “Cash movements” and in the CSV.
Cash slip#
“Print a cash slip” prints a paper for the movement on the receipt printer: location, date, operation, category, recipient, document number, amount, cashier and “Paid by” / “Received by” signature lines. It is not a sales receipt or a fiscal document. No printer through the bridge — the browser print dialog opens.
In the Android, Windows and Linux POS apps the same checkbox prints the slip through the location's bridge: first through the paired bridge on the local network, otherwise through the cloud (on cenaly.ru — only through the bridge on the local network). A fiscal register does not print the slip; you need a receipt printer. With no printer the app says so; the movement is recorded anyway.
Cash drawer limit: “Time for a cash drop”#
A lot of cash in the drawer is a risk: a robbery or a mistake costs more. Give the location a ceiling, and the register reminds you when it is time to drop the excess.
- On the POS, open the gear → “Cashier control” → “Cash drawer limit”.
- In “Cash in drawer, no more than”, enter an amount, e.g.
30,000, and click “Save”. - Optionally tick “Stop cash payments until the cash drop”.
When the “Cash” chip shows more than the limit, the status strip above the register shows “Time for a cash drop”: what is in the drawer, the limit and how much to take out to get back to it. The “Cash drop” button opens the movement window already set to “Cash drop” with the “Deposit to bank” category — just enter the amount. After the drop the banner disappears.
By default it is only a reminder: sales do not stop. With “Stop cash payments until the cash drop” ticked, the register does not take cash while the drawer is over the limit and offers a cash drop first; card and other methods keep working. Turn the stop on deliberately — at rush hour it holds up the queue.
With blind shift closing the banner shows no amounts — only “the drawer holds more cash than the location limit”. The chip counts this device's sales at once and other devices' sales after the next X report, so the limit may trigger a little late, never early. The limit is set per location; empty or 0 means off.
X-Report — Mid-Shift Snapshot#
The X-report displays the current shift status without closing it: cash sales processed, cash in/out, cash collections, and the expected cash drawer balance. The shift continues, and data is not reset.
Use the X-report for mid-shift cash drawer audits during the workday.
Card sales are broken down by terminal: if the counter has two of them, you can see how much went through each — as “Card sales ·
Payments that are neither cash nor card — a gift certificate, a deposit or advance offset, a “on credit” share, a part the guest paid from their own phone — are rolled up into an “Other” line. It shows up at shift closing, in the report card and in the printed X/Z-report, but only when the shift actually had such payments. “Other” is not part of the expected cash balance: that money is not in the drawer.
A bill settled in separate parts lands in the report under the tender of each part: a part closed in cash goes into cash sales and into the expected drawer balance, a part paid by card goes into card sales and into the per-terminal breakdown. There is still one order, and it is counted once in the order count.
Sales tax added on top (US, Canada). If the location adds tax on top of prices, two lines appear under the sales total: “Sales tax (added on top)” with the number of orders and the tax amount, and “Net sales (excl. tax)”. Tax is money owed to the tax authority, not the location's income. It is already included in cash and card: the guest paid it, and that money sits in the drawer and in the terminal batch. That is why “Total sales” and the expected cash balance do not change. The lines appear in the shift-closing window, in the report card and in the printed X/Z-report. The tax comes from the record in the order itself. It goes to the shift that closed the bill, the same way as the order count and the service charge. In Russia and Georgia tax is included in prices, so these lines do not appear and the report does not change. With blind closing, the lines are hidden together with sales. See Taxes at the POS.
Tips and service charge. Under sales the report shows a “Tips” line with the count and amount. Tips sit in the drawer and in the terminal batch but are not part of sales. The “Service charge” line is for reference: the charge of orders closed by the shift is already part of sales. Both lines appear only when the amount is not zero. In the Android, Windows and Linux POS apps, the on-screen X/Z summary has the same lines in the same order: “Tips”, “Sales tax (added on top)” and “Net sales (excl. tax)”, “Service charge”. The “Print” button under the summary prints the same lines on the receipt printer through the location's bridge, the same way as the cash slip.
Z-Report — Shift Closing and Reconciliation#
The Z-report closes the shift. Sequence:
Click “Close shift (Z)” in the POS menu. In “Close cash shift”, review “Before closing the shift”.
Count the drawer and fill in “Counted cash”.
The system calculates the expected balance:
Expected = Float + Cash Sales + Pay-ins − Pay-outs − Cash DropsFor a pickup point, cash cash on delivery for third-party parcels is added to this amount: the money physically sits in the same drawer, but is not included in the location's revenue — it is accounted for as a separate agency line item.
The discrepancy is displayed — the difference between the expected and actual balance. The discrepancy is recorded in the report (normal, shortage, or overage). If the cash is over or short, explain why in the "Note (optional)" field — it is saved with the shift and shown as a 💬 line in the shift history.
The shift closes. New sales can only be started after opening the next shift.
With blind closing enabled, the expected amount and discrepancy appear only in the Z-report after you confirm the count.
“Before closing the shift” lists only items needing attention:
| Warning | What to check |
|---|---|
| “Open bills: 3” | Finish the relevant bills; the first six have navigation buttons |
| “Bills partly paid in this shift and still open: 1” | The amount already paid is included; the unpaid balance is not |
| “Sales without a fiscal receipt: 2” | Review sales that have no fiscal receipt |
| “Not yet sent from this till”, “Not delivered (needs attention)”, “Refunds not written to the shift” | Check delivery and press “Retry” where the button is shown |
The number at the end of the line is the record count. “You can close the shift anyway, but these loose ends will not get into its Z report.” is a warning, not a block. Resolve the outstanding items first to reconcile complete data.
Result: the shift is closed, with its report and note saved. If cash does not match, check the count and movements instead of adjusting the amount to match the expected balance.
End of day: three separate closures#
Before closing, compare card totals with the terminal, check the X-report and record all cash withdrawals and drops. Then:
- Close the POS cash shift with “Close shift (Z)” and count the drawer.
- If a fiscal register is used, open “Hardware” → “Z report (close shift)” and confirm: the device produces its own fiscal report.
- For a connected bank terminal, click “Settle (close batch)” there and check the result. If the terminal reports automatic settlement, a separate batch closure is not required.
Run hardware commands from the till PC with its bridge connected. If an operation fails, complete it separately: a closed POS cash shift does not mean the fiscal register or terminal has also closed. See the fiscal shift guide for preliminary reconciliation and withdrawals.
Printing X and Z#
The shift X- and Z-reports are printed on a thermal printer via Cenaly Hardware Bridge; if there is no bridge, printing is handled via the browser. If the printer is offline, the job is queued and will print once the device comes back online — the interface will indicate this, while no paper has been printed yet.
A location where the only hardware is a fiscal recorder is a special case: the bridge does not print our documents through the fiscal recorder (only test printing and pre-bills are allowed for it), and the browser fallback is not triggered here. X- and Z-reports at such a location are viewed on-screen, while fiscal shift reports are generated by the POS itself. Learn more in Kitchen and Dining Area Printing.
Set the threshold in Statistics → Risky operations → Thresholds and notifications → Cash discrepancy. It applies across the account and can be changed by the owner or manager.
Count the drawer by banknotes and coins#
- Select the location in the POS. Open the gear menu → “Shift close” and enable “Count the drawer by banknotes and coins”; it is off by default.
- Open the shift-opening or shift-closing window. Under “Banknotes” and “Coins”, enter the quantity of each denomination or use “−” and “+”. For example, three ₽1,000 notes make ₽3,000.
- Enter cash without a matching row as one amount under “Other / small change”. Check “Total” and confirm: it becomes the opening float or the counted cash at closing.
The breakdown is saved in the shift and Z-report: “Opening float by denomination” and “Counted cash by denomination” appear on screen and in print. “Enter the amount” switches back to manual entry without a breakdown. If the location’s currency has no denomination grid, only a total amount can be entered.
Offline, the denomination breakdown in the preliminary report is available only on the device where the count was entered; the queued shift operation carries the total amount.
Close a shift blind#
Blind closing helps reveal shortages: the cashier counts real cash before seeing the system’s expected amount, instead of adjusting the count to match it.
- For the correct location, open POS → gear menu → Shift close.
- Enable “Blind shift close”. Changing this requires access to POS settings; it is off by default.
- At closing, count the drawer and confirm the amount. Until confirmation, the expected balance, cash sales and discrepancy preview are hidden; the “Drawer” chip also hides the amount. After closing, the Z-report shows them.
Denomination counting works with blind closing: the grid is not prefilled with the expected amount. The open shift’s X-report hides monetary figures that reveal the balance from employees without Finance access; the owner and employees with Finance access can see the full server report.
Cash count: draft, tolerance and discrepancy reasons#
Counting the drawer at closing is a procedure, not a single number. You can pause it and pick it up later, check the drawer mid-day, and require a second count when the amount is far off.
Draft: guests interrupted the count#
- In the “Close cash shift” window, start counting — by denomination or as one amount, with a comment if you like.
- Tap “Save draft”. The window closes; the shift stays open and keeps taking payments.
- When you come back, open “Close shift (Z)” again. The “Restored the count draft saved …” notice shows that the amount, the denomination breakdown and the comment are filled in. “Start over” clears the draft.
The draft is stored in the shift itself, so the same cashier can finish it on another device. It holds no expected amount, so it does not give away a blind close. A draft is saved only online: without a connection the input stays in the window until you close.
Count now — without closing the shift#
- Open the X report and tap “🧮 Count now”.
- Count the drawer (with the denomination grid if the location has it on) and tap “Record count”.
- The window shows the expected amount and the discrepancy: “Exact match”, “Short by …” or “Over by …”. The shift is not closed.
Every such count goes into the shift log: the “Mid-shift counts” lines appear in the X report of the open shift and in the Z after closing. With blind closing, a cashier without Finance access sees only “Count recorded”; the manager sees the discrepancy.
Tolerance: a large discrepancy means counting again#
- On the POS, open the gear → “Cashier control” → “Cash count tolerance and reasons”.
- In “Allowed discrepancy, up to”, enter an amount, for example 500. Empty means off (the default).
- When the closing count differs by more than the tolerance, the register will not close the shift on the first try. “Recount the drawer” appears with the difference and “First count: …”. The amount field is cleared — count the drawer again from scratch.
- The second count closes the shift whatever the discrepancy. The Z report keeps the line “Recounted (first count …)”.
When the register can see the expected amount, it warns in advance: “The discrepancy is over the tolerance — closing will ask for a recount”. With blind closing the server checks it, and the recount notice does not name the discrepancy.
Discrepancy reasons from the location's list#
In the same block, fill in “Discrepancy reasons (one per line)” — for example “Change given wrongly”, “Receipt not rung up”, “Cash drop not recorded”. With a list, a discrepancy over the tolerance needs a “Discrepancy reason” picked from it, or the shift will not close. Without a tolerance, any discrepancy needs a reason. The chosen reason is printed as the “Discrepancy reason” line of the Z report; add details in the note.
Reopen a closed shift#
If a shift was closed by mistake, you can bring it back.
- On the POS, open “Shift history” and tap the shift. Its Z report opens.
- Tap “↺ Reopen shift” and write the reason, for example “closed by mistake”. Without a reason you cannot confirm.
- The shift is open again for its cashier. Sales and movements keep going into it, and the Z report is recalculated when it is closed again.
Conditions:
- you need “Finance — edit” access for this location (owner or manager, not a cashier);
- only the cashier's latest shift, and no later than 7 days after closing;
- the cashier must not have another open shift;
- a shift run offline on the register cannot be reopened.
Reopening is recorded in the shift log — a “Reopened” line with time, author and reason is shown in the Z — and in the dangerous-operations log as a shift_reopened event (Loss control). While the shift is open again, Finance shows its previous record; it updates after the shift is closed again.
Cash commands on the POS screen#
| Command | Purpose |
|---|---|
| “🗄️ Open cash drawer” | Open the drawer without a sale through the hardware bridge; select a reason recorded in the risky operations journal |
| “📊 X report” | Check the current shift without closing it |
| “📥 Cash in”, “📤 Cash out”, “🏦 Cash drop” | Record a cash movement with a category |
| “🔴 Close register” | Count the cash and close the shift |
| “🪪 Switch cashier” | Select an employee by PIN |
| “🔐 Lock register” | Block access to the POS until an employee enters their PIN |
An open shift is required for the X-report, movements and closing. Android and Windows support these commands and switching cashiers; drawer opening and locking are currently web-only. iOS does not support this command set. Unlocking requires a network connection, except on a POS configured for v2 autonomous operation.
Who served the guest and sold each item#
When the signed-in employee acts as a waiter and the order has no waiter, the POS assigns them on saving. To choose manually, tap the 👤 ticket chip with the “Order is linked to this waiter” tooltip and select an employee.
For an individual item, use “Staff on line” → “Who did it” (add the command to the layout first). Service performers and goods sellers are tracked separately so revenue can be attributed to the employee and commission calculated under the configured rules. Line assignments can no longer be changed on a partly paid bill. See Hall orders.
Where settings apply across locations#
| Item | Scope and settings |
|---|---|
| Shift, float and movements | Per cashier and location; shift menu in the POS |
| Blind closing and denomination count | Selected location; POS gear menu → “Shift close” |
| Cash drawer limit and cash stop | Selected location; POS gear menu → “Cashier control” |
| Cash count tolerance and discrepancy reasons | Selected location; POS gear menu → “Cashier control” |
| Permission to reopen a closed shift | Employee role: “Finance — edit” for the location |
| POS appearance and command placement | Location template and device screen preferences; “POS appearance” and “Customize screen” |
| Discrepancy threshold | Account-wide; “Statistics” → “Risky operations” → “Thresholds and notifications” |
| Training mode | Current device for the selected location |
| Clearing test sales | Account owner, for the selected location; Settings → Data export |
For a location with no saved policies, blind closing and denomination counting are off. When adding a location, check both switches for that location.
Shift History in Finances#
On the POS, open “Shift history” to view closed shifts. To reconcile a period, go to Finance → Cash shifts: a table by cashiers and dates with totals for sales, cash movements, and discrepancies. This is convenient for daily reconciliation and monitoring cash discipline.
The ▸ arrow at the left of a shift row expands its cash movements: time, type, category, reason, who made it and the amount (pay-ins with “+”, pay-outs and drops with “−”). The number next to the arrow is how many movements the shift had.
Find a cashier's shift for a period on the POS#
A manager does not need to go to Finance to find a specific cashier's shift. The “Shift history” window on the POS filters the list.
- On the POS, open “Shift history”. Without a filter it shows the location's last 30 closed shifts.
- In “Cashier”, choose the employee. The list contains the account's employees, if the role can see them, and the cashiers of the shifts already shown.
- In the “Period” row, choose “Today”, “Yesterday”, “7 days”, “Last week” (Monday to Sunday) or “30 days”. For your own dates select “Dates…” and fill in “From” and “To”; the “To” date is included.
- Select a shift to open its Z-report.
A shift belongs to the cashier who opened it and to the day it was closed. A custom period can be up to 93 days; for longer periods use Finance → Cash shifts. If no shifts match, the window shows “No shifts match the filter” with a “Reset filter” button. The filter resets every time the window is opened.
In the POS apps for Android, Windows and Linux the filter works the same way, with buttons: in the “Shift history” window (shift screen), above the list, there is a “Cashier” row (“All cashiers” and the cashiers of the shifts already shown) and a “Period” row (“Latest”, “Today”, “Yesterday”, “7 days”, “Last week”, “30 days”). The apps have no custom dates and no list of all employees: use the web POS or Finance for those. The app remembers the chosen filter until it is restarted.
“Cash movements” report#
The “Shifts | Cash movements” switch above the table shows every pay-in, pay-out and cash drop of closed shifts in the selected period as one table. This is how an accountant matches the month's cash drops against the bank statement:
- Pick the period, e.g. “This month”, and the location (or all locations).
- Switch to “Cash movements”.
- In “Type”, choose “Cash drop”; if needed, also “Category” (e.g. “Deposit to bank”) and “Cashier”.
- Above the table — the number of movements and the totals of pay-ins, pay-outs and drops for the filter.
- The “CSV” button downloads the rows shown, filters applied: time, location, type, category, reason, who, signed amount and shift number.
The currently open shift is not in the report — its movements are on the register's X report. Movements recorded before categories existed have an empty category: pick “No category” to see them. The report view is kept in the address (?tab=cash&view=movements), so you can send the link to a colleague.
The section is available to the account owner, manager, and any role granted access to the "Finances" section — for example, the built-in "Accountant" role (see Staff).
“Open checks” report#
The third item of the switch is “Shifts | Cash movements | Open checks”. It lists dine-in checks and orders that are open right now, so the shift reviewer sees forgotten tables and leftovers before the day is closed.
- Open Finance → Cash shifts and switch to “Open checks”. Pick the location in the section header as usual.
- The table shows when each check was opened, its age, server, table and amount. The oldest checks come first.
- The “> 24 h” badge marks a check older than 24 hours, “previous day” — a check started yesterday or earlier. A check opened yesterday shows up in the report today until it is closed.
- The “transferred ×N” badge shows how many times the check moved to another server. The “History” link opens the order's feed in Statistics → Risky operations: who handed it over, when and to whom.
- The “By server” block shows how many checks each server has open and how many of them are older than 24 hours. Click a name to keep only that server's checks in the table. “Only older than 24 h” keeps the overdue checks, and “CSV” downloads the rows shown.
Below are two more blocks for the selected period:
- “Carried over from a previous day” — checks started on one day and closed on another: opened, closed, server, table, amount.
- “Transfers between servers” — every change of the server on a check: when, from whom to whom, who did it, check amount. The server records the transfer from the order itself, so it shows up from any register: web, Android, Windows, iPhone. The same goes for the orders page and the order card. The first assignment of a server to a table is not a transfer.
An open check is about what is happening now, not about the period: it shows with any selected period. The data comes from the same Finance database as the shifts — a fresh order appears after a sync, which runs when you open the section and every half hour. The report view is kept in the address: ?tab=cash&view=open.
Clear test sales before launch#
After staff training, practice orders, receipts and shifts remain in reports. Before the location opens you can delete them so that Finance, the receipt registry and shift history start from zero. Training mode at the register never creates such sales — the cleanup is for sales already rung up in normal mode.
- Close all open shifts at the location.
- Open Settings → Data export and, in “🧹 Clear test sales before launch”, click “Clear test sales…”.
- Choose the location and the date up to which (inclusive) sales are deleted. Click “Show what will be deleted”.
- Check the preview: how many orders and for what amount, how many receipts and shifts will be deleted, and what stays.
- Type the location name and click “Delete test sales”.
What is deleted: the location’s orders up to the chosen date, their receipts in the receipt registry and refunds of them, closed shifts without kept sales, and their rows in the order feed and in Finance.
What stays — honestly:
- Sales with a fiscal receipt. The register has already issued the receipt and sent it to the tax authority — it cannot be deleted, neither here nor in the fiscal storage. Such sales stay in reports in full; the preview lists them with the receipt number. To cancel the revenue, issue a refund receipt at the register.
- Correction receipts and receipts without an order.
- Stock write-offs for test sales — align stock with a stocktake. Guests’ online payments, loyalty points and guest purchase history are not changed either.
Limits and safeguards:
- Only the account owner can clear sales; employees see an explanation without the button.
- A fresh sign-in is required — within the last 15 minutes. If you signed in long ago, the window offers “Sign in again” and reopens after sign-in.
- This is a launch-period operation: only sales from the first 60 days after the location’s first sale can be deleted.
- Deletion is permanent. It is recorded in Staff → Action log (section “Sales”): who, when, which location and how much was deleted.
- If the connection drops midway, run the cleanup again for the same date — it removes what is left.
Limitations#
- In normal operation, payment on the POS is blocked without an open shift — that is cash-control protection, not a failure.
- The X report is unavailable offline. The interim snapshot is computed on the server from sales; you can close a shift without a connection, and the Z report will be produced once the link is back — If the internet goes down.
- A shift opened offline gets a temporary number and is swapped for the real one when the queue drains.
- Shift history lives in the Finance section, which is not available on
cenaly.ruyet, so there is no shift history there either. - X/Z do not yet show average receipt, revenue by employee or top items for a shift. There are no shift reports by waiter, kitchen station or VAT rate. Use “📈 Today” for the daily summary; it does not replace a shift report.
- A shift never closes itself. A forgotten open shift stays open until someone closes it.
- Count tolerance, discrepancy reasons, the count draft and “Count now” are web POS only. The POS apps for Android, Windows, Linux and iOS do not have them yet, nor “Reopen shift”.
- The cash slip and the printed X/Z from the Android, Windows and Linux apps have no seller lines (business details in the header) — only the web POS prints them. Without a receipt printer on the bridge the apps do not print shift papers: they have no browser print.
- Only the cashier's latest shift can be reopened, within 7 days of closing. Reopening does not touch the KKT shift.
Troubleshooting#
| Symptom | Cause | What to do |
|---|---|---|
| Payment is not allowed | No shift is open | Open one with a float |
| Cash does not match | An unrecorded movement or counting error | Check cash-in, cash-out and physical cash; the discrepancy stays in the Z-report |
| A shift has been open since yesterday | No automatic closing | Close it manually; open the next one with its own float |
| Browser POS is slow or shows an old screen | The tab or browser version may be outdated | With a connection, reload the tab and check for browser updates. Do not clear POS data with unsent operations |
| Hardware responds slowly; a new bridge version is available | The bridge checks for updates itself, but installation is still pending | In “Hardware”, click “Update now” after printing finishes. Wait through “Checking for updates…”, “Downloading update…”, “Verifying integrity…” and “Restarting the bridge…” until it reconnects |
| Android POS is slow on an old version | An application update has not been installed | The APK version checks the website for updates: connect to the network and complete the offered installation. Update store-installed versions through their store |
| The X-report will not load | No server connection | Restore the connection |
| No Z-report after offline closing | The queue has not synced yet | Wait for connectivity and delivery of operations |
| No denomination grid | The setting is off, the currency is unsupported, or this POS version does not support it yet | Check the location setting and beta availability; enter the total manually |
| Expected cash is hidden | Blind closing is enabled | Count the cash independently; reconciliation appears in the Z-report |
| Cash commands are missing | Not added to the layout or unsupported on the platform | Check the “Library” and the limitations above |
| The POS refuses cash and asks for a cash drop | The cash stop is on and the drawer is over the limit | Make a cash drop from the banner or take the payment by card |
| No “Time for a cash drop” banner | No limit for this location, or other devices' sales have not reached the chip yet | Check “Cashier control”; an X-report refreshes the chip |
| The shift will not close and asks to “Recount the drawer” | The discrepancy is over the location's tolerance | Count the drawer again from scratch and close again — the second count closes the shift |
| The shift will not close: “Choose a discrepancy reason” | The location has a reasons list and the discrepancy is over the tolerance | Pick a reason from the list; details go in the note |
| No “Save draft” button | The register is offline | Restore the connection or close the shift right away |
| “Reopen shift” refuses | No “Finance — edit” access, not the latest shift, older than 7 days, or the cashier already has another open shift | Ask the manager; close the cashier's new shift first |
| A cash drop is missing from “Cash movements” | The shift is still open or another period is selected | Close the shift; check the period and filters |
| The payout is not in the supplier's settlements | No “Money” right in Counterparties, the card has no “Supplier” role, there was no connection, or the supplier was typed without a card | Add the payment in the supplier card manually; next time pick the card from the list |
| No suggestions in “Supplier” | No access to Counterparties or the supplier is not set up | Type the name — the payout is saved with it; create a card with the “Supplier” role |
Frequently Asked Questions#
Can one cashier open multiple shifts at the same time?#
No. Each cashier can have only one open shift per location. To start a new shift, the current one must be closed with a Z-report.
What happens if the internet goes down during a shift?#
The open shift is saved on the device — the cashier continues accepting payments. Shift opening, cash movements, and shift closing are queued and sent to the server once the connection is restored. Offline, only the X-report cannot be generated, and the Z-report reconciliation is calculated after synchronization: sales data is aggregated by the server.
What does a discrepancy in the Z-report mean?#
This is the difference between the amount the system expected to find in the drawer (based on the accounting formula) and the amount the cashier physically counted. Check the count, change given and cash movements. Discuss recurring discrepancies with the manager.
Are card sales also included in the shift?#
Card sales are linked to the shift and visible in the report. However, cash movements (cash-in, cash-out, cash drop) apply only to cash; the final reconciliation of the expected balance is calculated based on cash receipts only.
Who can see POS shifts?#
An employee in any role assigned the "POS" section can open a shift and work with X/Z-reports — by default, this includes "Manager", "Waiter", "Shift Administrator", "Cashier", "Salesperson", "Bartender", "Receptionist", and "Pickup Point Operator", but the list is customizable. Shift history in the "Finance" section is accessible to the owner, manager, and roles with access to the "Finance" section (for example, "Accountant").
How can I train a cashier without real money?#
In the web POS beta, add “🎓 Training mode” from the screen library. A manager approves entering and exiting the mode, or the employee enters the manager’s PIN. A yellow banner identifies training sales. Practise adding items and taking payment without an open shift: no real orders or receipts are created, cash, inventory, the fiscal recorder, payment terminal and loyalty are unaffected, and sales stay out of reports. Training receipts are not printed; kitchen submission, saving bills and cash movements are unavailable. Before a real sale, choose “Exit” and make sure the banner disappears. Android, Windows and iOS do not support this mode yet.
How is “📈 Today” different from the X-report?#
“📈 Today” is currently a web POS beta, available as an optional screen-library command. It shows sales, receipt count and average, tips, refunds, activity by hour and popular items for the location’s calendar day in its time zone. “My sales” is available to the cashier; “Whole location” requires management permission. With blind closing on, monetary amounts are hidden from employees without that permission.
In “Whole location”, “By staff” appears when there are multiple employees or assigned line performers/sellers. It also covers the day, not the shift.
This is a receipt-based summary; the X-report reconciles money for a particular shift, including the float and movements. Use X/Z to reconcile the drawer. “Today” refreshes when opened and through “Refresh”; offline it shows saved data with a warning. The command is not yet available on Android, Windows or iOS.
Related Sections#
- POS — order management, tables, payment
- Finance — management dashboards, shift history
- Receipts — receipt registry, refunds
- Counterparties — supplier card and settlements
- Tips — tracking tips in shifts and financial reports
- Staff and Shifts — roles, access permissions
- Loss control — the cash discrepancy alert rule
- Kitchen and front-of-house printing — printing X/Z through the hardware bridge