Inventory
Movement log
Movement log
Append-only audit trail of every inventory movement
Movements (30d)
1,247
across all types
Sales
894
−4,820 units
Receipts
182
+12,340 units
Adjustments
28
net −248 units
Default date range: last 7 days. Movements are append-only — no edits, no deletes.
| Timestamp | Type | Item | Location | Quantity | Unit cost | Source document |
|---|---|---|---|---|---|---|
| May 12, 14:32:18 | Sale | AA Batteries 8pk BAT-AA8 |
Río Piedras | −2 | $4.10 | SALE-20260512-0842 |
| May 12, 13:18:02 | Receipt | Coffee Beans 1lb · Dark COFFEE-DK-1LB |
Río Piedras | +40 | $6.40 | RCV-000089 |
| May 12, 11:42:47 | Adjustment | Wireless Mouse MSE-WL01 |
Río Piedras | −3 | $18.40 | ADJ-000028 |
| May 11, 16:08:31 | Transfer in | Dish Soap 32oz DSH-32OZ |
Río Piedras | +24 | $1.85 | TRF-000017 |
| May 11, 16:08:31 | Transfer out | Dish Soap 32oz DSH-32OZ |
San José | −24 | $1.85 | TRF-000017 |
| May 11, 09:24:11 | Return | USB-C Cable 1m / White USB-C-1M-WHT |
Río Piedras | +1 | $7.20 | RET-20260511-0012 |
| May 10, 17:22:00 | Count | Ibuprofen 200mg · 100ct IBU-200-100 |
San José | −2 | $3.10 | SC-000009 → ADJ-000027 |
Show per page · showing 1–7 of 1,247
▸ Mockup notes
- Endpoint:
GET /api/inventory/movements— append-only ledger, ordered by CreatedAtUtc desc - 8 movement types: Sale, Return, Receipt, Adjustment, TransferOut, TransferIn, Count, Distribution (per
MovementType.csenum) - Default date range = last 7 days (forced by frontend) to avoid full-table scans on high-volume merchants. UI hint banner clarifies
- Sortable columns require backend SortBy switch — currently the endpoint only orders by CreatedAtUtc desc. Confirm before flipping sortable: true on others
- Source document column is clickable when ReferenceType+ReferenceId resolves to a portal route (e.g., RCV → /purchase-receipts/$id, ADJ → /inventory/adjustments/$id)
- Two-line source for Count entries: "SC-XXX → ADJ-YYY" links to the parent count and the auto-generated adjustment
- Read-only view — no Edit / Delete column. Movements are immutable per design doc §5.2