Odoo
Implementation
$ 7.02
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 232 |
| Technical Name |
tracking_stock_move |
| License | OPL-1 |
| Website | https://lucidbrainz.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 232 |
| Technical Name |
tracking_stock_move |
| License | OPL-1 |
| Website | https://lucidbrainz.com |
Idle Stock Tracker - Dead Stock & Stagnant Inventory Management (تقرير الرواكد)
Advanced Idle Inventory Analysis, Dead Stock Detection & Multi-Branch Tracking for Odoo 18
Overview
Idle Stock Tracker (تقرير المخزون الراكد) by LucidBrainz is a powerful inventory optimization solution for Odoo 18 that automatically identifies and tracks idle, stagnant, and dead stock across your warehouse locations, product categories, and multiple branches. Say goodbye to manual spreadsheet tracking and guesswork! This intelligent module helps you pinpoint products with zero movement during specified date ranges, track inventory by specific locations, filter by product categories, and generate professional Excel reports with bilingual headers (Arabic/English) for actionable insights. Perfect for warehouse managers, inventory controllers, supply chain professionals, multi-branch retail operations, manufacturing companies, distribution centers, e-commerce businesses, and any organization struggling with excess inventory, slow-moving stock, obsolete products, or cash flow tied up in dead inventory. The module features location-based tracking checkboxes, category-based filtering, intelligent stock movement analysis, multi-branch support with branch selection, flexible date range filtering, automatic idle stock detection algorithms, Excel report generation with Arabic title and headers, real-time on-hand quantity display, product code/barcode integration, and full category hierarchy display. It intelligently identifies three critical categories of idle inventory: (1) Products that moved during the period but NOT to tracked locations, (2) Products that moved to tracked locations but OUTSIDE the selected date range (before or after), and (3) Products with absolutely zero stock movements ever recorded but belong to tracked categories. The system gives you complete control through simple checkbox configurations on warehouse locations ("Track Stock Location") and product categories ("Track Product Category Location"), allowing you to focus analysis on critical inventory areas while ignoring irrelevant stock. When you generate a report, the module automatically compiles all idle products showing current on-hand quantities, product names, barcodes/internal codes, and full category paths, presenting everything in a beautifully formatted Excel spreadsheet with bilingual Arabic/English headers ("تقرير المخزون الراكد"), color-coded yellow headers, bordered cells, proper column widths, and date/branch information at the top. Ideal for businesses that want to reduce carrying costs by 30-40%, free up warehouse space, identify clearance sale opportunities, prevent stock obsolescence, improve cash flow, optimize purchasing decisions, reduce write-offs, plan promotional campaigns, and make data-driven inventory management decisions across multiple branches!
Key Features
- Location Tracking Checkbox: Simple "Track Stock Location" checkbox on stock location form (appears after Replenish Location field). Enable tracking for critical warehouse locations like main stock, retail stores, or specific zones
- Category Tracking Checkbox: "Track Product Category Location" checkbox on product category form. Monitor specific categories (e.g., Electronics, Furniture, Saleable items) while ignoring irrelevant categories
- Multi-Branch Selection: Dropdown to select specific branch for idle stock analysis. Perfect for companies with multiple warehouses, distribution centers, retail stores, or regional offices across different cities
- Flexible Date Range: "Date From" and "Date To" datetime fields to analyze idle stock for any period (last week, last month, last quarter, custom range). Automatic validation prevents Date To being before Date From
- Excel & PDF Options: Report Type selection with radio buttons for XLS (Excel) or PDF format. Excel report is fully implemented with professional formatting. Instant download with one click on "Print Excel Sheet" button
- Intelligent Idle Detection: Three-layer algorithm identifies: (1) Products that moved but not to tracked locations, (2) Products that moved to tracked locations outside selected dates, (3) Products with zero movements ever
- Stock Move Analysis: Searches all stock.move records filtered by tracked product categories, tracked destination locations, branch locations, and creation dates. Uses efficient domain filters and lambda functions
- Smart Filtering Logic: Automatically filters movements: date range filtering (m.create_date >= date_from and
- Bilingual Excel Report: Report title in Arabic "تقرير المخزون الراكد" (Idle Stock Report) with 36px large font, centered, bold. Headers support both Arabic and English. Professional formatting for Middle East businesses
- Professional Excel Formatting: Yellow highlighted header cells (bg_color: yellow), bordered cells (border: 2), centered text alignment, custom column widths (A:A 40px, B:E 20px), merged title cells across columns
- Comprehensive Data Table: Report includes: Product Name (full name from product.product), Code (barcode or internal reference), On Hand (qty_available - real-time quantity), Category (full hierarchy display_name)
- Report Metadata: Top section shows: Date From (formatted datetime), Date To (formatted datetime), Branch Name (from res.branch), all displayed in yellow highlighted cells with proper labels
- Product Set Operations: Uses Python set operations (| operator) to merge three product categories without duplicates: not_stock_move_product | untracked_products | outer_products
- Zero Movement Detection: Identifies products where stock_move_ids = False (no movements at all) but categ_id.track_product_categ = True. Perfect for finding new/imported items never moved
- Movement Exclusion: Automatically excludes products that DID move to tracked locations during the selected period. Shows only truly idle/stagnant inventory that needs attention
- Historical Movement Analysis: "Outer moves" detection finds products moved to tracked locations before date_from or after date_to. Helps identify seasonal patterns or recently stocked items
- Real-Time Quantities: Displays current on-hand quantities (qty_available) at report generation time, not historical data. Shows actual stock levels that need clearance or attention
- Product Code Display: Shows product barcode field or internal reference in Code column. Easy product identification for warehouse staff, making physical inventory checks simple
- Full Category Hierarchy: Uses categ_id.display_name to show complete category path (e.g., "All / Saleable / Outdoor furniture"). Provides context for inventory decisions
- Easy Access Menu: Located at Reports → Inventory → Idle Stock Report. Seamlessly integrated into Odoo's reporting structure under Inventory submenu for quick access
- Simple Wizard Interface: Clean popup form with just 4 fields: Date From, Date To, Branch dropdown, Report Type radio buttons. Fill details and click "Print Excel Sheet" - report generates instantly
- Date Validation: @api.constrains decorator validates Date To must be after Date From. Raises ValidationError('Date From Must Not Be Before Date To') preventing incorrect reports
- Instant Download: Report generates and downloads immediately as XLSX file with filename format. No background processing, no waiting - immediate Excel file ready to analyze
- Model Inheritance: Extends stock.location (adds track_stock_loc boolean), product.category (adds track_product_categ boolean). Clean inheritance without modifying core Odoo models
- Abstract Report Model: Uses report.report_xlsx.abstract inheritance for XLSX generation. Implements _get_report_values() and generate_xlsx_report() methods following Odoo report patterns
- TransientModel Wizard: idle.stock.report uses TransientModel (temporary data automatically cleaned after generation). Keeps database clean without storing wizard records permanently
- Clean Code Architecture: Well-organized module structure with separate models/, wizard/, report/, views/ folders. Proper Python inheritance, descriptive variable names, clear logic flow
- XLWT Library Integration: Uses xlwt Python library for Excel generation with features: workbook.add_worksheet(), workbook.add_format(), sheet.write(), sheet.merge_range(), sheet.set_column()
- Configuration Views: XML views for stock.location form (inherit_id: stock.view_location_form), product.category form (inherit_id: product.product_category_form_view). Checkboxes positioned logically after related fields
Module Screenshots
Stock location form (WH/Stock) showing "Track Stock Location" checkbox in unchecked state. Checkbox appears in the Additional Information section after "Replenish Location" field. Location details include: Parent Location (WH), Branch field, Location Type (Internal Location), Company, Barcode (WHSTOCK).
Same WH/Stock location with "Track Stock Location" checkbox now checked (enabled). When enabled, this location's inventory movements will be analyzed in the idle stock report. Perfect for tracking main warehouse stock, retail locations, or specific zones you want to monitor.
Product Category form (Outdoor furniture) with "Track Product Category Location" checkbox enabled. Category shows Parent Category (All / Saleable), and belongs to "All / Saleable / Outdoor furniture" hierarchy. Checkbox appears after Inventory Valuation field. When checked, all products in this category will be included in idle stock analysis. Chatter shows "OdooBot - Product Category created" timestamp.
Main Odoo dashboard showing all installed applications including: Discuss, To-do, Sales, Dashboards, Accounting, Project, Purchase, Inventory, Manufacturing, Shop Floor, Barcode, Employees, Link Tracker, Reports, and Tracking Reports (our module). Notice "Tracking Reports" app icon with cube/box design indicating inventory tracking functionality. Blue notification banner shows "This database will expire in 1 month" with subscription options.
"Idle Stock Report" popup wizard with 4 input fields:
• Date From: 11/07/2025 16:00:00 (datetime picker)
• Date To: 11/08/2025 16:00:00 (datetime picker)
• Branch: Empty dropdown for branch selection
• Report Type: Radio buttons with XLS selected, PDF option available
Footer buttons: "Print Excel Sheet" (primary action), "Discard" (cancel)
Odoo's "Configure your document layout" dialog showing customization options for PDF reports: Layout styles (Light, Boxed, Bold, Striped, Bubble, Wave, Folder), Background (Blank), Text (Lato), Company logo, Colors (purple/black), Address, Tagline, Footer, Paper format (US Letter). Right side shows invoice preview demonstrating how reports will appear with chosen layout. Note: This configuration is for PDF reports if you implement PDF functionality in future.
Professional Excel report with Arabic title "تقرير المخزون الراكد" (Idle Stock Report) in large 36px font, centered across columns B-D.
Top Section (Yellow Headers):
• From: 2025-11-07 10:30:00 | To: 2025-11-08 10:30:00 | Branch: FALSE
Data Table (Yellow Headers, Row 10):
• Name | Code | on hand | category
Sample Data (Row 11):
• Product: "Outdoor dining table" | Code: FALSE | On Hand: 0 | Category: "Saleable / Outdoor furniture"
All cells have borders, centered alignment, proper column widths. Sheet tab shows "تقرير مخزون الرواكد" (Arabic name). Excel ribbon visible showing Home tab with formatting options (Calibri font, size 11, alignment tools, number formatting, styles, etc.)
Our Services
Odoo
Customization
Odoo
Migration
Support &
Maintenance
📞 Contact Us
WhatsApp:
Email:
Website: |
🌐 Follow Us📘 Facebook 📸 Instagram 💼 LinkedIn 🎥 YouTube |
© 2025 LucidBrainz | All Rights Reserved
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