Inventory, Purchasing & Warehousing — inventory, purchasing and warehouse management software
Inventory is the stock backbone of the suite: items and variants, warehouses and bins, receipts, shipments, counts, lots and serials, and purchase orders from draft to bill. It values every unit with First In First Out (FIFO), weighted-average or standard cost layers and, when you also hold Accounting, posts each movement to the ledger through the posting rules of your country pack. It suits trading, distribution, retail and rental businesses in the Gulf that run stock in spreadsheets or in a tool that does not talk to their accounts, and gives them stock and purchasing in one connected flow instead of separate tools such as Odoo, Zoho Inventory or SAP Business One.
Last updated
No credit card · Ready in about a minute · Your data stays private
Step-by-step guides for every role
166 features in 15 areas · works with 13 other modules · 10 team workflows
Full feature list
Items and catalogue
Describe everything you stock once: what it is, how it is counted, how it is costed and how it follows your product catalogue.
- Create a stock item — Enter a Stock Keeping Unit (SKU), a name, a unit of measure and a costing method, and the item is ready to receive and count. Quick-create adds the unit on the spot. The same form also holds cost and price, reorder point, minimum and maximum stock, preferred supplier, lot and serial tracking, shelf life and storage, weight and volume. Amounts that carry more decimals than the item keeps (four for cost and prices, three for weight, six for volume) are refused, so nothing is rounded away silently.For: Inventory manager, Tenant admin
- Choose how each item is costed — Pick weighted average, First In First Out (FIFO) or standard cost when you create the item. Every method keeps true cost layers, so stock value drops when goods leave. The method is fixed once the item exists.For: Inventory manager
- Keep cost per warehouse, with goods on the road apart — Switch on cost per warehouse and every sale, count, return and production draw uses the cost of the warehouse it touches, and stock found in a count is valued at that warehouse's own average. A transfer's goods leave the sender at their cost when sent, show as On the road until they arrive, and land in the receiving warehouse (or back home) at that same cost. Stock value shows each warehouse and the road separately, the daily figure sent to Accounting carries the same split, and Rebuild restates the history under the setting. Off by default: one cost per item for the company.For: Inventory manager, Accountant
- One SKU, never twice — A duplicate SKU, one that differs only in capital letters, or a second item for a product or variant that already has one, is refused with a sentence instead of creating a duplicate.For: Inventory manager
- Storable, consumable and service items — Items are storable (counted and valued), consumable or service. The item form creates storable items; other types arrive from the product catalogue or the API. A service product only gets an item when Track inventory is on, and that item is not shelf stock.For: Inventory manager
- Add units of measure on the spot — Create a unit (each, kg, box) from inside the item form when the list is empty, without leaving the page. Reading units and managing them are separate permissions. Units are labels: the system does not convert between them.For: Inventory manager, Tenant admin
- Search, sort and browse the catalogue — Find an item by name or SKU, narrow by type or by items that have a reorder level, sort by name, SKU, type or costing method, and switch between a table and a card grid. The page shows the first 100 active items; archived items drop out of the list.For: Inventory manager, Warehouse user, Buyer
- Item page with six tabs — Open any item to see Overview, Variants, Lots, Serials, On-hand by location and Valuation. A stock-health panel at the side scores the item against its reorder level and suggests the next step: order, transfer or count. It is rule-based, not AI.For: Inventory manager, Warehouse user
- Walk the catalogue with previous and next — Step from one item to the next in name order without going back to the list, with your position shown.For: Inventory manager, Warehouse user
- Variants under an item — Add variants such as colour and size to an item, with a SKU suffix, attributes typed as text and an optional sales price. A variant here is a description: stock is counted per item, which is why catalogue variants get their own items.For: Inventory manager
- Edit prices, reorder level, tracking and archive — Open an item and press Edit item to change the standard cost, sales price, reorder point, minimum and maximum stock, preferred supplier, lot and serial tracking, shelf life, storage, weight and volume, or switch the item to inactive. The AI assistant and the API do the same. An item that comes from the online store catalogue changes its name, price and status on the product instead.For: Inventory manager
- Stock section on the product page — A product's page shows on hand, reserved, available and reorder point, with a row per warehouse that holds it, whenever the workspace holds Inventory. A product that is not stocked says so instead of showing an error.For: Inventory manager, Sales manager
- Items follow your product catalogue — Turn on Track inventory on a catalogue product and its stock item is created for you, with the product code as SKU and the base price as sales price. Renames and price changes follow; the costs, reorder level and tracking you set on the item are kept. A retired product only deactivates its item.For: Catalogue manager
- Variants become their own items — A product with several variants gets one stock item per live variant, so each size and colour has its own count. A rename of the variant renames its item.For: Catalogue manager, Inventory manager
- Load stocked products from a spreadsheet — The product catalogue's import reads a Track stock column. Each imported product that is stocked gets its stock item the same way as one created by hand.For: Catalogue manager
- See the catalogue product behind an item — An item that stocks a catalogue product shows that product by name, with a link to it, on the item page. The product page in turn shows its stock.For: Inventory manager, Catalogue manager
Warehouses and locations
Model where stock physically sits, from a warehouse down to the bin, and see how full each place is.
- Create warehouses — Add a warehouse with a name and a short unique code, shown in capitals. A top-level location with the same code is created for you, so you can receive stock straight away.For: Tenant admin, Inventory manager
- Nested locations — Build aisle, rack and bin locations under a warehouse or under each other from the Add location form. Each location gets a full path such as DXB-MAIN/A/A1 that staff pick from.For: Tenant admin, Inventory manager
- Location types — Add internal (real shelves), customer, supplier or virtual locations. Only internal locations count as stock on hand, so goods at a customer or out on rent never inflate your numbers. A Rented out location appears by itself when a rental is first picked up.For: Tenant admin, Inventory manager
- Capacity per location — Give a bin or shelf a capacity in units when you add it. A location without one is reported as not measured rather than as empty.For: Tenant admin, Inventory manager
- Capacity scan — One click shows each warehouse's used and free space, locations above 90 percent, empty locations and the fullest places. A warehouse tile turns amber when it is nearly full.For: Inventory manager, Warehouse user
- Download the capacity report — Generate report downloads the capacity scan as a CSV file that opens in a spreadsheet, for the warehouse meeting.For: Inventory manager
- Search warehouses and see status — Search, sort and filter warehouses by status, and open a row to see its locations and how much of its capacity is used.For: Inventory manager, Warehouse user
- Rename or deactivate a warehouse or location — Change a warehouse's name or address, change a location's name or capacity, or switch a warehouse or location off. This works through the API; the warehouse screen has create and view only.For: Tenant admin
- Special locations appear when needed — The Suppliers location is created on the first purchase receipt, Scrap on the first scrapped return and Rented out on the first rental pick-up, so you do not set up this plumbing by hand. The virtual location that counts need is not created for you.For: Inventory manager
- Customs status, HS codes and free zones — Switch on Customs and free zones to record an item's HS code (8 or 12 digits, checked against your country's format) and country of origin, and each warehouse's customs status: mainland (duty paid), designated zone, free zone that is not designated, or customs (bonded) warehouse, with the free zone's name. The lists come from your country pack, and the UAE free-zone list is marked to verify against the authority's current one. Nothing is sent to any customs system.For: Inventory manager, Tenant admin
- Release to mainland, zone-to-zone and declaration numbers — A transfer out of a designated zone or bonded warehouse into duty-paid stock is marked a release to mainland, and when the goods arrive Inventory announces the import (value, HS codes, origin and declaration number) for Accounting. A transfer between two zones is flagged until you record the evidence that duty and VAT stay suspended. Receipts, dispatches and transfers can carry the broker's customs declaration number, and the stock report filters by customs status. Accounting's import VAT posting from that announcement is not built yet.For: Inventory manager, Warehouse user
- Inventory home — The landing page shows stock value (for people allowed to see it), warehouse and item counts, the latest stock moves and draft counts as tiles that open the matching screen. A banner prompts you to post draft counts.For: Inventory manager, Warehouse user
- Put-away rules — Tell receivers which shelf incoming goods go to: rules by item, category or lot tracking, inside one warehouse or all, each with a priority and a shelf. A purchase receipt that names no shelf follows the first rule that fits; a shelf with no room left (its capacity minus what it holds) is skipped for the next rule, and a receiver can still choose another shelf and say why. Switch it off in Settings, Features, Inventory.For: Inventory manager, Warehouse user
Stock movements
Every unit that comes in, goes out or changes place is a posted movement you can trace by reference.
- Post a receipt, shipment or return — Choose the item, where it comes from and goes to, and the quantity, add a reference such as a delivery note, and post. On-hand figures and stock value update at once. A shipment bigger than what is on hand is not refused.For: Warehouse user, Inventory manager
- Transfer stock between locations — A transfer moves goods from one bin or warehouse to another without changing what they are worth. The Internal Transfer choice on the move form does not work yet; transfers post through the AI assistant and the API.For: Warehouse user, Inventory manager
- Movements are never edited — A posted movement cannot be changed or deleted; a mistake is corrected with another movement, so the log stays a trustworthy audit trail.For: Inventory manager
- References you can search — A movement can carry a reference you type, such as a delivery note, and the log search finds it. A receipt against a purchase order carries the order number unless you type another reference.For: Warehouse user
- Movement log in plain names — The log shows SKU and name, source and destination paths, quantity with its unit and the posting date, never raw codes.For: Inventory manager, Warehouse user
- Filter and search the log — Filter by receipt, shipment, internal, adjustment or return, search by item, location or reference, and use the tiles for receipts, shipments, adjustments and returns, and total move value. The log shows the latest 100 movements.For: Inventory manager, Warehouse user
- Create an item or location from the move form — If the item or the bin you need does not exist yet, add it from inside the picker and carry on, when your role may create it.For: Warehouse user, Inventory manager
- On hand by item and location — On hand is the net of posted movements in real shelf locations, shown per item and per location and on the item's On-hand tab.For: Inventory manager, Warehouse user
- Retried postings never double up — A movement posted by another module carries a unique key, so a delivery or sale that is sent twice moves stock only once.For: Inventory manager
- Return to stock or scrap — A completed customer return puts goods back on a stock shelf at the cost they left with, or sends them to a Scrap location when the return is marked scrap.For: Order clerk
- Change history on every inventory record — Open an item, purchase order, transfer, return, lot, stock count, recipe or production order and see what changed, from what to what, who did it and when, with messages and follow-ups in the same panel. Each history is shown only to people who can read that kind of record.For: Inventory manager, Tenant admin
- Issue stock to a project or cost centre — Take stock off a shelf and charge it to a project, job, cost centre or work order, so the materials cost the job and not cost of goods sold. The stock leaves like a shipment (lots that expire first, the negative-stock rule, a double click is one issue). Accounting books it to a Project materials cost account with the project as the dimension. The screen offers projects and cost centres; a work order is named through the assistant or the API.For: Warehouse user, Inventory manager, Tenant admin
- Return stock from site — Bring part of an issue back from the job to the shelf it left. It returns at the cost the issue left with, so the job is credited exactly what it was charged, and you can never return more than is still out.For: Warehouse user, Inventory manager, Tenant admin
- What each job has cost in materials — Cards on the Issued to jobs screen show, per project or cost centre, the value issued, returned and net. Press a card to list only that target's issues and returns.For: Warehouse user, Inventory manager, Tenant admin
Stock counts and adjustments
Turn a physical recount, a write-off or a found pallet into posted, valued, auditable movements.
- Four kinds of count session — Open a cycle count, write-off, found-stock or opening-balance session, with a reference and notes. An opening balance is how you load starting stock. Posting needs a virtual location to exist; add one under Warehouses, as the system does not create it.For: Warehouse user, Inventory manager
- Counted lines with the system quantity — Add each item and location with the quantity you counted. The screen shows the SKU, name and full location path, what the system expected when you added the line, and the difference. On a lot-tracked item a write-off or found-stock line names its lot, and the lot can be added on the spot where a new one makes sense; a plain count may still count stock that has no lot, but a count that would add lot-less stock to a lot-tracked item is refused.For: Warehouse user
- Post a session in one step — Posting turns every difference into a movement: a gain comes in from a virtual location, a loss goes out to it. Lines with no difference post nothing.For: Inventory manager, Warehouse user
- Counts above the tolerance wait for approval — Set how far a count may differ from the system before someone else must look: a quantity percentage and a value per line, and a value for the whole count. The company default lives under Settings, and a rule per item or per category, or a figure on one count, overrides it. A count or write-off above the tolerance does not post: it shows Waiting for approval, with the lines that are over marked and the reason in plain words. Switch on Inventory: count approval under Settings, Features.For: Inventory manager, Warehouse user
- Approve, recount or reject, never your own count — An approver opens the waiting count and approves it (it posts), sends it back for a recount with a note (the lines chosen are cleared to be counted again) or rejects it (it is cancelled, nothing moves). Whoever opened the count, submitted it or counted a line cannot decide it; the screen hides the buttons and the server refuses.For: Inventory manager
- Write-off reasons from your list — Every loss on a write-off names a reason from the company's list (damaged, expired, theft or loss, count error, obsolete, sample, internal use, found, other), and you can add, rename or retire reasons on the Count rules page. With count approval on, a write-off whose losses have no reason is refused with a message that says which lines.For: Warehouse user, Inventory manager
- Blind counts stay blind while waiting — On a blind count the counter sees neither the system quantity nor why the count waits or which lines are over; only people allowed to see the variance do.For: Warehouse user, Inventory manager
- Losses valued at what they cost — A count loss draws the cost layers down and is valued at what it actually took, never at zero. A gain takes the item's running cost; a cost typed on the line, through the assistant or the API, is used instead.For: Inventory manager, Accountant
- Draft sessions are surfaced — The dashboard counts draft sessions and prompts you to post them, and the Adjustments tiles filter by draft and posted.For: Inventory manager
- Audit entry for every posted count — Posting a count writes an audit entry with who posted it and when, so a write-off can be traced.For: Auditor, Inventory manager
- Stock value refreshed on posting — The moment a count is posted accounting is told the new stock value, so the reconciliation card is current.For: Accountant
Lots and serial numbers
Trace batches with expiry dates and individual units by serial number.
- Lots with production and expiry dates — Register a lot number per item from the Lots tab, with optional production and expiry dates.For: Inventory manager, Warehouse user
- Expiry alert on the Lots tab — The Lots tab counts the lots past their expiry date and warns you to quarantine them before they ship.For: Inventory manager
- Serial numbers with a life cycle — Register serial numbers per item and see where each one is and whether it is in stock, shipped or out on rent.For: Inventory manager, Warehouse user
- Serial history — Open a serial to see every move and every reserve, release, scrap or warranty change, newest first: where it went, the document, the customer it was sold to. A receipt, delivery, transfer or return can name many serials at once (20 laptops, 20 serial numbers), and you can set a warranty end date on each. Available through the API and the AI assistant today; the screens and phone scanning come next.For: Inventory manager, Auditor
- Attach a lot or serial to a movement — A stock movement can name the lot or serial it covers. A lot's quantity then goes up on receipts and returns and down on other movements, and the serial's location and state update. A purchase receipt can name them too but only records them on the movement. The move form has no lot or serial picker yet, so this goes through the assistant or the API.For: Warehouse user
- Switch lot and serial tracking off — Lots and serials are a feature switch, on by default. A platform administrator can switch them off, and so can a workspace administrator through the settings API; the lot and serial actions are then refused and nothing already recorded is deleted.For: Tenant admin
- Serial numbers on returns and transfers — A customer return names which serials came back (in stock again, or scrapped when written off), a return to a supplier takes them off the books, and a transfer sends each serial from the shelf it sits on, receives it by name and sends the rest back to the shelf each left from. Every leg is in the serial's history.For: Warehouse user, Inventory manager
- Serial numbers on deliveries and till sales — A delivery line names one serial per unit; dispatching it ships each serial from the shelf it sits on and records the delivery and the customer in its history. A list that cannot ship (unknown, not in stock, wrong count) ships nothing for that item and opens a stock issue that says what to fix. Inventory also takes serials on a till sale line.For: Order clerk, Warehouse user
- Serial box and serial history screen — Post-a-move, returns and transfers show a box a scanner or a pasted column can fill, counting the serials against the quantity. Open a serial on the item's Serial numbers tab to see where it is, who holds it and its whole history, reserve, release or scrap it and set its warranty date.For: Warehouse user, Inventory manager
- Quality inspection before goods can be sold — Write an inspection plan for an item tracked by lot: numbers that must fall inside a range, pass/fail points and notes, for every supplier or for one. When the delivery is booked on the purchase order the lot goes on hold in the same step, so it cannot be sold or shipped. An inspector records the readings and passes it, which releases the lot, or fails it, which keeps it on hold and lets the lot go back to the supplier in one step. The server judges the readings, a pass that contradicts them needs a written reason, and the person who receives the goods cannot decide the inspection.For: Inventory manager, Warehouse user, Tenant admin
- Supplier's certificate of analysis on an inspection — Attach the supplier's certificate (a file kept in Documents) to a quality inspection, before or after the lot is passed, and open it from the inspection. A plan can require one: until it is attached the lot cannot be passed, while failing a lot never needs it. Attaching and removing are recorded.For: Inventory manager, Tenant admin
- Inspectors and buyers are told — When a delivery puts goods on hold, everyone who may inspect gets a notice with the supplier, the order and the items, and a link to the inspection list. When an inspector fails a lot, the people who raise purchase orders are told which lot and supplier failed and why. Passing a lot sends nothing.For: Inventory manager, Warehouse user, Tenant admin
Purchase orders
Order from suppliers, get the order approved, receive the goods in full or in parts and close the loop with the bill.
- Raise a purchase order — Pick the supplier, the warehouse to deliver to, the expected date and the lines, and save a draft. Orders are numbered automatically in a year-based series such as LPO-2026-000123.For: Buyer, Inventory manager
- Pick the supplier by name or Tax Registration Number — The supplier comes from the shared party register, found by name or Tax Registration Number (TRN). If the supplier is not there, create it from the picker without losing your place.For: Buyer
- Line costs fill in for you — Choose an item by name or SKU and the unit cost is filled from its standard cost, else the cost of its last receipt. Type over it when the supplier quoted something different.For: Buyer
- Expense account on each order line — Each purchase order line can name the expense account it is booked to; left empty it takes the item's default expense account, set on the item form. An order raised from a Procurement award takes the account of the request line. Procurement counts the line against that account's budget until the supplier's bill is posted.For: Buyer, Inventory manager
- Tax per line and clear totals — Each line carries its own tax rate, starting at 5 percent, and the order shows subtotal, tax and total in the order's currency. Zero or negative quantities and tax rates above 100 percent are refused with a clear message.For: Buyer
- Order in another currency — A purchase order can be raised in any three-letter currency; the default is dirhams. The new-order form does not show a currency field yet, so another currency goes through the assistant or the API. Stock value is not converted between currencies.For: Buyer
- A clear order life cycle — An order moves from draft to approved, sent, partially received, received and closed, or is cancelled. Each button is enabled only in the states where it makes sense, and a refused action says why and what to do instead.For: Buyer, Inventory manager, Warehouse user
- Approval above a limit — An administrator can set an approval limit, and an order above it cannot be sent until someone with approval rights approves it. The default limit is zero, which switches the step off. The limit is set through the settings API; there is no settings screen yet.For: Tenant admin, Inventory manager, Finance controller
- Approval chain from accounting's matrix — When the workspace also holds Accounting and has an approval rule for purchase orders, Approve asks the rule who must sign off for this amount. The order stays Draft until the last approver on the chain clicks Approve, and a chip on the order names who it is waiting for.For: Inventory manager, Finance controller
- Send to supplier — Sending needs a supplier and at least one line, marks the order as sent, stamps the date and tells accounting so a supplier bill can be matched to it. The system records the order as sent; it does not generate a printed order or e-mail the supplier.For: Buyer
- Receive goods line by line — Open Receive goods, type what actually arrived per line and post the receipt. Partial deliveries are normal: the order becomes partially received and shows how many units are still to come.For: Warehouse user
- Choose where goods land and the delivery note — Send received goods into a chosen location, or leave it on the warehouse default, and record the supplier's delivery note number as the reference.For: Warehouse user
- Over-receipt is blocked — Receiving more than is outstanding on a line is refused with the outstanding quantity, so the order, the stock and the bill never drift apart.For: Warehouse user
- Goods valued at the agreed cost — A receipt creates stock at the cost agreed on the order line, with its own cost layer, and tells accounting so the entry posts.For: Inventory manager, Accountant
- Close an order, even part-received — Close a received order, or close a partly received one when the rest will never come. A sent order that nothing arrived against can be closed too.For: Inventory manager, Finance controller
- Cancel an untouched order — Cancel a draft, approved or sent order, after a confirmation prompt, while nothing has been received. Once goods arrive, the system tells you to close instead.For: Buyer, Inventory manager
- Purchase timeline — Each order shows Sent to supplier, Goods received, Billed and Paid, with units received so far. Billed and Paid light up when a supplier bill that names the order is posted and paid in Accounting.For: Buyer, Accounts payable clerk
- Order list with tiles that filter — Open orders, Awaiting goods, Received not billed and Drafts are tiles that filter the list by status. Search by order number, supplier or reference; the list holds the latest 300 orders.For: Buyer, Inventory manager
- Walk orders with previous and next — Step through orders in list order from an order's page, with your position shown.For: Buyer
- Where the order came from — Each order says whether it was typed in, drafted from the reorder queue or raised as a backorder for a named sales order.For: Buyer
- Edit a draft order — Change the supplier, dates and lines of a draft; editing an approved order sends it back to draft so it is approved again. Editing works through the API today; the order page has no edit form yet, so a draft from the reorder queue or a backorder cannot be given a supplier on screen.For: Buyer
- Merged suppliers keep their orders — If two duplicate suppliers are merged in the party register, the orders of the removed duplicate move to the surviving supplier. The supplier name printed on an existing order stays as it was when the order was raised.For: Buyer
Landed cost
Add freight, customs duty and insurance to what the goods really cost, not just the supplier's price.
- Add freight, duty and insurance to an order — Draft a landed cost against a purchase order with an amount and a description such as Sea freight or Customs duty, once goods have been received. Each gets its own number, such as LC-2026-00001.For: Inventory manager, Accountant
- Spread by value or quantity — Choose how the amount is shared across the goods received: in proportion to their value or to their quantity. The last line takes any rounding so the total is exact. The form also offers weight, which behaves as value because items have no weight field yet.For: Inventory manager, Accountant
- Posting raises the unit cost — Posting a landed cost raises the unit cost of the received goods and of their valuation layers, so stock value shows the true landed price. Post it after the receipt. Units already sold keep the cost they left with.For: Inventory manager, Accountant
- Landed cost reaches the ledger — A posted landed cost is announced to Accounting, which books the extra cost through its posting rule: debit inventory, credit accrued freight and duty, dated the day it is posted.For: Accountant
Stock valuation
Know what your stock is worth, item by item, and prove it against the books.
- A cost layer for every receipt — Each receipt, restock or count gain creates a layer with its quantity and unit cost. The item's Valuation tab lists the layers: received, date, unit cost, used, remaining and last used by.For: Inventory manager, Accountant
- Every costing method draws layers down — FIFO uses the oldest layers first, weighted average uses all layers in proportion and standard cost uses the fixed cost. Stock value goes down when goods leave, whichever method the item uses.For: Inventory manager, Accountant
- Stock value report — Stock value shows the total, the item count and the value by item, by warehouse and by category, with sorting, filtering and saved views. Items open on their own Valuation tab. Categories cannot be assigned to items yet, so every item sits under General.For: Inventory manager, Accountant, Finance controller
- Export stock value — Every stock value list and the layers list can be exported to a spreadsheet file, with the columns you have chosen.For: Accountant, Auditor
- Value in your company currency — Stock value is labelled in the company's base currency. Costs are taken as entered, so a receipt on an order in another currency is not converted.For: Finance controller
- A sale is never blocked by a costing gap — If a shipment finds no cost layer to draw on, the sale still posts at the standard or last known cost, so the shelf never waits for the books. A rebuild of the layers can repair the gap afterwards.For: Warehouse user, Accountant
- Rebuild the layers, dry run first — Replay every posted movement into the cost layers it should have, see which items would change and by how much, and only then apply. Asking again with the same run changes nothing twice.For: Inventory manager, Accountant
- Rebuild is permissioned, switchable and audited — Rebuilding needs its own permission, can be switched off by a platform administrator or a workspace administrator, and writes an audit entry with who applied it and the value change.For: Tenant admin, Auditor
- Daily stock value to accounting — Once a day, and after every count, inventory tells accounting what the stock is worth so the reconciliation card compares like with like. You can also refresh it on demand from that card in Accounting.For: Accountant
- Stock ageing by receipt date — Stock ageing splits what you hold into four buckets by the day the goods were received (30, 60 and 90 days by default), with the value and quantity in each. Every bucket is a tile on Stock ageing and health: click it to list the items that hold stock that old. The three edges are company settings.For: Inventory manager, Accountant, Finance controller
- ABC by value — Every item carries a class: A for the items that together make up the first 80% of the stock value, B up to 95% and C for the rest. The cut-offs are settings; the list filters by class and shows each item's share of the value.For: Inventory manager, Accountant, Finance controller
- Turns and days of cover — For each item and each warehouse, the report shows what left in the look-back window (a year by default: sold, shipped or used in production), the turns per year and how many days the stock on hand lasts at that pace. An item that did not move shows no cover figure rather than a made-up one. A warehouse's figures price its stock at each item's average cost.For: Inventory manager, Accountant, Finance controller
- Dead stock — Items with stock on hand and nothing out for the dead-stock days (180 by default) are flagged, with their total value on a tile. An item received recently and not yet sold is not dead; one that never moved counts from the day it came in. Money here needs the stock value permission.For: Inventory manager, Accountant, Finance controller
Reservations and availability
Hold stock for the orders that need it, and tell sales what can really be promised.
- Stock reserved when an order is confirmed — When Sales orders confirms an order, each line is reserved at the workspace's default stock location, so the same units are not promised twice. A line can be reserved beyond what is on hand; the shortfall becomes a backorder draft. The order's timeline shows a Stock reserved step.For: Sales manager, Order clerk
- Reservations released on cancel — Cancelling the order releases its reservations at once and the units are available again.For: Sales manager
- Stock leaves on dispatch — When the warehouse dispatches a delivery, a shipment movement posts for each reserved line at the item's real cost, and the reservation is marked allocated. Dispatching twice does not ship twice. A customer-type location must exist; without one the delivery is marked shipped but stock does not move.For: Warehouse user
- Reserve by hand — Hold a quantity at a location for an order, with an optional expiry. The system refuses a reservation larger than the free stock at that location. The order desk's Fulfillment scan uses this to reserve stock that is available now; there is no reservations screen yet, so other holds go through the API.For: Inventory manager, Warehouse user
- Release a reservation — Release a held quantity so it becomes available again; the reservation stays on record as cancelled. Available through the API today; there is no screen yet.For: Inventory manager
- Reservations expire by themselves — A reservation with an expiry date is marked expired every five minutes after it passes, so forgotten holds do not block stock.For: Inventory manager
- Available to promise — One answer to how much can I promise: on hand minus reserved, by item or by catalogue product, with the location holding the most. Sales orders, the online store and the Copilot ask inventory for it instead of keeping their own count; if inventory is not in the plan they show no stock figure.For: Order clerk, Sales manager, Catalogue manager
- Reserve what is available from the order desk — On the order list, the Fulfillment scan lists confirmed orders short of stock or with stock that can be reserved now, and reserves what is available in one action. Reserving needs the reservation permission.For: Warehouse user, Inventory manager
- Pick lists from held orders — Turn the stock a confirmed order holds into a pick list: for every item it names the lot (earliest expiry first, never an expired or held lot) and the bin to take it from, in walking order, spread over bins and lots when needed. Two orders are never sent to the same units, and what the stock cannot cover is a short line with an open stock issue at once.For: Inventory manager, Warehouse user
- Scan-checked picking, short picks and cartons — The picker scans or types the item code, says how many were taken and moves on; fewer than asked splits the line and raises ONE stock issue for the item, which closes when the units turn up. The packer puts the picked lines in cartons with their weight in kilograms before packing can finish.For: Warehouse user
- Pick waves — Group the orders that leave together — one carrier, one route, one cut-off — into a wave: one pick list per order and a combined pick sheet, bin by bin, for batch picking. Cancelling the wave cancels its lists that are not handed over.For: Inventory manager
- Hand over to dispatch, delivery raised for you — A packed list is handed to dispatch with a carrier and tracking reference; Sales Orders raises the order's delivery with exactly the picked quantities and a note of the cartons and weight. Dispatching that delivery takes the stock out of the bins and lots the picker used, so the books say what was physically taken.For: Inventory manager, Order clerk
Replenishment and alerts
See what is running low before customers do, and turn it into purchase orders.
- Reorder queue — Replenishment lists every active item with a reorder level whose available stock has fallen below it, with on hand, reserved, the suggested quantity and the estimated value at standard cost.For: Inventory manager, Buyer, Warehouse user
- Urgent stockouts stand out — Items with nothing on hand are marked Stockout in red and counted in their own tile, apart from items that are merely Low.For: Inventory manager
- Suggested quantity brings stock back to twice the reorder level — The suggestion is the quantity that returns available stock to twice the reorder level and never less than the gap, and the page adds up the estimated value of the whole queue.For: Buyer
- Reorder queue for one warehouse — Scope on hand and reservations to a single warehouse, and search by item or SKU.For: Inventory manager
- Draft purchase orders from the queue — Draft purchase orders creates draft orders in one click for every stocked item below its reorder level, with the suggested quantities and costs. Drafts have no supplier yet and the order page cannot edit a draft, so name the supplier by asking the assistant to draft from a supplier, or through the API.For: Buyer, Inventory manager
- Backorder drafts itself — When a confirmed sales order is short of stock, a draft purchase order for the shortfall is raised by itself, once per order, naming the sales order. It has no supplier yet, so use it as the list of what to buy. An administrator can turn it off through the settings API.For: Buyer
- Low-stock alerts — Every 15 minutes the system checks active items against their reorder level and alerts everyone who can read items, in the app and by e-mail, with the item and its on-hand figure. An item that stays below its level is announced again at the next check.For: Inventory manager, Buyer
- Set a reorder level per item — The reorder level is a number on each item that drives the queue, the alerts and the item's stock-health panel. It is set through the AI assistant or the API today.For: Inventory manager
- Suggest reorders from the stock moves page — A Suggest reorders button on Stock moves opens the same list, with a warehouse choice and a CSV download.For: Inventory manager, Buyer, Warehouse user
- Start an order from an item — When an item is at or below its reorder level, its stock-health panel offers Create purchase order. It opens a new order with the item and the quantity that brings stock back to twice the level; you pick the supplier and save.For: Buyer, Inventory manager
Accounting link and control
Every stock movement lands in the ledger by itself, supplier bills are checked against what was ordered and received, and everything leaves an audit trail.
- Each valued movement posts a balanced entry — When the workspace also holds Accounting, each posted movement becomes one balanced journal entry: receipts debit stock and credit goods received, shipments debit cost of goods sold and credit stock. Transfers between your own shelves post nothing, and sending the same movement twice never posts it twice.For: Accountant, Finance controller
- Accounts chosen by country rules — Stock postings use rules per movement kind, shipped with the country pack of each Gulf country and of the UK, Germany and the US. The company can edit them, and a rule that would hit the wrong account is held rather than posted. Rules can differ by item category, but every item is in the General category today.For: Accountant, Finance controller
- Entries that cannot post wait, never vanish — If the period is locked, the journal is missing, an account is absent or the rule is on hold, the entry is parked in Waiting to post with the reason in plain words. Post now books it once the cause is fixed, and posting twice makes one entry.For: Accountant
- People who can fix it are told — When an entry is parked, the people allowed to post it get an in-app notice with the reason, once per entry.For: Accountant
- Inventory against the ledger — A reconciliation card sets the balance of the stock account beside what inventory says the stock is worth, shows the difference and counts the entries still waiting. It says so plainly if stock does not post to the ledger for the company.For: Accountant, Finance controller, Auditor
- Goods received not invoiced accrual — Where the country pack has one, a receipt credits a goods received not invoiced (GRNI) account, so the balance sheet shows what you owe for goods that arrived. Accounts payable books the supplier bill in the usual way; the accrual is not cleared automatically.For: Accountant
- Three-way match of order, receipt and bill — A supplier bill that carries the order number in its reference or notes links itself to the order and is compared with what was ordered and received, line by line. Within tolerance, by default 2 percent and 50 in the bill's currency, it is Matched; otherwise it shows Variance and cannot be approved until it is fixed or accepted.For: Accounts payable clerk, Accountant
- Accept a variance with a reason — A person with the bill-match permission can accept a bill outside tolerance, but must type why. The reason and the person are kept on the bill.For: Accounts payable clerk, Accountant, Finance controller
- Order follows its bill — When Accounting posts or pays a bill that names the order, the order shows Billed and Paid with the date, and the Received, not billed tile finds orders still waiting for a bill.For: Buyer, Accounts payable clerk
- Re-send movements to the ledger — Announce every posted movement again, optionally from a date, so Accounting books anything it missed. It is safe to run repeatedly because Accounting posts each movement once. There is no screen for it; it runs through the assistant or the API.For: Inventory manager
- Audit trail on sensitive actions — Posting a count, creating a reservation and applying a valuation rebuild each write an audit entry with who did it and when.For: Auditor
- Licence and permission checks on every action — Every screen and every action checks that the workspace holds Inventory and that the person holds the exact permission. Background jobs only run for workspaces licensed for Inventory.For: Tenant admin
Sales, store, till and rental links
Stock follows every channel that sells or lends your goods, so the number on the shelf and the number in the books agree.
- Online orders take stock — For a shop that does not use Sales Orders, a paid online order takes each stocked line off the shelf at its real cost. If Sales Orders is in the plan it takes over, so stock is never taken twice.For: Catalogue manager, Warehouse user
- Cancelled online orders put stock back — A committed online order that is cancelled before it ships returns its goods at the cost they left with. Refunds alone move no stock, because a refund is money, not goods.For: Catalogue manager
- Till sales take stock — A paid sale at the point of sale takes each stocked line from the shop's stock location, valued at the item's own cost, so cost of goods sold is booked once per sale. The till does not check stock, so it never refuses a sale for lack of it.For: Cashier, Inventory manager
- Till refunds put stock back — A refunded sale returns exactly what the sale took out, at the cost it left with, and a refund of a line that moved no stock moves none.For: Cashier
- Rental pick-up and return — Items picked up on a rental booking move to the Rented out location and come back to where they left on return. The books are unaffected because it is a transfer, not a sale.For: Inventory manager
- Stock steps on the sales order — A sales order's timeline shows Stock reserved and Stock left the warehouse steps, and each order line shows the stock available for its product.For: Order clerk, Sales manager
- Stock figures in the catalogue and order desk — The online store's variant grid and bundles, and the sales order fulfilment report, show live stock from inventory. They show nothing, never an error, if inventory is not available.For: Order clerk, Catalogue manager
AI assistant and open access
Ask for stock in plain language, in English or Arabic, and let your own tools work with inventory safely.
- Ask Copilot how much is in stock — Ask for on hand, reserved and available by item name or SKU and get an answer from the live figures. The assistant never adds up movements itself.For: Inventory manager, Order clerk, Warehouse user
- Copilot finds items, warehouses and locations — List and search items, units, warehouses and locations, read recent stock movements, and see a product's stock, by asking.For: Inventory manager
- Copilot creates items, warehouses and locations — Ask it to create an item, a warehouse or a bin, or to change an item's price, reorder level or tracking. It shows a card and waits for your yes before changing anything.For: Inventory manager, Tenant admin
- Copilot posts movements and counts — Ask it to post a transfer, receipt or shipment, or to open a count session, add counted lines and post it. Writes always ask first; reads run without a card.For: Warehouse user, Inventory manager
- Copilot runs purchasing — Ask it to list or open purchase orders, draft one, draft orders for everything below its reorder level from a supplier you name, send, receive against it, close it or add a landed cost. Approving or cancelling an order and posting a landed cost are done on screen.For: Buyer, Inventory manager
- Copilot explains stock value — Ask what the stock is worth, by item, category and warehouse, see the cost layers behind an item, check warehouse capacity or rebuild the layers with a dry run first.For: Inventory manager, Accountant
- Understands Arabic questions — The inventory expert recognises Arabic words such as مخزون, مستودع, صنف and جرد, and AI replies are written in Arabic when the company language is set to Arabic.For: Inventory manager, Warehouse user
- Connect your own AI tools — Inventory exposes its tools through the Model Context Protocol (MCP), so an AI client you trust can read stock and, with the right permission, act. Each tool checks the same permission as the screen. Access uses an API token created in Settings.For: Tenant admin
Roles, settings and language
Give each person exactly the stock powers they need, tune the rules to your company and work in your language.
- Inventory manager role — Full inventory authority: catalogue, movements, counts, reservations, purchasing, landed cost and stock value, including approving and closing orders and rebuilding valuation.For: Tenant admin, Inventory manager
- Warehouse user role — Receives goods, posts movements, runs and posts counts, records lots and serials and reads stock, orders and value, without being able to change the catalogue, warehouses or units.For: Tenant admin, Warehouse user
- Buyer role — Raises, edits, sends and cancels purchase orders and reads stock, warehouses and suppliers, but cannot approve, receive or post landed costs. That separation keeps the person who orders apart from the person who approves and the one who receives.For: Tenant admin, Buyer
- Separate permission for each purchasing step — Read, create, update, send, approve, receive, close and cancel are separate permissions, and landed cost has read, create and post, so you decide who may do each step.For: Tenant admin
- Stock value is its own permission — Seeing what the stock is worth, and rebuilding the layers, are permissions apart from moving stock. The Stock value tile and tab are simply hidden from people without it.For: Tenant admin, Finance controller
- Finance and audit read access — Accountants, the finance controller and auditors can read purchase orders and stock value, and accountants can post landed costs, without touching warehouse operations.For: Accountant, Finance controller, Auditor
- Settings for purchasing, costing and automatic stock rules — An administrator can change the approval limit (default none), whether to use the accounting approval chain (default on), drafting backorders (default on), the way landed cost is spread (default value) and the count costing rule. Each automatic reaction has its own switch: reserve on confirm, release on cancel, ship on dispatch, restock on return, items following products, rental moves, till moves, online-order moves and order-follows-bill. There is no settings screen yet; they are changed through the settings API.For: Tenant admin
- Launcher tile and sidebar — Inventory has its own tile on the launcher and a sidebar with Overview, Warehouses, Items, Stock moves, Adjustments, Stock value, Replenishment and Purchase orders, each shown only if you may use it.For: Inventory manager, Warehouse user, Buyer
- Arabic and right-to-left — The sidebar, purchase orders and stock value are translated into Arabic and lay out right to left. The items list, stock moves, counts, warehouses and replenishment screens still show English labels.For: Inventory manager, Warehouse user, Buyer
- Tiles and filters that survive a refresh — The purchase order list keeps its status and search in the address bar, and the stock value lists keep their view, sort, filter and page, so a shared link opens the same view.For: Inventory manager, Accountant
- Inventory screens open only for the key they read — Items, item detail, Warehouses, Stock moves and Adjustments each need their own read permission. A login without it sees a clear "no access" page and the browser sends no request to inventory, instead of an error after the page opens, and the Adjustments menu link follows the same permission.For: Warehouse user, Inventory manager, Tenant admin
Learn it in the app
A guided tour inside Inventory teaches the work by having you do it.
- Hands-on guided tour — 5 short chapters (Set up what you stock; See where stock is; Move stock between warehouses; Count and correct stock; Reorder and buy) that start by themselves the first time you open Inventory. Each step waits for you to really do it, such as opening a list or saving a first record, and any chapter can be paused, resumed or replayed from the last row of the Inventory menu or from Tours in the account menu.For: Inventory manager, Tenant admin, Warehouse user, Buyer, Sales manager, Catalogue manager
Works with other modules
Done by more than one person
What each role gets
- Warehouse user — Runs the warehouse floor: receives goods against purchase orders line by line (receiving more than is outstanding is refused), posts receipts, shipments and returns, and enters and posts stock counts. Registers lots and serial numbers on an item; transfers between locations, and naming a lot or serial on a movement, go through the assistant for now, because the move form cannot do them yet. Reads the catalogue, stock levels and the reorder queue but cannot change items, warehouses or units, and a posted movement is never edited, only corrected by another movement.
- Inventory manager — Owns the catalogue and its value: creates items and variants, picks each item's costing method (weighted average, first in first out (FIFO) or standard cost), and sets reorder levels, prices and lot or serial tracking through the assistant for now. Approves, closes and cancels purchase orders, drafts landed costs for freight and duty, and reviews and posts stock counts. Works from the Replenishment queue of items below their reorder level, with stockouts marked and the estimated purchase value, receives the low-stock alerts, and can rebuild the cost layers after a dry run.
- Tenant admin — Lays the groundwork: creates warehouses and their aisle, rack and bin locations, adds units of measure, and adds the virtual location that stock counts need and the customer location that dispatches need, because the system does not create those two by itself. Gives staff the inventory manager, warehouse user and buyer roles, with each purchasing step a permission of its own. Purchase-order approval limits, backorder drafting and the automatic stock reactions are changed through the settings programming interface only, as there is no settings screen for them yet.
Frequently asked questions
Does it support FIFO, weighted average and standard costing?
Yes. You choose the method per item when you create it, and all three keep cost layers: FIFO draws the oldest layer first, weighted average draws layers in proportion and standard cost uses the fixed cost. Stock value goes down when goods leave, whichever method is used, and you can see the layers on the item's Valuation tab.
Does inventory post to the general ledger automatically?
Yes, when the workspace also holds Accounting. Each posted movement writes one balanced entry using posting rules that ship with the country packs for the UAE, Saudi Arabia, Kuwait, Bahrain, Oman, Qatar, the UK, Germany and the US. An entry that cannot post, for example in a locked period, waits in Waiting to post with the reason and is not lost. Without Accounting, inventory still values stock and simply posts nothing.
Can I set approval limits on purchase orders?
Yes. An administrator sets an approval limit, and orders above it must be approved before they can be sent; the limit is off by default and is set through the settings API, as there is no settings screen for it yet. When Accounting is also held, its approval rule for purchase orders can have several people sign in turn. Receiving and ordering are separate permissions, so the buyer, the approver and the warehouse can be three different people.
Does it e-mail or print the purchase order for the supplier?
Not today. Send to supplier marks the order as sent, stamps the date and announces it to Accounting for bill matching. The order is not generated as a printable document or e-mailed to the supplier by the system.
Does it support barcode scanning or a handheld app?
No. There is no scanner input or dedicated handheld app. Staff work in the browser, and the Copilot can post movements and counts from a typed request.
Can I track expiry dates and serial numbers?
Yes. Lots carry production and expiry dates and the Lots tab flags expired lots; serial numbers carry a location and a state. Naming the lot or serial on a movement goes through the AI assistant or the API today, because the move form has no lot or serial picker yet.
Can stock go below zero?
Yes. A shipment, a till sale or an online order larger than what is on hand is not refused, so on hand shows below zero until stock is received. There is no setting to forbid negative stock.
Can I import my item list from a spreadsheet?
Not into Inventory directly. The product catalogue has a spreadsheet import with a Track stock column, and each stocked product gets its stock item. Starting quantities are loaded with an opening-balance count.
Can I buy in a foreign currency?
A purchase order can carry any three-letter currency when it is raised through the assistant or the API; the order form does not show a currency field yet. Stock value is labelled in your base currency and costs are not converted.
Does it replace Odoo Inventory and Purchase, Zoho Inventory or SAP Business One for a trading company?
For a trading, distribution or retail business it covers items and variants, warehouses and bins, receipts, shipments, counts, lots and serials, purchase orders with approval and partial receipts, landed cost, costing layers, reordering and three-way bill matching, connected to sales, the store, the till, rentals and the ledger. It does not cover manufacturing orders or bills of materials, multi-step pick and pack routes, two-step transfers with in-transit receipt, supplier price lists, demand forecasting, item categories, or a company-wide negative-stock policy.
Is inventory available in Arabic?
The sidebar, purchase orders and stock value are translated into Arabic with a right-to-left layout, and the Copilot understands Arabic stock questions. The items list, stock moves, counts, warehouses and replenishment screens still show English labels.
Part of one platform
Inventory, Purchasing & Warehousing is one of 59 apps (36 business apps and 23 ISO standards) that share the same sign-in, the same people, the same customers and the same AI copilot. See all apps or how Tarleaks ERP compares with Odoo, ERPNext and Zoho.
Guides for Inventory, Purchasing & Warehousing
UAE E-invoicing for Buyers: What Accounts Payable Must Do
UAE e-invoicing binds buyers too: what the recipient must do, what the penalty table says, and an accounts payable plan: one provider, XML intake, matching.