Custom ERP for
discrete manufacturing.
**Client:** Leading Industrial Parts Manufacturer in Western India **Objective:** Unify multi-site shop floors, resolve database bottlenecks during Odoo modernization, and automate financial ledger synchronization.
1. Project Context & Industry Background
Discrete manufacturing is a highly complex sector characterized by the assembly of distinct, identifiable items—ranging from precision automotive engine blocks to industrial valves. The manufacturing hubs in Western India (primarily located across industrial corridors in Surat, Ahmedabad, and Rajkot) operate in highly competitive, low-margin ecosystems. Under Just-in-Time (JIT) operating frameworks, tier-1 automotive component suppliers are required to guarantee inventory availability and exact shipment deliveries, with zero tolerance for delays or quality defects.
The client, a leading discrete manufacturer of precision transmission components, operates three factories in Gujarat, India, managing more than 12,000 active stock-keeping units (SKUs) across raw steel alloys, semi-finished components, and finished gears. Their business logic requires keeping track of multi-level Bills of Materials (BOMs) containing nesting yield data, scrap margin rules, CNC machining operational routings, and heat-treatment schedules.
2. Operational Challenges & System Decay
Prior to our modernization program, the client's operations were severely bottlenecked by a legacy, decade-old Odoo 10 ERP instance and offline spreadsheets. Key operational challenges included:
- Work-in-Progress (WIP) Information Lag: Machine task completions and scrap reports were recorded on physical paper clipboards. Operators compiled these tallies and keyed them into the ERP at the end of each shift. This created a 12-to-24-hour WIP information lag, making it impossible to detect CNC machine bottlenecks or material shortages in real time.
- Database Decay & Relational Integrity Failures: Over ten years of continuous operations, the PostgreSQL 9.6 database accumulated severe data corruption. Relational join tables (such as
request_stage_users_rel_serviceandworkflow_request_form_rel_service) developed hundreds of orphaned rows that referenced deleted master records. These orphaned rows caused database locks and crashes during peak transaction shifts. - UI List View Performance Bottlenecks: Custom list views in the old Odoo system evaluated visibility rules (the 'invisible' tag attribute) line-by-line in the browser DOM. When displaying massive tables (like 5,000+ MRO items), the browser interface froze, slowing down operator tasks.
- Billing & Ledger Inefficiencies: Completed manufacturing orders had to be manually extracted, formatted as CSV sheets, and imported into the corporate parent's Oracle ERP system. This manual bridge delayed customer invoicing by up to 14 business days, restricting operational cash flow.
3. Technical Architecture & Database Refactoring
Hedonist Solutions engineered a complete system modernization, transforming the legacy ERP into a high-availability, integrated platform:
// PostgreSQL Database Migration & Relational Alignment
We migrated the primary database engine from PostgreSQL 9.6 to PostgreSQL 16 on AWS RDS. During this migration, we developed custom Python and psycopg2 data alignment scripts. The scripts checked relational constraints and deleted orphaned records from the link tables before applying foreign key constraints:
DELETE FROM workflow_request_form_rel_service WHERE item_id NOT IN (SELECT id FROM service_request_workflow);
We also aligned administrative credentials across all modules and optimized database parameters (such as shared_buffers and work_mem) to support fast queries.
// Odoo 19 View Refactoring & OWL Optimization
On the ERP interface side, we refactored custom views to Odoo 19 standards. All deprecated invisible attributes inside list and tree views (such as in mro_item_view.xml and unmd_main_view.xml) were replaced with the modern column_invisible attribute. This allows Odoo's OWL Javascript framework to render list views in a single pass without calculating DOM rules per row, improving grid rendering speed by over 300%.
// Automated Oracle ERP Connector
To automate the billing bridge, we built a secure synchronization gateway. When a shipment is verified in Odoo, the gateway extracts shipping logs, compiles transaction payloads, and transmits them via REST API connections to the Oracle corporate ledger. This automated ledger reconciliation resolved the 14-day invoicing backlog.
4. Business Results & Impact
Machine scheduling optimization eliminated CNC idle time.
Real-time inventory sweeps resolved raw material discrepancies.
Pallet transit check-ins accelerated component routing.
Frequently Asked Questions
// DEPLOYMENT SUMMARY
Achieve similar manufacturing efficiency.
We design custom enterprise software, optimize PostgreSQL databases, and migrate legacy Odoo configurations.
