Vendion
    Point of Sale

    Z Report

    5 min read#35

    The Z report is the daily close for a workstation – sales, returns and VAT are aggregated, the control box signs, and an accounting voucher is created. Swedish cash register law (SKVFS 2014:9) requires every POS workstation to close daily with a Z report.

    X report vs Z report

    ReportPurposeResetsVoucherRequires CCA
    X reportMid-day check of today's salesNoNoNo
    Z reportEnd-of-day closeYes (counters)Yes (accounting)Yes

    X report can be run multiple times a day – it's just a "snapshot" of current sales, with no control code or fiscal effect. Use it to check how the day is going or reconcile a section mid-day.

    Z report runs once per day per workstation – it locks the day in stone.

    Create a Z report (manually)

    1. In the POS: Settings → Cash management → Close day
    2. Confirm all orders are completed
    3. Vendion runs a pre-flight check (see below)
    4. If green → the control box signs the Z report
    5. The Z report prints and becomes a voucher in the bookkeeping module

    Automatic Z report

    Can be scheduled in the accounting settings:

    • Auto Z report: on/off
    • Time: e.g. 23:58 (local time)
    • Days: any combination of weekdays

    Fits restaurants with fixed closing times who want to skip manual closes.

    Pre-flight compliance gate (the 60-second rule)

    Swedish cash register law requires that all paid orders are signed by the control box before a Z report can be created. Vendion automatically verifies that no paid orders remain unsigned for more than 60 seconds.

    If any unsigned payment is found → Z report is blocked. A fiscal incident is logged and Vendion Ops gets an alert email.

    The 60-second rule: An order can be in "pending_finalize" for up to 60 seconds – that's a grace period for control box communication (network latency, retries). After 60 sec without control code = fault.

    What the Z report contains

    • Total sales (gross + net)
    • Returns (count + amount)
    • VAT breakdown per rate (12%, 25%, 6%)
    • Payment method breakdown (card, cash, gift card, invoice)
    • Category breakdown (food, drink, modifiers)
    • Discounts (count + total deducted)
    • Cash drawer balance (opening + closing)
    • Receipt count for the day
    • Gift card issuances (öre)
    • Grand total since activation (running sum since the control box was activated – never resets)
    • Z report number (running, 1..N)
    • Control code + verification code from the control box

    When the Z report is blocked

    ScenarioFix
    Paid order without control code > 60 secWait for the control box response, or contact support for "force Z report with PIN"
    Control box unreachable (offline)Check network, test via "Test now" in settings, then retry
    Journal memory in the control box fullForce Z report with reset flag (PIN required, escalate to support)
    Orders still openClose all open tabs first
    Another Z report already runningWait – only one Z report per workstation at a time

    After the Z report

    1. Journal memory locked – all control codes for the day are now immutable (cannot be updated)
    2. Accounting voucher created – see Z report → accounting voucher
    3. Grand totals updated – running sums since control box activation
    4. Receipt sequence continues – next day starts with the next receipt number
    5. Next day can start – new orders can be registered

    Journal memory and traceability

    The Z report is logged in the journal memory as its own entry with a running sequence number. This is an immutable log – Skatteverket can request full history on audit, and Vendion can deliver everything from day 1.

    Every Z report automatically generates a voucher with debit/credit lines:

    EntryAmount
    DEBIT 1580 (Card receivables)10,000 öre
    CREDIT 3001 (Food revenue 12%)7,143 öre
    CREDIT 3003 (Alcohol revenue 25%)1,600 öre
    CREDIT 2620 (Output VAT 12%)857 öre
    CREDIT 2610 (Output VAT 25%)400 öre

    Deep dive: Z report → voucher, X vs Z in bookkeeping, Cash reconciliation and Cash variance 3740.

    Tips and routines

    • Shift manager runs the Z report at close – not the staff working the shift (for permissions)
    • Count the cash first before running Z – that way variances vs the system can be caught immediately
    • Save a copy of the Z report digitally + paper (at least 7 years per Swedish bookkeeping law)
    • Auto-Z at 23:58 for restaurants closing late – skip the manual work
    • On power outage: Orders become "pending_finalize" – POS resumes signing when power returns; Z report can only run once all orders are signed
    • Before a Skatteverket audit: Run SIE export for the period the auditor asks for – see the next article

    This feature is part of Vendion POS.

    Curious how it looks in practice? Read more about the product or book a short demo.

    Was this article helpful?