
Case study · Odoo ERP & AI Automation
Viking Radiators: one system from enquiry to dispatch.
Viking Emirates Radiators and Cooling Industry has been building radiators, heat exchangers and cooling coils in Sharjah for more than three decades. We moved their sales, production and stock onto Odoo, then added AI where the team was losing the most time: reading and pricing incoming enquiries.
A workshop that builds to order.
Very little of what Viking makes sits on a shelf.
A fleet operator needs a copper-brass radiator for a truck that went out of production years ago. An oil and gas contractor sends a datasheet for a fin fan cooler. A building's chiller coil has failed and needs to be repaired this week, not next month. Each job is slightly different, and the company serves hundreds of customers across marine, power generation, construction, industrial and HVAC work.
That kind of variety is what Viking is good at. It's also what makes it hard to run on spreadsheets, paper job cards and people's memory.
Where things were getting stuck.
None of these were dramatic on their own. Together, they slowed down every job.
- Enquiries arrived by phone, email and WhatsApp, and stayed wherever they landed. There was no single list of what was open.
- Pricing relied on a few experienced people remembering what a similar job cost last time.
- The workshop ran on paper job cards, so answering "when will it be ready?" meant walking over and asking.
- Copper, brass and aluminium stock was counted rather than tracked. Shortages tended to show up once a job was already on the bench.
- Repairs and new builds shared one queue, which made it difficult to see what either was really earning.
How we set up Odoo.
We didn't start with modules. We started by following real jobs through the business.
Walk the floor first
We followed a handful of actual jobs (a new build, a repair and a recore) from the first call to collection. What we saw in the office and the workshop shaped every configuration decision after that.
CRM and quotations
Every enquiry now becomes an opportunity in Odoo, whichever channel it came through. Quotes are built from product families (radiators, coolers, coils) with variants for material, core size and fin type, so pricing starts from a structure instead of from memory.
Manufacturing and job tracking
Confirmed orders create manufacturing orders with bills of materials and work centres for each stage of the build, through to pressure testing and finishing. Repairs follow their own route, so their cost and turnaround can be looked at separately.
Inventory and purchasing
Raw materials are tracked by location, with reorder rules on the tube, fin stock and plates that run short most often. Purchase requests come from what open jobs actually need.
Accounting and VAT
Invoicing, payments and UAE VAT sit in the same system as sales and production, so job costs reflect real material and labour rather than estimates.
Training and go-live support
Short, role-based sessions for sales, workshop supervisors, stores and accounts, run on Viking's own data. We stayed close for the first weeks after go-live to deal with questions as they came up.
Adding AI where it saved real time.
Once the basics were working, the biggest remaining delay was the time between an enquiry arriving and a quote going out.
So that's where we used AI. Not to replace the people who know radiators, but to take the typing and searching off their plate.
Enquiry intake
Messages coming in on WhatsApp and email are read by an AI assistant that picks out the essentials (equipment type, application, dimensions, material, quantity and urgency) and creates a lead in Odoo with the original message attached. Sales checks it instead of retyping it.
Draft quotes from past jobs
For each new enquiry, the system looks up similar jobs Viking has done before and what they were finally sold for, and prepares a draft quotation. The salesperson still sets the price. They just don't start from a blank page.
Follow-ups and status updates
Quotes that haven't had a reply get a reminder after a set number of days. When a job reaches its final stage in production, the customer gets a message that their unit is ready.
A morning summary
Management gets a short daily digest of new enquiries, quotes waiting for approval and jobs that are running behind, without having to build a report.
What changed.
The way Viking builds radiators didn't change. What changed is how quickly everyone around the workshop knows what's going on.
- Every enquiry is in one place, not in someone's phone.
- Quotes go out sooner, and they're more consistent from one salesperson to the next.
- Sales can see where a job is in Odoo without leaving their desk.
- Material shortages show up before a job starts, not halfway through it.
- Repairs and new builds can be costed and compared on their own terms.
The takeaway.
For a build-to-order manufacturer, the ERP has to fit the workshop, not the other way round.
Spending time on the shop floor before configuring anything is what made the difference here. The AI layer only works because the data underneath it (products, past jobs, prices) was organised properly first.
Have a business problem you're trying to solve?
You don't need to know exactly which service you need. Tell us what's happening, where you want to go and what's getting in the way. We'll figure out the right place to start.