Industrial surface treatment · Multi-unit Odoo V19 ERP
The Blast Top: five blasting and coating units serving IOCL, Adani and ONGC, run on spreadsheets and paper QC reports
Published · Updated
The Blast Top is one of Gujarat's leading industrial surface treatment and protective coating companies, headquartered in Ahmedabad. Since 2011 it has run five production units across Ramol, Odhav and Bakrol, providing abrasive blasting, protective painting, powder coating, stainless steel finishing and coating consultancy to IOCL, Adani Group, HPCL, ONGC, L&T, EPC contractors and fabricators. KoderXpert put all five units, their consumables, inspections, procurement, maintenance, HR and finance on one Odoo V19 instance.
Designed, built and delivered by KoderXpert Technologies Pvt. Ltd.
Official Odoo Ready Partner · Ahmedabad & Gandhinagar, India
- Client
- The Blast Top, Ahmedabad
- Industry
- Industrial surface treatment & protective coating
- Platform
- Odoo V19, 10 modules
- Implementation partner
- KoderXpert Technologies
- Headline result
- Job-wise profitability across five units
01 · Overview
The 30-second version
- The Blast Top is an Ahmedabad surface treatment and protective coating company, operating five production units across Ramol, Odhav and Bakrol since 2011, serving IOCL, Adani Group, HPCL, ONGC, L&T, EPC contractors and fabrication companies.
- Before Odoo, the five units ran on spreadsheets, manual documentation and disconnected processes: paper job cards, no central view of abrasives and paint, procurement done separately at each unit, quality reports in physical files, no preventive maintenance schedule for cranes and blasting gear, manual GST invoicing and payroll, and no way to tell whether a job made money.
- KoderXpert implemented ten Odoo V19 modules on one instance: a job-based manufacturing flow from inquiry to GST invoice, multi-warehouse consumable inventory across all five units, procurement with three-way matching, eight digital inspection checkpoints, preventive equipment maintenance, HR and payroll with PF and ESI, cost-centre accounting with job-wise profitability, and executive dashboards.
02 · Where the old way broke down
What was going wrong before Odoo?
Five units, five sets of habits, and a customer's steel somewhere in between
Surface treatment is a job business: a customer sends steel, it is blasted, coated, inspected and returned, and the margin lives in consumables, man-hours and rework. With five units on spreadsheets and paper, none of those three was visible until long after the job had shipped.
Paper job cards, no live status
Manual job card management gave no real-time production visibility. Where a customer's steel was, and which unit had it, was a question for the floor supervisor.
The cost → no answer for the customerConsumables untracked
No centralised tracking of abrasives, paints and coating materials, and limited visibility into stock moving between units.
The cost → paint bought twice, or run outFive separate procurement processes
Each production unit bought independently, with no approved vendor list, no consolidated buying and no approval trail.
The cost → five prices for the same abrasiveQuality reports in filing cabinets
Inspection reports for blast profile, DFT and adhesion were stored physically, so traceability for clients such as IOCL and ONGC meant finding the right folder.
The cost → traceability on request onlyCranes and blasting gear fixed when broken
No preventive maintenance scheduling for cranes and blasting equipment, so downtime arrived unannounced in the middle of a job.
The cost → a unit stopped mid-jobNo job-wise profitability
Manual GST invoicing and accounting, manual HR attendance and payroll, and no way to attach consumables and hours to a job meant profitability per job was unknown.
The cost → pricing the next job blind03 · The turnaround
Drag it and see the before & after yourself
Slide the orange handle. Left is the paper era, right is the connected platform.
- ✗ Paper job cards with no real-time production visibility
- ✗ Abrasives and paint untracked across five units
- ✗ Each unit buying on its own, no approval trail
- ✗ Blast and DFT inspection reports in physical files
- ✗ Manual GST invoicing, manual payroll, no job margin
the filing-cabinet era 😵
five units, one instance ✨
- ✔ Digital job cards with work centre execution, live per unit
- ✔ Multi-warehouse consumables with lot tracking and reorder rules
- ✔ Requisition to RFQ to PO to GRN, with three-way matching
- ✔ Eight digital inspection checkpoints with full traceability
- ✔ GST invoicing, PF and ESI payroll, job-wise profitability
← drag toward the paper · drag toward the platform →
04 · The plan
What we aimed to achieve
Ten objectives were set for a unified Odoo V19 platform across all five units; they group into six. Hover any goal to tick it off.
Centralise job management: one inquiry-to-invoice workflow across all five locations.
See consumables and buy once: inventory visibility for abrasives and paint, with procurement and vendor approvals standardised across units.
Digitise quality inspections: every checkpoint recorded in the system, traceable per job.
Maintain equipment before it fails: preventive maintenance for cranes and blasting equipment.
Automate accounting, HR and payroll: GST-compliant books and attendance-driven payroll on the same platform.
Know each job's margin: track job-wise profitability and give management real-time dashboards.
05 · What we delivered
What did KoderXpert build?
Ten Odoo V19 modules, one instance, built for surface treatment
CRM, Sales, Manufacturing, Inventory, Purchase, Accounting, HR and Payroll, Quality, Maintenance and Field Service, configured and extended for a job-based coating business. The job card is the spine: every consumable, inspection, hour and invoice attaches to it.
Job management & manufacturing
Inquiry to quotation, sales order, job card, manufacturing work orders, material issue, work centre execution, inspection, delivery and GST invoice as one flow. Each job card carries surface area, blast profile standard, paint system, required DFT, coats, customer PO, third-party inspection details and unit allocation.
the job card knows everythingMulti-site inventory
All five production facilities on one instance: multi-warehouse management, inter-unit stock transfers, consumable tracking, lot and batch tracking, reorder rules and warehouse-wise visibility.
one paint stock, five racksProcurement automation
Purchase requisitions, RFQs, purchase orders, approval workflows, goods receipt notes, vendor bills, three-way matching, approved vendor lists and blanket purchase orders, standardised across every unit.
one price list, one approval trailQuality management
Eight digital checkpoints through the production lifecycle: pre-blast surface, post-blast profile, paint thickness (DFT), holiday testing, adhesion, third-party inspection management, digital QC reports and non-conformance tracking.
traceability without the folderEquipment maintenance
Preventive maintenance scheduling, breakdown requests, maintenance work orders, spare parts consumption, technician assignment, equipment history and maintenance cost tracking for cranes and blasting equipment.
downtime on the calendar, not by surpriseAccounting, GST, HR & payroll
GST-compliant tax configuration, invoicing, vendor bills, receivables and payables, bank reconciliation, cost-centre accounting, job-wise profitability and e-invoicing readiness; plus employee master, attendance, shift management, payroll with PF and ESI, certification and skill records.
margin per job, payroll per shift06 · Functional deep dive
How the connected system actually works
The module list says what was switched on. This is what happens to a customer's steel from the moment the inquiry arrives to the moment the job's margin is known.
Inquiry to job card to work order
Surface treatment is job-based manufacturing, so the flow was built around the job rather than a product.
- Inquiry to quotation to sales order: CRM and Sales capture the customer's requirement and PO, and confirmation generates the job card.
- The extended job card: custom fields for surface area, blast profile standard, paint system, required DFT, number of coats, customer PO, third-party inspection details and production unit allocation, so the specification travels with the job.
- Manufacturing work orders: blasting, painting and finishing run as work orders at named work centres, with material issue against each.
- Delivery and invoice: completion releases delivery and the GST invoice from the same record.
Consumables across five units
Abrasive, paint and coating material are where a coating job's cost hides. They are now tracked per warehouse and per lot.
- Multi-warehouse: Ramol, Odhav and Bakrol units each hold their own stock on the same instance, with warehouse-wise visibility.
- Inter-unit transfers: moving paint from one unit to another is a stock transfer, not a phone call and a forgotten adjustment.
- Lot and batch tracking: which batch of paint went onto which job is recorded, which matters when a client asks.
- Reorder rules: minimum levels trigger replenishment before a unit runs short mid-job.
Procurement, standardised
Five independent buying processes became one, without slowing any unit down.
- Requisition to RFQ to PO: units raise requisitions; purchasing sends RFQs and issues orders through an approval workflow.
- Approved vendor lists and blanket POs: recurring consumables are bought against agreed vendors and rates rather than negotiated five times.
- GRN and three-way matching: goods receipt, purchase order and vendor bill are matched before payment, so what is paid for is what arrived.
Quality inspections, digitised
Clients such as IOCL, ONGC and L&T expect inspection records. They now exist the moment the check is done.
- Eight checkpoints: pre-blast surface inspection, post-blast profile verification, paint thickness (DFT), holiday testing, adhesion testing, third-party inspection management, digital QC reports and non-conformance tracking.
- Attached to the work order: each check sits on the operation it belongs to, so a job cannot proceed past a failed inspection unnoticed.
- Third-party inspection managed: external inspector visits and sign-offs are records on the job card, not a separate diary.
- Non-conformance tracked: a failed check opens a non-conformance with its resolution, giving rework a cost and a cause.
Equipment maintenance
A crane or a blasting pot that stops mid-job stops the unit. Maintenance moved from reactive to scheduled.
- Preventive scheduling: cranes and blasting equipment carry maintenance schedules, generating work orders ahead of time.
- Breakdown requests and work orders: failures are logged, assigned to a technician and closed with spare parts consumption recorded.
- Equipment history and cost: every intervention accumulates on the asset, so the true cost of keeping each machine running is known.
Accounting, payroll and job-wise profitability
Profit per job was the objective that everything else served. It needs cost from stock, hours from payroll and revenue from the invoice on one record.
- GST-compliant accounting: tax configuration, customer invoicing, vendor bills, receivables, payables, bank reconciliation and e-invoicing readiness.
- Cost-centre accounting: each unit and each job is a cost centre, so consumables and maintenance land where they were incurred.
- HR and payroll: employee master, attendance, shift management, payroll with PF and ESI compliance, certification tracking and skill records, so labour cost is real and current.
- Job-wise profitability: revenue, consumables, hours and rework meet on the job card, which is what makes the next quotation an informed one.
Why the job card had to carry the specification
Blast profile, paint system, required DFT and number of coats decide how much abrasive and paint a job consumes and which inspections it needs. Putting those fields on the job card means the work orders, the material issue and the QC checkpoints are generated from the specification rather than remembered by the supervisor, and the profit calculation at the end is comparing the right things.
07 · How we built it
How was the Odoo project delivered?
The job card first, then everything that attaches to it
In a job business the job card is the record everything else references, so it was designed and agreed before stock, quality, maintenance or finance were configured against it.
Process discovery across the five units walk each shop floor
Blasting, painting and finishing flows, consumable handling and inspection practice mapped at Ramol, Odhav and Bakrol, along with how each unit bought, maintained and reported.
Job card & manufacturing design the spine of the build
The inquiry-to-invoice flow and the extended job card designed first: surface area, blast standard, paint system, DFT, coats, customer PO, third-party inspection and unit allocation.
Configuration & custom development ten modules on Odoo V19
CRM, Sales, Manufacturing, Inventory, Purchase, Accounting, HR and Payroll, Quality, Maintenance and Field Service configured, with custom fields, checkpoints and job-wise costing developed in Python and QWeb.
Multi-site stock, procurement & quality setup five warehouses, eight checkpoints
Warehouses per unit, inter-unit transfers, lot tracking and reorder rules; approved vendors, blanket POs and three-way matching; and the eight inspection checkpoints attached to work orders.
Data migration & user testing real jobs, real inspections
Customers, vendors, consumable stock, equipment and employee masters brought across, and live jobs run through the system by the units' own teams before go-live.
Training & go-live unit by unit
Production, stores, quality, maintenance, HR and accounts trained on the flows they own, and all five units went live on one instance.
08 · Engineering notes
The decisions behind the platform
Every module choice traces back to something a coating shop actually needs: a job that carries its spec, stock that knows its unit, inspections that block, and a margin that is real.
Job-based manufacturing, not product-based
Odoo Manufacturing assumes you make products. A coating shop treats someone else's steel. The model had to bend to that.
- The job card as the manufacturing order: each customer job is its own order with its own routing, work centres and material issue.
- Customer-owned material: the client's steel is tracked through the job without being valued as the company's own stock, which was one of the original difficulties.
- Specification fields on the order: blast profile, paint system, DFT and coats live on the job card, so downstream records are generated from them.
One instance, five warehouses
Five units could have been five databases. That would have kept five procurement processes alive.
- Single Odoo V19 instance: all facilities on one database, so a consumable is one product with five locations.
- Inter-unit transfers as stock moves: paint moving between units is recorded, valued and visible.
- Centralised buying: approved vendor lists and blanket purchase orders only work when every unit buys through the same system.
Inspections that gate the process
A digital QC report that can be filled in after the fact is just a nicer filing cabinet. The checkpoints were placed where they could block.
- Quality points on operations: pre-blast, post-blast profile, DFT, holiday and adhesion checks attach to the work order steps they follow.
- Third-party inspection as a record: external inspectors' visits and results are captured on the job, not in a separate log.
- Non-conformance with a cost: a failed check opens a non-conformance, and its rework consumes stock and hours against the same job.
Maintenance as scheduled work, not emergency
Cranes and blasting equipment are the constraint in every unit. They were given the same discipline as production.
- Odoo Maintenance: preventive schedules generate work orders ahead of time; breakdowns become requests with technician assignment.
- Spares from stock: spare parts consumed on a maintenance order come out of the same inventory, so maintenance cost is real.
- Field Service: on-site work at customer locations runs through the same platform as shop-floor jobs.
Cost centres per unit and per job
Job-wise profitability was the explicit objective, and it decided how the books were structured.
- Analytic accounting: every unit and every job is a cost centre, so consumables, hours, maintenance and rework land where they were incurred.
- GST as configuration: tax configuration, invoicing and e-invoicing readiness are settings on the same ledger, not a separate compliance tool.
- Payroll feeds labour cost: attendance and shift management drive payroll with PF and ESI, and those hours cost the jobs they were worked on.
Dashboards on top of trusted records
Management reporting was the last layer, because every number on it comes from a record built earlier.
- Nine views: job status, production progress, inventory levels, procurement, financial performance, equipment utilisation, maintenance activity, quality compliance and job profitability.
- Same source as the floor: what management sees is what the units recorded, with no separately maintained reporting copy.
- Built for growth: a sixth unit is another warehouse and cost centre on the same instance.
09 · The impact
What changed after go-live?
Ten outcomes across five production units
the part clients screenshot ↓- Complete digitisation of job management, from inquiry to GST invoice
- Improved inventory accuracy for abrasives, paints and coating consumables
- Centralised procurement across all five facilities
- Faster GST-compliant invoicing and accounting
- Digital quality inspection records with complete traceability
- Reduced equipment downtime through preventive maintenance
- Automated HR, attendance and payroll processes
- Improved job-wise profitability tracking
- Real-time visibility into operations across all production units
- A scalable ERP platform supporting future business growth
10 · Under the hood
Technologies & core skills
A customer's steel arrives at one of five units with its blast standard, paint system and DFT on the job card. Every coat is inspected, every litre is issued against the job, and when it ships the margin is already known.
11 · Quick questions, honest answers
Thinking about a similar build?
Yes. The Blast Top runs abrasive blasting, protective painting, powder coating and finishing across five units on ten Odoo V19 modules: CRM, Sales, Manufacturing, Inventory, Purchase, Accounting, HR and Payroll, Quality, Maintenance and Field Service. The job card, extended with coating-specific fields, is the record everything else attaches to.
A coating shop treats customer-owned steel rather than making its own products. Each job is its own manufacturing order carrying surface area, blast profile standard, paint system, required DFT, number of coats, customer PO and unit allocation, and the customer's material is tracked through the job without being valued as company stock.
All five facilities run on a single Odoo V19 instance with a warehouse per unit. Consumables are one product with five locations, inter-unit transfers are recorded stock moves, and each unit is a cost centre. That is also what makes centralised procurement and job-wise profitability possible.
Eight checkpoints: pre-blast surface inspection, post-blast profile verification, paint thickness (DFT), holiday testing, adhesion testing, third-party inspection management, digital QC reports and non-conformance tracking. Each sits on the work order operation it follows, so a job cannot move past a failed check unnoticed.
Every inspection result, the paint lot used, the third-party inspector's sign-off and the operator's hours are records on the job card. A traceability query that used to mean finding a folder is now a report on the job, available the moment the check is done.
Through multi-warehouse inventory with lot and batch tracking and reorder rules. Material is issued against the job's work orders, so consumption per job is known, the batch of paint on any job is recorded, and minimum levels trigger replenishment before a unit runs short.
Units raise purchase requisitions; purchasing runs RFQs, purchase orders and approvals centrally against approved vendor lists and blanket purchase orders. Goods receipt notes, purchase orders and vendor bills are three-way matched before payment, so what is paid for is what arrived.
Cranes and blasting equipment carry preventive maintenance schedules that generate work orders ahead of time. Breakdowns are logged as requests, assigned to technicians and closed with spare parts consumption recorded, and each asset accumulates its history and maintenance cost.
Yes. GST-compliant tax configuration, customer invoicing, vendor bills, receivables, payables and bank reconciliation run in Odoo Accounting, with e-invoicing readiness. Cost-centre accounting per unit and per job sits on the same ledger, which is what gives job-wise profitability.
Revenue from the invoice, consumables issued against the work orders, hours from attendance-driven payroll, maintenance and rework all land on the job's cost centre. The margin is read from the job card rather than reconstructed at month end, which makes the next quotation an informed one.
Employee master, attendance, shift management, payroll with PF and ESI compliance, certification tracking and skill records. Because attendance drives payroll and hours are booked to jobs, labour cost per job is current rather than estimated.
KoderXpert is an Odoo Ready Partner, based in Ahmedabad like The Blast Top, that walks every shop floor before configuring anything, designs the job card before the modules around it, and builds industry-specific fields and checkpoints in Python and QWeb. Talk to KoderXpert about your units.
Running job cards on paper across more than one unit?
Tell us where the folders still are: job cards, QC reports, consumable counts, maintenance logs, payroll sheets. KoderXpert walks each shop floor first and configures second, until every unit is reading the same job.
Related case studies
- Bhagwati Iron: Odoo manufacturing ERP implementationTen modules, batch traceability, GST-ready books
- Kamakhya Pipes: Odoo manufacturing ERP implementationShop-floor hardware wired into production and stock
- Gilani & Associates: Odoo transport and logistics ERPMulti-company fleet, GPS and POD-based billing
Industrial surface treatment · Multi-unit Odoo V19 ERP
The Blast Top: five blasting and coating units serving IOCL, Adani and ONGC, run on spreadsheets and paper QC reports
Published · Updated
The Blast Top is one of Gujarat's leading industrial surface treatment and protective coating companies, headquartered in Ahmedabad. Since 2011 it has run five production units across Ramol, Odhav and Bakrol, providing abrasive blasting, protective painting, powder coating, stainless steel finishing and coating consultancy to IOCL, Adani Group, HPCL, ONGC, L&T, EPC contractors and fabricators. KoderXpert put all five units, their consumables, inspections, procurement, maintenance, HR and finance on one Odoo V19 instance.
Designed, built and delivered by KoderXpert Technologies Pvt. Ltd.
Official Odoo Ready Partner · Ahmedabad & Gandhinagar, India
- Client
- The Blast Top, Ahmedabad
- Industry
- Industrial surface treatment & protective coating
- Platform
- Odoo V19, 10 modules
- Implementation partner
- KoderXpert Technologies
- Headline result
- Job-wise profitability across five units
01 · Overview
The 30-second version
- The Blast Top is an Ahmedabad surface treatment and protective coating company, operating five production units across Ramol, Odhav and Bakrol since 2011, serving IOCL, Adani Group, HPCL, ONGC, L&T, EPC contractors and fabrication companies.
- Before Odoo, the five units ran on spreadsheets, manual documentation and disconnected processes: paper job cards, no central view of abrasives and paint, procurement done separately at each unit, quality reports in physical files, no preventive maintenance schedule for cranes and blasting gear, manual GST invoicing and payroll, and no way to tell whether a job made money.
- KoderXpert implemented ten Odoo V19 modules on one instance: a job-based manufacturing flow from inquiry to GST invoice, multi-warehouse consumable inventory across all five units, procurement with three-way matching, eight digital inspection checkpoints, preventive equipment maintenance, HR and payroll with PF and ESI, cost-centre accounting with job-wise profitability, and executive dashboards.
02 · Where the old way broke down
What was going wrong before Odoo?
Five units, five sets of habits, and a customer's steel somewhere in between
Surface treatment is a job business: a customer sends steel, it is blasted, coated, inspected and returned, and the margin lives in consumables, man-hours and rework. With five units on spreadsheets and paper, none of those three was visible until long after the job had shipped.
Paper job cards, no live status
Manual job card management gave no real-time production visibility. Where a customer's steel was, and which unit had it, was a question for the floor supervisor.
The cost → no answer for the customerConsumables untracked
No centralised tracking of abrasives, paints and coating materials, and limited visibility into stock moving between units.
The cost → paint bought twice, or run outFive separate procurement processes
Each production unit bought independently, with no approved vendor list, no consolidated buying and no approval trail.
The cost → five prices for the same abrasiveQuality reports in filing cabinets
Inspection reports for blast profile, DFT and adhesion were stored physically, so traceability for clients such as IOCL and ONGC meant finding the right folder.
The cost → traceability on request onlyCranes and blasting gear fixed when broken
No preventive maintenance scheduling for cranes and blasting equipment, so downtime arrived unannounced in the middle of a job.
The cost → a unit stopped mid-jobNo job-wise profitability
Manual GST invoicing and accounting, manual HR attendance and payroll, and no way to attach consumables and hours to a job meant profitability per job was unknown.
The cost → pricing the next job blind03 · The turnaround
Drag it and see the before & after yourself
Slide the orange handle. Left is the paper era, right is the connected platform.
- ✗ Paper job cards with no real-time production visibility
- ✗ Abrasives and paint untracked across five units
- ✗ Each unit buying on its own, no approval trail
- ✗ Blast and DFT inspection reports in physical files
- ✗ Manual GST invoicing, manual payroll, no job margin
the filing-cabinet era 😵
five units, one instance ✨
- ✔ Digital job cards with work centre execution, live per unit
- ✔ Multi-warehouse consumables with lot tracking and reorder rules
- ✔ Requisition to RFQ to PO to GRN, with three-way matching
- ✔ Eight digital inspection checkpoints with full traceability
- ✔ GST invoicing, PF and ESI payroll, job-wise profitability
← drag toward the paper · drag toward the platform →
04 · The plan
What we aimed to achieve
Ten objectives were set for a unified Odoo V19 platform across all five units; they group into six. Hover any goal to tick it off.
Centralise job management: one inquiry-to-invoice workflow across all five locations.
See consumables and buy once: inventory visibility for abrasives and paint, with procurement and vendor approvals standardised across units.
Digitise quality inspections: every checkpoint recorded in the system, traceable per job.
Maintain equipment before it fails: preventive maintenance for cranes and blasting equipment.
Automate accounting, HR and payroll: GST-compliant books and attendance-driven payroll on the same platform.
Know each job's margin: track job-wise profitability and give management real-time dashboards.
05 · What we delivered
What did KoderXpert build?
Ten Odoo V19 modules, one instance, built for surface treatment
CRM, Sales, Manufacturing, Inventory, Purchase, Accounting, HR and Payroll, Quality, Maintenance and Field Service, configured and extended for a job-based coating business. The job card is the spine: every consumable, inspection, hour and invoice attaches to it.
Job management & manufacturing
Inquiry to quotation, sales order, job card, manufacturing work orders, material issue, work centre execution, inspection, delivery and GST invoice as one flow. Each job card carries surface area, blast profile standard, paint system, required DFT, coats, customer PO, third-party inspection details and unit allocation.
the job card knows everythingMulti-site inventory
All five production facilities on one instance: multi-warehouse management, inter-unit stock transfers, consumable tracking, lot and batch tracking, reorder rules and warehouse-wise visibility.
one paint stock, five racksProcurement automation
Purchase requisitions, RFQs, purchase orders, approval workflows, goods receipt notes, vendor bills, three-way matching, approved vendor lists and blanket purchase orders, standardised across every unit.
one price list, one approval trailQuality management
Eight digital checkpoints through the production lifecycle: pre-blast surface, post-blast profile, paint thickness (DFT), holiday testing, adhesion, third-party inspection management, digital QC reports and non-conformance tracking.
traceability without the folderEquipment maintenance
Preventive maintenance scheduling, breakdown requests, maintenance work orders, spare parts consumption, technician assignment, equipment history and maintenance cost tracking for cranes and blasting equipment.
downtime on the calendar, not by surpriseAccounting, GST, HR & payroll
GST-compliant tax configuration, invoicing, vendor bills, receivables and payables, bank reconciliation, cost-centre accounting, job-wise profitability and e-invoicing readiness; plus employee master, attendance, shift management, payroll with PF and ESI, certification and skill records.
margin per job, payroll per shift06 · Functional deep dive
How the connected system actually works
The module list says what was switched on. This is what happens to a customer's steel from the moment the inquiry arrives to the moment the job's margin is known.
Inquiry to job card to work order
Surface treatment is job-based manufacturing, so the flow was built around the job rather than a product.
- Inquiry to quotation to sales order: CRM and Sales capture the customer's requirement and PO, and confirmation generates the job card.
- The extended job card: custom fields for surface area, blast profile standard, paint system, required DFT, number of coats, customer PO, third-party inspection details and production unit allocation, so the specification travels with the job.
- Manufacturing work orders: blasting, painting and finishing run as work orders at named work centres, with material issue against each.
- Delivery and invoice: completion releases delivery and the GST invoice from the same record.
Consumables across five units
Abrasive, paint and coating material are where a coating job's cost hides. They are now tracked per warehouse and per lot.
- Multi-warehouse: Ramol, Odhav and Bakrol units each hold their own stock on the same instance, with warehouse-wise visibility.
- Inter-unit transfers: moving paint from one unit to another is a stock transfer, not a phone call and a forgotten adjustment.
- Lot and batch tracking: which batch of paint went onto which job is recorded, which matters when a client asks.
- Reorder rules: minimum levels trigger replenishment before a unit runs short mid-job.
Procurement, standardised
Five independent buying processes became one, without slowing any unit down.
- Requisition to RFQ to PO: units raise requisitions; purchasing sends RFQs and issues orders through an approval workflow.
- Approved vendor lists and blanket POs: recurring consumables are bought against agreed vendors and rates rather than negotiated five times.
- GRN and three-way matching: goods receipt, purchase order and vendor bill are matched before payment, so what is paid for is what arrived.
Quality inspections, digitised
Clients such as IOCL, ONGC and L&T expect inspection records. They now exist the moment the check is done.
- Eight checkpoints: pre-blast surface inspection, post-blast profile verification, paint thickness (DFT), holiday testing, adhesion testing, third-party inspection management, digital QC reports and non-conformance tracking.
- Attached to the work order: each check sits on the operation it belongs to, so a job cannot proceed past a failed inspection unnoticed.
- Third-party inspection managed: external inspector visits and sign-offs are records on the job card, not a separate diary.
- Non-conformance tracked: a failed check opens a non-conformance with its resolution, giving rework a cost and a cause.
Equipment maintenance
A crane or a blasting pot that stops mid-job stops the unit. Maintenance moved from reactive to scheduled.
- Preventive scheduling: cranes and blasting equipment carry maintenance schedules, generating work orders ahead of time.
- Breakdown requests and work orders: failures are logged, assigned to a technician and closed with spare parts consumption recorded.
- Equipment history and cost: every intervention accumulates on the asset, so the true cost of keeping each machine running is known.
Accounting, payroll and job-wise profitability
Profit per job was the objective that everything else served. It needs cost from stock, hours from payroll and revenue from the invoice on one record.
- GST-compliant accounting: tax configuration, customer invoicing, vendor bills, receivables, payables, bank reconciliation and e-invoicing readiness.
- Cost-centre accounting: each unit and each job is a cost centre, so consumables and maintenance land where they were incurred.
- HR and payroll: employee master, attendance, shift management, payroll with PF and ESI compliance, certification tracking and skill records, so labour cost is real and current.
- Job-wise profitability: revenue, consumables, hours and rework meet on the job card, which is what makes the next quotation an informed one.
Why the job card had to carry the specification
Blast profile, paint system, required DFT and number of coats decide how much abrasive and paint a job consumes and which inspections it needs. Putting those fields on the job card means the work orders, the material issue and the QC checkpoints are generated from the specification rather than remembered by the supervisor, and the profit calculation at the end is comparing the right things.
07 · How we built it
How was the Odoo project delivered?
The job card first, then everything that attaches to it
In a job business the job card is the record everything else references, so it was designed and agreed before stock, quality, maintenance or finance were configured against it.
Process discovery across the five units walk each shop floor
Blasting, painting and finishing flows, consumable handling and inspection practice mapped at Ramol, Odhav and Bakrol, along with how each unit bought, maintained and reported.
Job card & manufacturing design the spine of the build
The inquiry-to-invoice flow and the extended job card designed first: surface area, blast standard, paint system, DFT, coats, customer PO, third-party inspection and unit allocation.
Configuration & custom development ten modules on Odoo V19
CRM, Sales, Manufacturing, Inventory, Purchase, Accounting, HR and Payroll, Quality, Maintenance and Field Service configured, with custom fields, checkpoints and job-wise costing developed in Python and QWeb.
Multi-site stock, procurement & quality setup five warehouses, eight checkpoints
Warehouses per unit, inter-unit transfers, lot tracking and reorder rules; approved vendors, blanket POs and three-way matching; and the eight inspection checkpoints attached to work orders.
Data migration & user testing real jobs, real inspections
Customers, vendors, consumable stock, equipment and employee masters brought across, and live jobs run through the system by the units' own teams before go-live.
Training & go-live unit by unit
Production, stores, quality, maintenance, HR and accounts trained on the flows they own, and all five units went live on one instance.
08 · Engineering notes
The decisions behind the platform
Every module choice traces back to something a coating shop actually needs: a job that carries its spec, stock that knows its unit, inspections that block, and a margin that is real.
Job-based manufacturing, not product-based
Odoo Manufacturing assumes you make products. A coating shop treats someone else's steel. The model had to bend to that.
- The job card as the manufacturing order: each customer job is its own order with its own routing, work centres and material issue.
- Customer-owned material: the client's steel is tracked through the job without being valued as the company's own stock, which was one of the original difficulties.
- Specification fields on the order: blast profile, paint system, DFT and coats live on the job card, so downstream records are generated from them.
One instance, five warehouses
Five units could have been five databases. That would have kept five procurement processes alive.
- Single Odoo V19 instance: all facilities on one database, so a consumable is one product with five locations.
- Inter-unit transfers as stock moves: paint moving between units is recorded, valued and visible.
- Centralised buying: approved vendor lists and blanket purchase orders only work when every unit buys through the same system.
Inspections that gate the process
A digital QC report that can be filled in after the fact is just a nicer filing cabinet. The checkpoints were placed where they could block.
- Quality points on operations: pre-blast, post-blast profile, DFT, holiday and adhesion checks attach to the work order steps they follow.
- Third-party inspection as a record: external inspectors' visits and results are captured on the job, not in a separate log.
- Non-conformance with a cost: a failed check opens a non-conformance, and its rework consumes stock and hours against the same job.
Maintenance as scheduled work, not emergency
Cranes and blasting equipment are the constraint in every unit. They were given the same discipline as production.
- Odoo Maintenance: preventive schedules generate work orders ahead of time; breakdowns become requests with technician assignment.
- Spares from stock: spare parts consumed on a maintenance order come out of the same inventory, so maintenance cost is real.
- Field Service: on-site work at customer locations runs through the same platform as shop-floor jobs.
Cost centres per unit and per job
Job-wise profitability was the explicit objective, and it decided how the books were structured.
- Analytic accounting: every unit and every job is a cost centre, so consumables, hours, maintenance and rework land where they were incurred.
- GST as configuration: tax configuration, invoicing and e-invoicing readiness are settings on the same ledger, not a separate compliance tool.
- Payroll feeds labour cost: attendance and shift management drive payroll with PF and ESI, and those hours cost the jobs they were worked on.
Dashboards on top of trusted records
Management reporting was the last layer, because every number on it comes from a record built earlier.
- Nine views: job status, production progress, inventory levels, procurement, financial performance, equipment utilisation, maintenance activity, quality compliance and job profitability.
- Same source as the floor: what management sees is what the units recorded, with no separately maintained reporting copy.
- Built for growth: a sixth unit is another warehouse and cost centre on the same instance.
09 · The impact
What changed after go-live?
Ten outcomes across five production units
the part clients screenshot ↓- Complete digitisation of job management, from inquiry to GST invoice
- Improved inventory accuracy for abrasives, paints and coating consumables
- Centralised procurement across all five facilities
- Faster GST-compliant invoicing and accounting
- Digital quality inspection records with complete traceability
- Reduced equipment downtime through preventive maintenance
- Automated HR, attendance and payroll processes
- Improved job-wise profitability tracking
- Real-time visibility into operations across all production units
- A scalable ERP platform supporting future business growth
10 · Under the hood
Technologies & core skills
A customer's steel arrives at one of five units with its blast standard, paint system and DFT on the job card. Every coat is inspected, every litre is issued against the job, and when it ships the margin is already known.
11 · Quick questions, honest answers
Thinking about a similar build?
Yes. The Blast Top runs abrasive blasting, protective painting, powder coating and finishing across five units on ten Odoo V19 modules: CRM, Sales, Manufacturing, Inventory, Purchase, Accounting, HR and Payroll, Quality, Maintenance and Field Service. The job card, extended with coating-specific fields, is the record everything else attaches to.
A coating shop treats customer-owned steel rather than making its own products. Each job is its own manufacturing order carrying surface area, blast profile standard, paint system, required DFT, number of coats, customer PO and unit allocation, and the customer's material is tracked through the job without being valued as company stock.
All five facilities run on a single Odoo V19 instance with a warehouse per unit. Consumables are one product with five locations, inter-unit transfers are recorded stock moves, and each unit is a cost centre. That is also what makes centralised procurement and job-wise profitability possible.
Eight checkpoints: pre-blast surface inspection, post-blast profile verification, paint thickness (DFT), holiday testing, adhesion testing, third-party inspection management, digital QC reports and non-conformance tracking. Each sits on the work order operation it follows, so a job cannot move past a failed check unnoticed.
Every inspection result, the paint lot used, the third-party inspector's sign-off and the operator's hours are records on the job card. A traceability query that used to mean finding a folder is now a report on the job, available the moment the check is done.
Through multi-warehouse inventory with lot and batch tracking and reorder rules. Material is issued against the job's work orders, so consumption per job is known, the batch of paint on any job is recorded, and minimum levels trigger replenishment before a unit runs short.
Units raise purchase requisitions; purchasing runs RFQs, purchase orders and approvals centrally against approved vendor lists and blanket purchase orders. Goods receipt notes, purchase orders and vendor bills are three-way matched before payment, so what is paid for is what arrived.
Cranes and blasting equipment carry preventive maintenance schedules that generate work orders ahead of time. Breakdowns are logged as requests, assigned to technicians and closed with spare parts consumption recorded, and each asset accumulates its history and maintenance cost.
Yes. GST-compliant tax configuration, customer invoicing, vendor bills, receivables, payables and bank reconciliation run in Odoo Accounting, with e-invoicing readiness. Cost-centre accounting per unit and per job sits on the same ledger, which is what gives job-wise profitability.
Revenue from the invoice, consumables issued against the work orders, hours from attendance-driven payroll, maintenance and rework all land on the job's cost centre. The margin is read from the job card rather than reconstructed at month end, which makes the next quotation an informed one.
Employee master, attendance, shift management, payroll with PF and ESI compliance, certification tracking and skill records. Because attendance drives payroll and hours are booked to jobs, labour cost per job is current rather than estimated.
KoderXpert is an Odoo Ready Partner, based in Ahmedabad like The Blast Top, that walks every shop floor before configuring anything, designs the job card before the modules around it, and builds industry-specific fields and checkpoints in Python and QWeb. Talk to KoderXpert about your units.
Running job cards on paper across more than one unit?
Tell us where the folders still are: job cards, QC reports, consumable counts, maintenance logs, payroll sheets. KoderXpert walks each shop floor first and configures second, until every unit is reading the same job.
Related case studies
- Bhagwati Iron: Odoo manufacturing ERP implementationTen modules, batch traceability, GST-ready books
- Kamakhya Pipes: Odoo manufacturing ERP implementationShop-floor hardware wired into production and stock
- Gilani & Associates: Odoo transport and logistics ERPMulti-company fleet, GPS and POD-based billing