---
title: Close the business day
summary: Close the business day from the till menu by settling open orders and till sessions, then read the Day-Z report and finalize shifts.
id: close-the-business-day
type: how-to
audience:
  - owner
  - manager
areas:
  - till
  - reports
since: "2.0"
updatedAt: 2026-11-07T15:47:58.638Z
release: 2.5.0
url: https://help.omviq.com/till/close-the-business-day/
markdown: https://help.omviq.com/till/close-the-business-day.md
related:
  - open-and-close-a-till
  - read-the-daily-summary
  - check-voids-refunds-and-cashier-activity
  - void-a-sale
keywords:
  - business day
  - close day
  - Day-Z
  - Z-Read
  - carry forward
  - force close
  - rollover
  - variance
lang: en
---

# Close the business day

Closing a till settles one register's cash drawer. Closing the business day settles every register that took a sale that day, resolves any orders still open and produces the day's official Day-Z report. Do it once, at the end of the day, after the last till has been counted, or count it as part of the close.

## What the business day is

The business day is the accounting day used for sales, reports and Z-Reads. It rolls over at a boundary you set, for example 04:00 local time, instead of at midnight. That keeps a late shift's sales on the day the shift started.

An admin sets the boundary under **Settings → Cash Management → Business Day**.

| Field | What it does |
|---|---|
| **Day starts at (HH:mm 24h)** | The time "today" rolls over. Sales between this time today and the same time tomorrow belong to today's business day. |
| **Timezone** | The time zone the boundary is worked out in. |
| **Close mode** | How strictly the day-close checklist is enforced. Leave the default unless you have a reason to tighten it. |
| **Open-order handling** | What the checklist does with orders still open when a manager closes the day. By default they carry forward to the next business day. |

Omviq also rolls the day over by itself on a schedule. Cashiers see a small chip in the header with today's business-day date. It updates by itself, and clicking it opens a read-only summary of the boundary. If the chip turns yellow, syncing is behind. Running the manual close below settles the day the same way the automatic rollover does. Use it when you want to close deliberately rather than wait.

## Before you start

