| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Lines of code | 3037 |
| Technical Name |
advance_inventory_report_oer |
| License | OPL-1 |
| Website | http://www.oduers.com/ |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Lines of code | 3037 |
| Technical Name |
advance_inventory_report_oer |
| License | OPL-1 |
| Website | http://www.oduers.com/ |
| Versions | 17.0 18.0 19.0 |
Advance Inventory Report
Main Features
1 - FSN Classification (Fast / Slow / Non-Moving)
Classifies every product based on its inventory turnover ratio within a specified date range.
- Fast Moving - Turnover ratio > 3
- Slow Moving - Turnover ratio between 1 and 3
- Non Moving - Turnover ratio < 1
Formula: Turnover Ratio = Sales ÷ Average Stock, where Average Stock = (Opening + Closing) ÷ 2
2 - XYZ Classification (Stock Value Based)
Classifies products by their contribution to total inventory value using cumulative percentage analysis.
- X (High Value) - Cumulative value < 70%
- Y (Medium Value) - Cumulative value 70 - 90%
- Z (Low Value) - Cumulative value > 90%
3 - FSN-XYZ Combined Matrix
Combines FSN and XYZ into a 3×3 matrix (e.g., F-X, S-Y, N-Z), producing 9 combined classifications. This helps prioritize items that are both high-value and fast-moving versus low-value and non-moving.
4 - Inventory Turnover Analysis
Computes the turnover ratio per product per warehouse, showing Opening Stock, Closing Stock, Average Stock, Sales, and Turnover Ratio.
5 - Overstock Detection
Identifies products where current stock exceeds forecasted demand. Uses Average Daily Sales (ADS) and a configurable lookahead period (default 30 days). Shows overstock quantity, coverage days, and overstock monetary value.
6 - Out-of-Stock Monitoring
Detects products that will run out of stock within the forecast period. Calculates In-Stock Days, Out-of-Stock Days, OOS Ratio, shortage quantity, and shortage value.
7 - Stock Movement Tracking
A comprehensive movement report tracking 13 movement types: Sales, Sales Returns, Purchases, Purchase Returns, Internal In/Out, Adjustments In/Out, Production In/Out, Transit In/Out, and Scrap. Supports both "Date Range" and "Up to Date" modes.
8 - Inventory Aging Analysis
Shows the age (in days) of current stock from the oldest valuation layer date. Includes stock quantity ratios, value ratios, and oldest stock value per product.
9 - Age Breakdown Report
Distributes stock into 7 configurable time buckets (e.g., 1 - 30, 31 - 60, ..., >180 days). The interval is configurable (default: 30 days). Shows both quantity and value for each bucket.
Reports Explanation
Excel Export Details
All Excel exports share a consistent professional design:
- Dark Indigo title bar with white text
- Teal / Indigo alternating header columns
- Colour-coded data rows for readability
- One worksheet per Warehouse (or Company, depending on the report)
- Period dates and parameters printed at the top of each sheet
| Report | Key Columns | Filename |
|---|---|---|
| Turnover Analysis | Product, Category, Opening, Closing, Average, Sales, Ratio | turnover_analysis.xlsx |
| FSN Analysis | Product, Category, Opening, Closing, Average, Sales, Ratio, Classification | fsn_analysis.xlsx |
| XYZ Analysis | Product, Category, Qty, Stock Value, Value %, Cumulative %, Class | xyz_analysis.xlsx |
| FSN-XYZ Combined | Product, Category, Opening, Closing, Avg, Sales, Ratio, FSN, XYZ, Combined | fsn_xyz_analysis.xlsx |
| Overstock | Product, Category, Sales, ADS, Stock, Demanded, Coverage Days, Overstock Qty/Value | overstock_report.xlsx |
| Stockout | Product, Category, Stock, Sales, ADS, Demanded, In-Stock Days, OOS Days/Qty/Value | stockout_report.xlsx |
| Stock Movement | Company, Product, Category, Opening, Sales, Returns, Purchase, Adj, Prod, Transit, Scrap, Closing | stock_movement.xlsx |
| Aging | Product, Category, Stock, Value, Qty %, Value %, Age (Days), Oldest Qty/Value | aging_report.xlsx |
| Age Breakdown | Product, Category, Total Stock/Value, 7 × Bucket Qty/Value | age_breakdown.xlsx |
How to Use
1 - Using Interactive Dashboards
- Navigate to Inventory Analytics → Analysis Hub (or Stock Intelligence / Aging Center).
- Select a dashboard (e.g., FSN Dashboard).
- Set the From and To date fields (defaults to current year).
- Click Apply to refresh data.
- View KPI summary cards at the top and interactive charts below.
- Click View Detailed List to drill down into a sortable list view.
2 - Using Report Wizards
- Navigate to Inventory Analytics → Reports.
- Select a report (e.g., FSN Analysis). A wizard dialog opens.
- Fill in the Date Range (From / To dates).
- Optionally set Filters: Companies, Categories, Products, Warehouses.
- Choose an action:
- Export Excel - Downloads a professionally styled XLSX workbook.
- View Data - Opens results in a sortable Odoo list view.
- View Chart - Opens results in an Odoo graph/chart view (where available).
3 - Overstock & Stockout Wizards
These include an additional Forecast Next N Days (Lookahead) field that controls the demand forecasting horizon. A higher value catches longer-term shortages/surpluses.
4 - Stock Movement Report Modes
- Date Range - Analyses movements between two specific dates.
- Up to Date - Shows cumulative movements from the earliest record up to a chosen date.
5 - Age Breakdown Configuration
Set the Interval Days field (default 30) to define bucket sizes. Example: 30 creates buckets 1 - 30, 31 - 60, ..., >180. Setting 60 creates 1 - 60, 61 - 120, etc.
FAQ
- Q: Why do I see zero values in the FSN report?
- A: Ensure the selected date range contains completed stock moves (
state = done). Also verify that your products are of type Storable Product (type = "consu" in Odoo). - Q: Can I use different Units of Measure across products?
- A: Yes. The module automatically normalizes all quantities to each product's default UoM using Odoo's built-in UoM conversion, ensuring accurate cross-product comparisons.
- Q: How is the Overstock quantity calculated?
- A:
Overstock Qty = Current Stock - (ADS × Lookahead Days), where ADS = Total Sales in Period ÷ Number of Days in Period. Only positive values are shown. - Q: Does this module support multi-company environments?
- A: Yes. All reports respect the current company context and the company filter. Data is automatically scoped to allowed companies.
- Q: Why doesn't the Age Breakdown report show my recently received stock?
- A: The report uses
stock.valuation.layerrecords. Age is calculated from the layer's creation date. If valuation layers haven't been created (e.g., no costing method set), data won't appear. - Q: Can I customize the FSN classification thresholds?
- A: The current thresholds (ratio > 3 = Fast, ≥ 1 = Slow, < 1 = Non-Moving) are coded in the module. To change them, modify the SQL CASE expressions in the wizard files.
- Q: What graph types are available?
- A: Dashboards use Chart.js (doughnut, bar, stacked bar). Report wizards use Odoo's native graph views (pie, bar).
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module