Skip to main content

How to Understand Differences in Sales Reports

Who is this for?

StoreHub merchants who are confused by different numbers in their reports, need to combine online and offline sales data, or want to fix tallying errors.

Overview

This guide explains why your daily sales report or Z-reading doesn't match your transaction logs (usually due to refunds or cancellations) and shows you exactly how to find and fix them using your StoreHub BackOffice and a simple spreadsheet.


Before You Begin

  • Access to your StoreHub BackOffice.

  • A computer with spreadsheet software (e.g., Microsoft Excel, Google Sheets, Apple Numbers) for analyzing exported CSV files.

  • Understanding of your store's transaction types (offline, online, refunds, cancellations).


Understanding Offline vs. Online Sales

It's important to know the difference between offline and online transactions when reviewing your reports.

  • Offline Transactions: These are orders made directly at your Point of Sale (POS) device, regardless of internet connection, including dine-in or take-away orders paid at the counter.

  • Online Transactions: These orders are placed through integrated platforms like Beep Delivery, QR Order and Pay, your Webstore, or third-party platforms (e.g., Foodpanda).

To find, export, and read these reports step by step, follow How to Reconcile Your Sales Reports Step by Step


Understanding Why Your Reports Differ

Which Reports Add Up, and Which Are Just for Trends

Not every report is meant to match your grand total. (For which report shows a specific figure, use the Which Report Shows What finder, this section is about which totals should match.)

Reports that show your full takings (all channels):

  • 'Sales Over Time'

  • 'Sales by Payment Method'

Reports that cover in-store (offline) sales only. Compare these to your offline takings, not your grand total:

  • Your 'Shift' report (the Z-Reading), note its total is worked out over its own time window (from when the shift opened to when the Z-Reading was closed) and won't match a BackOffice total exactly (see "Why Doesn't My Shift Report (Z-Reading) Total Match BackOffice?" below). For your complete takings, use 'Sales Over Time'.

  • The 'Offline Transactions' export

Reports for trends, not totals. These will not add up to your grand total:

  • 'Sales by Product'

  • 'Sales by Product Category'

  • 'Sales by Variant'

Why the trend reports don't tally: they slice the same sales in different ways. One receipt can cover several products and categories, and 'Sales by Variant' counts the options chosen, not the number of receipts.

Example: one receipt with a Small and a Large coffee is 1 receipt in 'Sales Over Time' but 2 rows in 'Sales by Variant'.

Notes:

  • To check your total takings, compare 'Sales Over Time' 'Total Sales' with the 'Total Sales' column (not 'Total Sales Returned') in 'Sales by Payment Method', for the same date range, branch and channel. To find best sellers, use the trend reports.

  • If your outlet doesn't use service charges, 'Sales by Product' can tally with your total sales.


Total Sales vs. Net Sales: Is Tax Included?

Tax is included in 'Total Sales'. These two figures are often mixed up. Here is how StoreHub calculates them:

  • Total Sales = Subtotal − Discounts + Service Charge + Tax + Rounding

  • Net Sales = Total Sales − Tax − Service Charge − Rounding − Returns

Worked example:

Receipt line

Amount

Subtotal

100.00

Discount

−10.00

Service Charge

+5.00

Tax

+6.00

Rounding

+0.00

Total Sales — what the customer paid

101.00

Minus Tax

−6.00

Minus Service Charge

−5.00

Minus Rounding

−0.00

Minus Returns

−0.00

Net Sales

90.00

If you don't charge a service charge or use rounding, those lines are simply RM0.

'Total Sales' already has tax in it. For the figure before tax and service charge, use 'Net Sales'. Both figures appear in the 'Sales Over Time' report.


Why the Same Payment Method Shows Up Twice

Sometimes a single payment method. For example, 'CIMB QR', appears on more than one row in the 'Sales by Payment Method' report. The same method is being split by 'Transaction Channel' (in-store versus online). It is not double charging, add the two rows together and they are the same money.

To see the split clearly: Go to 'Reports', click 'Sales by Payment Method', click 'Filters', and choose 'Transaction Channel'.


How Modifiers and Variants Appear in Your Reports

A modifier is an add-on or option on an item (e.g. an extra shot, a size upgrade); a variant is a version of the product itself (e.g. Small / Large).

When a modifier changes the price, example; an iced latte RM10 with a +RM2 "extra shot" modifier, charged as RM12. Your sales reports show one RM12 line, not RM10 + RM2 split out.

This applies to your 'Sales by Product' report and Excel export. Your Tax report is a summary by tax code (not by item), so it doesn't show item lines at all, but the full RM12 is included in its taxable amount.

