A printing company in Jakarta was losing jobs it should have won. Not on quality, not on price, on speed. A customer would send specs for 5,000 brochures or 200 custom boxes, and the sales team would need a day, sometimes two, to come back with a number. By then the customer had already booked with whoever answered first. This quote automation case study looks at how we fixed that, and why speed turned out to be the actual product.
The owner's instinct was to hire more sales staff to handle the volume of quote requests. That would have made the problem worse, not better, because the bottleneck wasn't headcount. It was a process that required a human to manually price paper stock, finishing options, quantity breaks, and rush fees for every single inquiry, then type it into a proposal by hand.
We rebuilt the path from inquiry to order as three connected pieces: structured intake, a pricing engine, and AI-drafted proposals. Turnaround went from two days to about twenty minutes.
Why Quote Speed Decides Printing Jobs
Printing is a commodity business in the eyes of most buyers. A brochure job, a box order, a banner run, these look similar across five vendors in a city. When the product is interchangeable, the buyer's decision compresses down to whoever responds first with a credible number. We measured this directly: of the deals this business won in the prior quarter, 71% went to whichever quote landed first, even when a competitor eventually came in cheaper.
That single data point reframed the project. This wasn't a workflow efficiency exercise, it was a sales weapon. Every hour shaved off quote turnaround was directly convertible into won revenue.
The Old Process, and Where It Broke
Before automation, a quote request arrived by WhatsApp, email, or a walk-in conversation, in whatever format the customer felt like using. A staff member then had to:
- Decode the request into a spec (material, size, quantity, finishing, deadline).
- Look up or recall pricing for that combination, often cross-checking a spreadsheet with outdated cost assumptions.
- Draft a proposal document manually, copying boilerplate terms each time.
- Send it back, then wait for revisions, since specs almost always changed once the customer saw a price.
Each revision cycle added another half-day. A single order could take four or five back-and-forth messages before it converted, or didn't.
What We Built
Structured intake. We replaced free-form requests with a short web form and a WhatsApp-linked chatbot that asks for material, size, quantity, finishing, and deadline in a fixed sequence. This sounds like a small change, but it eliminated the guesswork step entirely. No more re-reading a customer's message three times to figure out what they actually meant by "the usual box, but bigger."
A pricing engine. We encoded the company's real cost structure, paper stock cost per sheet, machine setup cost, finishing cost per unit, and quantity break discounts, into a rules-based pricing engine. This wasn't a machine learning model; it didn't need to be. It was a deterministic calculator built from the same logic the senior estimator already had in his head, just consistent and instant instead of memory-dependent and slow.
AI-drafted proposals. Once intake and pricing produced a number, an AI drafting step generated a clean, branded proposal document, including relevant upsell notes ("customers ordering this quantity often add lamination") pulled from historical order patterns. A human still reviews before sending, but review takes two minutes, not two hours.
Results After 10 Weeks
| Metric | Before | After |
|---|---|---|
| Average quote turnaround | 1.5-2 days | 20 minutes |
| Quote-to-order conversion | 34% | 52% |
| Revisions per quote | 2.8 | 1.1 |
| Staff hours on quoting/week | ~26 | ~6 |
The conversion rate jump mattered more than the time savings alone. Faster quotes meant the business was simply present for more decisions, instead of arriving after the customer had already committed elsewhere.
What Almost Went Wrong
The pricing engine's first version was too rigid. It couldn't handle edge cases, a customer wanting a non-standard paper weight, or a rush order outside normal lead time, and it silently produced wrong numbers instead of flagging them for human review. We added an exception path: anything outside the engine's confident range routes to a human with the partial calculation already done, so the estimator finishes in minutes rather than starting from scratch. That single fix removed almost all of the pricing errors that showed up in week one.
The other near-miss was proposal tone. Early AI-drafted proposals read stiffly, more like a computer-generated invoice than a message from a business that wanted the job. We fixed this by feeding the drafting step real examples of the company's best-performing past proposals, so the tone matched what already worked.
The Broader Lesson for Service Businesses
Any business selling customized products or services against faster competitors is running the same risk this printing company was: losing on responsiveness, not on merit. The fix isn't more staff or more hours, it's removing the manual translation step between "customer describes what they want" and "customer receives a firm number." If you're evaluating a similar automation project, this connects closely to a technology strategy, not just a point fix, since the pricing logic you encode here often becomes the backbone for inventory and production planning too.
Practical Takeaway
If your sales cycle depends on quotes, audit how long yours actually take, not how long you think they take, and check win rates against response speed. If speed correlates with wins the way it did here, the highest-leverage investment isn't a new hire, it's turning your pricing logic into software. Start with the 20% of quote types that make up 80% of requests. You don't need a perfect system on day one, you need one that's faster than whoever the customer contacts next.