SM Space · Inventory Management
Inventory Management Software for Stock and Costing
SM Space Inventory is the inventory management software inside the SM Space ERP system. It holds your stock by warehouse and bin, down to the lot or the serial number, and costs it by FIFO, average or standard — chosen per item rather than once for the whole company. Every movement is written once and never edited afterwards.
Know what you hold, what it cost, and every movement that got it there.
Last updated: September 2026
Goods arrive, stock moves
Steel bar 12 mm · Warehouse B
- Receipt PUR-000312Bin A-14Warehouse B
- Steel bar 12 mm+40on hand 40
- Issue SO-00087146refused — on hand 40, issue 46
- Issue SO-000871−6posted — the 6 they actually had a home for
- On hand34Warehouse B, Bin A-14
nothing goes negative unless you said it may
The movements behind the figure
- Receipt PUR-000312 +40 2 Sep
- Issue SO-000871 −6 4 Sep
- Transfer in TRF-000045 +8 5 Sep
- Adjustment damaged −4 6 Sep · still here — nothing was deleted
- Correction miscounted +2 7 Sep · corrects the row above; both stay
nothing edited, nothing deleted — the correction sits beside the row it corrects
Three items, three costs
Warehouse B · 9 September
- Steel bar 12 mm · FIFO $4.20 oldest layer, received 12 Aug
- Packaging film · Average $0.86 across 3 receipts
- Valve body VB-40 · Standard $31.00 the price you set
same warehouse, same day, three methods side by side
Two items, two forms
the same New item screen, twice
Category: Cable
- Length50 m
- Cores4
- ColourGrey
Category: Fasteners
- Thread pitch1.5 mm
- FinishZinc
- Grade8.8
Length is required — the Cable category says so, not a rule we coded
nobody has to ask us to add a field
Above: stock arriving into a bin, with one issue refused for taking the balance below zero; the on-hand figure opening into every movement behind it, including a correction that leaves the original in place; three items costed three ways in one warehouse; and an item form whose fields come from its category.
What you can do
- Track stock by warehouse and by bin, down to a lot or a serial number
- Cost each item the way that suits it — FIFO, average or standard
- Move stock between warehouses with a transfer that posts both sides in one step
- Adjust stock with a reason, and keep the entry that says why
- Buy in cases and issue in each — the conversion happens as the movement posts
- Run a physical count and post only the lines that came out different
- Decide per item, per warehouse or company-wide whether stock may go below zero
- Let a category decide what fields an item has, without asking us for a new one
- Show any on-hand figure as the movements it is made of
01
A Stock Ledger You Cannot Edit
The stock ledger is insert-only. A movement is never changed and never deleted — a mistake is put right by posting a correction, which leaves both entries on the screen and points the new one at the row it corrects.
Four damaged bars are written off on 6 September. Two turn out to be fine, so a correction of 2 goes on on the 7th. The figure moves from 38 back to 40, both rows still there.
The on-hand number is only a cache of what the ledger already says. The movements are the record, so any figure can be shown as the rows it is made of — the question an auditor asks and a spreadsheet cannot survive.
On hand 40 a cache — the rows below are the record
| Qty | Movement | Reference | Date | On hand |
|---|---|---|---|---|
| +40 | Receipt | PUR-000312 | 2 Sep | 40 |
| −6 | Issue | SO-000871 | 4 Sep | 34 |
| +8 | Transfer in | TRF-000045 | 5 Sep | 42 |
| −4 | Adjustment kept still here — nothing was deleted | damaged | 6 Sep | 38 |
| +2 | Correction new corrects the row above; both stay | miscounted | 7 Sep | 40 |
No row above was changed and none was removed. The adjustment that overstated the damage is still there, and the correction says which row it corrects.
02
FIFO, Average or Standard Cost — Per Item
Most stock systems make you pick one inventory costing method for the whole company. Here the method belongs to the item: there is a company default, a category can overrule it, the item can overrule that, and one place tells you which level answered.
So steel bar is FIFO at $4.20 — the layer received on 12 August, consumed oldest first — while packaging film is averaged at $0.86 across three receipts and a valve body sits at its standard $31.00. Same warehouse, same day.
FIFO inventory here means real cost layers, not an approximation. Every receipt opens one at the price it was booked at, an issue eats the oldest first, and stock valuation is read off those layers, not estimated.
| Item | Costed by | Unit cost | Where the number came from |
|---|---|---|---|
| Steel bar 12 mm | FIFO | $4.20 | oldest layer, received 12 Augset on the item |
| Packaging film | Average | $0.86 | across 3 receiptscompany default |
| Valve body VB-40 | Standard | $31.00 | the price you setset on the item |
One warehouse, one day, three methods. The company default is Average; these two items overrule it. Ask which method applies to an item and you are told the answer and the level it came from.
03
Item Fields That Come From the Category
An item’s fields come from its category, not from a fixed form somebody coded. Put an item in Cable and it asks for length, cores and colour. Put it in Fasteners and the same screen asks for thread pitch, finish and grade.
What you type is checked against the category’s own definitions. Length is marked required on Cable, so an item with it blank is refused. Colour is an option field, so “greyish” is refused too — the list says Grey, Black or Blue. Nothing about either category was written in code, and nobody has to ask us to add a field.
Category: Cable
- Length 50 m Number · required
- Cores 4 Number
- Colour Grey one of: Grey, Black, Blue
Category: Fasteners
- Thread pitch 1.5 mm Number · required
- Finish Zinc one of: Zinc, Black oxide, Plain
- Grade 8.8 Text
refused Length left blank — Cable says it is required, so the item is not saved
Both sides are the same screen. Nothing here was coded for cable or for fasteners: the fields, their types and the list an option may come from are the category’s own, and what you type is checked against them.
04
Negative Stock Control
Whether stock may go below zero is a setting, answered the same way the costing method is: for the company, for one warehouse, or for a single item, with the most specific answer winning.
Turn it off and a posting that would break it is refused as it is written — not by a warning on the screen that raised it, the sort of thing an import walks straight past. Ask to issue 46 when 40 are on hand and the refusal names both numbers. Turn it on for the one consignment item where going short is normal, and the rest of the warehouse stays strict.
- Company Off stock may not go below zero
- Warehouse B — nothing set — follows the company
- Consignment fuel On this one item, on purpose
refused at post time Issue 46 of Steel bar 12 mm from Warehouse B
insufficient stock for STL-12 in warehouse: on-hand 40, issue 46
The refusal happens as the movement is written, not on the screen that raised it, so nothing gets past it — and the message carries the two numbers rather than telling you to go and look them up.
How it fits with the rest of SM Space
The argument here is not that this is a good stock app, but that it is not a separate one: there is one stock ledger, and the rest of the business writes into it and reads out of it.
- Goods receipts writes
- Goods issues writes
- Transfers writes
- Adjustments writes
- Physical counts writes
- reads Purchasing — do we already have it?
- reads Sales — what can we promise?
- reads Accounting — cost of sales
When a purchase request in purchasing and procurement asks whether something is already in stock, the figure is this ledger’s own, read directly rather than a copy that drifts. A goods issue from sales and invoicing takes the stock out and reaches accounting and finance as cost of sales, at the cost worked out here. A sales order holds stock against the line it belongs to. And reporting and dashboards reads these rows, not a nightly extract of them.
- Multi-warehouse Stock valued per item per warehouse, transferred between them in one step.
- Bin locations Warehouse B, Bin A-14 — not just Warehouse B.
- Lot and serial tracking A lot keeps its own balance and expiry date; a serial number is one physical unit.
- Three costing methods FIFO with real layers, average, or standard — chosen per item.
- Cloud Runs in a web browser, nothing to install.
- Audit trail An insert-only ledger: nothing is edited, nothing is deleted.
Who this inventory management software is for
Small and mid-sized businesses that have outgrown a spreadsheet, or stock control software that counts boxes and says nothing about what they cost. Last month’s closing figure and this month’s opening figure do not agree. You have more than one warehouse, or items that ought to be costed differently and one column saying they are all the same. SM Space is a cloud ERP system and this is its inventory module — a web browser, nothing to install.
Frequently asked questions
- What does SM Space Inventory do?
- It holds your stock and what it is worth: items, warehouses, bins, lots and serial numbers; transfers, adjustments and physical counts; and a costing engine that values every movement by FIFO, average or standard cost. Purchasing and sales move this same stock, not a copy of it.
- Which stock costing methods does it support?
- Three: FIFO, average and standard cost. FIFO keeps real cost layers, so an issue consumes the oldest receipt first, at the price it was booked at. The method belongs to the item, over a company default you can override by category.
- Can I track lot numbers and serial numbers?
- Yes, both. A lot carries its own balance and can be given an expiry date, and a serial number identifies one physical unit. Stock is also held by bin, so a movement can say Warehouse B, Bin A-14 rather than just Warehouse B.
- Can I run more than one warehouse?
- Yes. Warehouses and their bins are part of the model, not warehouse management software bolted on beside it. A transfer posts both sides in one step — the out and the in together — so the total never goes wrong halfway through.
- Can it stop stock going negative?
- Yes, and it is a decision rather than a default. Negative stock is allowed or refused for the whole company, for one warehouse, or for a single item. With it off, a posting that would take a balance below zero is refused as it is written: on hand 40, issue 46.
- Does it work with purchasing and sales, or is it separate?
- It is the same system. When a purchase request asks whether something is already in stock, the figure is this module’s own, read directly rather than copied. A goods issue reaches the general ledger as cost of sales. Nothing is typed in twice.
See your own stock in it.
Book a 30-minute demo and we’ll set up your warehouses, one category with its own fields, and a week of your real movements.
Book a 30-minute demo