OpenCart reports and statistics: what each number counts

OpenCart shows sales in four places, and they count different orders. The Dashboard totals include every confirmed order, cancelled and failed ones too, while the Sales Analytics chart counts only the complete statuses and the sidebar statistics are stored counters that can drift. Decide which statuses mean a sale before you trust any of them.

By Mantas LukošiusSettings and source code last checked on 6 min read

Where to find statistics in OpenCart

OpenCart keeps its numbers in three places: the Dashboard, the Reports menu and a small block of percentages at the bottom of the left sidebar. The paths are the same in OpenCart 3.0 and 4.

Where each OpenCart statistics screen lives. The paths are the same in 3.0 and 4.

Overview

Dashboard
Where
Dashboard
What it shows
Total orders, Total sales, Total customers, People online, a map and a Sales Analytics chart
Sidebar percentages
Where
Bottom of the left menu
What it shows
Orders Completed, Orders Processing and Other Statuses as a share of all orders

Reports

Reports
Where
Reports › Reports
What it shows
One report at a time, chosen in a list: sales, products purchased, customers, coupons, returns, taxes, shipping
Who's Online
Where
Reports › Who's Online
What it shows
Visitors on the storefront right now
Statistics
Where
Reports › Statistics
What it shows
The stored counters behind the sidebar, with a refresh button for each

What each OpenCart number counts

OpenCart has one rule for orders that were never confirmed: a checkout that stopped before the last step is saved with status 0 and left out of every screen. Beyond that, each screen picks its own list of statuses.

Which orders each OpenCart screen counts, from the source of OpenCart 3.0.5.1 and 4.1.0.4.

Dashboard

Total orders
Counts
Every confirmed order, any status
Includes cancelled and failed
YesYes
Total sales
Counts
The total of every confirmed order, all timeIn the shop's base currency
Includes cancelled and failed
YesYes
Sales Analytics chart
Counts
Orders in the Complete statuses, by day, week or monthShop settings, Option tab
Includes cancelled and failed
NoNo

Reports and sidebar

Sales report
Counts
All confirmed orders until you pick a status
Includes cancelled and failed
YesYes, by default
Orders Completed, Processing
Counts
A stored counter for each list of statusesNot recalculated when you open the page
Includes cancelled and failed
NoNo
Other Statuses
Counts
Every status that is in neither list
Includes cancelled and failed
YesYes

The two lists are set in the shop settings, on the Option tab, under Processing Order Status and Complete Order Status. A fresh OpenCart 4.1.0.4 install had Complete and Shipped as complete, and Pending, Processing, Reversed, Complete and Shipped as processing.

The OpenCart 4.1.0.4 Dashboard of a test shop: Total orders 1.3K, Total sales 1.2M, Total customers 120 and People online 0, with the world map, the Sales Analytics chart and Orders Completed, Orders Processing and Other Statuses all at 0% in the left sidebar.
OpenCart 4.1.0.4, a test shop with generated orders. The tiles count every confirmed order, while the sidebar percentages read 0%.
The same shop, three totals, EUR thousand
Total

Tap a bar to see its total

€0k€250k€500k€750k€1,000k€1,250kDashboard Total salesProcessing and completeComplete onlyDefinition
Show as a table
DefinitionTotal
Dashboard Total sales€1,240k
Processing and complete€1,051k
Complete only€929k

A test shop with 1,293 confirmed orders over twelve months: 1,293, 1,099 and 1,002 orders. Orders rounded to the cent before summing.

Why the sidebar statistics show 0% or drift

The sidebar percentages are not calculated when you open a page. OpenCart stores one number for each of them and changes it when something happens: a customer order moving into or out of a status adds or removes one, and a review or a return adds one.

The Reports › Statistics page in OpenCart 4.1.0.4: seven rows, Order Sales, Orders Processing, Orders Complete, Orders Other, Returns, Out of stock products and Pending Reviews, every value 0.0000, each with an orange refresh button.
Reports › Statistics on the test shop. Its orders were loaded straight into the database, so no counter was ever updated.

That explains the usual complaints. Orders imported from another shop, added by a script or changed directly in the database never fire the event, so the counters stay at zero or drift away from the order list. Press the refresh button next to a row on Reports › Statistics and OpenCart recalculates it from the orders.

If the sidebar disagrees with Sales › Orders, refresh the counters first. The order list is the record, the counters are a cache of it.

