Skip to content

Reports and problems ​

Seeing how the shop is doing ​

Retail → Stock reports has six tabs: Stock value, Margin, Expiring, Shrink, Price audit and Tax summary. The export menu in the card's header takes away the tab you are looking at as a reading-mode preview, an Excel file, a PDF, a printout, or a share. See Taking data away.

Every tab except Expiring is a money report and needs Level 6.

Stock value ​

What you are holding, priced at what it cost you.

Three figures at the top: Stock at cost, Units on hand, and Never counted. Then a table of Product · Barcode · SKU · On hand · Cost each · Value, biggest value first, with a total across everything, not just the page you are looking at.

Watch the Never counted figure

It tells you how many products in this valuation have never been physically verified. If it is high, the total is a reasonable estimate rather than a fact, and the fix is a stock count.

Margin ​

What selling actually earned you. You must set a From and To date; it defaults to the first of this month to today.

Four figures: Taken (what customers paid you, tax included), Revenue (the same money net of tax — the tax each sale was charged under your tax codes, nothing for a shop without them), Cost of sales (what those goods cost you), and Gross margin in both money and percent.

Broken down by re-cuts the table three ways:

  • Product — which products earn, and which just move.
  • Category — which categories carry the shop. A category is the Tracker Group its products sit in.
  • Location — which shop floor or branch performs.

Refunds are netted off, so a returned product removes both its revenue and its cost — at the price and cost of the sale it reverses.

The note under the table says what the figures are: revenue and margin are net of tax, whether the shelf price includes the tax or the till adds it.

If you take more than one currency ​

The margin screen shows two different kinds of number, and it matters which is which.

Taken at the till sits at the top, one figure per currency. These are what each drawer actually took, in the currency it took it, and they are never added together — a ZWL float added to a USD one matches no drawer in the shop.

Everything below it — Taken, Revenue, Cost of sales, Gross margin, and every row of the breakdown — is all of it consolidated into the currency your reports are totalled in, at the rate in force when each sale happened. Not at today's rate: a period that has closed keeps agreeing with the receipts written in it.

Stock value is always in your main currency, because that is the currency every cost is recorded in.

Why the two do not obviously add up

They are answers to different questions. "What is in the till" has one answer per currency. "What did we make" has one answer for the business. Recording a new rate tomorrow changes neither of them for sales already taken.

Expiring ​

What is about to go off. Choose Looking ahead: 7, 30 (the default) or 90 days. The table shows Product · Batch · Received · Expires · Days left, soonest first.

Read this one carefully

It shows the quantities that were received in each delivery, not what is left of them. If you took in 200 yoghurts and have sold 190, this report still says 200.

Treat it as a prompt to go and look at the shelf, not as a stock figure.

It also only knows what you typed on the delivery. An expiry reaches it from the Expires box at receiving, so a product with no shelf life on its profile and no date typed by hand will never appear there, however perishable it is.

Shrink ​

What you lost and why. Set From and To dates.

Lost at cost is the headline — what the lost stock cost you, not what it would have sold for. Beneath it, Units, and a table of Reason · Write-offs · Units · At cost.

This table is built entirely from the Why you chose on the Adjust stock screen. Anything recorded without one appears as No reason given — and a large "No reason given" row is the report telling you that your write-off habit needs tightening, not that your losses are mysterious.

Price audit ​

The sale lines whose price or tax the server had to judge. Set From and To dates. A line shows here when a till sent a price other than the shelf price, when a basket was charged a shelf price that has since changed, or when a till's tax differs from the shop's tax settings.

Lines flagged is the headline. The table reads Rung up · Reached server · Hours to reach server · Product · Units · Booked at · Till sent · Tax gap · Why flagged · Till.

  • The period is read by Reached server, so a sale rung up days ago that only reached the server today is in today's audit.
  • Hours to reach server: a few hours is a till that was offline; days on a line charged an earlier price deserve a closer look.
  • Tax gap: what the till says it took, less what the shop's tax settings call for.
  • A long period shows only the newest lines, and says so. Narrow the dates to see the rest.

