Inventory Module
Tracking Inventory
How to set up warehouses, stock real items into them, and move stock in, out, and between locations — with a full movement history behind every number.
Start here
1Create a warehouse
In Inventory → Warehouses, click + Add Warehouse. You need at least one before you can add any item — every item is stocked into a specific warehouse, not held loose.
| Field | Notes |
|---|---|
| Name | Required. |
| Code | Leave blank and one is generated from the name automatically (e.g. WH-MAIN). |
| Manager, Location, Notes | Optional, reference only. |
| Status | Active or Inactive. |
Click Save. A warehouse can’t be deleted while any inventory item is still assigned to it — delete or reassign those items first.
2Add an inventory item
In Inventory → Items, click + Add Item. An item is a product stocked in one specific warehouse — the same product in two warehouses is two separate items.
| Field | Notes |
|---|---|
| Product | Pick one from your Products catalog to pull in its name, SKU, category, unit, and cost automatically. Optional — you can also just type a Product Name by hand for something not in Products. |
| Warehouse | Required. |
| Cost Price | Used to value this item’s stock (Stock On Hand × Cost Price). |
| Stock On Hand | The starting count. From here on, change it through Stock In/Out and Transfers, not by editing this field directly. |
| Reorder Level | Stock at or below this triggers the Low Stock count. |
| Category, Unit, Barcode, Brand, Notes | Optional. |
| Status | Active or Inactive. |
Click Save.
3Record stock in/out
Open an item and click Adjust Stock (or use the Adjustments screen). Choose a Movement Type, enter a Quantity greater than zero, and optionally a Reference and Reason.
Every adjustment is logged as a real movement record with a timestamp — Stock On Hand is never edited silently; it only ever changes through one of these logged movements.
A manual Stock Out adjustment can take Stock On Hand negative — there’s nothing stopping you from recording more going out than what’s on hand. Double-check the quantity before saving.
Common tasks
Transferring stock between warehouses
Use Transfer instead of two manual adjustments — it moves stock atomically and keeps both warehouses’ movement histories linked by the same reference.
-
Pick the source item and destination warehouse
Choose the item you’re moving stock from, and the warehouse you’re moving it to. Source and destination must be different warehouses.
-
Enter the quantity
Unlike a manual Stock Out, a transfer can’t exceed what’s actually on hand at the source — it’s blocked if the quantity is more than the source item’s current Stock On Hand.
-
Confirm
This logs a paired Stock Out at the source and Stock In at the destination, both sharing one transfer reference. If the product doesn’t already have an item record in the destination warehouse, one is created automatically.
Stock that fills in automatically from Purchases & Sales
You don’t always have to record movements by hand. When a purchase order line linked to a real product is received in Purchases, this module receives that stock into the warehouse the purchase specifies automatically — creating the item record if it’s the first time that product has been stocked there, and logging an “in” movement. When a sales invoice linked to a real product ships in Sales, the equivalent happens in reverse — an “out” movement against whatever’s on hand (also allowed to go negative, same as a manual Stock Out). Either way, the movement shows up in this module’s history exactly like a manual one, just with a reference back to the purchase order or invoice.
Reference
Movement types
| Type | Effect |
|---|---|
| Stock In | Adds the quantity to Stock On Hand. |
| Stock Out | Subtracts the quantity. No floor — can go negative. |
| Adjustment | Currently behaves the same as Stock In — it always adds the quantity. There’s no separate “negative adjustment” option; use Stock Out if you need to record a downward correction. |
What this module doesn’t do
Products has its own simple Stock On Hand/Reorder Level fields for products that don’t need multi-warehouse tracking. This module’s per-warehouse item stock is entirely separate — the two never update each other.
As noted above, the “Adjustment” movement type adds stock exactly like Stock In does today — it isn’t a general-purpose way to set stock to an arbitrary corrected number in either direction.
Removing an inventory item also removes every movement ever logged against it — there’s no way to keep the audit trail for an item you’ve deleted.