Inventory Transactions
Understanding and managing inventory transactions in the Axiom system
Overview
Inventory Transactions are comprehensive records of all changes to inventory quantities within the system. They provide a complete audit trail of inventory movements, adjustments, and transfers, enabling accurate tracking, reporting, and analysis of inventory operations.
Each inventory transaction captures the state before and after a stock change, recording crucial details about what materials were affected, where they were located, who made the changes, and why the changes occurred.
Purpose of Inventory Transactions
Inventory Transactions serve several critical functions:
- Audit Trail: Maintain a complete history of all inventory changes for compliance and accountability
- Stock Tracking: Record precise quantity changes for accurate inventory valuation
- Movement Tracing: Track how materials move between locations
- Operational Insights: Provide data for analyzing inventory operations and usage patterns
- Error Resolution: Help identify and resolve discrepancies in inventory counts
- Compliance: Support regulatory requirements for traceability and record-keeping
Types of Inventory Transactions
The system recognizes three primary types of inventory stock adjustments:
- Add: Increases the quantity of inventory (positive change)
- Remove: Decreases the quantity of inventory (negative change)
- Count: Updates inventory to a specific counted value (may be positive or negative change)
Inventory Transaction Structure
Each inventory transaction contains the following key information:
Core Information
- Inventory ID: The specific inventory record being modified
- Material ID: The material affected by the transaction
- Vendor Material ID: The vendor-specific material identifier
- Source Location: Where the material originated from
- Destination Location: Where the material is being moved to
- Quantity Before: The quantity of the material before the transaction
- Quantity After: The quantity of the material after the transaction
- Quantity Change: The net change in quantity (can be positive or negative)
Additional Details
- Batch Number: For batch-tracked materials
- Serial Number: For serialized materials
- Parent Transaction: Reference to a preceding transaction (creating a chain of events)
- Notes: Additional information about the transaction
- Timestamps: When the transaction started and ended
- User Information: Who created, updated, or deleted the transaction
Reference Information
- Referenceable Type: The type of object that triggered the transaction (e.g., Inventory, TransferOrderItem)
- Referenceable ID: The ID of the specific object that triggered the transaction
When Inventory Transactions Are Created
Inventory transactions are automatically created whenever:
- Stock is Added: New inventory is received, or existing inventory is increased
- Stock is Removed: Inventory is consumed, sold, or otherwise decreased
- Inventory is Counted: Physical counts update the system quantities
- Material is Transferred: Materials move from one location to another
- Inventory is Created: New inventory records are established
Inventory Transaction Flow
Adding Stock
When stock is added to an inventory:
- The system calculates the new quantity by adding the input quantity to the current inventory quantity
- The inventory record is updated with the new quantity
- A new inventory transaction is created with:
- Quantity before = Previous quantity
- Quantity after = New quantity
- Quantity change = Added amount
- Reference details capturing why the stock was added
Removing Stock
When stock is removed from an inventory:
- The system calculates the new quantity by subtracting the input quantity from the current inventory quantity
- The inventory record is updated with the new quantity
- A new inventory transaction is created with:
- Quantity before = Previous quantity
- Quantity after = New quantity
- Quantity change = Removed amount (as a negative value)
- Reference details capturing why the stock was removed
Counting Stock
When inventory is counted:
- The system calculates the difference between the counted quantity and the current system quantity
- The inventory record is updated with the counted quantity
- The last_count_at timestamp is updated to the current time
- A new inventory transaction is created with:
- Quantity before = Previous quantity
- Quantity after = Counted quantity
- Quantity change = Difference between counted and previous quantity
- Reference details capturing the count operation
Transferring Materials
When materials are transferred between locations (using Transfer Orders):
Picking: Stock is removed from the source location
- Creates a transaction with negative quantity change at the source
- Links the transaction to the transfer order item
Placing: Stock is added to the destination location
- Creates a transaction with positive quantity change at the destination
- Links the transaction to the transfer order item
Cancelling: If a transfer is cancelled
- Stock is returned to the source (if picked)
- Stock is removed from the destination (if placed)
- Appropriate transactions are created to reflect these changes
Transaction History and Chaining
Inventory transactions maintain a parent-child relationship through the parent_transaction_id field:
- Each new transaction references the most recent previous transaction for that inventory
- This creates a complete chain of events for each inventory item
- The chain can be followed to trace the complete history of an inventory from creation to current state
Viewing Inventory Transactions
The system provides a dedicated interface for viewing inventory transactions, with powerful filtering and sorting capabilities:
Available Filters
- Inventory ID: View transactions for specific inventory records
- Material ID: Filter by material type
- Vendor Material ID: Filter by vendor-specific material
- Source/Destination Location: View transactions involving specific locations
- Date Range: Filter transactions by when they occurred
- User: View transactions performed by specific users
- Quantity Change: Filter by the magnitude or direction of change
Sorting Options
Transactions can be sorted by:
- Date (newest or oldest first)
- Quantity change (largest or smallest first)
- Location
- Material
Integration with Other System Components
Inventory Transactions interact with several other components in the system:
- Inventory Records: Each transaction is linked to a specific inventory record
- Materials: Transactions track which materials are being adjusted
- Locations: Transactions record where materials are moving from and to
- Batch Numbers: For batch-tracked materials, transactions maintain batch traceability
- Serial Numbers: For serialized items, transactions track individual serial numbers
- User Management: Transactions record who performed each action
- Transfer Orders: Inventory movements via transfer orders generate corresponding transactions
Reporting and Analysis
Inventory Transactions data can be used for various reports and analyses:
- Stock Movement Reports: Trace how materials move through your facilities
- Consumption Analysis: Understand usage patterns for materials
- Discrepancy Reports: Identify and investigate unexpected stock changes
- Stock Adjustment History: Review all manual adjustments to inventory
- User Activity Reports: See which users are performing inventory operations
- Location Activity: Monitor which locations have the most inventory movement
Data Export
Inventory transaction data can be exported for further analysis or record-keeping:
- The system provides a dedicated InventoryTransactionExporter service
- Exports can be filtered using the same criteria as the transaction list view
- Exported data includes all transaction details in a structured format
- Export jobs are processed asynchronously to handle large transaction volumes
Best Practices
- Use Notes Field: Always provide clear explanations in the notes field for manual adjustments
- Regular Auditing: Periodically review transaction history to verify accuracy
- Establish Procedures: Create standardized procedures for when and how to perform inventory adjustments
- User Training: Ensure users understand how their actions create transaction records
- Performance Monitoring: For high-volume environments, monitor transaction creation for any performance impact
Inventory Transactions provide a robust foundation for inventory management, offering complete visibility and traceability for all inventory movements and changes within your organization.
- Overview
- Purpose of Inventory Transactions
- Types of Inventory Transactions
- Inventory Transaction Structure
- Core Information
- Additional Details
- Reference Information
- When Inventory Transactions Are Created
- Inventory Transaction Flow
- Adding Stock
- Removing Stock
- Counting Stock
- Transferring Materials
- Transaction History and Chaining
- Viewing Inventory Transactions
- Available Filters
- Sorting Options
- Integration with Other System Components
- Reporting and Analysis
- Data Export
- Best Practices