Inventory Management
Inventory Management
Manage educational institution supplies including lab equipment, stationery, uniforms, sports gear, IT assets, and consumables using the Inventory module.
Time Required: 30-45 minutes (initial setup) Module: Inventory (Odoo stock module) User Role: Inventory Manager, Store Keeper, Lab Assistant
Table of Contents
- Overview
- Before You Begin
- Initial Configuration
- Managing Products
- Warehouse and Storage Locations
- Receiving Stock
- Issuing Stock
- Inventory Adjustments
- Reordering Rules
- Tracking with Lot/Serial Numbers
- Reports and Analysis
- Field Reference
- Troubleshooting
- Related Topics
Overview
The Inventory module helps educational institutions track and manage physical supplies. Common use cases include:
| Category | Examples |
|---|---|
| Lab Supplies | Chemicals, glassware, microscopes, specimens |
| Stationery | Paper, pens, markers, notebooks, files |
| Uniforms | Student uniforms, sports kits, lab coats |
| Sports Equipment | Balls, rackets, nets, mats, weights |
| IT Assets | Computers, projectors, printers, cables |
| Library Supplies | Book covers, labels, stamps, cards |
| Furniture | Desks, chairs, boards, storage cabinets |
| Consumables | Printer ink, cleaning supplies, first aid items |
Key Concepts
| Term | Description |
|---|---|
| Product | Any item tracked in inventory (goods or consumables) |
| Warehouse | Physical building or campus where items are stored |
| Location | Specific area within a warehouse (lab, store room, etc.) |
| Stock Move | Movement of products between locations |
| Receipt | Incoming stock from suppliers |
| Delivery | Outgoing stock to departments or individuals |
| On-Hand Quantity | Current physical stock available |
| Forecasted Quantity | Expected stock after pending orders |
Before You Begin
Ensure you have:
- Inventory app installed and enabled
- Warehouse address configured in company settings
- User has “Inventory / User” or “Inventory / Administrator” access rights
- Product categories created (optional but recommended)
Access the Inventory Module
- Click the Inventory app from the main dashboard
- You will see the Inventory Overview with operation cards
Initial Configuration
Step 1: Enable Required Features
- Navigate to Inventory > Configuration > Settings
- Configure these settings based on your needs:
| Setting | Section | When to Enable |
|---|---|---|
| Storage Locations | Warehouse | Track items in specific rooms/areas |
| Multi-Step Routes | Warehouse | Complex receipt/delivery workflows |
| Lots & Serial Numbers | Traceability | Track batches (chemicals) or unique items (equipment) |
| Expiration Dates | Traceability | Chemicals, first aid supplies with expiry |
| Packages | Operations | Group items in boxes/containers |
| Product Packagings | Products | Buy/issue in different units (box of 10, etc.) |
- Click Save
Step 2: Create Product Categories
Organize products by creating categories:
- Go to Inventory > Configuration > Product Categories
- Click Create
- Fill in:
| Field | What to Enter | Example |
|---|---|---|
Name | Category name | ”Laboratory Supplies” |
Parent Category | Optional parent | ”All / Physical” |
Costing Method | How to value stock | ”Standard Price” or “FIFO” |
Inventory Valuation | Track value in accounting | ”Automated” |
- Click Save
Recommended Categories for Educational Institutions:
All |-- Laboratory | |-- Chemistry Lab | |-- Physics Lab | |-- Biology Lab | |-- Computer Lab |-- Stationery |-- Sports Equipment |-- Uniforms |-- IT Equipment |-- Furniture |-- Consumables |-- First AidManaging Products
Create a New Product
- Navigate to Inventory > Products > Products
- Click Create
- Fill in basic information:
| Field | What to Enter | Example | Required |
|---|---|---|---|
Product Name | Descriptive name | ”Microscope - 40x-1000x” | Yes |
Product Type | Goods or Service | ”Goods” | Yes |
Track Inventory | Enable for physical items | Checked | For tracking |
Internal Reference | SKU or code | ”LAB-MIC-001” | Recommended |
Barcode | Barcode number | ”5901234123457” | Optional |
Sales Price | Issue price (if applicable) | 0.00 | Optional |
Cost | Purchase/acquisition cost | 15000.00 | Recommended |
Category | Product category | ”Laboratory” | Recommended |
Configure Product Type
On the General Information tab, select the appropriate product type:
| Product Type | Track Inventory | Use For |
|---|---|---|
| Goods (Tracked) | Yes, by Quantity | Equipment, furniture, reusable items |
| Goods (By Lots) | Yes, by Lots | Chemicals, batch items with expiry |
| Goods (By Serial) | Yes, by Serial Number | Computers, projectors, unique assets |
| Service | No | Installation, maintenance services |
Configure Inventory Tab
Click the Inventory tab and set:
| Field | Description | Educational Context |
|---|---|---|
Routes | How product is supplied | ”Buy” for purchased items |
Responsible | Default user | Store keeper |
Weight | Unit weight | For shipping/handling |
Volume | Unit volume | For storage planning |
Set Reordering Information
In the Inventory tab, under Logistics:
| Field | What to Enter | Example |
|---|---|---|
Customer Lead Time | Days to deliver internally | 1 |
Description for Receipts | Instructions for receiving | ”Verify serial numbers” |
Description for Deliveries | Instructions for issuing | ”Check condition before issue” |
Educational Product Examples
Example 1: Laboratory Chemical (Tracked by Lot)
Product Name: Hydrochloric Acid 37%Internal Reference: CHEM-HCL-37Product Type: GoodsTrack Inventory: By LotsCategory: Laboratory / Chemistry LabUnit of Measure: LitersExpiration Time: 730 days (2 years)Example 2: IT Equipment (Tracked by Serial Number)
Product Name: Dell Laptop Latitude 5520Internal Reference: IT-LAP-DELL-5520Product Type: GoodsTrack Inventory: By Unique Serial NumberCategory: IT EquipmentCost: 75000.00Example 3: Stationery (Tracked by Quantity)
Product Name: A4 Paper Ream - 500 SheetsInternal Reference: STAT-A4-500Product Type: GoodsTrack Inventory: By QuantityCategory: StationeryCost: 350.00Unit of Measure: UnitsWarehouse and Storage Locations
Understanding Warehouses vs Locations
| Concept | Description | Example |
|---|---|---|
| Warehouse | Physical building/campus | ”Main Campus Store” |
| Location | Specific area within warehouse | ”Chemistry Lab Storage” |
Configure Your Warehouse
- Go to Inventory > Configuration > Warehouses
- Click on your warehouse (or create new)
- Configure:
| Field | What to Enter | Example |
|---|---|---|
Warehouse Name | Display name | ”Central Store” |
Short Name | 5-char code | ”MAIN” |
Address | Physical address | Campus address |
Incoming Shipments | Receipt steps | ”Receive goods directly (1 step)“ |
Outgoing Shipments | Delivery steps | ”Deliver goods directly (1 step)“ |
Create Storage Locations
Enable storage locations first in Settings, then:
- Go to Inventory > Configuration > Locations
- Click Create
- Configure:
| Field | What to Enter | Example |
|---|---|---|
Location Name | Area name | ”Physics Lab Storage” |
Parent Location | Parent location | ”WH/Stock” |
Location Type | Type of location | ”Internal Location” |
Is a Scrap Location? | For damaged items | No (usually) |
Is a Return Location? | For returns | No (usually) |
Recommended Location Structure:
Your Warehouse/Stock |-- Chemistry Lab | |-- Chemical Storage | |-- Glassware Cabinet |-- Physics Lab | |-- Equipment Room |-- Biology Lab | |-- Specimen Storage |-- Computer Lab | |-- Hardware Store |-- Sports Store | |-- Indoor Equipment | |-- Outdoor Equipment |-- General Store | |-- Stationery | |-- Uniforms |-- Scrap LocationReceiving Stock
Method 1: Create Receipt Directly
- Go to Inventory > Operations > Receipts
- Click Create
- Fill in header information:
| Field | What to Enter | Example |
|---|---|---|
Receive From | Supplier/Vendor | ”ABC Scientific Supplies” |
Scheduled Date | Expected date | Today’s date |
Source Document | Reference | ”PO-2025-0123” |
- In the Operations tab, click Add a line:
| Field | What to Enter | Example |
|---|---|---|
Product | Select product | ”Microscope - 40x-1000x” |
Demand | Quantity ordered | 10 |
Done | Quantity received | 10 (fill after receiving) |
- Click Validate once items are physically received
Method 2: From Purchase Order
If using the Purchase module:
- Create and confirm a Purchase Order
- Click the Receipt smart button on the PO
- Validate the receipt when items arrive
Assign Lot Numbers on Receipt
For products tracked by lots:
- On the receipt, click Details next to the product line
- In the popup, click Add a line
- Enter:
| Field | What to Enter | Example |
|---|---|---|
Lot/Serial Number | Batch number | ”LOT-HCL-2025-001” |
Quantity | Units in this lot | 5 |
- Repeat for additional lots
- Click Save, then Validate the receipt
Assign Serial Numbers on Receipt
For products tracked by serial numbers:
- On the receipt, click Details next to the product line
- For each unit, add a line with a unique serial number:
| Serial Number | Quantity |
|---|---|
| IT-LAP-001 | 1 |
| IT-LAP-002 | 1 |
| IT-LAP-003 | 1 |
- Click Save, then Validate
Issuing Stock
Create Internal Transfer (Issue to Department)
- Go to Inventory > Operations > Internal Transfers
- Click Create
- Fill in:
| Field | What to Enter | Example |
|---|---|---|
Source Location | Where items are stored | ”WH/Stock/General Store” |
Destination Location | Where items go | ”WH/Stock/Chemistry Lab” |
Scheduled Date | When to transfer | Today |
Reference | Purpose/requestor | ”Issue to Dr. Smith - Chem Class” |
- Add product lines with quantities
- Click Validate after physical transfer
Create Delivery Order (Issue to External)
For items leaving the institution:
- Go to Inventory > Operations > Delivery Orders
- Click Create
- Fill in recipient and products
- Click Validate once delivered
Issue Items with Lot Selection
When issuing items tracked by lots:
- Create the transfer as above
- Click Details next to the product
- In Pick From, select the specific lot to use
- Adjust quantity if needed
- Save and validate
The system follows removal strategies:
- FIFO (First In, First Out): Uses oldest lots first
- FEFO (First Expired, First Out): Uses lots expiring soonest
- LIFO (Last In, First Out): Uses newest lots first
Inventory Adjustments
Inventory adjustments reconcile database records with actual physical counts.
Perform Physical Inventory Count
- Go to Inventory > Operations > Physical Inventory
- The page shows all tracked products with current quantities
- For each product:
| If Count Matches | Action |
|---|---|
| Matches On-Hand | Click the Set icon (target icon) |
| Differs from On-Hand | Enter actual count in Counted Quantity |
- After entering counts, click Apply on each line
Create Manual Adjustment
- On the Physical Inventory page, click New
- Select the product
- If tracked by lot/serial, select the specific lot
- Enter the Counted Quantity
- Click away to save
- Click Apply to confirm
Request a Scheduled Count
For planned inventory audits:
- Go to Inventory > Operations > Physical Inventory
- Select products to count (tick checkboxes)
- Click Request a Count
- Set:
| Field | Description |
|---|---|
Inventory Date | Planned count date |
User | Person responsible |
Count | ”Leave Empty” or “Set Current Value” |
- Click Confirm
Relocate Products
To move products between locations without issuing:
- On Physical Inventory, select product lines
- Click Relocate
- Enter new location and reason
- Confirm
Write Off Damaged/Lost Items
- On Physical Inventory, find the product
- Enter Counted Quantity as actual (lower than on-hand)
- Click Apply
- Enter reason: “Damaged - Lab accident” or “Lost”
- Confirm
The difference is recorded as a stock move to a virtual location.
Reordering Rules
Automate stock replenishment with reordering rules.
Create a Reordering Rule
- Go to Inventory > Operations > Replenishment
- Click New
- Configure:
| Field | What to Enter | Example | Required |
|---|---|---|---|
Product | Product to reorder | ”A4 Paper Ream” | Yes |
Location | Storage location | ”WH/Stock” | Yes |
Min Quantity | Reorder when below this | 50 | Yes |
Max Quantity | Reorder up to this | 200 | Yes |
To Order | Calculated quantity | (automatic) | N/A |
Trigger | Auto or Manual | ”Auto” | Yes |
Route | How to replenish | ”Buy” | Recommended |
- Click Save
Understand Min/Max Logic
| Scenario | Current Stock | Min | Max | Action |
|---|---|---|---|---|
| Stock OK | 75 | 50 | 200 | No action |
| Reorder Needed | 45 | 50 | 200 | Order 155 units (to reach 200) |
| Critical | 10 | 50 | 200 | Order 190 units (to reach 200) |
Manual vs Automatic Reordering
| Trigger Type | Behavior |
|---|---|
| Auto | Creates purchase order automatically when stock drops below minimum |
| Manual | Shows on replenishment dashboard; you click “Order” to create PO |
Example Reordering Rules for Educational Supplies
| Product | Min | Max | Trigger | Notes |
|---|---|---|---|---|
| A4 Paper Ream | 50 | 200 | Auto | High consumption |
| Whiteboard Markers | 20 | 100 | Auto | Regular use |
| Microscope Slides | 100 | 500 | Manual | Review before ordering |
| Printer Ink Cartridge | 5 | 20 | Auto | Critical supply |
| Lab Coats | 10 | 50 | Manual | Seasonal ordering |
Tracking with Lot/Serial Numbers
When to Use Lot Numbers
Use lots for:
- Chemicals with batch-specific properties
- Items with expiration dates
- Bulk purchases that need traceability
- Items subject to recalls
When to Use Serial Numbers
Use serial numbers for:
- Expensive equipment (computers, projectors)
- Assets requiring individual tracking
- Items under warranty
- Items assigned to specific users/departments
Enable Lot/Serial Tracking
- Go to Inventory > Configuration > Settings
- Enable Lots & Serial Numbers in Traceability section
- Save
Configure Product for Lot Tracking
- Open the product form
- Set Track Inventory to By Lots
- Save
Configure Product for Serial Number Tracking
- Open the product form
- Set Track Inventory to By Unique Serial Number
- Save
Track Expiration Dates
For perishable items (chemicals, first aid supplies):
- Enable Expiration Dates in Settings
- On the product form, go to Inventory tab
- Configure:
| Field | Description | Example |
|---|---|---|
Expiration Time | Days until expired | 730 (2 years) |
Best Before Time | Days until quality degrades | 365 |
Removal Time | Days to remove from stock | 700 |
Alert Time | Days before alert | 30 |
View Traceability Report
- Go to Inventory > Products > Lots/Serial Numbers
- Select a lot or serial number
- Click Traceability smart button
- View complete history of movements
Reports and Analysis
Stock Report
View current inventory levels:
- Go to Inventory > Reporting > Stock
- See on-hand, unreserved, incoming, and outgoing quantities
- Filter by:
- Location
- Product category
- Warehouse
Location Report
See stock breakdown by location:
- Go to Inventory > Reporting > Locations
- View quantities at each storage location
- Useful for locating specific items
Moves History
Track all stock movements:
- Go to Inventory > Reporting > Moves History
- Filter by:
- Product
- Date range
- Source/destination location
Product-Level Reports
On any product form, use smart buttons:
| Smart Button | Shows |
|---|---|
| On Hand | Current quantity by location |
| Forecasted | Expected quantity after pending moves |
| In / Out | Movement history |
| Reordering Rules | Configured rules |
| Traceability | Lot/serial movement history |
Inventory Valuation
View monetary value of stock:
- Go to Inventory > Reporting > Inventory Valuation
- See total value by product and category
- Export for financial reporting
Field Reference
Product Fields
| Field Name | Technical Name | Type | Description |
|---|---|---|---|
| Product Name | name | Char | Display name |
| Internal Reference | default_code | Char | SKU/code |
| Barcode | barcode | Char | Barcode number |
| Product Type | detailed_type | Selection | Goods/Service/Combo |
| Track Inventory | tracking | Selection | None/By Lots/By Serial |
| Category | categ_id | Many2one | Product category |
| Cost | standard_price | Float | Unit cost |
| Unit of Measure | uom_id | Many2one | Measurement unit |
Location Fields
| Field Name | Technical Name | Type | Description |
|---|---|---|---|
| Location Name | name | Char | Display name |
| Location Type | usage | Selection | Internal/Supplier/Customer/etc. |
| Parent Location | location_id | Many2one | Parent in hierarchy |
| Scrap Location | scrap_location | Boolean | For damaged items |
| Return Location | return_location | Boolean | For returns |
Reordering Rule Fields
| Field Name | Technical Name | Type | Description |
|---|---|---|---|
| Product | product_id | Many2one | Product to reorder |
| Location | location_id | Many2one | Storage location |
| Min Quantity | product_min_qty | Float | Minimum threshold |
| Max Quantity | product_max_qty | Float | Maximum level |
| To Order | qty_to_order | Float | Calculated quantity |
| Trigger | trigger | Selection | Auto/Manual |
| Route | route_id | Many2one | Replenishment route |
Stock Move Fields
| Field Name | Technical Name | Type | Description |
|---|---|---|---|
| Product | product_id | Many2one | Moved product |
| Quantity | product_uom_qty | Float | Quantity to move |
| Done | quantity | Float | Quantity moved |
| Source Location | location_id | Many2one | From location |
| Destination Location | location_dest_id | Many2one | To location |
| State | state | Selection | Draft/Confirmed/Done/Cancelled |
Troubleshooting
”No products available to deliver” Error
Problem: Cannot complete delivery because products are not available.
Solutions:
- Check on-hand quantity at the source location
- Verify products are not reserved for other orders
- Create an inventory adjustment to correct quantities
- Check if product is tracked by lot/serial and lot is specified
Negative Stock Warning
Problem: System shows negative inventory quantities.
Solutions:
- Perform physical count and adjust inventory
- Check for duplicate receipts/deliveries
- Verify lot/serial number assignments
- Review pending receipts that need validation
Lot/Serial Number Required Error
Problem: Cannot validate transfer without lot/serial number.
Solutions:
- Click Details on the product line
- Assign appropriate lot or serial number
- Ensure quantity matches demand
- Save and try validation again
Reordering Rule Not Triggering
Problem: Stock is below minimum but no order is created.
Solutions:
- Check trigger is set to “Auto” (not “Manual”)
- Verify product has “Buy” route enabled
- Ensure product has a vendor configured
- Run scheduler manually: Inventory > Operations > Run Scheduler
- Check that product type is “Goods” with tracking enabled
Products Not Appearing in Reports
Problem: Products missing from stock or location reports.
Solutions:
- Verify product type is “Goods” (not “Service”)
- Check “Track Inventory” is enabled
- Ensure products have on-hand quantity > 0
- Verify correct location/warehouse filter
Transfer Stuck in “Waiting” State
Problem: Internal transfer shows “Waiting” and cannot be validated.
Solutions:
- Check if source location has sufficient stock
- Verify no reservations blocking the stock
- Click “Check Availability” to refresh
- Manually set quantities in “Done” column
Best Practices for Educational Institutions
Organize by Department
Create locations matching your organizational structure:
- Each lab has its own storage location
- Central store manages bulk inventory
- Department heads can view their area’s stock
Implement Regular Audits
Schedule periodic inventory counts:
- Annual full inventory audit
- Quarterly cycle counts for high-value items
- Monthly checks for consumables
Use Naming Conventions
Adopt consistent product naming:
[Category Code]-[Description]-[Variant]LAB-MICROSCOPE-40XIT-LAPTOP-DELL5520STAT-PAPER-A4Track High-Value Assets
Use serial numbers for:
- All IT equipment
- Laboratory instruments over a threshold value
- Audio-visual equipment
- Sports equipment over a threshold value
Set Appropriate Reorder Levels
Consider:
- Lead time from suppliers
- Consumption rate during academic year
- Storage space constraints
- Budget cycles
Document Issuance
Always record:
- Who requested items
- Purpose (class, lab, event)
- Expected return date (if applicable)
- Department to charge
Related Topics
Last updated: January 2026