Free RFQ template · Download CSV

RFQ template, priced in minutes

Download the CSV. Drop it into Excel, Google Sheets, or your ERP. Fill in your lines. Send it back. The columns are arranged so our parser and our supplier network can route every line on the first pass.

Why a template helps

You do not need this template. But it makes us faster.

We will parse anything: PDF takeoffs, photos of paper markups, mixed-format emails. But when a BOM arrives in this exact column order, our parse is deterministic instead of probabilistic, and the quote comes back in minutes instead of tens of minutes. The template is for people who want the fastest path.

Deterministic parse

Fixed columns mean no inference. We know which value is the part number, which is the quantity, which is the description. Edge cases (3M's "3M Aerospace" vs. "3M") get resolved upstream.

Cleaner substitution flags

When manufacturer + part number is explicit and a substitute is needed, we can flag it cleanly. Free-text descriptions force interpretation and surface more ambiguous lines.

Ship-to per line

The template carries one ship-to-site column per line. Useful for multifamily portfolios, manufacturer multi-plant orders, electrical contractor multi-jobsite drops. One BOM, multiple drop addresses, one invoice.

Need-by per line

Different lines often have different deadlines. The template carries need-by-date per line so we route urgent lines through faster supplier paths automatically.

The columns

What each column is for.

Required columns are in red. The rest are optional but help us route faster.

Column Required Example Notes
line_numberoptional1, 2, 3...Auto-filled if blank. Helpful for cross-referencing back to your estimating system.
quantityrequired24Integer or decimal. Required on every line.
unit_of_measurerequiredcase, each, box, ft, reamBe specific. "case of 6 vs. case of 12" disambiguates.
manufactureroptionalKimberly-Clark, 3M, EatonIf known. Improves parse accuracy by ~30%.
part_numberoptional01840, 2091, BR240Manufacturer SKU. Strongest signal for exact match.
descriptionrequiredScott 1-ply toilet tissue 1000-sheet 80/caseRequired if manufacturer + part number are not both supplied.
target_unit_priceoptional3.85If you have a price-to-beat, listing it helps us flag overages immediately.
need_by_dateoptional2026-05-30YYYY-MM-DD. Helps route urgent lines to faster supplier paths.
ship_to_siteoptionalMain building, Plant 2, 1234 Main StPer-line drop address. Defaults to header address if blank.
notesoptionalReplacement for current stocked SKUFree-text. Use for spec exceptions, alternates allowed, or context.
Example

Three example lines, three categories.

The same template handles electrical, jan-san, and PPE. The same template handles foodservice and packaging. The columns do not change. Only what you fill in.

Cross-category sample (3 lines)

line_number,quantity,unit_of_measure,manufacturer,part_number,description,target_unit_price,need_by_date,ship_to_site,notes
1,24,case,Kimberly-Clark,01840,Scott 1-Ply Toilet Tissue 1000-Sheet 80/Case,,,Main building,Replacement for current stocked SKU
2,12,each,3M,2091,Pro-Pak General Purpose Sandpaper 9x11 in,,,Warehouse,
3,4,box,Honeywell,RWS-54002,Howard Leight Bilsom Earplug Box 100/Pair,,,Maintenance shop,
Common questions

About the template.

Do I have to use this exact format?

No. We will parse anything you send: PDF, Excel in any layout, plain text email, photo of a paper takeoff. The template is the fastest format because it requires no inference on our end. If you already have your BOM in a different format, do not retype it. Just send it.

Can I add custom columns?

Yes. Add columns to the right for internal use (cost code, project ID, GL account, etc.). We ignore unknown columns during parse but they will round-trip back to you on the quote so your downstream systems see them.

What if my system exports a different column order?

Send it anyway. Our parser handles any column order if the headers are recognizable. The fixed template is just the cleanest path.

Can I send multiple ship-to addresses in one RFQ?

Yes. Use the ship_to_site column per line. We will return one quote split by ship-to with consolidated totals or per-site totals, depending on your preference.

Is there an Excel (.xlsx) version?

The CSV opens cleanly in Excel and Google Sheets. We deliberately offer CSV instead of XLSX so you do not get locked into formula columns or merged cells that break parse.

How long are quoted prices valid?

Default is 14 days. If you specify a bid validity window in the RFQ, we honor that instead (up to 90 days for bid-cycle quotes).

Download the template. Send the BOM.

Or skip the download and paste lines directly into the BOM pricer.