The bug is not in the ERP
Walk into a mid-market manufacturer and ask where their quote-to-PO loop breaks. The answer is rarely the ERP. The answer is almost always the gap between the vendor email landing in a buyer's inbox and that quote arriving on a PO line.
In practice, the loop looks like this. A coil supplier sends a quote PDF with four-decimal-place pricing across twelve size variants. The buyer opens the PDF in Preview, copies the relevant variant into a spreadsheet, pings engineering on Slack to confirm the revision is current, gets told the revision in CAD has actually rolled forward two ticks, asks the vendor to re-quote, waits three business days, finally lands an updated quote, has procurement key the eleven fields into the ERP, and discovers a week later that two fields were transposed because the PDF is two-column and one of the columns ran into a watermark.
That is not an ERP bug. The ERP did exactly what it was designed to do: it accepted a PO with the data it was given. The bug is in the seven preceding handoffs that landed bad data in the buyer's hands.
- →Quote PDF emailedday 012 size variants, 4-decimal pricing
- →Spec confirm?day 0is rev 6 what we want quoted?
- ←Rev 6 confirmedday 2no, rev 7 in CAD · please re-quote
- ←Re-quote rev 7day 2attaches new STEP + PDF
- →Revised quoteday 5same PDF shape, 6.8% higher
- →Approve to POday 5pricing band exceeded · escalate
- →Manual PO entryday 711 fields keyed from PDF · 2 transposed
- ←PO PDF sentday 8transposed price · vendor disputes
Figures illustrative · drawn from observed pattern, not a named deployment
A handoff-break map for a quote-to-PO loop that is healthy at every individual step but loses days at each interface. Numbered statuses: amber means a human had to interpret intent, red means data left the system in a form that will need to be corrected downstream.
A representative mid-market quote-to-PO loop, sampled across two months of buyer activity. Numbers are loose. the point is the shape, not the exact figure.
Figures illustrative · drawn from observed pattern, not a named deployment
Five handoffs, three vocabularies
Across the loop there are five handoffs. Three of them cross functions that do not share a vocabulary. Engineering thinks in part revision. Procurement thinks in contract line. The vendor thinks in SKU pricing tier. The ERP thinks in item master record. None of them are wrong. None of them translate cleanly into any of the others.
The buyer is the human translation layer between all four. In most shops that translation is unwritten. It lives in the head of the senior buyer who has been there long enough to know that when the coil supplier writes "Grade 304L · 1.5mm · slit" in a quote, the ERP item code is PMR-2810-1500-S and the engineering revision they care about is the one with the laser-cut chamfer notation. That mapping does not exist in any system. It exists in a person.
The buyer is the integration layer. Every shop has one. The day they take a vacation, quote turnaround triples.
Five stations where it actually breaks
When we audit a loop we walk it station by station. The break is almost never at one station. it is a specific kind of break that recurs at five of them. Five concrete scenarios, drawn from the patterns we see most often.
The MOQ that was never stated
Vendor V-218 sends a quote for PMR-2810-1500-S. The PDF lists unit price across twelve coil widths, four decimal places, footer footnote referencing "standard lead times." What the PDF does not say, anywhere: the minimum order quantity for the 1500-mm width is 4 coils, not 1. The buyer's spreadsheet keys off unit price. The MOQ surfaces eleven days later when the vendor's order acknowledgement comes back asking for the balance of the MOQ, and the WO on the floor is already running short.
Engineering redlines the drawing after the quote
Quote arrives on a drawing at rev 6. Engineering quietly promotes the part to rev 7 in CAD twenty-four hours later - a chamfer change on the laser-cut hub, half-degree of angle difference. Nobody tells the buyer because nobody knew the buyer was mid-RFQ on rev 6. Three days later procurement escalates the rev mismatch. The vendor re-quotes. The vendor adds 6.8% because the chamfer crosses a tooling threshold.[1]
The substitute part offer slips through unread
Vendor responds to the RFQ with two quote tables. Table A is the part as requested. Table B is the vendor's preferred equivalent, 18% cheaper, with a one-line note: "We recommend our 305L slit equivalent for this application." The buyer copies Table A into the spreadsheet because Table A is what they asked for. The vendor was offering the better deal. Nobody on the buyer side has the engineering authority to evaluate the substitution in the moment, and by the time engineering looks at it, the PO is already out.
The pricing band the buyer is checking against is stale
The buyer's acceptance gate is "within ±5% of the last quoted price." That number lives in a tab on a shared spreadsheet that the senior buyer updates roughly quarterly. Resin index moved 9% in the intervening quarter. The vendor's 6.8% increase is well inside the real market band but well outside the stored band. Procurement escalates it as an anomaly, which it is not. Two days lost.
One RFQ to five vendors, in three separate email threads
The buyer sends the same RFQ to vendors V-218, V-220, V-231, V-244, V-258. three of them in one thread, one in a separate email, one through the vendor's web portal because they do not accept email RFQs. Responses come back over six days, in five different formats, with at least one vendor quoting against rev 6 because that is what the original email said and the spec-update note went out on the other thread. Reconciling five quotes into one award decision takes the buyer most of an afternoon.
Why the ERP rollout does not close this gap
The standard answer from a tier-one ERP vendor is "the procurement module already supports an RFQ-to-PO flow." And it does. But that flow assumes the RFQ originated in the ERP. In real shops, the RFQ originates as a sentence in an email reply, gets revised in a follow-up thread, lands as an attachment, then has to be reconciled against an engineering revision that exists in CAD but has not yet been promoted into the ERP item master.
The procurement module is a downstream consumer of all that activity. By the time the data reaches it, every translation decision has already been made by a human, off-system. The ERP is recording what was decided, not deciding it.
The structural problem is what the ERP can and cannot see. It can see the PO record once it has been keyed. It cannot see the email thread that produced the PO record. It cannot see the Slack message where engineering told the buyer the rev had moved. It cannot see the vendor's alternate-part offer because that offer never made it onto a PO line. The ERP is recording effects without their causes.
A rip-and-replace ERP rollout to fix this loop is the wrong shape. It costs six to seven figures, takes twelve to eighteen months, and at the end of it the buyer is still copy-pasting quote PDFs into the new system. The break is not in the system of record. It is in the operational layer between the inbox and the system of record.
What the system of record knows
- ▭PO-08412 line 1PMR-2810-1500-S · 280 ea
- ▭Unit price$ 52.93
- ▭VendorV-218
- ▭Req date2026-06-12
- ▭Buyeruser 4031
- ▭Emit timestamp2026-05-26 14:08
What an operations layer reconstructs
- Vendor thread
- V-218 · 11 msgs
- Quote PDFs
- rev6 + rev7
- Drawing rev
- v7 · CAD-linked
- Slack confirm
- eng @ day 2
- MOQ note
- 4 coils · footer
- Sub offer
- 305L slit · ignored
- Price band
- ±5%, last upd q-1
- Audit trail
- full provenance
The PO line is the same. The context behind the line is the difference between defending a dispute and reconstructing it from inboxes.
Figures illustrative · drawn from observed pattern, not a named deployment
What an ERP record contains vs. what a complete operational record contains. The ERP line is correct in isolation. It is missing every input artifact that produced the line, which is exactly the context a vendor dispute, an audit query, or a vendor-consolidation review will ask for.
- Situation
- Inbound customer RFQs arrived as a one-line email with a PDF drawing attached. Estimating, engineering, and purchasing each opened the drawing separately, often two business days apart.
- What was breaking
- The average quote-to-PO loop was four business days. One-off BOMs were rebuilt from scratch every time because nothing in the ERP keyed off a customer drawing. Half of quotes landed outside the +/-8% margin band the operations VP enforced.
- BOM extraction + RFQ
- Quote-to-procure
- Engineering revisions
What an operations layer changes
The operations-layer approach is to leave the ERP alone and intercept the loop one step earlier. When the vendor email lands, the quote PDF is parsed against the item master. When the engineering revision rolls forward, the open RFQs that reference the prior revision are flagged. When the buyer accepts a quote, the PO record is drafted directly from the parsed quote, against the live item master, and surfaces for a single human approval before it lands in the ERP.
The senior buyer is still in the loop. They have to be. They are the one who knows the supplier history, the contract posture, the bandwidth on the floor next week. What they do not do is the eleven-field keystroke transcription. Transcription failures account for most of the rework cost we see in this loop.
What the buyer is reconciling
- ✉Vendor V-218 replythread · 11 messages
- PDFQuote PDF · rev 612 variants · 4-dec pricing
- PDFDrawing rev 7CAD export · STEP+PDF
- XLSOpen-RFQ trackercol Q has the price
- ✎Slack: eng confirmrev rolled forward 2 ticks
- ⇄Vendor portalpast-quote history · 14m
One record, one approval
- Item
- PMR-2810-1500-S
- Rev
- v7
- Vendor
- V-218
- Qty · unit
- 280 ea
- Unit price
- $ 52.93
- Delta vs band
- +1.4%
- Origin
- quote-2026-05-19
Approval gate fires on price-band breach, vendor-history exception, or revision mismatch.
Figures illustrative · drawn from observed pattern, not a named deployment
Before: a stack of unstructured inputs that a human has to reconcile. After: a single structured PO record drafted from parsed sources, with the human consulted only on the bands that matter.
The four specific changes Polymr makes
When a buyer's loop moves to an operations layer, four concrete things change at the interfaces. None of them require touching the ERP.
- 1The vendor inbox becomes a parsed surfaceVendor emails still land in the buyer's inbox. They also land in the parser. The parser reads quote PDFs, ack PDFs, alt-part offers, and reply text, and produces a structured candidate record per email. The buyer keeps reading their inbox. The parser keeps the spreadsheet up to date.
- 2Engineering revisions notify open RFQs by reference, not by SlackWhen CAD promotes
PMR-2810from rev 6 to rev 7, every open RFQ that references that item gets a flag on the buyer's queue: "reference rev moved." The buyer decides whether to re-quote or accept against the old rev. The decision is recorded. - 3The pricing band is a live computed band, not a stored numberPricing bands recompute against rolling vendor history, indexed against published commodity baselines where one exists. A 6.8% increase that is inside the band does not escalate. A 4% increase that is outside the rolling band does escalate. The senior buyer stops being asked to bless every routine move.
- 4PO emit is one signed approval against a drafted recordNo eleven-field transcription. The PO is drafted from the parsed quote, against the live item master, with every field provenance-linked to the source artifact. The buyer signs once. The ERP write happens programmatically and is logged.
- Vendor emailinbox feed
- CAD rev eventengineering
- Vendor portalscrape
- ParsePDF · email · STEP
- Reconcileitem master · history
- Proposedrafted PO
- Approval gateband · history check
- ERP writePO line
- Audit logprovenance
Figures illustrative · drawn from observed pattern, not a named deployment
The parse → reconcile → propose → approve cycle. Each box is a Polymr stage. Source emails and CAD events fan in; the gate is the single human contact point before the ERP write. Solid arrows are data; dashed arrows are human signatures.
What this looks like in week one
The shape of the first deployment is narrow on purpose. Pick one supplier category. coil, fasteners, machined housings, whatever the buyer hates the most. Wire the supplier inbox in read-only first, so the parser can be validated against real quotes the buyer is already processing. Surface drafted POs for review-only for a week. Switch the approval gate on once the buyer trusts the parse.
By the end of that week, the loop that took eight calendar days takes one. Not because the workflow got faster. because the translation layer stopped being a human.
The operations layer is not a smaller ERP. It is the layer that sits between every unstructured source the loop touches and the ERP write at the end. The ERP keeps doing its job. The buyer keeps applying judgment. The layer in the middle stops being a human typing PDFs into forms.
The objections we hear most often
Three objections come up consistently when we walk a buyer through this loop for the first time. None of them are wrong. All of them have specific answers.
The first objection is parser trust. "What happens when the supplier sends a quote in a format the parser has not seen?" The answer is that the parser does not silently guess. Unparseable regions get flagged on the proposal, with the original PDF anchored alongside, and the buyer reviews the proposal with the same context they would have had in the old flow. The parser is additive. it never blocks the buyer from doing the work the old way. It only removes work the buyer used to do by hand on the cases where the parse is confident.
The second objection is supplier disruption. "We do not want to ask the vendor to change anything." The vendor does not change anything. The vendor keeps sending the same PDF quote to the same inbox. The parser runs on what arrives. The integration is entirely on the buyer side.
The third objection is the audit posture. "Will the auditor accept a PO that was drafted by a machine?" The PO is not drafted by a machine in the sense the auditor cares about. The PO is drafted by the buyer, with the parser surfacing the source artifacts inline. The buyer signs. The audit record is stronger than it was before. every field has a provenance pointer to the source artifact it was extracted from, which is more than the old PO had.
The shape of the answer in all three cases is the same. The operations layer does not replace the buyer's judgment. It removes the eleven-field keystroke transcription that was consuming the buyer's morning and introducing the transposition errors that caused the disputed PO in the first place. The judgment stays where it always was.
Footnotes
- [1]Tooling-threshold pricing jumps are common where a geometry change crosses a setup boundary on the vendor's machine. A 0.5° chamfer change can flip you from a two-op to a three-op cycle without any visible change on the drawing summary. Vendors rarely annotate this. It is one of the things experienced buyers learn vendor-by-vendor over years.
