stock:write scope and a registered item.
The API only writes stock. There is no endpoint that lists stock on hand or past movements. Each response tells
you the resulting
quantityOnHand, and the dashboard shows the full picture.Adjust stock
POST /v1/stock/adjustments adds or deducts stock for an item at a branch.
The call returns
201:
etims.stockIo and etims.stockMaster report the two steps by which the movement reaches KRA. Each has a
status of ok, skipped or failed, and a reason when it was not ok.
Transfer stock between branches
POST /v1/stock/transfers moves stock of one item between two branches of the business.
itemId, fromBranchId, toBranchId and quantity are required. unitPrice and referenceId are optional. The
call returns 201 with the quantityOnHand on both sides. An unknown item or branch is a 404.
Selling and stock
A sale of a stock-tracked item deducts stock. If there is not enough, the sale is refused with a409 and the code
insufficient_stock. So add stock before you sell, and add more when you receive goods.
Each call is a separate movement
Treat every stock call as its own movement, and do not rely onreferenceId to stop a repeat. If a request times
out and you are not sure it was applied, check the resulting quantityOnHand in the dashboard before you send it
again. Use referenceId to keep your own record of what each movement was for.
Read next
- Items: register the item first
- Sales: selling deducts stock
- Idempotency: which calls are safe to repeat