Who can use this: Owner, Manager, Accountant. URL / Route:
/finance/inventory/*. Top routes:finance.inventory.items.*,finance.inventory.categories.*,finance.inventory.units.*,finance.inventory.reconciliation,finance.inventory.opening-remediation. Plan / feature gate:feature:tracker.manage_items(default: enabled). The org-level toggleinventory_enabled(default: enabled) controls whether stock tracking and stocked items are available; turning it off downgrades the section to "Services only". Permissions:inventory.items.view/inventory.items.manage,inventory.categories.view/manage,inventory.units.view/manage.
Purpose
Inventory keeps track of physical goods you stock and sell. It records the on-hand quantity for every stocked item, posts the cost of goods sold when an item leaves stock, and surfaces low-stock alerts when an item drops below its reorder point.
Inventory is not a separate Inventory product — it is the stock-tracking layer on top of Products & Services inside Solabooks.
Step by step
Inventory home
There is no dedicated /finance/inventory landing page; the natural entry point is the items list at /finance/inventory/items.
The wider area provides:
- Items (
finance.inventory.items.*) — the catalog. See Products & Services. - Categories (
finance.inventory.categories.*) — group items for reports. - Units (
finance.inventory.units.*) — measurement units (each, kg, hour, etc.). - Reconciliation (
/finance/inventory/reconciliation,finance.inventory.reconciliation) — review stock vs ledger balances. - Opening remediation (
/finance/inventory/opening-remediation,finance.inventory.opening-remediation) — fix opening-stock journals when migration data was incomplete.
Categories and units
- Categories: open
/finance/inventory/categories, create with a name, optional parent. Used for the Purchases by Category and COGS by Category reports. - Units: open
/finance/inventory/units, create with a label (e.g. "kg", "hour"), optionally with a numeric conversion factor.
Both sections require inventory.categories.manage / inventory.units.manage to edit.
Stock movements
Stock changes through normal transactions:
- Bills with a stocked item line increase on-hand and post to the Inventory account.
- Invoices / sales receipts with a stocked item line decrease on-hand and post COGS.
- Inventory adjustments (separate from this page; managed by the Spatie
adminrole) record manual increases or decreases (write-offs, stock takes).
There is no separate "Stock Movement" UI here; movements are visible on each item's Transactions tab and on the General Ledger report filtered to the Inventory account.
Reorder points
Feature flag: inventory.reorder_point (default: off). When on, every stocked item gets a Reorder point field. When stock dips below that point, the item appears on the dashboard's "Low stock" widget.
If inventory.reorder_point.email_notifications is also on, Solabooks emails the org Owner once a day with a list of items below their reorder point.
Reconciliation
Open /finance/inventory/reconciliation. Solabooks compares the per-item stock value (quantity × cost) to the balance of the Inventory account. Differences are flagged. Use the report to find missing journal entries or mis-mapped items.
Opening remediation
Open /finance/inventory/opening-remediation. If your historical data was imported with partial stock numbers, this page lets you submit an approval request to write the correcting journal. POSTing approves the correction (finance.inventory.opening-remediation.approvals.store).
How the journal looks
Inventory itself doesn't post — it's a count and a valuation. The journals come from the documents that move stock.
Buying 10 units at JOD 10 each on a bill (no tax):
| Account | Debit | Credit |
|---|---|---|
| Inventory | 100.00 | |
| AP — Supplier control | 100.00 |
On-hand quantity rises by 10; the Inventory account rises by JOD 100.
Selling 3 of those units on an invoice for JOD 50 each, 17% VAT (cost per unit: JOD 10):
| Account | Debit | Credit |
|---|---|---|
| AR — Customer control | 175.50 | |
| Revenue — Sales | 150.00 | |
| VAT Output | 25.50 | |
| COGS | 30.00 | |
| Inventory | 30.00 |
On-hand quantity drops by 3; Inventory drops by JOD 30; COGS rises by JOD 30.
Manual stock write-off (admin-only inventory adjustment, e.g. damage of 2 units at JOD 10 cost):
| Account | Debit | Credit |
|---|---|---|
| Inventory write-off (expense) | 20.00 | |
| Inventory | 20.00 |
FIFO vs weighted-average affects only the cost per unit used in the COGS line — the structure of the journal is identical. With FIFO, the specific oldest layer's cost is consumed. With weighted-average, the running average is used and updated after every purchase.
Common mistakes
- "Sold an item but COGS didn't post." The item is probably non-stocked (Service or Non-stocked product). Only Stocked items hit COGS / Inventory. Switch the item type in Products & Services — but note you cannot change type once it has transaction history.
- "On-hand quantity went negative." By default Solabooks allows back-dated entry into negative stock. The reconciliation page flags it as a warning. Receive stock first (post the supplier bill) to bring it back to non-negative.
- Reorder-point alerts not showing. Either
inventory.reorder_pointis off, or you don't have the dashboard widget enabled. Toggle in Settings. - Opening-stock mismatch. Migration data with partial stock causes the Inventory account and the per-item valuation to diverge. Use the Opening remediation page (
/finance/inventory/opening-remediation) to write the correcting journal. - Cost suddenly changed. With weighted-average costing, every new purchase moves the running cost up or down. To trace which purchase changed it, open the item's Transactions tab and look at the per-line costs.
Tips
- Add landed costs before selling the stock if you want the freight / duty in COGS — once a unit is sold, you can't retroactively lift its layer.
- Use the COGS Detail report under Reports to break down COGS by item / period.
- The reconciliation page at
/finance/inventory/reconciliationis the fastest way to catch valuation drift.
Behaviour and rules
- Stocked items only. Service items don't appear in stock reports.
- Costing method. The organization picks one method on setup — FIFO or weighted-average. Changing it later requires admin help.
- Inventory account. Every stocked item points at one Inventory ledger account; multiple items can share the account.
- COGS account. Every stocked item also points at a COGS account; that's where the cost lands when the item is invoiced or sold via a sales receipt.
- Negative stock: by default Solabooks allows negative on-hand to support back-dated entry, but the Reconciliation page flags it as a warning.
- Tenant scope. Stock counts are per organization; switching organizations swaps the entire stock ledger.
When inventory_enabled is off
If the organization toggles inventory_enabled off in Settings:
- The Stocked and Non-stocked item types disappear from the new-item form.
- Existing stocked items remain visible but cannot be added to invoices/bills.
- Reconciliation and Opening remediation pages remain accessible for historical clean-up.
Permissions / restrictions
- View items, categories, units:
inventory.items.view/inventory.categories.view/inventory.units.view. - Manage items, categories, units:
inventory.items.manage/inventory.categories.manage/inventory.units.manage. - Approve opening-stock corrections:
inventory.items.edit. - All of the above also require the org-level feature flag.
Related
- Products & Services
- Bills
- Invoices
- Reports — Stock Valuation, Purchases by Item, COGS Summary, COGS Detail
- Settings