Review supplier quotes
A lower unit price is useful only when the offers describe comparable work. Keep the supplier’s original reply, identify what each price includes, and check the founder’s hard requirements before ranking offers.
This guide uses the existing quote_record and quote_negotiation actions. Both return drafts. Recording or negotiating a quote does not create a purchase order or establish that a supplier meets your quality requirements.
For an existing managed request, read submitted supplier quote versions and check the request revision each one answers. Publish a new or corrected request through exact disclosure review; a quote draft does not approve sharing files.
1. Save the source reply
Section titled “1. Save the source reply”Keep the original message and attachments with the supplier identity, received date, part/drawing revision and request it answers. Your local agent can read these files with its existing permissions. Send only the relevant reply text to Maglev; a local attachment path does not upload the attachment.
Prepare an action request:
{ "kind": "quote_record", "input": { "factoryId": "FACTORY_UUID", "receivedOn": "2026-09-16", "quoteText": "Paste the supplier's actual reply here without rewriting it." }}Replace FACTORY_UUID with a reviewed directory UUID. If the factory is unknown, use factoryName instead and check factoryResolved in the result. An unresolved name is not a verified partner.
maglev actions request PROJECT_ID --input quote-record.json \ --idempotency-key enclosure-b-supplier-a-quote-001 --jsonThe input’s optional currency is only for a currency you independently know when the reply does not state one. The current normalized schema supports USD, CNY and unknown; it cannot faithfully represent every currency. Do not relabel an unsupported currency as USD/CNY. Keep the original and resolve the limitation before comparing values.
2. Check the extraction against the original
Section titled “2. Check the extraction against the original”Read action.status and the saved result at action.output.result. In that result:
originalTextpreserves the supplied reply;translatedTextis an aid to review.quoteholds the extracted amounts, terms, lead times and evidence quotes.comparisonFlagsnames missing or incompatible comparison information.evidenceDroppedcounts evidence quotations discarded for failing the verbatim check.factoryResolvedtells you whether the supplied reference matched a record.
A quotation appearing in the source does not prove that the model assigned the correct value, currency or field. An empty flags list does not prove a complete or compliant offer. Check the values and the context of their evidence yourself or through the review process you already authorized.
The current language detector distinguishes Chinese-like text from its English branch; it is not general language identification. For another language, retain and review the original using your existing language tools.
3. Align the comparison basis
Section titled “3. Align the comparison basis”| Check | What needs to agree or be made explicit |
|---|---|
| Scope | Part, revision, material, finish, tolerances, included operations and tests |
| Quantity and unit | Requested quantity, per piece/per set, and what a set contains |
| Currency | Explicit currency per line; use a dated, sourced exchange rate only if conversion is needed |
| One-time charges | Tooling, setup, sample and engineering costs, separated from recurring parts |
| Tooling rights | Ownership, transfer and maintenance terms actually agreed |
| Lead time | Range, working/calendar days and the event that starts the clock |
| Delivery terms | Incoterm, named place/port, version and excluded costs |
| Validity | Expiry date, payment assumptions and changes that require a new quote |
| Quality | Applicable inspection/test criteria and the evidence needed before release |
Incoterms allocate buyer/seller costs, risks and obligations. Preserve the actual rule and named location when asking for comparable prices; one three-letter label is not a complete description of the work. ICC’s Incoterms overview.
The normalized productionLeadDays is a number. The current extractor takes the longer end of a range and does not convert working days into calendar days. Keep the original range and clock trigger alongside that number. Two results containing 20 can describe different schedules.
4. Work through a concrete example
Section titled “4. Work through a concrete example”The repository contains two synthetic quote requests. They are deliberately incomplete and name no real suppliers.
| Item | Synthetic A | Synthetic B |
|---|---|---|
| Price | USD 10 per piece, 100 pieces | USD 8 per set, 100 sets |
| Tooling | USD 250; customer ownership stated | Not yet confirmed |
| Design basis | Enclosure revision B; aluminum 6061 | Revision and material grade not confirmed |
| Lead time | 20 working days after sample approval | 20 days; basis and trigger unstated |
| Inspection | Plan/report not included; must be agreed | Scope not confirmed |
A’s limited goods-and-tooling subtotal is 100 × USD 10 + USD 250 = USD 1,250. It is not a landed or all-inclusive total: tax, freight and unresolved inspection costs remain outside it.
B is not established as cheaper. Its set contents, tooling and specification are unresolved. Neither reply proves the product’s quality criteria have been met. With “quality before price,” the next step is to close those evidence gaps, then compare the offers that satisfy the brief.
5. Ask focused follow-up questions
Section titled “5. Ask focused follow-up questions”Request the smallest missing information that changes the decision. For B, that could be:
Please quote 100 individual enclosures against revision B in aluminum 6061. Identify the contents of a set, tooling/setup charges, inspection scope, delivery term and named place. Does the 20-day lead time mean working or calendar days, and what starts it?
Use quote_negotiation to prepare a follow-up draft, retaining the source reply and actual authorized targets or concessions. For deterministic MOQ arithmetic, supply the factory’s stated MOQ in the normalized quote.moq. A desired MOQ is a target, not an existing supplier term.
The current API does not enforce arbitrary quality/location text as a server-side negotiation policy. Carry non-negotiable requirements in supported input fields, keep the authority record with your project, and inspect both language versions before any authorized dispatch. Do not treat a generated whatWeOffer list as proof that the founder granted those concessions.
Read factory selection for preserving requirements before an RFQ, and authority for the difference between generating a draft and approving a delivery.