Vendion
    Accounting & Finance

    X-Report vs. Z-Report – The Difference

    5 min read#16

    In the POS world there are two key reports that often get confused: X-report and Z-report. They look similar on screen but do different things. Understanding the difference matters for both staff and auditors.

    Short summary

    PropertyX-reportZ-report
    PurposeMid-day checkEnd-of-day close
    Resets counterNoYes
    Creates voucherNoYes
    Required by tax agencyNoYes (daily)
    Can be run unlimitedYesNo (once per period)
    Affects fiscal archiveNoYes (immutable)
    Requires CCA signatureNoYes
    Shows sales so farYesYes

    What is an X-report?

    The X-report is a read-only snapshot of sales since the last Z-report. It can be run at any time, as many times as you want, and affects nothing.

    Typical uses:

    • Lunch restaurant: run X at 14:00 to see how lunch went
    • Bar manager: run X before shift change to follow sales
    • Owner: quick check of day's result without closing the till
    • Staff coaching: show real-time sales

    What it shows:

    • Orders so far
    • Total including VAT
    • Breakdown per payment method (cash, card, Swish)
    • Breakdown per category (food, beverage, alcohol)
    • VAT amount per rate
    • Discounts and returns

    What does not happen:

    • No counter is reset
    • No voucher is created
    • Nothing is sent to Skatteverket
    • The fiscal archive is untouched
    • CCA is not contacted

    Think of the X-report as a "preview" of the Z-report.

    What is a Z-report?

    The Z-report is the end of a period, usually a day. When run it:

    1. Aggregates all sales since the last Z-report
    2. An immutable log entry is added to the fiscal archive
    3. A balanced voucher is created
    4. The Z-report counter is atomically incremented by 1
    5. The day's totals are "locked" – they cannot be changed afterwards

    Z stands for "zero" – because the day's counter is reset.

    Under the Swedish Cash Register Act (SKVFS 2014:9), a restaurant must close a Z-report at least once per day with sales. Days without sales should also be closed (zero report) to keep the sequence gap-free.

    Concrete flow over a day

    09:00 – Till open

    • Cashier logs in
    • Float is added (e.g. 1,500 SEK)
    • No report is run

    11:30 – After breakfast rush

    • Cashier runs X-report: "87 orders, 6,400 SEK, of which 3,200 SEK card"
    • Nothing happens in the system, just information
    • Till keeps taking orders

    14:00 – After lunch

    • Manager runs X-report: "234 orders, 18,500 SEK"
    • Uses data to plan the evening shift

    17:00 – Shift change

    • Evening staff starts
    • No report needed (X can be run optionally by the new cashier)

    23:30 – Close

    • Last guest has left
    • Kitchen closes, till is done
    • Shift leader counts physical cash: 4,512 SEK (incl. 1,500 SEK float = 3,012 SEK in sales)
    • Z-report is run:
      • System compares its own 1910 total (expected 3,010 SEK)
      • Difference: 2 SEK (over)
      • 3740 Penny rounding is credited with 2 SEK
      • Voucher Z-number #147 is created
      • SIE file becomes automatically available for export

    What happens if I forget to run a Z-report?

    One day missed: Next day, when you run the Z-report, two days of sales land in the same voucher. The report is twice as big but technically still correct.

    Several days missed: Problems arise – accounting gets messy. The accountant can't see which day each sale happened. You also violate the Cash Register Act's daily Z-report requirement.

    Recommendation: Enable automatic Z-report in Vendion so it runs at 23:00 every day, even when the restaurant is closed.

    Admin → Accounting → Settings
    ☑ Enable automatic Z-report
    ⏰ Time: 23:00
    📅 Days: All
    

    Technical details

    X-report: Vendion reads the day's sales since the last Z-report and shows them aggregated – no changes to the books.

    Z-report: Vendion builds the voucher atomically so that two Z-reports never share a number and no sale is ever double-counted.

    Can I submit an X-report to Skatteverket?

    No. X-reports are not valid as accounting evidence. They are purely internal reconciliation aids.

    • Z-reports must be kept for 7 years (Bookkeeping Act)
    • X-reports can be discarded immediately

    When to use which?

    Use X-report when:

    • You want to see current sales
    • A shift ends but the day continues
    • You want to count the till to make sure everything matches (without closing)
    • The manager checks how lunch is going

    Use Z-report when:

    • The day is over (or nearly over)
    • You're closing and going home
    • It's month-end and you need to export SIE
    • After an audit where Skatteverket has reviewed the till

    Common questions

    Can I run several Z-reports on the same day? Yes, but it's unusual. Some restaurants do it at shift change (lunch-Z + dinner-Z). Each Z gets its own number and its own voucher.

    What happens if I accidentally run Z instead of X? Don't panic – the voucher is created but sales are unaffected. The next Z-report will just be smaller. But you should inform the accountant (vouchers with very small amounts look odd in the books).

    Does the X-report print a receipt? Yes, if the receipt printer is configured. The printout is labelled "X – NOT A VOUCHER" to clearly distinguish it from a Z-statement.

    Can I see old X-reports? No. They are not stored – they are just temporary snapshots. Historical data is in the Z-reports.

    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?