You can see how your modifiers and variants sold in the same place: go to 'Reports', then 'Variants'. Each option shows the product's full price, so use it to compare options, not to add up sales.


Why Doesn't My Shift Report (Z-Reading) Total Match BackOffice?

Your Z-Reading and your BackOffice reports are each worked out over their own time window, so they are not meant to match to the cent, and that's normal, not an error.

Your Z-Reading covers everything rung up between when the shift was opened and when you closed the Z-Reading. 'Sales Over Time' follows your reporting day, set by the 'Closing Time of Operations' in BackOffice and includes your online sales. When those 2 time windows don't line up, the totals won't either.

The most common reasons the windows don't line up:

  • You close the Z-Reading after midnight. If you close at, 3:00 AM but your reporting day ends at your 'Closing Time of Operations' midnight, the after-midnight sales fall on the next day in 'Sales Over Time'. (See "Sales Over Time vs. Shift Report Discrepancies" below for a worked example.)

  • A shift is left open across midnight, or across 2 Z-Readings. The sales then get split between reporting days and won't line up with a single day's figure.

  • Online orders arrive before the shift is opened. Beep Delivery or QR Order & Pay orders that come in before your staff open the shift are counted in BackOffice but not in that shift's Z-Reading.

  • The shift was opened late. If staff open the shift after the store has already started taking orders, those early sales sit outside the shift.

For your complete sales for a period across every channel, use the 'Sales Over Time' report. It is the most complete view of your takings. The Z-Reading is a per-shift, per-register cash-up summary, so treat it as a shift record, not a full sales report.

Note: 'Sales Over Time' updates about every 20–30 minutes (the 'Data last updated on…' time at the top shows exactly when), so right after closing it may not show your latest sales yet.


Where Do Refunds Show in Your Reports?

If you made a refund but your total sales barely changed, the refund is tracked separately, it is not subtracted from 'Total Sales' automatically.

  • Refunds appear in the 'Total Sales Returned' column of the 'Sales by Payment Method' report (go to 'Reports', then 'Payment Method').

  • For your figure after refunds, manually deduct 'Total Sales Returned' from your gross sales or use 'Net Sales', which already subtracts returns.

Gross Profit as an Amount, and Exporting for Accounting

  • Gross profit as a money amount (not just GP%): 'Sales Over Time' shows Gross Profit as a percentage (GP%). For the money amount, use the 'Gross Profit' column in the 'Sales by Product' report (go to 'Reports', then 'Products').

  • Using your sales in accounting software gives you two options export the report to CSV or Excel (see How to Use Reports) and import it, or connect StoreHub directly. StoreHub integrates with QuickBooks Online, Xero, SQL Account, AutoCount, and Financio (set these up under 'Add-Ons' in your BackOffice, see How to Export Accounting Systems Sales Data for the steps).


Resolving Reporting Discrepancies

Sometimes, reports show different numbers because of how they handle refunds or updates. Here is how to fix common tallying issues.

Common Reasons for Discrepancies

Item

Reason

Cancelled Transactions

These are often hidden in sales reports but appear in raw CSV files.

Refunds

Refunds are tracked separately in the 'Total Sales Returned' column, they are not automatically subtracted from 'Total Sales'. Use 'Net Sales', or deduct returns manually. See "Where Do Refunds Show in Your Reports?" below.

Update Timing

Reports like 'Sales Over Time' update about every 20–30 minutes, while 'Offline Transactions' update instantly.

Formulas

Different reports may use slightly different calculations.

Wrong Branch

Ensure you are comparing data for the same store/branch.


Troubleshooting

1. Daily Sales and All Transactions Amount Does Not Tally

Follow the step-by-step walkthrough in How to Reconcile Your Sales Reports Step by Step to export your transactions, remove cancelled ones, correct the refunds, and match the totals.

2. Why Foodpanda/Shopeefood Sales are Missing from Shift Report or Z-reading?

  • Third-party aggregator orders (like Foodpanda or ShopeeFood) will not appear in your POS Shift Report/Z-reading.

  • These platforms are managed outside of the StoreHub payment flow.

  • The Z-reading only shows sales payment processed directly through the StoreHub POS register. To reconcile these, you must export your 'Online Orders' report and filter by the specific 'Channel' for each aggregator.

3. Why E-invoice Consolidation Total Differs from Sales Report?

