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.
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
- Where
- Dashboard
- Where
- Bottom of the left menu
Reports
- Where
- Reports › Reports
- Where
- Reports › Who's Online
- Where
- Reports › Statistics
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
- Counts
- Every confirmed order, any status
- Counts
- The total of every confirmed order, all timeIn the shop's base currency
- Counts
- Orders in the Complete statuses, by day, week or monthShop settings, Option tab
Reports and sidebar
- Counts
- All confirmed orders until you pick a status
- Counts
- A stored counter for each list of statusesNot recalculated when you open the page
- Counts
- Every status that is in neither list
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.
Tap a bar to see its total
Show as a table
| Definition | Total |
|---|---|
| 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.
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
- Cause
- It adds every confirmed order, including cancelled, failed and refunded
- Cause
- The chart counts only the Complete statuses
- Cause
- Its checkout stopped before the last step, so its status is 0
- Cause
- Custom statuses are in neither list until you add them
Sidebar and reports
- Cause
- The counters are stored and only change when an order's history changes
- Cause
- The Customers Online setting is off
- Cause
- The report is built by a Generate button, not live
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.
- GitHub: OpenCart 4.1.0.4 sales report model (Dashboard totals and chart)
- GitHub: OpenCart 4.1.0.4 statistics controller (refresh buttons)
- GitHub: OpenCart 4.1.0.4 statistics events (how the counters change)
- GitHub: OpenCart 3.0.5.1 Dashboard sale model
- GitHub: OpenCart 3.0.5.1 Dashboard chart model
- 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