Transactions — SanadiqCloud
Product version: 1.0.0+1
Last updated: 2026-08-13
Audience: Tenant Owners, Tenant Employees, Regular Users
A. Transaction Ledger Overview
The Transaction Ledger is the immutable record of every stock movement in your organization. Every time stock enters, leaves, or moves between inventories, a transaction is created. This ledger provides a complete audit trail for all inventory activity.
Transactions are append-only — they cannot be modified or deleted. If a mistake is made, you must create a reversing transaction to correct it.
Navigate to Inventory > Transactions to view the ledger.
B. Viewing the Transaction List
The transaction list shows:
| Column | Description |
|---|---|
| ID | Transaction business identifier |
| Date | Transaction timestamp |
| Type | Receipt, Issue, Adjustment, or Transfer |
| Product | Product name affected |
| Inventory | Inventory where the transaction occurred |
| Change | Quantity change (+ positive, - negative) |
| Before | Stock level before the transaction |
| After | Stock level after the transaction |
| Reference | Link to source document (adjustment ID, transfer ID, etc.) |
| Performed By | User who performed the action |
The list is paginated (default 10 per page, max 100).
C. Filtering Transactions
Use the filters above the list to narrow results:
| Filter | Description |
|---|---|
| Transaction Type | Filter by receipt, issue, adjustment, or transfer |
| Date Range | Start date and end date |
| Inventory | Filter to a specific inventory |
| Product | Filter by product ID |
| Item | Filter by specific inventory item |
| Reference Type | Filter by source (adjustment, transfer, pick_list, bin_transfer, bin_placement, requisition, initial_stock, reversal, …) |
| Performed By | Filter by user who performed the action |
| Search | Free text search across notes and reference numbers |
D. Understanding Transaction Types
| Type | Direction | When Created | Effect |
|---|---|---|---|
receipt |
In | Requisition accepted (inbound), or other inbound movements | Increases quantity_on_hand |
issue |
Out | Stock issued for internal use, fulfillment, or disposal | Decreases quantity_on_hand |
adjustment |
Both | Stock adjustment approved | Increases or decreases from counted vs system |
transfer_out |
Out | Transfer shipped | Decreases source warehouse on-hand |
transfer_in |
In | Transfer received | Increases destination warehouse on-hand |
Ledger quantity_change is signed: receipts and transfer_in are positive; issues, transfer_out, and item-deletion issues are negative.
Same-pool bin transfer writes a zero-qty row with reference_type bin_transfer (on-hand unchanged; physical_location_id = source bin, destination_physical_location_id = dest bin). Bin placement (assign stock to a bin at item create or later) writes a zero-qty adjustment with reference_type bin_placement. Pick list complete writes issue with reference_type pick_list. Deleting an item that still has quantity writes issue with reference_type item_deletion. Reversal writes a compensating row with reference_type reversal and parent_transaction_id pointing at the original. Empty warehouse/zone/bin create and rename do not write stock ledger rows. Shipped (in_transit) or completed transfers cannot be cancelled; use Reverse transfer (or reverse any transfer ledger row) so both transfer_in and transfer_out are undone and quantities restore.
Each transaction records quantity_before, quantity_change, and quantity_after for complete traceability.
E. Transaction Detail View
Click any transaction row to open the detail view:
Header
- Transaction ID, Type badge
- Date and Time
- Inventory and Warehouse context
- Performed By with profile snippet
Quantities
| Field | Description |
|---|---|
| Product | Product name and ID |
| Quantity Before | Stock level before this transaction |
| Quantity Change | The amount (+/-) that changed |
| Quantity After | Stock level after this transaction |
| Unit Cost | Cost per unit at time of transaction |
| Total Cost | Total financial impact (unit cost × absolute quantity change) |
| Currency | Transaction currency |
Reference
| Field | Description |
|---|---|
| Reference Type | Source document type (e.g., adjustment, transfer, pick_list, bin_transfer, requisition) |
| Reference ID | UUID of the source document |
| Reference Number | Business identifier of the source document |
| Reason | Reason for the transaction |
| Notes | Additional notes |
Tracking
| Field | Description |
|---|---|
| Batch Number | Batch identifier |
| Lot Number | Lot identifier |
| Serial Number | Serial number (if applicable) |
F. Reading Transaction Lines
Each transaction represents a single stock movement for a single product at a specific inventory. The key fields for analysis:
quantity_change— Positive for receipts/increases, negative for issues/decreasesquantity_beforeandquantity_after— Enable precise inventory valuation at any point in timereference_id— Links the transaction to its source document for cross-referencingperformed_by— Provides user accountability
The transaction ledger supports external audit requirements by maintaining an unbroken chain of all stock movements.
G. Reversing a Transaction
When a transaction is created in error, you can reverse it:
- Open the transaction detail view.
- Click Reverse.
- Provide a Reason for the reversal.
- Confirm.
On reversal:
- A new transaction is created with the opposite
quantity_changevalue - The new transaction's notes reference the original transaction ID
- The original transaction remains unchanged (immutable ledger principle)
- The stock levels are adjusted back to their pre-transaction state
Example: If a receipt of +50 units was made in error, the reversal creates an issue of -50 units, restoring the balance.
When to Reverse vs. Adjust
| Scenario | Action |
|---|---|
| Wrong product received | Reverse the receipt, create a new receipt for the correct product |
| Quantity was wrong (too many) | Create an adjustment to correct the count |
| Wrong source/destination in transfer | Reverse the transfer, create a new transfer |
| Transaction was duplicated | Reverse the duplicate transaction |
Reversals maintain the audit trail. Never delete transactions — always reverse them.
Next: Suppliers — Managing supplier records
See also: Adjustments | Transfers | Pick Lists | Requisitions | Stock & Inventory