Industrial parts manufacturer (fasteners, about 400 customers)
Quoting agent
An agent that reads the 40 daily quote requests arriving by email, web form, and attached drawings, matches them to catalog items, drafts a quote from ERP order history and negotiated customer prices, and after approval sends it and registers it in the ERP.

Background
The client manufactures fasteners such as bolts and nuts and receives 30 to 50 quote requests a day from about 400 customers, handled by three salespeople and two sales support staff. Sixty percent of requests arrive by email, a quarter through the website form, and the rest by fax and phone, in every imaginable format. Some only make sense with history, like “2,000 more of the spec from last time,” and some come as PDF drawings with a spec table attached.
To produce one quote, a staff member searched the customer’s order history in the ERP, cross-checked the standard price list (updated twice a year) against prices negotiated with that customer, filled in a spreadsheet template, exported it to PDF, emailed it, and registered the quote separately in the ERP. That took over twenty minutes, and at the start of the month replies slipped to the next day. Negotiated prices lived in each salesperson’s personal spreadsheet, so quotes stalled when that person was away, and two or three times a month an outdated price list was applied, costing margin or forcing a re-send.
What we built
The goal was to remove the time spent searching, copying, and cross-checking and leave only judging prices and approving. We built five things.
1. Reading requests and mapping items
The agent extracts items, specs, quantities, delivery dates, and delivery addresses from email bodies, the web form, and attachments (spreadsheets and spec tables in PDF drawings). It normalizes notations such as “M8x30”, “M8*30”, and “8mm 30” to catalog codes. When confidence is low, it does not force a match; it shows two or three candidates for the staff member to pick. Phrases like “the spec from last time” are resolved from that customer’s recent orders.
2. History and price lookup
For each request, the agent reads the customer’s last three orders, negotiated prices, the standard price list, and volume discount tiers from the ERP. The negotiated prices scattered across personal spreadsheets were migrated into the ERP at the start of the project. Every price in the draft carries its reasoning, such as “negotiated price from Mar 2026” or “standard price × 5% volume discount,” so both the owner and a backup approver can see at once why the number is what it is.
3. The draft quote
The draft uses the spreadsheet template customers already know. Delivery dates are proposed from stock and the production schedule, and if the margin drops below the threshold, a warning appears on the approval screen.
4. Approval and sending
The staff member adjusts prices and dates on the review screen and approves. Approval triggers PDF generation, an email sent under the staff member’s name, and registration in the ERP in one step. No quote leaves without approval. If the owner is away, the quote passes to a backup approver, who can approve it as is because the reasoning is attached.
5. Follow-up
If a quote gets no reply within seven days, the owner is reminded. A dashboard shows the win rate per quote and response time per customer.
How it was rolled out
| Weeks | Work |
|---|---|
| 1–2 | Analyzed 4,800 quotes from the previous year to build the notation patterns and item mapping dictionary. Migrated negotiated prices from personal spreadsheets into the ERP |
| 3–5 | Built request reading and history and price lookup. Ran two weeks in shadow mode alongside quotes produced by staff |
| 6–9 | Connected draft, approval, sending, and ERP registration. Two salespeople used it first while the mapping dictionary and margin rules were tuned |
| 10–12 | Added delivery date proposals, follow-up reminders, and the dashboard. Rolled out to all staff |
| 13–14 | Handover. Guide for editing the mapping dictionary and price rules, plus a monitoring screen |
During the two shadow weeks, item mapping agreed with staff judgment 91% of the time, rising to 97% after the dictionary was expanded. The rest are chosen from candidates by staff. After launch, the mapping dictionary and price rules are reviewed together every quarter.
How a staff member’s day changed
Before, a sales support staff member’s morning began with opening the overnight emails, deciphering specs, and digging through the ERP. Now the review screen opens with drafts lined up in the order requests arrived, each price with its reasoning beside it. Most take three minutes to read and approve, and the time saved goes to work that needs judgment, such as negotiating prices on large orders or handling new customers.
Quotes no longer stop when a salesperson is traveling; a backup approver reads the reasoning and approves. In the four months since launch, not one quote has been re-sent because of an outdated price list.
The table below compares each task before and after.
Results
1 day → 1 h
Average time from request to quote sent
20 min → 3 min
Staff time per quote. Only review and approval
2–3/month → 0
Quotes re-sent because an outdated price list was applied
0
Quotes sent without approval. Every one is approved by a person
Structuring the request
BeforeOpen the email and attachments, copy items, specs, quantities, and delivery dates by hand, and interpret notations like "M8x30" versus "8mm 30". 5 minutes per request
AfterExtracted automatically from email, form, and attachments (spreadsheets, spec tables in PDF drawings) and mapped to catalog codes. Only low-confidence matches are picked from candidates. 30 seconds
Looking up order history and negotiated prices
BeforeSearch the ERP for order history and cross-check negotiated prices kept in a salesperson's personal spreadsheet. 10 minutes per request
AfterThe last three orders, negotiated prices, volume discounts, and the reasoning appear alongside the draft. No lookup
Proposing a delivery date
BeforeAsk the production team by phone or messenger and wait. Half a day
AfterStock and production schedule are checked and a date is proposed automatically. Immediate
Writing and sending the quote
BeforeFill in the spreadsheet template, export to PDF, email it, and register it separately in the ERP. 5 minutes or more
AfterOnce a person reviews and approves the draft, PDF generation, email, and ERP registration follow in one step. 1 minute
Pricing mistakes
BeforeAn outdated price list or old negotiated price applied, costing margin or requiring a re-send. 2–3 a month
AfterCurrent negotiated prices and volume tiers applied automatically, with a warning before approval if margin falls below the threshold. 0
When the salesperson is away
BeforeNobody else knew the negotiated prices, so quotes stalled
AfterA backup approver sees the price reasoning and approves as is. No delay
Following up on quotes
BeforeDepended on memory. Unanswered quotes were forgotten
AfterReminder after 7 days without a reply, plus a dashboard of win rate per quote


