Stock Corrections
Stock Corrections records adjustments to stock that did not come from trade. A sale, a delivery, a customer return or a store transfer all move stock as a side effect of a business document. A correction is the opposite: someone has looked at the shelf, found the number wrong, and is saying so deliberately.
Typical reasons:
- Damage — items broken in the store or in the stockroom
- Theft and loss — shrinkage written off
- Expiry and spoilage — goods removed because they can no longer be sold
- Own use — items taken for displays, samples, tastings or staff use
- Receiving errors — a delivery booked in wrongly and now corrected
The point of the service is not the arithmetic — it is the reason. Every correction must carry a reason code, so that the difference between "we lost 40 units to theft" and "we lost 40 units to spoilage" survives into reporting instead of being flattened into one unexplained adjustment.
What the service actually is
🛑 Stock Corrections does not hold your stock. It stores nothing and it has no balance to read back. It validates a correction, stamps it with who and when, and publishes it as a public event. Whichever system owns the stock figure then applies it.
That single sentence decides most integration questions:
- there is one endpoint, and it writes;
- there is no query API, no correction history, no "list yesterday's write-offs" call;
- the event is the record. If you want a log of corrections, subscribe and keep your own.
See How it works for the path a correction takes and who applies it.
Who does the corrections
The work happens in the store, on a handset, done by staff. Somebody notices a broken case of yoghurt, opens the app, scans it, picks a reason and adjusts the number. That is the normal shape of this service, and it is why the data is worth having.
Extenda supplies the client — the Hii Retail Inventory app has a Stock Correction screen with an item scanner, a reason-code picker and an add/remove toggle. A customer does not have to build anything to use this service.
The app does ordinary REST, so a customer who would rather drive corrections from their own system — an ERP writing off expired stock in bulk, for instance — can use the same endpoint:
| Action | Endpoint |
|---|---|
| Record a correction for one item | POST /business-units/{businessUnitId}/stock-corrections/{itemId} |
That is the whole API. See The API for the request shape.
🛑 You send corrections in and subscribe to what comes back — you do not drive the operator's actions. There is no queue of pending corrections to hand a store, no approval step, and no way to ask the app to correct something. An integration contributes corrections and reacts to the events; it does not orchestrate the person holding the handset.
Where to start
| If you want to… | Read |
|---|---|
| understand the path a correction takes, and who applies it to stock | How it works |
| set up the reasons staff can choose from | Reason codes |
| send corrections from your own system | The API |
| receive corrections in your own system | Events |
Related services
- Stock Transaction Processing keeps the stock balance when Hii Retail is the stock master. It consumes corrections.
- Stock Count is the other way to change a number deliberately. A count asserts what the quantity is; a correction states how much it changed by. Use a count when you have recounted the shelf, a correction when you know what left it and why.
- Customer Controlled Configuration (CCC) holds the reason codes. See Reason codes.