Integration with Other Modules
Accounting Integration When the Accounting module is enabled, inventory stock movements automatically create General Ledger entries through an event-driven system: Stock received →...
Accounting Integration
When the Accounting module is enabled, inventory stock movements automatically create General Ledger entries through an event-driven system:
- Stock received → Debits Inventory account, credits the appropriate account
- Stock sold → Debits COGS account, credits Inventory account
- Stock adjusted → Creates adjustment journal entries
This happens via the StockMovementRecorded event, which the Core module's InventoryGLListener picks up and processes.
Each product can be linked to specific GL accounts:
- Inventory Account — where stock value is recorded (asset)
- COGS Account — where cost of goods sold is recorded (expense)
- Revenue Account — where sales revenue is recorded (income)
Receipt origin matters. A manual Inventory receipt normally debits Inventory and credits the configured receipt offset account. A Procurement goods receipt debits Inventory and credits GRNI so the later supplier invoice can clear GRNI into Accounts Payable without receiving the stock twice.
Procurement Integration
When Procurement is enabled:
- A Procurement goods receipt uses Inventory products, locations, batches, serials, and stock movements.
- Receipt-linked supplier-invoice stock lines clear GRNI and do not create a second stock receipt.
- Direct stock invoices without a prior receipt may use the product or default Inventory account and can receive through Accounting's bill workflow.
- Receipt/invoice value differences that cannot clear GRNI exactly are marked for review rather than silently creating an Accounting bill.
- Service and non-inventory lines use the configured purchase-expense account and do not change stock.
POS Integration
When the POS module is enabled:
- POS sales automatically deduct inventory using the stock service.
- If FEFO is enforced, POS sales deduct from the earliest-expiring batch.
- Stock levels update in real time after each sale.
Pharmacy Integration
When the Pharmacy module is enabled:
- Products used in pharmacy must be type Goods, active, and sellable.
- Batch tracking, expiry tracking, and FEFO are enforced and cannot be disabled.
- Serial tracking can be used for high-value pharmaceutical items.
Asset Management Integration
Procurement and Accounting can hand qualifying purchases into Asset Management, but an Inventory product is not automatically a fixed asset. Keep resale stock in Inventory and use Asset Management for controlled assets that are capitalized, assigned, depreciated, audited, impaired, or disposed.