You may notice that your e-invoice consolidation total does not match your 'Sales Over Time' report. This happens for two main reasons:

  • Depending on your e-invoice settings, certain payment methods may be excluded from Storehub auto consolidation.

  • Cancelled Transactions: The e-invoice report only includes successful, finalized transactions. It automatically excludes any 'Cancelled' or 'Voided' orders that might still appear in raw sales logs.

4. Missing Data for Specific Dates

  • If sales data for a specific date is missing, it is usually because the POS failed to sync with the BackOffice.

  • To fix this, follow the steps in this guide: Sync Data Between BackOffice and POS

  • If syncing doesn't bring the data back, send StoreHub Support the date, branch, register, and a screenshot so they can investigate.


Sales Over Time vs. Shift Report Discrepancies

If your 'Sales Over Time' report does not match your 'Shift Report' totals: first, remember they cover different things. It includes every channel (online and offline), while a Shift Report covers one shift's in-store sales over its own open-to-close window (see "Why Doesn't My Shift Report (Z-Reading) Total Match BackOffice?" above). The most common specific cause is a business that operates past midnight (e.g., a bar or 24-hour store):

The Logic

  • 'Sales Over Time' follows your reporting day, which is set by the 'Closing Time of Operations' in your BackOffice, not the calendar date.

  • Shift reports cover each shift's actual open-to-close window, so a shift only lines up with a reporting day if it was opened and closed within it.

In this example, the 'Closing Time of Operations' is set to 2:00 AM, so each reporting day runs from 2:00 AM to 2:00 AM.

Because the reporting day closes at 2:00 AM, any sales between 1:00 AM and 2:00 AM on Jan 1 are still counted as part of Dec 31, in 'Sales Over Time' and in the shift report alike.

Therefore:

  • A shift that runs from 1:00 AM on Jan 1 to 2:00 AM on Jan 2 is split across reporting days:

    • The portion from 1:00 AM–2:00 AM on Jan 1 appears in the Dec 31 shift report.

  • The Jan 1 shift report includes only activity from 2:00 AM on Jan 1 through 2:00 AM on Jan 2.

In summary

Both reports follow your closing time, a 2:00 AM–to–2:00 AM cycle in this example rather than a midnight to midnight calendar day. If the totals still differ, the usual causes are a shift that doesn't line up with the reporting day (opened late, or left open across the boundary), or online sales, which appear in 'Sales Over Time' but not in your shift.

If the totals still don't line up after accounting for this after-midnight split, send StoreHub Support the date, branch, register, and a screenshot so they can investigate.


Viewing Combined Sales Reports

The 'Sales Over Time' report combines both offline and online sales for an easy overview.

1. In your BackOffice, go to 'Reports'.

2. The page will show you 'Sales Over Time' report.

3. This report shows total sales from all sources.

Note: This report updates about every 20–30 minutes. For real-time data to close a shift, use the CSV export method in How to Reconcile Your Sales Reports Step by Step.

General Tips for Reconciliation Accuracy

To-Do

Tips

Consistent Filters

Make sure date ranges are the same on all reports you compare.

Exclude Non-Sales

Always exclude cancelled transactions. Returns are already taken out if you use 'Net Sales' — otherwise deduct 'Total Sales Returned' manually (see "Where Do Refunds Show in Your Reports?").

Manual Compilation

If you have missing historical data, you may need to manually export and combine older reports.


FAQs

1. How do I view Total Sales for Online & Offline (POS + QR Order and Pay)?

Go to 'Sales Over Time', click 'Filters', and select 'Transaction Channel'. Choose both 'Offline' and 'QR Order and Pay', then click 'Apply'.

2. How do I view Sales by Transaction Channel (e.g., Delivery vs In-Store)?

Go to the 'Sales Over Time' report, click 'Group By', and select 'Transaction Channel'. This will show you a breakdown of sales separated by channel (e.g., Beep Delivery vs. Offline) on the chart and table.

3. Why is my POS screen showing different totals than my BackOffice?

The BackOffice 'Sales Over Time' report updates about every 20–30 minutes, while the POS shows real-time data. Wait for the next update or use the 'Offline Transactions' report for instant data.

4. Why can't I see my Foodpanda/Shopeefood sales in the Shift Report (Z-Reading)?

Third-party orders are not included in the POS Shift Report (Z-Reading). You must check these in the 'Online Orders' report in your BackOffice.

5. Can I see my sales broken down by modifier?

Yes, modifier and variant options are shown in the same place: go to 'Reports', then 'Variants'. Each option shows the product's full price.


Need Help?

Contact StoreHub Support via live chat in your StoreHub app or email [email protected].


Was this article helpful?

Let us know below or contact support for further assistance.

Did this answer your question?