---
title: "X report vs Z report: what each one shows and when your shop runs it"
description: "An X report reads an open trading day without ending it; a Z report is the record a closed day ends on. Here is what each one contains in a retail POS, who can run it, how a Z is numbered, and how to correct a day after it closes."
canonical: "https://sandooq.app/blog/x-report-vs-z-report-retail"
locale: "en"
updated: "2026-10-12T00:00:00.000Z"
---

# X report vs Z report: what each one shows and when your shop runs it

An X report reads an open trading day without ending it; a Z report is the record a closed day ends on. Here is what each one contains in a retail POS, who can run it, how a Z is numbered, and how to correct a day after it closes.

**Tags:** operations, cash, reports, retail

An X report is an interim reading of the till taken while the trading day is still open. It shows where the day stands without ending it. A Z report is the final reading, taken once the day is closed, and it is the record that day closes on.

[Sandooq App](/), the point-of-sale and back-office system for MENA retail, produces both as part of its [day-end Z-read and drawer controls](/features). This guide covers what each report contains, who can open it, how a Z is numbered, and how a closed day is corrected.

*Updated for 2026. Reviewed in October 2026 against the current Sandooq App release.*

## X and Z reports on a cash register versus a cloud POS

X and Z reports are cash-register terms. On a classic register, an X report can be printed at any point in the day and leaves the stored figures untouched. A Z report is run once, at the close of trading, and resets the day's totals to zero so the next day starts from a clean count.

Both reports usually carry the same kinds of figures:

- sales totals and the number of transactions;
- a breakdown by payment method;
- refunds, discounts and voided sales;
- any cash discrepancy found at the count.

Sandooq App has no register counter to reset. Every trading day is its own business day, with its own drawers and its own record. A manager *closes* that day, and the Z-read is produced as part of the close.

How the two compare in Sandooq App:

| | X report (Today overview) | Z report (Z-read) |
|---|---|---|
| When it can be run | Any time while the business day is open | When the business day is closed; it is generated automatically at close |
| Day state | Open | Closed or reconciled |
| Who can run it | A cashier for their own drawer; super admins, admins, managers and accountants for the whole store | Managers and admins |
| Drawer figures shown | Expected cash for the four wider roles; hidden from cashiers | Opening, expected, counted and variance totals, plus each drawer's counted cash and variance |
| Numbered? | No | Yes: Z-YYYYMMDD-NNN, one per store per business day |
| Changes anything? | No, it is a read-only snapshot | It is the record of a day the close has already ended |
| Export | On screen, with a refresh button | PDF |

## What an X report shows, and who gets to see it

In Sandooq App the X report is called the **Today overview (X-Report)**. It reads the current business day, refuses to run on a closed one, and changes nothing, so it can be opened as often as you like. It groups the open day into blocks:

- **Sales so far**: total sales, the number of completed sales and the average sale, plus the mix of payment methods.
- **The cash bridge**: opening cash, cash sales, paid in, money taken from the safe, refunds, payouts and drops to the safe.
- **Money out**: payouts split into supplier payments, expenses and other payouts.
- **Customer credit**: credit given (new debt, such as sales on account) and credit collected (debt paid off), on separate lines.
- **Needs attention**: open drawers, opening variances, closing differences and voided sales.

Who sees which figures depends on the role. Four roles can widen the view to the whole store: super admin, admin, manager and accountant. They also see the expected cash in the drawer, and they can filter by register, by session or by cashier.

**A cashier sees the sales and payments in their own open drawer, but not the expected drawer balance.** That figure is left blank for the cashier role, and a cashier cannot open another cashier's figures. This is by design: the server deliberately leaves drawer balances out of a cashier's view.

The X report answers "how is today going?". For [weekly performance reports beyond the daily close](/blog/pos-sales-reports-retail-analytics), see our reporting guide.

> See Sandooq pricing for your store size. Every plan includes Z-reads: compare [plan options by store size](/pricing).

## What a Z report contains, line by line

The Z-read opens with its Z number and ends with when and by whom it was generated. In between, it reads top to bottom.

**Daily summary.** The opening total across all drawers, the closing total, and the variance between what was counted and what was expected.

**Sales by payment type.** One row for each payment method used that day, such as cash, card or sales on account, with a total and a transaction count. A sale split across two methods appears under both.

**Cash flow summary.** The drawer's story in one column, starting from the opening cash:

- *Inflows*: cash sales, credit collected from customers, cash paid in, and loans from the safe.
- *Outflows*: refunds, paid out, and drops to the safe. Supplier payments sit indented under paid out, as part of it; adding the two would count the same cash twice.
- *Totals*: expected cash, actual counted cash, and the variance.

**Cash sessions.** Each drawer of the day, with who opened it, when it opened and closed, its counted closing cash and its own variance. Any session marked **Requires review** is flagged here, so it is not lost in the totals.

**Net variance, for two-currency stores.** A shop that takes two currencies counts each drawer in both, so the Z shows a variance for each. When every drawer closed with a recorded exchange rate, a net variance line then values both currencies as one figure, at the rate frozen when each drawer closed.

