Procurement, barcode inventory and recipe cost control on one platform. Order from suppliers, receive against the PO, and the stock updates itself and prices itself, down to the plate. One item list, no double entry, and a full audit trail of who moved what.
The buying cycle for procurement teams. Raise a requisition, send an RFQ, compare the quotes and issue the purchase order. Suppliers work in their own portal, where they acknowledge the order and upload the invoice.
Once you receive the order it carries straight into StokTrack. The goods receipt becomes counted stock on the shelf, so what you bought is already tracked.
Barcode stock control for warehouses and sites. Every item carries its own SKU and a printable label, so one scan moves it, counts it or sends it to another location, and the history says who did it.
Receipts, transfers and hand set counts all cross into CostTrack at the cost they left at, so the value on the shelf never drifts from the quantity on it.
Cost control for restaurants and hotels. Recipes carry their own yield and waste, so a plate is costed to the gram. Receipts, transfers, production and counts all land in one append only ledger, and the period close says what it should have cost against what it did.
When a line runs short the request goes to SourceTrack, and the delivery comes back priced. The loop closes on the money as well as the quantity.
| Requested | Qty | Estimate |
|---|---|---|
Right-angle drillea | 4 | 1,900.00 |
Drill bits 5 mmbox | 20 | 640.00 |
| Estimate total | 2,540.00 |
Anyone can raise a purchase requisition against a cost centre. Every line carries a quantity, a unit and an estimate, so the total is visible long before the money is. Approval moves it on to sourcing.
| Supplier | Valid to | Total |
|---|---|---|
| Gulf Tools | 12 Mar | 2,410.00 |
| Delta Supply Best | 09 Mar | 2,180.00 |
| Metro Hardware | 14 Mar | 2,690.00 |
Turn a requisition into an RFQ and invite the suppliers you want. Quotes come back with their own lines, currency and validity date, converted so you can read them side by side. Award one and the purchase order is raised from it.
An approved purchase order is published to the supplier, who acknowledges it in their own portal. The status carries through to invoiced and closed, and any question the supplier raises stays attached to the order instead of sitting in somebody’s inbox.
| Order | Received | State |
|---|---|---|
| PO-2026-118 | 04 Mar | Acknowledged |
| PO-2026-121 | 06 Mar | Awaiting you |
| PO-2026-124 | 08 Mar | Invoiced |
Suppliers sign in to a portal of their own, never into your system. They acknowledge orders, ask about a line, upload an invoice against the right order and keep their trade documents current, so none of it arrives as an email attachment somebody has to file.
Approval thresholds decide who signs off, based on what the invoice comes to. Once it clears, the payment is recorded with its bank reference and a remittance advice goes back to the supplier on your letterhead, so the trail closes on both sides.
Every item carries its own SKU and a printable Code 128 label. The Stock Logger records a movement the moment you scan a barcode (or type the SKU). It’s marked In Store or Out automatically based on the destination you pick.
| Stock by location | State | Qty |
|---|---|---|
| Main Warehouse | In store | 6 |
| Showroom | In store | 6 |
| Site B | Out | 4 |
| On hand | 16 |
Quantities are tracked per warehouse and site, each with its own default state. See the full distribution, and break any item into sub items, colours, sizes or variants, that roll up into the item total.
Pull stock from another location, or ship it out directly. Units leave the source immediately into a virtual in transit area and only land once the destination confirms receipt. A transfer relocates stock without changing the company total.
| Item | On hand | Reorder |
|---|---|---|
| Safety gloves (L) | 3 Low | 10 |
| Wire spool 2.5 mm | 8 Low | 15 |
| Drill bits 5 mm | 34 | 12 |
| Hex bolts M8 | 210 | 50 |
Set a reorder level per item. The moment stock drops to or below it, a red Low badge appears across the app and the right people are notified, so procurement can act before a stockout, not after.
Every IN/OUT, transfer, import and edit is logged with who did it, where and when. Movement History is a complete, filterable log per item, and admins get a system wide audit log across items, categories, locations and users.
| Ingredient | Qty | Cost |
|---|---|---|
| Chicken thigh | 180 g | 2.34 |
| Garlic sauce Sub recipe | 30 g | 0.41 |
| Flatbread | 1 ea | 0.35 |
| Pickles | 25 g | 0.18 |
| Plate cost | 3.28 |
Build a recipe from the items you already stock, give it its own yield and waste, and nest a sub recipe inside another. Every ingredient is priced from the ledger rather than from a number somebody typed, so the plate cost moves on the day the delivery price does.
| Movement | Qty | Avg cost |
|---|---|---|
| Opening balance | 40 kg | 12.80 |
| Goods receipt Landed | 60 kg | 13.40 |
| Transfer out | 15 kg | 13.16 |
| Production issue | 22 kg | 13.16 |
| On hand | 63 kg | 13.16 |
Every receipt, transfer, production run and count is appended to the ledger, never written over. Freight and duty land across the lines they arrived on, so the moving average is the true cost of what sits on the shelf.
Count the shelf and close the period. The recipes say what the sales should have consumed, the ledger says what actually left, and recorded waste explains part of the difference. What survives is the number worth chasing, and it is reported rather than absorbed.
| Menu item | GP each | Sold | Quadrant |
|---|---|---|---|
| Shawarma plate | 8.72 | 610 | Star |
| Mixed grill | 14.10 | 92 | Puzzle |
| Fries | 2.40 | 880 | Plough horse |
| Garden salad | 1.90 | 70 | Dog |
Import the sales from your POS, map each code to a menu product once, and every plate is ranked on the gross profit it clears rather than its cost percentage. A cheap dish that clears very little is not the one to promote.
The full lifecycle, step by step. Procurement, the supplier, the warehouse, the store and cost control all speak here, and every message is a real, logged action.
The warehouse is running thin, so procurement raises a requisition with the quantity and an estimate on it. Approval sends it on to sourcing.
An RFQ goes out to the approved suppliers. Quotes come back with their own lines, currency and validity date, lined up for comparison.
The winning quote becomes a purchase order, routed for approval by its value and published to the supplier on your own letterhead.
The supplier acknowledges the order in their own portal, where they can query a line and later upload their invoice against it.
New goods arrive and are logged in with a SKU and Code 128 label, seeding the warehouse’s stock.
The receipt that added the quantity carries its price too. Freight and duty land on the same line, so the shelf holds a value and not just a count.
The Showroom’s count falls to its reorder point. A red Low badge appears across the app, the trigger to replenish.
The store manager requests a top up from the warehouse. An in app notice and email go to the warehouse team and admins.
The warehouse approves. The 12 units leave its shelf into the in transit hold and the store is notified it’s on the way.
The units sit in a virtual hold, gone from the warehouse, not yet at the store, so the company total can never be double counted.
The store confirms what actually arrived. Units land in its stock, the warehouse is notified, and an IN movement is logged.
As stock is sold or used it’s logged Out. Counts fall, and when they hit the reorder point again, the journey repeats.
At period end the shelf is counted and the month is closed. What the ledger expected is set against what the count found, and the gap is reported as variance instead of quietly absorbed.
When the reorder point hits again and the warehouse has nothing left to send, the alert becomes a requisition instead of a transfer, and the whole loop starts over with the supplier.
Buyers search every supplier who has listed themselves, filtered by country, category and verification, then ask to trade. Suppliers join without waiting for an invite, keep one profile and one login across every buyer they win, and choose for themselves which requests to accept. Nothing connects until both sides have agreed.
A company lists itself. No buyer invite needed, and nothing before this is discoverable.
A buyer filters by country, category and verification, then asks to trade.
The supplier accepts. A decline is final, so nobody is asked twice.
Free for your first year,
then $20 a month to stay listed
Requisition to payment, with a supplier portal.
Track stock across every location.
What a plate should have cost, and what it did.