RFQ Generator
Paste a scope of work (or upload a spec section), and the AI generates a complete, bid-ready Request for Quotation with line items, exclusions, inclusions, and a vendor bid form.
What it does
RFQ Generator takes a scope narrative — a few paragraphs, a spec section, or a full bid package — and produces a structured RFQ document: project header, scope sections, numbered line items with quantities and units, inclusions (what vendors must provide), exclusions (what they must not assume), submission instructions, and a blank bid response form.
The output is a JSON structure that renders as a formatted, exportable document. Send it to vendors as a PDF or XLSX; when they respond, the structure lines up cleanly with the Bid Leveling engine for side-by-side comparison.
When to use it
- You have a scope document (plans, specs, narrative) and need to solicit bids — most common use.
- You want a standardized bid template so every vendor responds in the same format — downstream leveling is much faster.
- You're replacing a mixed pile of "just call me, I'll quote" conversations with a structured process.
You already have vendor bids in hand — go straight to Bid Leveling. RFQ Generator is for the solicitation step, before you've received responses.
What to upload
The engine accepts either pasted text in the scope field or a single document upload. Supported document types: PDF, DOCX, XLSX, CSV, plain text. The engine reads up to 60,000 characters of scope content; longer documents are truncated with a banner warning on the output.
You also set these fields explicitly (each can be inferred from the scope if left blank):
Used in the RFQ header. Optional — the engine infers it if blank.
Your company as the solicitor.
Free-form — "Electrical," "HVAC," "Structural steel." Guides line-item granularity.
Date vendors must submit by. Appears in the RFQ header and bid-form instructions.
Who vendors contact with questions.
Optional. If set, becomes a mandatory field on the vendor bid form. If blank, the RFQ asks vendors to state their Incoterm basis.
Free-form text for site conditions, union requirements, safety programs, or anything else you want in the RFQ body.
Step by step
Open the engine
Sidebar → Engines → click the RFQ Generator card.
Paste or upload scope
Either paste the scope narrative into the text area or drag a file into the upload zone. The engine reads the content into the scope field.
Fill project fields
At minimum, set the trade and bid-due date. Everything else can be inferred from the scope, but filling it in gives you more control over the header.
Click Run analysis
Takes 20–40 seconds. The progress bar shows the model thinking, then parsing.
Review the structured RFQ
Results open with the generated RFQ laid out in sections: project overview, scope sections with line items, inclusions, exclusions, submission instructions, and a blank bid form. Each block is collapsible.
Export
Top-right of the results: Export PDF for sending to vendors, Export XLSX for vendors who want to fill in-place, Export CSV for machine-readable line items.
Chain to Bid Leveling
When vendor responses come in, click the Chain to Bid Leveling button at the bottom of the result. The RFQ structure carries forward as the reference spec — Bid Leveling lines up each vendor against these line items automatically.
Understanding the results
Output sections:
Name, trade, owner, contact, bid due, issue date, Incoterm. Appears at the top of the exported PDF.
2–3 sentence narrative inferred from the scope, covering project type, size, location if stated.
The AI segments the scope into logical sections (e.g., "Rough-in," "Finish," "Testing"). Each section has a short description and a list of line items.
Each row: item number, description, quantity, unit of measure, and notes. The AI extracts these from the source scope; if a quantity isn't stated, it writes "TBD" rather than guessing.
Items vendors must include in their price — freight, startup, testing, warranty, training, etc. Inferred from the scope and standard trade practice.
Items outside the RFQ scope — things vendors should not include (and should not assume are theirs). Protects you from apples-to-oranges bids.
How to submit, what format, what backup documentation is required, bid-bond requirements if any, contact for clarifications.
Blank row-per-line-item form vendors fill in. Preserves the line-item structure so responses are directly comparable.
Every control, explained
Run analysisSends the scope + metadata to the AI. Consumes one run.
Try with sample dataRenders the Bridgeport Datacenter $45M electrical RFQ as a pre-computed example. Does not consume a run.
Export PDFGenerates a formatted PDF of the RFQ suitable for emailing to vendors.
Export XLSXExports a spreadsheet with line items across sheets, preserving sections and the blank bid-form tab.
Export CSVFlat CSV of line items. Use when you need machine-readable output for another system.
Chain to Bid LevelingOpens Bid Leveling with this RFQ as the reference spec. Data is carried forward automatically.
Chain to Scope ComplianceOpens Scope Compliance with this RFQ pre-loaded. Use after a single vendor responds and you want to check whether their bid matches what you asked for.
Copy as MarkdownCopies the full RFQ text to clipboard as Markdown — useful for pasting into email or Slack.
Chat with resultBottom of the page: ask questions about the RFQ. "Rewrite section 3 to be firmer on warranty" or "What would a reasonable alternative Incoterm be?" Answers don't consume runs — chat is metered separately.
Chains
When you're ready for the next step, click one of the chain suggestions at the bottom of the results panel. Data carried forward is marked with a Data tag.
Chains into
Chained from
Exports
- PDF — formatted document, one section per page break, vendor bid form on the last pages. Send to vendors as-is.
- XLSX — one sheet per section plus a bid-form tab. Vendors fill in place and return.
- CSV — flat line-item list. For importing into another procurement system.
Troubleshooting
Scope input exceeds 60,000 characters. The engine analyzes the first 60,000 and flags the result as partial. Split the scope into sections (by trade, by building area) and run each separately.
If the output line items are vague, the source scope is probably narrative-only. Upload spec sections with real numbered items if you have them, or paste a more granular scope. You can also ask the chat: "Regenerate section 2 with more detail."
Check the Incoterm field before running. The engine respects whatever you set; if blank it leaves the field as a vendor-responsibility prompt.
That's fine — Bid Leveling tolerates heterogeneous vendor responses and will still match back against the RFQ.