- **Close Day** is controlled by permission, not job title. Anyone whose role includes it can run the close. Without it, **Close Day** is greyed out and shows the usual "manager required" prompt. Grant or remove it under **Settings → Staff & Permissions → Roles**.
- Ask cashiers to close their own tills first if you can. See [Open and close a till](https://help.omviq.com/till/open-and-close-a-till/).

## Steps

1. Tap the till menu in the header, the same menu that has **Close Till**.
2. Tap **Close Day**. The **Day Close** checklist opens. It is one scrollable screen with three sections. **Finish** turns on only when the first two are resolved.
3. **Open orders.** Every order still open (sent to the kitchen or rung up but not paid) is a row with two choices. **Carry forward** keeps the order open and moves it into tomorrow's business day, where you or another manager can recall and finish it like any open order. **Manual resolve** settles or voids the order now, so it does not carry forward. A resolved row disappears. The section is done when the list is empty.
4. **Open till sessions.** Every register with a till session still open is a row. **Count** opens the same drawer count screen as a normal till close: enter the count, review the variance and finish. **Force close** is a manager override that closes the session without a count. Once a session is closed, its row shows who closed it, by name. Every session the close ends prints its Z-Read once.
5. **Unsettled card batches.** This is a read-only count of card payments that have not been batched out yet. It does not block the close. It tells you the number before you close.
6. If a register's count is over or short, the usual manager approval prompt appears with one addition. You must pick a **reason** before you can approve. The **Approve** button stays off until you do.
7. Tap **Finish**. The close can take a few seconds because it settles every register at once. When it is done, the checklist shows who closed the business day and the **Day-Z** report appears.

Tap **Cancel** at any point before **Finish** to back out. Nothing closes until **Finish** completes. **Finish** always closes the business day the checklist was opened for, never a later one.

| Reason | Use it for |
|---|---|
| Miscount | The cashier counted wrong. |
| Till short | Cash is missing from the drawer. |
| Till over | There is extra cash in the drawer. |
| Drawer error | A paid in, paid out or drop was not recorded correctly. |
| Other | Anything else. Explain in the notes. |

## If the close cannot be confirmed

If the connection drops while **Finish** is running, the close may still have gone through. The checklist does not guess. It says it could not confirm the close and checks the business day again. **Finish** stays unavailable until that check answers.

- If the business day is still the one you were closing, the checklist is read fresh and **Finish** is offered again.
- If the business day has moved on, the checklist says **This business day is already closed** and shows the current business day.
- If the check cannot reach the server, tap **Check again** when the connection is back.

**If someone closed the day first.** Pressing **Finish** on an older checklist closes nothing. It says **This business day is already closed**. Tap **Done**. To close the current day, open **Close Day** again.

**If the day has not started yet.** Closing a business day opens the next one, and that day begins at your store's business-day start time (midnight unless your settings say otherwise). A day cannot be closed before it begins. Pressing **Close Day** again the same evening opens with **This business day has not started yet, so it cannot be closed** and offers only **Done**. Nothing is closed and selling carries on. Close the day once it has begun.

## The Day-Z report

Day-Z is the business day's official close-out report: one for each register, for each business day. It shows:

- a **sequence number** for that register. It is gapless and goes up by exactly one each time that register closes a business day, so a missing number always means a missing close.
- the **business date** it covers. This is the accounting day, which is not always today's calendar date.

Tap **Done** to return to the closing screen. A Day-Z is permanent once it is produced. Nobody can edit it or run it again. To look at one later, open the **Business Day Health** card and tap **View last Z-Read**. It opens read-only with a **Locked** badge.

## Z-Read and X-Read

| Report | When | Effect |
|---|---|---|
| **X-Read** | Any time during a session | Shows the current totals. It does **not** close the session. |
| **Z-Read** | The end of a session | Shows the final totals and **closes** the session. |

A Z-Read includes the session information (terminal, cashier, open and close times), a sales summary, a payment breakdown with one line for each payment method, the cash movements, the tax summary with one line for each tax authority and rate, the discount summary, the void and refund summary, and the cash reconciliation: opening float, expected, counted and variance.

**Variance** is the counted amount minus the expected amount. The expected amount is the opening float plus cash sales, minus cash refunds, plus paid in, minus paid out, minus cash drops. A variance of zero is **Balanced**, above zero is **Over** and below zero is **Short**.

### Finalize a shift's Z-Read

Finalizing records the shift's Z-Read as a permanent snapshot.

1. Open **Reports → Shifts**, pick the business day and tap the shift. Shifts are grouped by register and show who opened them, when they opened and closed, and whether the Z-Read is finalized.
2. Tap **Finalize Z-Read**. The button shows only when the shift is closed or force-closed.
3. Confirm. The dialog warns that this is irreversible and the shift cannot be reopened.

Managers and administrators can finalize any shift. A cashier can finalize the shift they opened, and their own till close already finalizes and prints it. Once finalized, the figures never change. A sale, refund or void that reaches the shift afterwards, for example a check suspended before the close and paid later, appears in a separate block, **Recorded after this Z-Read**, under the unchanged Z-Read. The printed Z-Read ends with the same block. From a shift's page you can print the Z-Read again.

If your business uses a fiscal regime, set under **Settings → Cash Management → Fiscal Compliance**, the regime can make a Z-Read mandatory when the day rolls over. Most fiscal regimes forbid a Z-Read while the cloud is unreachable, so leave **Allow offline Z-Read** off unless your jurisdiction explicitly allows it.

## Force-close the business day

A manager can force-close the current business day from **Manager → Closing → Force-close business day**. Use it only when:

- a power outage spans a scheduled rollover and you want to close the day cleanly before a reboot,
- your business runs without a fiscal setting and prefers a manual close, or
- an audit needs a long-running session closed early.

Every force-close records the manager, the reason and any notes in the audit log. Treat it as a heavy operation. Frequent forced closes muddy your reporting.

## If something goes wrong

| What you see | What to do |
|---|---|
| **Close Day** is greyed out | You do not have the permission. Ask an admin to grant it in Staff & Permissions, or hand off to a manager. |
| **Finish** stays disabled | Open orders or open sessions remain. Resolve every row in both sections until each list is empty. |
| Could not confirm whether the business day closed | The connection dropped while **Finish** was running. Wait for the check. If it cannot reach the server, tap **Check again** when you are back online. |
| **This business day is already closed** | The day was closed from another tab, terminal or manager, or by the automatic rollover. Tap **Done**, then open **Close Day** again to close the current day. |
| **This business day has not started yet, so it cannot be closed** | An earlier close today already opened this day and its start time has not come. Tap **Done**, keep selling and close it after its start time. |
| **Approve** will not turn on for a variance | No reason is selected. Pick a reason first. |
| A register is missing from the checklist | It never opened a till session that day. Only registers with at least one session that day appear. |
| A Day-Z sequence number looks wrong | It should be exactly one higher than yesterday's for that register. If there is a gap, that register's close was skipped or failed. Check with an admin. |

## Related pages

- [Open and close a till](https://help.omviq.com/till/open-and-close-a-till/)
- [Read the daily summary](https://help.omviq.com/reports/read-the-daily-summary/)
- [Check voids, refunds and cashier activity](https://help.omviq.com/reports/check-voids-refunds-and-cashier-activity/)
- [Void a sale](https://help.omviq.com/refunds/void-a-sale/)
