Manual Stock movements
The movement journal traces every quantity variation: the old and new quantity, the movement type, the date and the user. Eight types cover the entire cycle: supply, sale, liquidation, stocktake, transfer, exit note prep, return note, production.
Overview
Every ERP operation that changes a quantity (purchase, sale, transfer, return, stocktake, production…) automatically writes a stock movement. It is an immutable record: it keeps the stock concerned, the item, the old and new quantity, the type, the date and the author. Together they form the complete journal of flows, viewable and exportable.
Business goal
- Trace every goods entry and exit
- Audit the origin of every quantity variation
- Identify the author and timestamp of an adjustment
- Reconstruct the history of an item
Target audience
- Warehouse clerks — check the day's flows
- Control / audit — trace discrepancies
- Management — analyzes turnover
Access and navigation
Left-hand side menu: Stock → Stock movements.
Movement journal
The journal lists the most recent movements first. Each row shows the quantity transition (old → new), in green for an entry, in red for an exit, along with its type.
| Stock⇅ | Item⇅ | Old Qty | New Qty | Movement type | Date⇅ | User |
|---|---|---|---|---|---|---|
| Central Warehouse | SMART SUPERVISOR MODULE | 40.000 | 90.000 | Procurement | 02/06/2026 | A. ABDELKEFI |
| Field Seller Stock — Mr. ORABI | SMART SUPERVISOR MODULE | 20.000 | 8.000 | Sale | 02/06/2026 | A. ORABI |
| Central Warehouse | SMART BUS CABLE 5M | 50.000 | 38.000 | Transfer | 01/06/2026 | A. ABDELKEFI |
| Central Warehouse | SMART SUPERVISOR MODULE | 90.000 | 92.000 | Return note | 01/06/2026 | A. ABDELKEFI |
| Central Warehouse | SMART BUS CABLE 5M | 40.000 | 42.000 | Stocktake | 31/05/2026 | A. ABDELKEFI |
Journal columns
| Column | Description |
|---|---|
| Stock | Stock concerned by the movement. |
| Item | Item whose quantity varies. |
| Old quantity | Quantity before the movement. |
| New quantity | Quantity after the movement (green if increase, red if decrease). |
| Movement type | Nature of the flow (section 6) — colored badge. |
| Date | Timestamp of the operation. |
| User | Author of the movement (or of the document that triggered it). |
The "old → new" gap immediately gives the direction and volume of the flow, without any calculation. It is the central piece of information in each row.
Search & filters
The Search button opens a filter panel: by period, by stock and by movement type.
Search — Stock movements
The 8 movement types
Each movement carries a type code that indicates its origin and direction. Here are the module's eight functional types.
| Code | Type | Direction | Typical origin |
|---|---|---|---|
| 0 | Supply | Entry | Purchase / goods receipt |
| 1 | Sale | Exit | Delivery note / invoice |
| 2 | Liquidation | Exit | Destruction / scrapping |
| 6 | Stocktake | Adjustment | Physical count |
| 7 | Transfer | Inter-stock | Transfer note |
| 8 | Exit note preparation | Exit | Exit note |
| 11 | Return note | Entry | Return of intact goods |
| 12 | Production | Entry | Manufacturing order |
Other internal technical codes exist (reservation cancellation, return following a credit note, cancellations…) but are not entered manually by the user.
Entries / Exits / Adjustments
The eight types are grouped into three families according to their effect on the quantity.
Entries
The quantity increases.
- Supply (0)
- Return note (11)
- Production (12)
Exits
The quantity decreases.
- Sale (1)
- Liquidation (2)
- Exit note prep (8)
Adjustments / inter-stock
Realignment or relocation.
- Stocktake (6) — increase or decrease
- Transfer (7) — exit from source + entry to destination
Transfer = two movements — a transfer note generates an exit (type 7) on the source stock side and an entry (type 7) on the destination stock side.
Lifecycle (workflow)
A movement originates from a document, adjusts a stock level, and remains immutably recorded in the journal.
flowchart LR D([Document
DN · transfer · stocktake · return]):::s --> M[Movement
old → new qty]:::p M --> ST[(Stock level
updated)]:::st M --> J[Movement journal
read / audit]:::ok J -->|search| F([Period / stock / type filter]):::p classDef p fill:#f3f1ff,stroke:#7366fe,color:#1f1c3d; classDef s fill:#FEF3C7,stroke:#F59E0B,color:#92400E; classDef st fill:#FFF7ED,stroke:#E07B00,color:#92400E; classDef ok fill:#D1FAE5,stroke:#10B981,color:#065F46;
Business rules
Read-only journal — movements are neither edited nor deleted: this is an audit trail. To correct a quantity, run a stocktake (type 6).
Generated by documents — each movement references the operation that created it (delivery note, transfer, return, stocktake), guaranteeing document ↔ stock consistency.
Batch / expiry date — on a stock managed by batch, the movement also carries the batch concerned (and its expiry date), for fine-grained traceability of turnover.
Roles & permissions
| Action | Warehouse clerk | Supply | Audit | Admin |
|---|---|---|---|---|
| View the journal | ✅ | ✅ | ✅ | ✅ |
| Filter / search | ✅ | ✅ | ✅ | ✅ |
| Export | ✅ | ✅ | ✅ | ✅ |
| Generate a movement (via document) | ✅ | ✅ | — | ✅ |
Indicative matrix — depends on the profiles defined in your company. No role can edit a movement once written.
FAQ & Tips
How do I correct an incorrect movement?
You don't correct a movement: you run a stocktake, which writes an adjustment movement (type 6) bringing the quantity back to the correct level.
I see two rows for a single transfer?
This is expected: a transfer writes an exit on the source stock side and an entry on the destination side — two type 7 movements.
Tip — auditing a discrepancy
Filter by item + period, then read the Type column: you'll identify within seconds the operation behind a suspicious variation.