Voids and refunds ​

Retail → Voids & refunds lists every refund given, every basket voided and every line taken off a basket before payment, one row each: when, what, the location and lane, the cashier, and for a refund the reason, the receipt number and who approved it (their own clearance, or a supervisor's PIN). A refund with no receipt says so. Filter a column to one cashier, lane or reason; the table exports to Excel and PDF, prints and shares like every register. Voids and removals show what the basket showed — nothing was sold, so nothing is on the ledger for them.

The screen has its own filters above the table: Location (one location's tills, or Everywhere) and From / To, which opens on the first of this month to today; both days are included whole. A period holding more than 5,000 of one kind shows only the newest 5,000 of that kind, and says so — narrow the days or the location to see the rest.

The Approval column reads Own clearance for a refund the cashier's own level covered, and Supervisor PIN for one a supervisor approved.

At a shared counter login, a refund, a void and a removed line name the counter's login in the Cashier column, and a refund approved on the checked-in person's own clearance names the login as its approver too. A refused approval names the checked-in person who asked, with the counter beside them — Olivia Moyo (at Front counter) — and so does the Released by / why column for a release.

Each refused supervisor approval is a row too, as Approval refused: the cashier who asked, the supervisor whose PIN they tried, the refund it was for and why it was refused (a wrong PIN, or a lockout). Nothing was paid on these rows — they are there so you can see who is guessing at a PIN. A wrong PIN is one row each; a cashier who keeps trying while locked out is one row per lockout, with the number of tries in the Approval column.

A refund that was started but never finished — the till lost its connection before anything came back — is listed as Refund not completed, nothing returned, at 0, so it counts towards no total.

A refund a supervisor released after it stopped part-way through being written is listed as Refund released, part refunded, at the value and units of the lines actually refunded — never what it was started for — and the Released by / why column names the supervisor and their reason. One released with nothing written is Refund released, nothing returned, at 0. In the rare case that a line the release gave back was written afterwards by the stalled till, the row says so, counts that line, and asks you to reconcile it by hand.

A refund that is still being completed — one that stopped part-way through being written, or one that stopped earlier and has not yet been released — is listed as an ordinary Refund row, with the full value it was started for, not only the lines already written. This screen does not mark it as unfinished: the sale itself shows it as being completed. Level 6, like Shrink.

Tax summary ​

What your sales owe in tax, for a VAT return. Set From and To to the return's period. One row per tax code at each rate and location — or, with Rows: one per code per month, per month as well — showing:

  • Taxable net and Tax — standard-rated sales, before tax, and the tax on them;
  • Zero-rated and Exempt — reported in boxes of their own on most returns;
  • Not taxed — sales no tax code applied to, such as everything sold before you set tax up. Shown, not hidden, so a return never looks complete when it is not;
  • Gross — what customers paid.

The figures come from the tax worked out on each sale when it was rung up, so a rate changed later restates nothing. Refunds in the period are taken off. It is a full table: filter, sort, export to Excel or PDF, print or share it, and the totals travel with the export.

  • Days and months are in your own time zone — the one your browser is set to — and the summary says which under the totals and in the export. A sale at 01:00 on the 1st, local time, is in that month's row, not the month before.
  • Sale lines where the till's tax differed from the tax setup at the time are counted in a note under the totals when there are any: N sale lines where the till's tax differed from the tax setup at the time. The figures above include them as booked; Price audit shows what the till charged and what was booked. A line is booked with the till's tax where the difference is one the setup explains — a code the shop had, at a rate and treatment that code carried in the week up to the sale — and with the setup's figure otherwise. Both kinds are in the count, and both are on Price audit.
  • Very long summaries are capped at 2,000 rows. When that happens it says so on screen and in the export, and the totals still cover every row — narrow the period or pick a location to see the rest.

Level 6, like the other money reports.

Filtering ​

Every report takes a Location filter (default Everywhere), so you can compare branches or look at one shop floor on its own.

The subtitle line under the tabs always states the period and location you are looking at, and that subtitle is carried into the export — so a printed page can never be mistaken for a different period's.

Things to know before they surprise you ​

Nothing can be edited or deleted. Not a sale, not a delivery, not a write-off. Every correction is a new entry. Take the extra two seconds to get it right first time, and when you do not, correct it openly.

"Never counted" matters more than it looks. Until a product has been counted once, its stock figure is built from whatever movements Trackapt happens to have seen — which excludes everything that was on the shelf before you switched the module on. Count everything once, early.

Cost comes only from deliveries. Booking in a delivery is the only thing that sets what a product cost you. A product that has never been received shows not costed, values at zero on Stock value, and shows a 100% margin — because as far as Trackapt knows, it was free.

Locations are never deleted, only closed. Same for checkout lanes — switched off, not removed.

Common problems and what they mean ​

What you seeWhat has happenedWhat to do
No Retail in the sidebarThe module is not switched on for your accountSee Turning modules on. Reload the app once it is.
This shop has no selling location yetNo location created, or all closedSetup → Add location
Nothing carries 5012345678900 on any scanThat barcode is not on any productCheck the scan, then make the product sellable
Milk has been delisted and cannot be soldAvailable to sell is untickedTick it back on from the catalogue, if it should be on sale
Barcode 5012345678900 is already used by Milk in this account when saving a productAnother product already carries that barcode, or another spelling of it. A SKU says the same: SKU BRD-WHT is already used by…Open the product the message names and fix whichever of the two is wrong
Some codes are shared by more than one product on the catalogueTwo or more products carry the same barcode or SKU, so a scan of it cannot tell which was soldGive each product listed its own code. Codes in groups you cannot open are only counted — someone who can open those groups needs to fix them
Book it in is greyed outA line has no costRead the orange Still needs a cost line — it names the items
Book it in greyed out, Still needs a batchA batch-tracked item has no batch typedType the batch from the box into the Batch column
Pick two different placesA transfer's From and To are the sameChange one of them
Received is greyed out on a transfer rowThe transfer has no destination recordedIt cannot be received. Record the arrival as a fresh transfer.
N sales not yet sent at the tillThe network dropped; sales are queued on this deviceThey send themselves when the connection returns. Send now to retry. Do not clear the browser data until it is gone.
No Cash given box at the tillThe basket is emptyNothing is wrong — it appears once there is money to collect
A product shows never countedIt has never been physically countedCount it
A product shows not costedNo delivery of it has ever been booked inBook the next delivery in properly. For stock you already owned, book an opening delivery
A product's cost looks about half what you paidIt was counted before its opening delivery was booked in, so the real cost was averaged against free stockZero the product out and book it in again
Stock value looks far too lowProducts are not costedCheck how many. Cost arrives with the first delivery of each product.
Margin shows 100% on a productIt has no recorded costSame cause — book a delivery in
A colleague sees more products than youTracker Group whitelisting — you see only the categories you have been givenAsk whoever manages your team to widen your access, if you should have it
A checkout lane stopped sellingIts secret was rotated, or it was switched offCheck Setup → Checkout lanes — the last seen time tells you when it last worked
The secret was lostIt genuinely cannot be recoveredClick Rotate, take the new one, and reconfigure the checkout

What each screen is for, in one line ​

ScreenOne line
TillScan, total, Take payment. Keeps working offline.
ReceivingBook a delivery in. The only place cost is recorded.
Stock countCount the shelf. Anchors the stock figure.
Count sheetCount a whole aisle from a list. Finds what is missing.
Adjust stockDamage, expiry, theft, staff use — and stock found.
Move stockSend stock to another location; confirm it arrived.
CatalogueEverything you sell, its barcode and its price. Change prices here.
Price changesRead-only history of every price move.
Stock reportsStock value · Margin · Expiring · Shrink · Price audit · Tax summary.
Voids & refundsEvery refund, void and removed line, and every refused supervisor PIN.
SetupCurrencies, tax codes, refunds (your supervisor PIN and the no-receipt limit), locations, checkout lanes and quick keys.