The challenge
Mechanical Products IL machines and assembles custom precision components — which means a large, fast-changing product catalog with frequent price revisions from vendors. Their entire product lifecycle ran on manual Excel imports into Odoo, and the process was breaking down at every step.
- Imports assigned wrong manufacturers, mangled date formats, and silently failed to create, update, or archive products
- Sales and cost prices didn't update on import — quotations and purchase orders went out with stale, wrong numbers
- POs generated from sales orders didn't pick up the latest vendor price
- Dropship orders routed to the wrong entity — the parent company was never assigned on purchase orders
Every catalog refresh meant hours of manual cleanup, and every pricing error eroded margin or credibility with customers. They needed the import-to-order pipeline to run itself — correctly.
Our approach
This wasn't an implementation project — it was surgical Odoo customization on a live system. We mapped every failure point in the product data flow, then built targeted fixes rather than asking the client to change how they work: they keep supplying Excel sheets, and Odoo now handles the rest.
Custom product-lifecycle module
- Price update — standard/cost prices refreshed automatically for existing products from the uploaded sheet
- Product creation — any product code not found in the database is created with correct manufacturer, dates, and pricing
- Product archiving — products missing from the latest sheet are archived automatically, keeping the catalog clean
Automated data pipeline
- Scheduled actions (cron jobs) keep standard_price fields in sync without anyone touching the system
- Custom write scripts validate and normalize data — manufacturer assignment and date formats fixed at import time
Sales–purchase integration fixes
- Overrode core Odoo purchase methods so POs created from sales orders or replenishment always pull the latest vendor price
- Repaired dropship routing so the parent company is correctly assigned on every purchase order
Outcomes
Catalog maintenance went from an error-prone manual chore to a background process. Prices flow correctly from vendor sheet to quotation to purchase order, and the product database stays accurate without human intervention.
- Product imports run automatically — create, update, archive — with no manual cleanup
- Quotations, sales orders, and POs always reflect current pricing, restoring financial data integrity
- Dropship and replenishment orders route correctly on the first try
- A stable, self-correcting product database the team actually trusts
“We used to dread catalog updates — every import broke something. Now we drop in the Excel sheet and Odoo handles the rest. Prices are right on every quote and PO, and my team got hours of their week back.”
Operations Team · Mechanical Products IL