When one currency is short and the other is over by nearly the same value, the Z adds a warning. That pattern usually means a payment was rung up in the wrong currency, not that cash is missing.

For the pricing side of a two-currency counter, see our guide to [rate and rounding decisions for a two-currency shop](/blog/syrian-pound-dollar-pricing-retail).

The variance line tells you only *how far* the count was from the expected cash. What counts as an acceptable gap, and how to investigate one, belongs to our guide on [variance thresholds and the blind-close routine](/blog/cash-management-retail-store).

The whole report can be exported as a PDF for your files or your accountant.

## Closing the day: when the Z report is produced and numbered

A Z report comes from closing the business day, so the close has two preconditions.

1. **Every drawer must be closed first.** If any register still has an open drawer, the day cannot close. A manager can close a drawer on an unavailable register from the dashboard.
2. **Only a manager or admin can close the business day.** A cashier who has closed their own drawer sees a prompt to ask a manager. The close button is not offered to them, because the server would refuse it.

When the day closes, the Z-read is generated automatically.

Each Z is numbered **Z-YYYYMMDD-NNN**: the letter Z, the business date, and a three-digit sequence. The first Z for 7 October 2026 therefore reads Z-20261007-001. A store gets one Z per business day, and the database itself rejects a second Z with the same number in the same store. Two branches closing the same date each get their own Z.

Z-reads are included on every plan. Drawer sign-off happens earlier, at the end of each shift; our guide to [cashier sign-out and shift handover](/blog/staff-shifts-pos-permissions) covers that step.

The principle behind these rules is enterprise-grade security with role-based access and audit trails. The role checks run on the server, not only in the screen.

> Learn how Sandooq simplifies cash management, from the drawer count to the close: explore the [cash tools that feed the daily close](/features).

## Correcting a day after the Z report

Some mistakes surface only after the close. Sandooq App handles them by reopening the day, not by editing the report.

- **A manager or admin reopens the day.** It must be closed or reconciled, and the reopen is refused while the same store already has another day open.
- **A written reason is required.** A blank reason is refused.
- **The reopen is logged.** The log keeps who reopened the day, when, why, and the sign-off that the reopen cleared.
- **Reconciliation starts again.** Any earlier reconciliation is cleared, so after the correction the day must be closed and reconciled again.

The Z keeps its number through all of this. Regenerating the Z-read rebuilds its figures from the corrected records, while the original generation time and author stay on the report.

## Frequently asked questions

### What is the difference between an X report and a Z report?

An X report is a mid-day reading of an open trading day. It shows sales, payments and the cash position so far, and it changes nothing. A Z report is the end-of-day record, produced when the day is closed.

On older cash registers the Z also reset the totals to zero. In Sandooq App the business day is closed rather than reset, and each Z carries a number tied to its store and date.

### Can a cashier run an X report?

Yes, for their own drawer. During an open business day a cashier can open the Today overview and see the sales and payments in their current drawer session. The expected drawer balance is left blank for them.

They cannot view another cashier's figures. Managers, admins and accountants see the whole store, including the expected cash, and can filter by register, session or cashier.

### What does the number on a Z report mean?

It identifies one closed business day in one store. The format is Z-YYYYMMDD-NNN: the letter Z, the business date, then a three-digit sequence, so the first Z for 7 October 2026 reads Z-20261007-001.

Each store gets one Z per business day, and the database rejects a duplicate number in the same store. A day that has never been closed has no Z yet; the number is assigned at its first close.

### What happens if I need to fix a sale after the Z report?

A manager or admin reopens the closed day and must enter a written reason before the reopen goes through. The reopen is logged with who did it, when and why.

Any earlier reconciliation is cleared, so once the correction is made the day must be closed and reconciled again. The Z keeps its original number, and regenerating it rebuilds the figures from the corrected records.

### Why does my Z report show a variance in two currencies?

A store that trades in two currencies counts each drawer in both, so the Z shows one variance per currency. If every drawer closed with a recorded rate, a net variance line values both at each drawer's frozen closing rate.

If one currency is short and the other is over by nearly the same value, the cash is usually all there: a payment was probably rung up in the wrong currency. Check the tender currency on the till.

## Related reading at Sandooq App

- [Cash management best practices](/blog/cash-management-retail-store)
- [Weekly POS sales reports](/blog/pos-sales-reports-retail-analytics)
- [Staff shifts and permissions](/blog/staff-shifts-pos-permissions)
- [Pricing in Syrian pounds](/blog/syrian-pound-dollar-pricing-retail)
- [Features overview](/features)
- [Plans and pricing](/pricing)

> Watch a demo to see Sandooq in action: [see a day close end to end in a demo](/contact), or start from the [everyday retail counter setup](/use-cases/retail).

## Authoritative sources

- X report and Z report definitions, the "Z resets the day's totals" model, and what both reports typically contain: [Mobile Transaction, "X report vs Z report" (Emily Sorensen, 20 March 2025)](https://www.mobiletransaction.org/what-is-an-x-vs-z-report/)
- X-reports read current sales figures; Z-reports reset the register's counters to zero: [Wikipedia, "Cash register", management functions](https://en.wikipedia.org/wiki/Cash_register)
