After delivering Odoo implementation services for more than a decade across diverse businesses, from manufacturing plants to e-commerce stores. I have first seen that effective product management can make or break operational efficiency.
The difference between a streamlined, profitable Odoo instance and a chaotic one often comes down to how well you structure, organize, and manage your product catalog. Expert companies gain not just a system, but a scalable foundation for accurate inventory, seamless sales, and data-driven decision-making.
Let me walk you through everything, I have learned about adding, managing, and removing products in Odoo. This isn’t theory; these are battle-tested strategies I use daily with my clients.
Why Odoo Product Management Is Your Great Foundation
Odoo Product Management enables you to create, organize, and control products across sales, inventory, purchasing, manufacturing, and eCommerce. It supports product variants, dynamic pricing rules, stock tracking, and barcode scanning.
Products integrate seamlessly across modules, enabling real-time inventory visibility, automated reordering, and synchronized online sales. A well-configured product setup ensures efficient operations and accurate reporting.
Here’s something most Odoo tutorials won’t tell you: your product database is the central nervous system of your entire ERP. I have troubleshooted countless implementations where businesses struggled with inventory discrepancies, accounting errors, and website synchronization issues, all traced back to poorly configured products.
Your product records connect to:
– Sales orders and quotations
– Purchase orders and vendor management
– Manufacturing BOMs and work orders
– Inventory valuations and stock movements
– E-commerce listings and customer portals
– Financial reports and cost analyses
A single misconfigured product can cascade into hundreds of transaction errors. Trust me, I have spent sleepless nights cleaning up these messes.
Prerequisites: Set Up Your Odoo Foundation Right
Before creating your first product, verify these critical settings. I learned this the hard way after watching a client add 3,000 products without proper categories. We spent two weeks reorganizing everything.
1. Essential Access Rights:
– Go to Settings > Users & Companies > Users
– Ensure your role includes “Inventory Manager / Sales Manager” permissions
– For product deletion or archiving, you’ll need Administration rights
2. Critical Apps to Enable:
1. Inventory (required for product tracking)
2. Sales (for pricing and customer-facing details)
3. Purchase (if you source products from vendors)
4. Manufacturing (for bills of materials and production)
5. Website/eCommerce (for online sales)
Pro Configuration Tip:
Always enable Product Variants under Settings > Inventory > Products before adding your first item. Retrofitting variants later often leads to duplicate SKUs and data cleanup headaches.
Step-by-Step: Adding Your First Product in Odoo
I’ll demonstrate using a real-world example I recently configured for a furniture manufacturer.
Method 1: Standard Product Creation
1. Navigate to the Products Module
– Go to Inventory > Products > Products or Sales > Products > Products
– Click the bright blue Create button
2. Configure Core Product Details
Product Name: Use customer-facing language
– ✅ Good: “Executive Office Chair – Ergonomic Black Leather”
– ❌ Bad: “CHR-001-BLK-V2”
2.1. Internal Reference (SKU): Your internal tracking code
– Recommended format: CATEGORY-TYPE-NUMBER (e.g., FURN-CHR-001)
– This becomes your Primary searchable identifier across Odoo.
2.2. Product Type: Choose carefully this determines inventory behavior:
1. Storable Product: Physical items you track (e.g., furniture, electronics)
2. Consumable: Items used but not tracked (e.g., office supplies, packaging)
3. Service: Non-physical offerings (e.g., consulting, warranties)
3. Set Your Pricing Strategy Sales Price: What customers pay
– Enable Pricelists in Settings to support customer-specific pricing tiers.
– I typically maintain three: Retail, Wholesale, and VIP.
Cost: Your purchase or manufacturing cost
– This drives profit margin reports and inventory valuations.
– Update it regularly stale costs undermine reporting accuracy.
4. Configure Inventory Behavior Under the Inventory tab:
1. Routes: Select “Buy” (for purchased items) or “Manufacture” (for produced items)
2. On Hand Quantity: Set initial stock (only for storable products)
3. Reordering Rules: Define min/max levels to trigger automatic procurement
5. Categorize Intelligently Product Category: Establishes your organizational hierarchy
– Build a logical structure: All > Furniture > Office Furniture> Chairs
– Categories inherit accounting and routing rules and use them strategically to streamline configuration.
6. Click Save
– Your product becomes immediately available across all Odoo modules. I have timed it literally seconds from creation to appearing in sales orders.
Method 2: Adding Products with Variants (The Game-Changer Example for you)
This is where beginners make costly mistakes. Instead of creating 20 separate products for a T-shirt in different sizes and colors, create one product with variants
Here’s my proven process:
1. Create the Parent Product
– Name: “Premium Cotton T-Shirt”
– SKU: TEE-PREM-001
2. Define Attributes
– Navigate to Inventory > Configuration > Attributes
– Create attributes: “Size” (S, M, L, XL) and “Color” (Red, Blue, Black, White)
– Ensure the Variants option is enabled; this is critical!
3. Apply Attributes to the Product
– In the product form, go to the Variants tab
– Click Add a line under Attributes
– Select “Size” → choose all values
– Add another line → “Color” → choose all values
– Odoo automatically generates 16 variants (4 sizes × 4 colors)
4. Configure Variant-Specific Details
– Click the Configure Variants button
– Assign unique SKUs: TEE-PREM-001-S-RED, TEE-PREM-001-M-BLUE, etc.
– Add barcodes if needed
– Set price differentials (e.g., XL costs $2 more)
Real-World Impact: A clothing retailer I worked with reduced their product count from 2,400 to just 320 by using variants. Their inventory reports went from confusing to crystal-clear overnight.
Advanced Product Configuration for Power Users
I have found that these advanced features are what separate amateur Odoo implementations from enterprise-grade systems.
Manufacturing: Bills of Materials (BOMs)
– For manufactured products, bills of materials (BOMs) define the required components.
Example: The office chair we created earlier requires:
1× Ergonomic Seat Cushion
5× Wheels
1× Hydraulic Lift Mechanism
2× Armrest Assemblies
To configure:
1. Install the Manufacturing app.
2. Open the product → go to the Bill of Materials tab → select Create.
3. Add component products with their quantities.
4. Set the BOM type: “Manufacture this Product” or “Kit”.
5. Define a manufacturing routing if you’re using work centers.
Odoo Inventory Routes: Automation Magic
Routes determine how Odoo handles product replenishment. I configure these for every product:
1. Buy: Triggers purchase orders when stock runs low.
2. Manufacture: Automatically creates manufacturing orders.
3. Make to Order: Purchases or manufactures only when a sale occurs.
4. Dropship: Ships directly from the vendor to the customer.
Pro Tip: Combine routes! A product can be configured for both “Buy” and “Manufacture” Odoo will choose the optimal route based on cost and lead time.
Accounting Integration (Enterprise Feature)
– Under the Accounting tab, map products to specific accounts:
1. Income Account: The revenue recognition account.
2. Expense Account: The cost of goods sold (COGS) account.
3. Valuation Method: FIFO, LIFO, or Average Cost.
This ensures accurate financial reporting without requiring manual journal entries.
How to Safely Delete or Archive Products in Odoo
Here’s critical information most documentation glosses over: Odoo prevents you from deleting products that have been used in transactions. This safeguard protects data integrity and after seeing competitors’ systems with broken historical records, I’m grateful for it.
The Archiving Approach (Recommended)
1. When to Archive:
– Discontinued products
– Seasonal items that are out of rotation
– Test products being moved to production
– Older versions of replaced products
Step-by-Step Process:
1. Open the product record.
2. Click Action → Archive (or use the archive icon).
3. Confirm the action.
What Happens:
– The product disappears from active searches and dropdowns.
– Historical transactions remain intact.
– Reports continue to reflect accurate past data.
– The product can be unarchived at any time.
Pro Insight: I archive products quarterly during catalog reviews. This keeps your active product list manageable without sacrificing historical context.
2. True Deletion (Rare and Risky)
1. Only delete products that:
– Have never been used in any transaction
– Have no inventory movements
– Have no accounting entries
– Are genuine test or duplicate entries
2. Deletion Method:
1. Verify the product has zero transaction history.
2. Go to the product list view.
3. Select the product(s) to delete.
4. Click Action → Delete.
5. Confirm deletion (this action is irreversible!).
Warning: While providing Odoo implementation services across diverse industries from manufacturing to retail I have permanently deleted fewer than 50 products.
The risk rarely outweighs the benefits of archiving, which preserve historical data, maintain reporting integrity, and ensure complete traceability, all without cluttering the active catalog. With a disciplined archiving strategy, businesses keep their Odoo systems clean, efficient, and audit-ready while retaining valuable operational context.
3. Handling “Cannot Delete” Errors
When Odoo blocks deletion, here’s my troubleshooting process:
1. Check transaction history: Sales Orders, Purchase Orders, Inventory Moves
2. Review the Stock Valuation report for residual inventory
3. Verify that no Bills of Materials (BOMs) reference this product
4. Look for Pricelist rules that use this product
5. Search the Website for published product pages
If you find references, you have three options:
– Archive the product instead of deleting it.
– Remove the references but only if you fully understand the implications.
– Consult your Odoo implementation partner.
Common Product Management Mistakes I See Repeatedly
In my consulting practice, I have identified recurring errors that cost businesses time and money:
Mistake 1: Creating Individual Products Instead of Using Variants
1. The Problem: A shoe store creates 100 separate product records for a single shoe style across sizes and colors.
2. The Solution: Use one parent product with size and color variants reducing 100 records to just one.
3. Business Impact: Cleaner catalogs, faster reporting, and simpler inventory management.
Mistake 2: Inconsistent SKU Naming
1. The Problem: SKUs like Prod1, CHAIR-BLACK, and FRN-003-V2-OLD with no standardized format.
2. The Solution: Establish a consistent SKU convention, such as: [CATEGORY]-[TYPE]-[NUMBER]-[VARIANT].
3. My Standard: 3–4 letter category codes, sequential numbers (001–999), and optional variant suffixes.
Mistake 3: Ignoring Product Categories
1. The Problem: All 1,000+ products dumped into a flat list labeled “All Products.”
2. The Solution: Build a logical category hierarchy:
All Products
1. Furniture
1.1 Office
1.1.1 Desks
1.1.2 Chairs
1.2 Home
2. Electronics
3. Benefit: Categories inherit configuration settings, making bulk updates effortless.
Mistake 4: Deleting Instead of Archiving
1. The Problem: Attempting to delete products that have been used in transactions breaking historical data integrity.
2. The Solution: Archive obsolete items to preserve audit trails and reporting accuracy.
3. Real Cost: I have seen companies lose critical audit trails and fail compliance reviews due to deleted products.
Mistake 5: Skipping Staging Environment Testing
1. The Problem: Making product changes directly in production during business hours.
2. The Solution: Always test in a staging environment before going live especially for:
– Bulk imports
– Variant reconfigurations
– Inventory route changes
– BOM updates
3. Insurance Policy: This single practice prevents 90% of product-related disasters.
Best Practices from a Decade of Implementation
These strategies have saved my clients thousands of hours and prevented countless errors:
1. Establish Product Governance
Create clear documentation that defines:
– Who can create or modify products
– Naming conventions for products and SKUs
– Approval workflows for new product requests
– Quarterly catalog review schedules
2. Use Bulk Import/Export
For more than 10 products, use CSV import:
– Export existing products to use as a template
– Populate the spreadsheet with new product data
– Import with data validation enabled
– Review imported records immediately for accuracy
Time Savings: I have imported 5,000 products in 20 minutes versus days of manual entry.
3. Implement Product Templates
Create reusable templates for common product types:
– Standard manufactured item
– Basic purchased product
– Service product template
Duplicate a template and customize it this dramatically reduces configuration time.
4. Conduct Regular Catalog Audits
Schedule quarterly reviews to:
– Archive discontinued items
– Update costs and prices
– Verify category assignments
– Remove duplicate entries
– Refresh product images and descriptions
5. Integrate with External Systems
Connect your Odoo product master to:
– E-commerce platforms (e.g., Shopify, WooCommerce)
– Marketplaces (e.g., Amazon, eBay)
– EDI systems for automated purchase orders
– Third-party logistics (3PL) providers
Consistency: A single product master feeding all channels eliminates synchronization headaches and ensures data integrity across systems.
Leveraging Odoo Product Management for Business Growth
After optimizing product databases, I have observed these transformative outcomes:
1. Faster Order Processing:
Clear, consistent product data enables sales teams to find items instantly.
2. Accurate Financial Reporting:
Proper cost tracking and account mapping deliver reliable margin analysis.
3. Efficient Odoo Inventory Management:
Well-configured replenishment routes and reordering rules prevent both stockouts and overstock.
4. Seamless Omnichannel Operations:
A single, unified product record powers in-store, online, and wholesale channels.
5. Scalable Growth:
A solid product data foundation supports 10x catalog expansion without chaos.
Your Action Plan for Odoo Product Management Excellence
Here’s exactly how to implement everything I have shared:
Week 1: Foundation Setup
– Document your SKU naming convention.
– Create a logical product category hierarchy.
– Define product attributes for variants (e.g., size, color, material).
– Set up user permissions and access controls.
Week 2: Template Creation
– Build 3–5 reusable product templates (e.g., manufactured, purchased, service).
– Configure default inventory routes, accounting accounts, and other settings.
– Test each template with sample products to validate behavior.
Week 3: Migration or Product Creation
– Import or create products systematically using CSV or structured entry.
– Apply categories and attributes consistently across all items.
– Configure variants where applicable to avoid creating individual products.
Week 4: Optimization
– Set up reordering rules based on demand and lead times.
– Configure Bills of Materials (BOMs) for manufactured items.
– Test end-to-end product creation and order workflows.
– Train team members on product governance and best practices.
Ongoing: Maintenance
– Weekly: Monitor new product additions for compliance with standards.
– Monthly: Review product performance (sales, margins, stock turnover).
– Quarterly: Conduct comprehensive catalog audits, archive discontinued items, update pricing, and remove duplicates.
– Annually: Reassess your category structure, attributes, and naming conventions for scalability.
Ready to Transform Your Odoo Product Management?
Product management excellence isn’t just about following steps, it’s about building scalable systems that grow with your business. I have implemented these systems for companies with annual revenues ranging from $10M to $500M, and the core principles remain consistent across all of them.
Need expert help implementing these strategies?
Our team of dedicated Odoo developers has optimized product databases for more than 50+ companies across manufacturing, distribution, and e-commerce.
Schedule Your Free Odoo Product Audit with a Certified Odoo Consultant Partner , We’ll review your current setup and provide actionable, prioritized recommendations for improvement.
Frequently Asked Questions About Odoo Product Management
How many products can Odoo handle?
Both Odoo Community and Enterprise editions support extensive catalogs up to 100,000+ SKUs with proper server infrastructure and database optimization.
How to import products from Excel/CSV files in odoo?
Yes. From the product list view, click the star (☆) icon and select “Import Records.” Use the provided template, and always test with a small batch (50–100 products) first. Back up your database before large-scale imports.
Difference between archiving and deleting products?
Archiving hides products from active views while preserving all historical transactions ideal for maintaining audit trails and compliance.
Deletion is permanent and only allowed for products with zero transaction history. In practice, I archive 99% of the time to protect data integrity.
How do I change a product from storable to consumable in odoo?
Odoo doesn’t allow changing product types after transactions to prevent inventory inconsistencies. Instead: create a new product with the correct type, transfer any remaining stock via inventory adjustment, and archive the original. It’s tedious but essential for data accuracy.
How to assign different prices to different customers in odoo?
Yes. Enable pricelists in Settings > Sales > Pricing, then create customer-specific pricelists (e.g., Retail, Wholesale, VIP) with fixed or percentage-based rules. I typically configure 3–5 pricelists per company, often tailored by product category or individual item.
How do product variants affect inventory tracking in odoo?
Each variant tracks inventory independently so “Red/Small” and “Blue/Large” are managed as separate stockable units. This enables precise stock control across attribute combinations, with reports showing both parent-level summaries and individual variant quantities.
What happens to products when I uninstall modules from odoo?
Products remain in your database, but module-specific data (like BOMs, routes, or manufacturing settings) becomes inaccessible until the module is reinstalled. Always export critical configuration data before uninstalling major apps.
Can I recover a deleted product from odoo?
Only if you have a recent database backup. Once a product is deleted (not archived), it’s permanently removed Odoo has no recycle bin. Archiving is always the safer choice for data preservation.
How do I bulk update product prices or categories in odoo?
In Odoo Enterprise, use bulk editing in list view: select products and edit fields directly. For complex updates, export to CSV, make changes in Excel, and re-import. I use this method quarterly to efficiently update hundreds of prices.
What are reordering rules, and when should I use them in odoo?
Reordering rules automatically trigger purchase or manufacturing orders when stock falls below a defined minimum. I recommend them for fast-moving SKUs: set the minimum quantity to your safety stock plus average weekly usage. Odoo evaluates these rules daily by default.
People Also Ask About Odoo Product Management
How do I add product images in Odoo?
Click the camera icon on the product form to upload a high-quality image (minimum 1200×1200 px). Use the Images tab for additional gallery photos. Always compress images to under 200 KB to ensure fast page loading especially for e-commerce.
Can Odoo automatically generate SKUs?
Yes, using sequences: go to Settings > Technical > Sequences and create a pattern like PROD-%(y)s-0001. Apply it via automated actions or a custom module. That said, most of my clients prefer manual SKUs for greater control, consistency, and readability.
How do I set up product bundles or kits in Odoo?
Create a product and set its Bill of Materials (BOM) type to “Kit.” Add components with quantities. When the kit is sold, Odoo automatically deducts stock from the individual components, making them perfect for gift sets, starter packs, or promotional bundles.
Best way to organize 10,000+ products in odoo?
Build a logical category hierarchy (3–5 levels deep), use consistent SKU prefixes that mirror categories, and apply tags for cross-cutting attributes (e.g., “Clearance,” “Bestseller,” “Seasonal”). Train your team on Odoo’s search operators and create custom list-view filters for frequently used segments.
How do I handle serialized or lot-tracked products in odoo?
Enable “Tracking by Unique Serial Number” or “Tracking by Lots” in the product’s Inventory tab (requires the Inventory app). Every receipt and delivery will then track serial or lot numbers, critical for industries such as electronics, pharmaceuticals, and food that require traceability.
Can I set product availability dates for seasonal items in odoo?
Odoo doesn’t include built-in seasonal date fields, so I use a combination of a “Seasonal” tag and a custom attribute like “Available Season” (Spring, Summer, etc.). For e-commerce, control visibility by setting publication dates and automate archiving/unarchiving based on the season.
How do I manage products across multiple companies in Odoo?
Configure products at the parent company level and use the “Available in” field to share them across subsidiaries. Each company maintains independent inventory levels, pricing, and accounting ideal for multi-entity organizations with shared catalogs but separate operations.
What’s the correct way to handle discontinued products with warranty obligations?
Never delete them. Archive discontinued products and add a “Discontinued” tag for easy identification. Retaining historical data ensures you can honor warranty claims and meet legal or compliance requirements. Deletion risks audit failures and liability archiving keeps you safe.


