Every stock figure in sparx is worked out from what actually happened (every delivery, sale, count, breakage and transfer) rather than stored and overwritten. So any quantity on any screen comes apart in front of you, back to the day somebody last walked out and counted the shelf. And it is re-added every night, so you hear about a problem from us at breakfast instead of from a customer in six weeks.
$29/mo · unlimited users · free with Commerce or B2B · 14 days free either way
1,290 entries · re-added at 04:31 today · agrees to the unit
Somebody asks if you have four of something and you say “let me go and look”, because you have been caught before, and the walk to the back is cheaper than the phone call afterwards. Nothing about that is disorganised. It is what anyone sensible does with a number they cannot check, and it quietly costs you an hour a day and the occasional order.

An independent survey of 400 people who run stock for a living, published in 2026, found that the overwhelming majority still keep it in a spreadsheet, and that the thing they complain about is not missing features. It is that the number is wrong, the supplier is late, and nobody can tell them why.
still run their stock on spreadsheets, including half of the businesses with 500 or more staff
name inaccurate stock data as one of their biggest problems
run out of something at least once a month
name supplier reliability as one of their biggest problems
lose between 1% and 5% of their stock a year and mostly cannot say to what
want AI somewhere in how they run stock · have any of it today
Figures from the State of Inventory Management 2026 survey, a study of 400 operators published in 2026 by a company that is not us. Checked against the published report on 13 August 2026. They are somebody else’s research about the whole category, not our customer data, and we would rather cite a number you can go and read than invent one you cannot.
Not a bad one. It syncs every channel every few minutes, it emails you when something runs low, and the dashboard is genuinely accurate most of the time. Then one morning the shelf has thirty-three bags on it and the screen says forty-one, and the whole product has nothing to say about which of the two is lying.
Every one of those is a single stored number, overwritten by whichever system spoke last. It is right far more often than it is wrong, which is exactly what makes the wrong ones expensive. You have no reason to doubt any particular one of them.
And there is no screen for that. There is a number, an audit log that records that the number changed from 49 to 41 at 06:12 by “System”, and a support article suggesting a full recount. So you shut the aisle, count four hundred lines to find eight bags, and write the new figure over the old one, which puts you back exactly where you started, with a number you have no way to check.
A week later the same thing happens on a different item, and by then nobody promises a customer anything without walking to the shelf first. That habit is what a stock system was bought to end.
Almost every stock system in the world stores one figure per item per place and edits it as things happen. That is why none of them can tell you where eight bags went: the moment the number changed, the thing it used to be stopped existing. sparx never stores that figure at all. It stores what happened, and works the figure out, which is a slower thing to build and the only thing that makes an answer possible.
A delivery, a sale, a count, a breakage, a transfer between your own places. Each one is written down as its own line and none of them edits a running figure. There is exactly one way stock is allowed to move, so there is exactly one place it can have gone.
Which means no quantity on any screen is ever just an assertion. Ask it why and it adds itself up again in front of you, back to the morning somebody last walked to the shelf and counted, with a name against every line that moved it.
The sum is worth nothing if nobody ever checks it against the number on the screen. So sparx checks all of them, every night, and tells you the morning they stop agreeing: rather than leaving you to discover it from a customer four weeks later.
$29 a month, unlimited users. Free if you sell with Commerce or B2B.
Click a quantity on the stock list, on a product, on a purchase order, on the shelf card, or in your storefront’s own availability check: the same drawer opens, with the same rows in it. Each one names what happened, when, and who or what caused it, and carries the balance it left behind, so you can follow the number down the page and watch it arrive at what the screen is showing you.
The third row up is worth a second look. A picker could not find one bag, said so on her phone, and the bag went back on hand: because a unit nobody could find was never picked, so the sale that removed it has not happened yet. It is also now reserved for the order still waiting on it, and that shelf has been put on a count.
Every line records whether it was a person, a scheduled job, another system, or an AI assistant that caused it, and what it was acting on: an order number, a delivery, a count sheet. “It changed at 06:12 by System” is not an answer, and it is the answer most audit logs give.
Any view of this history downloads as a spreadsheet, filtered exactly the way the screen was filtered, and it tells you plainly when there was more than it gave you rather than quietly stopping at ten thousand rows. Your history is yours, in a file anything can open.
Not you, not us, not an integration, not a script. A mistake is corrected by writing the correction down, so the record of what you believed and when you stopped believing it survives. That is what makes the file above worth anything in an argument with a supplier or an insurer.
At half past four every morning sparx takes every item in every location, adds its entire history back up from scratch, and compares the answer to the figure it has been showing you all week. Two numbers derived two different ways: if they ever disagree, something is wrong, and you find out from a screen at breakfast rather than from a customer in six weeks.
Sixty-one is a real thing to be proud of and a real thing to lose. That is why it is on the screen: a streak you can break is a number people look after.
A drifted number is evidence. sparx names the items, says what the difference is worth, and leaves both figures exactly where they are for you to look at, because a system that silently writes the “correct” value over the top has destroyed the only trace of whatever caused it, and handed you a screen that looks healthy for the second time.
Three different things get muddled into “we oversold”: an order sparx refused, an order it let through against a cushion you set, and stock that actually went below zero. Each is recorded separately, with what the system believed at the moment it decided, so “are we overselling?” has an answer with a count on it.
If a figure comes from another system (a warehouse you don’t run, a shop floor till, an ERP), you tell sparx how often it should hear from it. When it goes quiet the number is flagged as old on every screen it appears on, and you choose what happens: warn you, hold a bit more back, or stop selling that stock until it speaks again.
A number is only ever as good as the last time somebody touched the stock behind it. So everything that happens on the floor happens through a phone camera: receiving a delivery, putting it away, walking a pick, counting a shelf, moving stock between your own places. No handheld to buy, no app store, no training day. It is the camera they already carry, and it refuses the wrong item rather than trusting anyone to notice.
Zones, aisles, racks and shelves inside each location, sorted by the order somebody actually walks them rather than alphabetically. Print labels in three sizes; the code is in the label itself, so it still scans in the back corner where the wifi does not reach.
Decide that the fast-moving, high-value lines get counted monthly and the long tail twice a year, and sparx tells you what is due. Count blind (no expected figure on the screen) and a variance worth real money waits for someone to approve it before it posts.
Track a batch or an individual serial number from the delivery that brought it in to the order that took it out. Oldest-expiring goes first, automatically, and a recall is a workflow rather than an afternoon with a spreadsheet and a phone.
Scan every item into the box; anything not on the order is refused. Split an order across three parcels and it is three tracking numbers, not an exception you handle by hand. The packing slip prints with a tick against each verified line.
A reorder point typed in last spring is a guess that has stopped being true. sparx works yours out from what actually sells, how long each supplier really takes rather than what they promised, and what time of year it is, then puts the consequence next to it in money, because “low stock” is not a reason to spend three thousand dollars and “you lose $3,140 next Tuesday” is.
| Item | Cover | Runs out | At risk | Buy |
|---|---|---|---|---|
| Kenya Peaberry: 1kg | 2 days | Fri 20 Feb | $1,880 | 90 |
| Guji Natural: 1kg | 6 days | Tue 24 Feb | $3,140 | 120 |
| House Espresso: 1kg | 31 days | — | — | — |
The third row has thirty-one days of cover, so its last three columns are dashes rather than zeroes. Nothing computed a stockout date for it and nothing measured a risk, and a screen full of reassuring zeroes is how you learn to stop reading a column.
Fifty-two out of a hundred businesses name supplier reliability as their biggest stock problem, and almost nothing in the category measures it. sparx does, from your own deliveries, and the twenty-one days it learned is the number your reorder points quietly start using, instead of the fourteen on the price list.
Eight in ten businesses say they want AI somewhere in how they run stock; about one in ten has any. The reason is not enthusiasm. It is that pointing a model at numbers nobody can verify produces confident nonsense. Everything on this page is the part that has to be true first.
Connect the AI client you already use and it can read your stock the way a person would: what should I reorder, why did this drop, which supplier is slipping, what is expiring next month. The account is yours and the model is yours; sparx never runs one on your behalf.
A hundred and forty-five tools, and everything that points money at somebody else is deliberately not one of them. An assistant can tell you your worst supplier is late on a third of its orders. It cannot approve the next purchase order, agree a price, or write off a batch.
Twenty-five things that happen to your stock can be sent to any address you name the moment they happen. Something running low, a count coming up short, a delivery landing, a feed going quiet. Set it up on a screen, no developer needed.
Add fields sparx has never heard of to items, shelves, suppliers or purchase orders: a bond number, a customs code, a bay. They appear in the grid, in exports, and in the API alongside everything else.
The thing this actually replaces, for most businesses, is a spreadsheet, and the spreadsheet is winning for one honest reason: you can start using it in ten minutes and nobody has to be trained. So the setup is built to beat that, not to beat an enterprise feature list. Four steps, ending in a real count, with a thirty-minute target it is measured against.
A shop, a back room, a unit, a van, somebody else’s warehouse. One is a perfectly good answer, and you can add the rest later without redoing anything.
Upload it as it is. sparx reads your column names and matches them to its own (“Qty on hand”, “QTY”, “stock”) and asks you about the ones it is unsure of rather than guessing.
412 items created, 88 updated, 6 rows it cannot read and why. Nothing is written until you say so, and if the answer is “not like that” you fix the sheet and run it again.
The setup ends with an opening count, so day one is a number somebody walked out and verified, not an imported guess that everything afterwards inherits.
Nothing here is priced per person. Your pickers, receivers and counters all get an account, and there is a role built for exactly them: it can receive a delivery, enter a count, move stock and look things up, and it cannot see a single cost price. The accuracy of your stock should not depend on how few people you could afford to let near it.
Every list, every report and the entire movement history downloads as a spreadsheet from a button, without a support ticket and without asking anyone, and every export sparx produces imports back into sparx unchanged, which is the only test of an export that means anything. A record you cannot take with you is not really yours.
Stock software has converged on a fairly settled list of what a serious system has to do. Here is that list, answered honestly, as of August 2026. The last group is the important one: a page where every row is a yes has told you nothing, and the fastest way to find out whether a product is honest about what it does is to see whether it will say what it doesn’t.
With every change that produced it kept, permanently, and readable by you.
Zones, aisles, racks and shelf positions, walked in pick order rather than A to Z.
Receiving, put-away, picking, counting, transfers and lookups. No handheld to buy.
Back to the day it was last counted, with a name against every line. This is the part almost nothing else in the category can do.
Freight and duty shared across the lines, so a part costs what it cost to get here.
A guided walk that refuses the wrong shelf, and a box that refuses the wrong item.
What a thing is made of, how many you could build today, and running the build itself.
One number underneath, however each part of the business prefers to count it.
Oldest-expiring picked first, and a recall handled as a process rather than a panic.
Cadence driven by what an item is worth and how predictable it is, with an approval gate on a costly variance.
Your choice, per business and per item, on a screen that explains what each is for.
Derived from what actually sells, how long a supplier really takes, and the time of year: recomputed nightly.
Nineteen reports, every one exportable and schedulable, every export re-importable.
Converted at the rate on the day the goods landed, and stored alongside the original.
Eleven of them, each with a cushion you set per channel so one cannot oversell you.
Measured from your own deliveries rather than from what the price list promised.
Including a warehouse role that can do the work and cannot see a cost price. 337 endpoints, documented.
Stock and cost-of-sale journals, and a reconciliation that names each ordinary timing difference rather than netting them into one figure.
Each of these is a real boundary rather than a roadmap item we are being coy about. If one of them is what you came for, we would rather you found out here than three weeks into a migration.
There is no general ledger here and no chart of accounts, and there is not going to be. sparx produces the journals and the reconciliation; your accounting package and your accountant keep the books, and both are better at it than we would be.
The QuickBooks Online and Xero connectors are complete, but this installation has no app registered with either vendor yet, so the screen tells you that and offers the export that works today, rather than a button that dies at the redirect.
You can receive against a supplier’s advance shipping notice, but somebody enters or uploads it. sparx does not consume EDI transaction sets and does not yet give suppliers an endpoint of their own to post to.
Recipes and build runs are here, and they move real stock. Production scheduling, machine capacity planning and shop-floor routing are not. That is a different product, and pretending otherwise would waste a manufacturer’s afternoon.
Flat, whatever size your warehouse is, with every picker, receiver and counter on it at no extra charge. Free entirely if you sell through sparx with Commerce or B2B: the stock behind what you sell is not a second product. Fourteen days free regardless, and we don’t ask for a card.
What it does, what it deliberately doesn’t, what it costs, and what happens to the spreadsheet you have been keeping: answered straight. Still deciding? Start the 14-day trial, or turn Commerce on and get this for nothing.
Yes, and it is a first-class case rather than a technicality. A workshop, a hire company, a lab, a charity warehouse, a distributor who takes every order by phone. Anyone who has stock in more than one place can run locations, shelves, scanning, counts, purchase orders, suppliers, costing and every report, with no storefront, no website and no orders anywhere in sparx. That is what the $29 standalone price is for. Add Commerce or B2B later and the charge simply stops.
Fourteen days free, no card, no contract at the end of it. Bring the spreadsheet you already keep and you can be counting real stock this afternoon, and if you ever leave, every movement, report and figure downloads in full from a button, without asking anyone.
way stock is allowed to move · which is why there is only ever one place it can have gone
people who can edit the history · not you, not us, not an integration
when every number in the building gets added up again, every night
users at the same price: the warehouse does not cost you per head