Solavel Docs

Stock Ledger

Last updated

The Stock Ledger is the permanent record of every stock movement in SolaStock: each line says which item moved, in which warehouse, in or out, how many, at what cost, what the running balance became, and which document caused it. It also has an Activity audit tab showing who changed what.

The ledger is read-only. Lines are never edited or deleted: a reversal adds opposite lines and leaves the original in place, so the ledger always explains the balance you see in Current Stock.

Use it to investigate a quantity or value, to trace a document's effect, or to review changes for audit.

Where to find it

  • Sidebar: Stock → Stock Ledger. URL /inventory/ledger.
  • Breadcrumb: Stock Ledger; the header is marked Read-only.
  • Related views: an item's Movements tab, a warehouse's Movements tab, and each document's Ledger result tab.
Who Movements tab Activity audit tab
Owner, SolaStock Administrator All warehouses Yes
Inventory Manager Assigned warehouses No
Organization Manager / Member / Viewer / Accountant Assigned warehouses No
Warehouse Manager, Warehouse Operator, Inventory Viewer Menu item hidden No

Permissions: View the stock ledger for movements; Manage inventory settings for the activity audit. Without them, the tab shows its empty state.

Screen tour

  1. Header: Stock Ledger · Read-only.
  2. Tabs: Movements and Activity audit.
  3. Filter panel (changes with the tab), with Clear to reset all filters.
  4. The table.

Movements tab — filters

Filter What it does
Item One item (active items, SKU · name).
Warehouse All warehouses or one warehouse.
Direction Any, In, Out.
Source Exact document type (placeholder Document class). It must match the internal type exactly, e.g. App\Models\Tenant\StockAdjustment; partial words return nothing. To see one document's movements, use that document's Ledger result tab instead.
From, To Movement date range (inclusive).

Results update as you change filters.

Movements tab — columns

Column Meaning
Date Movement date and time. Documents use their own date (opening stock uses its Opening date); reversals use the moment they were posted.
Item Name · SKU.
Warehouse Warehouse name.
Direction In or Out.
Quantity Quantity moved (always positive).
Unit cost Cost per unit of this movement. For outbound lines it is the cost taken out (FIFO layer cost or average).
Total Quantity × unit cost.
Running quantity Balance of that stock row after the movement.
Source The document, e.g. Opening stock OS-000001, Adjustment ADJ-000004, Goods receipt GRN-000014, Transfer TRF-000002, Shipment …, Sales return …, and Internal consumption IC-000007 for internal consumption documents numbered IC-… (issues) or ICR-… (returns); in Arabic the label reads الصرف الداخلي. Click it to open the document; an internal consumption document opens at /internal-consumptions/{id}.

Lines are listed oldest first and the page shows the first 100 lines that match. To see recent activity, set From to a recent date or filter by item and warehouse. Empty state: No ledger entries.

Document types you will see:

Source label Number prefix Direction
Opening stock OS- In (reversal: Out)
Adjustment (also stock-count variances) ADJ- In or Out
Goods receipt GRN- In
Transfer TRF- Out of source, In to destination
Shipment shipment number Out
Sales return return number In
Internal consumption IC- (issue), ICR- (return) Issue: Out. Return: In, linked to the issue row it gives back. See Internal Consumption.
Supplier return SPR- Out. See Supplier Returns. Shown by its document type without a link.
Reversal of a document REV-… (for example REV-OS-, REV-ADJ-, REV-GRN-, REV-RMA-) The opposite of the original rows.

Landed costs change the value of stock but add no ledger row, because no quantity moves; see the valuation reports for their effect.

Activity audit tab

Filters: Action (placeholder item.updated; matches part of the action name), Entity (exact, placeholder item), From, To.

Column Meaning
Time When it happened (newest first).
Actor The user's ID number, or System.
Action e.g. item.created, item.updated, item.bulk_updated, opening_stock.post, opening_stock.reverse.
Entity Type and number, e.g. item #42.
Document Reference such as a SKU or document number.
Before, After The changed values as raw data.

Shows up to 100 events. Empty state: No audit events (also what you see without the permission).

Tasks

Investigate a wrong quantity

  1. Movements tab → Item = the item, Warehouse = the warehouse.
  2. Read Running quantity line by line until it diverges from what you expect.
  3. Click the Source to open the document responsible.
  4. Correct with an adjustment or reverse the document; the ledger keeps both.

See what a document did

Open the document → Ledger result tab (same columns, that document only).

See the FIFO layers an outbound line used

Open the item → Movements → View on the line → FIFO consumption (see Items).

Review who changed an item

Activity audit → Entity item, Action item.updated, dates → read Before / After.

Export

The ledger page has no export button. Use the Item Ledger or Stock Movement report in Reports (needs Export inventory reports).

Statuses and rules

Ledger lines have no status. They are append-only:

Event Ledger effect
Post a document New lines added.
Reverse a document Opposite lines added with the same quantities and costs; originals stay.
Edit/delete a line Not possible.

Permissions

Action Owner / Admin Inventory Manager, Org Manager/Member/Viewer/Accountant Warehouse Manager, Operator, Inventory Viewer
Movements tab All warehouses Assigned warehouses No
Activity audit Yes No No
Item Movements tab Yes Yes No

Worked examples

Example 1 — Today's receipts (quick)

Omar sets Direction In, From and To = 5 Oct 2026. He sees one line: iPhone 15 Pro 256 GB · Dubai Main · In · 20 · 3,900.0000 · 78,000.00 · running 45 · Goods receipt GRN-000014.

Example 2 — Tracing a balance (full)

Item IP15P-256 (FIFO), filtered to the item:

Date Warehouse Direction Qty Unit cost Total Running qty Source
2026-10-01 00:00 Dubai Main In 25 3,850.0000 96,250.00 25 Opening stock OS-000003
2026-10-05 10:12 Dubai Main In 20 3,900.0000 78,000.00 45 Goods receipt GRN-000014
2026-10-06 14:30 Dubai Main Out 30 3,858.3333 115,750.00 15 Shipment SHP-1007
2026-10-06 16:05 Dubai Main Out 8 3,900.0000 31,200.00 7 Transfer TRF-000002
2026-10-06 16:05 Jebel Ali In 8 3,900.0000 31,200.00 8 Transfer TRF-000002

The shipment consumed 25 units of the opening layer at 3,850 and 5 of the receipt layer at 3,900 (total 115,750). Current Stock shows Dubai Main 7 and Jebel Ali 8. If the goods receipt is later reversed, a new Out 20 line is added — but because 10 units of its layer were already used, the reversal is refused: "Cannot reverse this inbound movement: … unit(s) of the received cost layer (#…) were already consumed downstream …".

How it connects

Tips & common problems

Problem Cause Fix
No Stock Ledger menu. Role lacks View the stock ledger. Ask an administrator.
I don't see recent lines. Oldest first, first 100 lines. Use From/To or item filters.
Source filter returns nothing. Needs the exact internal type. Use the document's Ledger result tab.
Activity audit is empty. Only owners/administrators can see it. Ask an administrator.
Actor shows a number. The audit stores user IDs. Match it with your team list.

Related