Factory Ka Quotation — 40 Minute Se 3 Minute Mein Kaise?
The factory owner — let’s call him Rajesh bhai — put it simply: “Jo pehle rate bhejta hai, woh order le jaata hai.”
His factory in Maharashtra, about 35 workers, industrial components, mostly B2B buyers. They were getting 15-25 quotation inquiries a day, and each quote took 40 minutes to put together. By the time it went out, the buyer had already heard back from two competitors. We fixed this in a week. Here’s how — including what went wrong.
I’m changing some details for privacy, but the workflow and the build are exactly as they happened.
The problem
The factory gets 15-25 quotation inquiries per day. Most come on WhatsApp. A buyer messages something like:
“Rate kya hai for 500 units of ABC component, delivery Pune?”
Or sometimes more vague:
“XYZ part ka rate bhejo, urgent hai.”
The old process looked like this:
- The sales guy reads the WhatsApp message
- Opens the master rate sheet — a 400-row Excel file with product codes, base prices, volume slabs, and margin tiers
- Finds the right product (sometimes searching for 5 minutes because the buyer used a different name than what’s in the sheet)
- Checks the volume slab to get the right per-unit price
- Calculates total with applicable margins, packaging, and transport
- Opens a Word template, fills in buyer details, line items, totals, terms and conditions
- Converts to PDF
- Sends back on WhatsApp
Total time: about 40 minutes per quotation. On a good day. On a bad day — when the rate sheet hasn’t been updated, or the buyer’s asking about a product variant that doesn’t exactly match the sheet — it could take over an hour.
Multiply that by 20 inquiries a day. That’s one person doing nothing but quotations, full-time. And even then, some buyers get their response in 3-4 hours. By which time the smarter ones have already gotten a quote from a competitor.
The solution we proposed
A WhatsApp number that receives the inquiry, understands it, pulls the right rates, generates a branded PDF quotation, and sends it back — all without a human in the loop for standard requests.
Rajesh bhai’s first question: “Aur agar galat rate chala gaya toh?”
Fair question. We built in a review mode: for the first two weeks, every auto-generated quotation would go to the sales guy for approval before sending. One tap — approve or edit. After two weeks of accuracy validation, we’d switch to fully automatic for standard items, with human review only for custom or unusual requests.
He agreed. We started on Monday.
Day 1: Understanding the rate sheet
This is the part nobody talks about in AI case studies, but it’s where most projects actually succeed or fail.
I sat with the sales guy for three hours going through the rate sheet. What I learned:
- The sheet had 400+ rows but only about 180 were active products. The rest were discontinued items nobody had bothered to delete.
- Products had official codes (like “BC-4021”) but buyers never used them. They used informal names — “woh chota bracket,” “blue wala pipe fitting,” or just the local trade name.
- Volume slabs weren’t uniform. Some products had 3 tiers, some had 5, some had none (flat rate regardless of quantity).
- Transport charges depended on destination — different rates for local (within 50km), state-level, and interstate delivery.
- There were 6 “special” clients who had pre-negotiated rates that overrode the standard sheet.
I spent the rest of Day 1 cleaning and structuring this data. Created a proper product database with official codes, all known aliases, active/inactive status, slab structures, and the special client overrides.
This wasn’t glamorous work. But without it, nothing else would work.
Day 2-3: The WhatsApp parser and quotation engine
The core challenge: buyers message in Hindi, English, and Hinglish — often mixed. “500 units of BC-4021 bhejo” is straightforward. “Rate do us bade bracket ka, 200 piece chahiye, Nashik delivery” is less clear but perfectly normal.
The parser extracts product reference, quantity, delivery location, and buyer identity (from the WhatsApp number). It fuzzy-matches product names against the database — so “bada bracket” maps to “Large Mounting Bracket BC-4021.” The quotation engine then pulls the right volume-slab pricing, checks for special client rates, adds transport and GST, and generates a branded PDF with Rajesh bhai’s letterhead and digital signature.
Two days of work. Not glamorous, but the pieces that make everything downstream possible.
Day 4-5: Testing with real inquiries
This is where reality humbles you.
We ran 50 past inquiries through the system — messages the sales guy had actually received over the previous month. Results:
- 38 out of 50 — parsed correctly, correct product match, correct pricing. Clean quotation generated.
- 7 out of 50 — product identified but wrong variant selected. The system picked “SS Bracket 4mm” when the buyer meant “SS Bracket 6mm” because the message just said “SS bracket.”
- 3 out of 50 — product not identified at all. Buyers used extremely informal references or asked about custom configurations.
- 2 out of 50 — complete misparse. One message was a complaint, not an inquiry. Another was asking about delivery status of an existing order, not requesting a new quote.
76% accuracy on first pass. Not good enough for auto-send, but this is exactly why we built the review mode.
We fixed the variant ambiguity by having the system ask a clarifying question when multiple variants matched: “Aapko 4mm chahiye ya 6mm? Dono ka rate bhej doon kya?” Natural, conversational, on WhatsApp itself. That alone bumped us to 86%.
For the unrecognized products, we added a fallback: if the system can’t match with confidence, it routes to the sales guy with the parsed information pre-filled. He picks the right product, and the system remembers that alias for next time. Self-improving.
Day 6: Edge cases
The merged cells problem.
Rajesh bhai’s rate sheet — which I’d carefully restructured on Day 1 — had a section I’d missed. About 40 products in the “Fasteners” category used merged cells in Excel for the category header. When the system tried to read those rows, it pulled blank values because the merged cell’s content only existed in the top-left cell of the merge.
This took four hours to fix. Four hours. For merged cells. I’m writing this down so that every engineer reading this knows: if your client’s data lives in Excel, budget time for merged cells. They will find you.
Other edge cases we handled on Day 6:
- Buyers asking for multiple products in one message
- Messages with photos (buyers sometimes send a photo of the part they need)
- Repeat inquiries (same buyer, same product, within 24 hours — don’t spam them with duplicate quotes)
- Messages in pure Marathi (added Marathi to the parser)
Day 7: Go live
Monday morning. Review mode active. The system went live on the factory’s WhatsApp Business number.
First real inquiry came at 9:17 AM. Buyer asked for 200 units of a pipe fitting, delivery to Aurangabad. The system parsed it, generated the quotation, and sent it to the sales guy for approval. He looked at it, said “Sahi hai,” tapped approve. The buyer had a branded PDF quotation in his WhatsApp at 9:19 AM.
Two minutes. From inquiry to professional quotation.
The sales guy’s reaction: “Itna jaldi? Pehle isko banaane mein hi 20 minute lagte the.”
By end of Day 7, the system had handled 18 inquiries. 15 were auto-generated and approved without edits. 2 needed minor corrections (the sales guy adjusted transport charges). 1 was routed for manual handling because it was a custom specification.
Two weeks later
After the review period, we switched standard items to fully automatic. The sales guy now only sees custom requests and high-value orders (above a threshold Rajesh bhai set).
Average response time: under 3 minutes from inquiry to PDF on WhatsApp.
The factory’s quotation-to-order conversion rate went up by about 23% in the first month — that’s Rajesh bhai’s estimate based on comparing order counts month-over-month, not a controlled study. But the mechanism is obvious: same rates, faster delivery. When you’re consistently the first quote in the buyer’s WhatsApp, you get the order more often.
The sales guy who used to spend his entire day on quotations? He now spends that time on follow-ups, client visits, and actual selling. The quotation machine handles the mechanical work.
What I’d do differently
Honestly? I’d spend an extra day on Day 1. The data cleanup was the foundation for everything, and I rushed it slightly — which is why the merged cells caught me on Day 6. If I’d been more thorough with the rate sheet analysis upfront, the week would have been smoother.
Also, I’d set up the alias learning system from Day 1, not Day 5. The system gets smarter every time a human corrects it, so the earlier it starts learning, the faster it reaches high accuracy.
One risk I think about: stale data. If the rate sheet isn’t updated and the system sends out quotes with last month’s steel prices, you’ve got a problem — the buyer accepts, and you’re locked into a rate that loses you money. We built a safeguard: if the rate sheet hasn’t been updated in more than 7 days, the system flags every quote with a “rates pending verification” warning and routes it to the sales guy instead of auto-sending. Not perfect, but it prevents the worst case.
If your factory has a similar bottleneck, send me a photo of your rate sheet. I’ll tell you if it has merged cells.