OpenCart reports not working: causes and fixes

Common causes of wrong or empty OpenCart statistics, from the source.

Sales and orders

Dashboard Total sales is higher than the money you took
Cause
It adds every confirmed order, including cancelled, failed and refunded
Fix
Filter the Sales report by status, or read a count that uses your own list of statuses
Sales Analytics shows fewer orders than the Dashboard
Cause
The chart counts only the Complete statuses
Fix
YesExpected, or add a status under Complete Order Status
An order exists but is in no list
Cause
Its checkout stopped before the last step, so its status is 0
Fix
In Sales › Orders, filter by Missing Orders
A new custom status is not counted in the chart
Cause
Custom statuses are in neither list until you add them
Fix
Add it in the shop settings, on the Option tab

Sidebar and reports

Sidebar percentages are 0% or off
Cause
The counters are stored and only change when an order's history changes
Fix
Refresh each row on Reports › Statistics
Who's Online is always 0
Cause
The Customers Online setting is off
Fix
Switch it on in the shop settings, on the Option tab
Product viewed report is empty on OpenCart 4
Cause
The report is built by a Generate button, not live
Fix
Open the report and press Generate

What OpenCart's reports cannot show

OpenCart's reports read your own order tables, so they stop at the order. They have no traffic sources, no ad spend, no search data and no comparison with last week or last year. Those questions belong to GA4, Google Ads and Search Console, and the answer to "why did sales change" needs all of them next to the orders.

ManteIQ reads your OpenCart orders with a free read-only module and puts them next to GA4, Google Ads and Search Console in one morning briefing.

See the OpenCart integration
  • Pick your own list of statuses once, so every figure counts the same orders.
  • Read a count that excludes cancelled, failed and refunded orders, and show refunds on their own.
  • Compare each week with the week before and with last year automatically.

Questions about OpenCart reports

Where are the statistics in OpenCart?
The Dashboard shows totals, a map and a chart. The Reports menu has Reports, Who's Online and Statistics, and a block of percentages sits at the bottom of the left sidebar. The paths are the same in OpenCart 3.0 and 4.
Why is OpenCart's Total sales higher than my real sales?
The Dashboard adds every confirmed order, whatever its status. Cancelled, failed and refunded orders are included, and so are orders still waiting for payment. The Sales Analytics chart counts only the Complete statuses.
Why do the sidebar statistics show 0%?
They are stored counters that change only when an order's status history changes. Orders imported or edited outside that flow never update them. Press refresh on Reports › Statistics to recalculate.
Which order statuses does OpenCart count as complete?
The ones you pick under Complete Order Status on the Option tab of the shop settings. A fresh OpenCart 4.1.0.4 install uses Complete and Shipped. The Processing Order Status list is separate and starts with Pending, Processing, Reversed, Complete and Shipped.
Why is an order missing from every report?
Its checkout was never confirmed, so its status is 0 and OpenCart hides it from the order list and the totals. Filter Sales › Orders by Missing Orders to see them.
Does OpenCart track where my visitors come from?
No. It has Who's Online for the current visitors and a product viewed report, but no traffic sources, campaigns or ad spend. Use GA4, Google Ads and Search Console for those.

Sources

We read the source code of OpenCart 4.1.0.4 and 3.0.5.1 and checked the behaviour on a local test shop on 30 September 2026. The figures come from that shop's generated orders and are an example, not an average. Newer releases may differ.

  1. GitHub: OpenCart 4.1.0.4 sales report model (Dashboard totals and chart)
  2. GitHub: OpenCart 4.1.0.4 statistics controller (refresh buttons)
  3. GitHub: OpenCart 4.1.0.4 statistics events (how the counters change)
  4. GitHub: OpenCart 3.0.5.1 Dashboard sale model
  5. GitHub: OpenCart 3.0.5.1 Dashboard chart model
  6. GitHub: OpenCart repository

About the author: Mantas Lukošius

Mantas has worked in ecommerce for more than 15 years, almost all of it on PrestaShop: from his own first shop to business stores and large clients. He builds ManteIQ and its PrestaShop module.

How we write and check these guides

Get the numbers OpenCart does not give you

Connect OpenCart and GA4 and ManteIQ sends a morning briefing with orders, traffic and ads side by side. 30 days free, no card, read-only access.

ManteIQ - Sees the change. Helps you act.