Preparing an RFQ for PCB assembly
Every file an accurate quote needs, what each one is used for, the gaps that stall quotes, and how to submit a package that is incomplete on purpose.
7 min read · 7 sections · Vendor-neutral
Why the package decides the quote
A PCB assembly quote is not a single number pulled from a rate card. It is built from four separate estimates, and each one depends on a different part of your package. Bare-board cost comes from the fabrication data: layer count, board area, drill count, finish, and any special processes your notes call out. Assembly cost comes from the pick-and-place file and BOM together: how many placements, how many unique parts, which packages, and whether both sides are populated. Component cost comes from the BOM line by line, at the quantities you state. Non-recurring engineering — stencils, fixtures, programming setup, first-article inspection — depends on the process the board needs.
When a file is missing, the person quoting has two choices: guess, or ask. A guess produces a quote that changes later. A question produces a delay. A complete package produces neither, which is why the file review at Atherton Forge happens before quoting rather than after. This guide describes what that review is looking for.
The complete package
The table below is the full list. Few projects arrive with everything, and that is a normal place to start — but knowing the full list tells you which gaps matter for your stage.
| Item | What it is | What it is used for | Usual format |
|---|---|---|---|
| Fabrication data | The layer images of the bare board: copper, solder mask, silkscreen, paste, board outline. | Board fabrication, panelization, stencil cutting. | Gerber RS-274X, ODB++, or IPC-2581 |
| Drill files | Hole positions, sizes, and plated/non-plated status; separate files for through, blind, and buried vias. | Drilling program; via structure informs cost. | Excellon (.drl, .xln, .txt) |
| Fabrication drawing or notes | Stackup, laminate, finished thickness, copper weights, surface finish, mask and legend colors, impedance targets, IPC class, tolerances. | Material selection, process selection, inspection criteria. | PDF, or a notes layer in the Gerbers |
| Bill of materials (BOM) | Every component with manufacturer part number, quantity per board, and reference designators. | Procurement, kitting, assembly programming, traceability. | XLSX or CSV |
| Pick-and-place (CPL, XY, centroid) | Reference designator, X and Y position, rotation, and side for each placed component. | Placement machine programming; placement count drives assembly cost. | CSV or TXT |
| Assembly drawing | Component outlines and designators with polarity marks, do-not-populate (DNP) callouts, and special instructions. | Programming verification, inspection reference, operator instructions. | |
| Schematic | Circuit diagram. | Substitution decisions, debugging, understanding test intent. Not required to quote. | |
| Test requirements | What must be verified before shipment: programming, functional checks, acceptance criteria. | Test planning, fixture scoping. | Document or notes |
| Firmware | Images and the programming method. | Programming during or after assembly. | Binary plus instructions |
| Mechanical files | Enclosure, harness, and assembly models for box build. | Integration planning; not needed for board-only quotes. | STEP, drawings |
| Quantity and schedule | Units per build, expected annual volume, need date and what drives it. | Price breaks, sourcing strategy, capacity planning. | Stated in the request |
| Approved vendor and substitution rules | An approved-vendor list, and any lines that must not be substituted. | Sourcing constraints, alternate proposals. | Column in the BOM or a note |
What each file must actually contain
Fabrication data
Export every copper layer, both solder mask layers, both silkscreen layers, the paste layers, and a board outline (mechanical or keep-out) layer. Include a drill drawing or a netlist export (IPC-D-356) if your tool produces one; it lets the fabricator run a netlist compare and catch export errors before they become boards. Name the layers clearly or include a layer map. One zip archive per revision is easier to control than loose files.
Drill files
Export in Excellon format with the header intact, so units and coordinate format are unambiguous. If the board has blind or buried vias, each drill span must be its own file, and the stackup in your fabrication notes must say which spans exist. Distinguish plated from non-plated holes.
Fabrication notes
State what matters and leave the rest to the fabricator. The essentials are layer count, finished board thickness and tolerance, base material (for example FR-4 with a stated Tg), copper weight per layer, surface finish, solder mask and legend colors, and any controlled-impedance requirements with the target layers and trace widths. If you need a specific IPC-6012 class or an ultraviolet-blocking mask, say so; if you do not care about legend color, saying so avoids a question.
Bill of materials
The BOM is the file most likely to cause rework, which is why it has its own guide. The minimum for quoting is a manufacturer part number and a quantity for every line, with reference designators that match the pick-and-place file. Description-only lines (“10k resistor 0402”) can be quoted with assumptions, but every assumption becomes a question later.
Pick-and-place
Export with reference designator, X, Y, rotation, and side, and state the units and the coordinate origin. Rotation conventions vary between CAD tools and between tools and machines; the assembler will verify against the assembly drawing, which is one reason the drawing matters. Include DNP parts in the export, or remove them consistently — either is workable if the BOM agrees.
Assembly drawing
A PDF of the component outlines and designators for each side, with polarity and pin-one marks visible for diodes, LEDs, electrolytic capacitors, ICs, and connectors. Add callouts for anything not obvious from the data: press-fit parts, hand-soldered items, components installed after wash, height limits.
The gaps that stall quotes
These are the omissions the file review most often has to write back about. Each one is quick to fix before you submit and slow to fix after.
- A BOM without manufacturer part numbers, or with distributor part numbers only. Distributor numbers are helpful in addition, not instead.
- Reference designators that do not match between the BOM and the pick-and-place file — usually because one was exported from an older revision.
- Do-not-populate components that appear in the placement file and the BOM with no DNP flag, so they get quoted, bought, and placed.
- No fabrication notes at all, leaving thickness, finish, and material to assumption.
- A missing paste layer, which means the stencil has to be derived from the copper and pad geometry checked by hand.
- Polarized parts with no polarity marks on the drawing or silkscreen.
- Quantities stated as a range so wide that price breaks cannot be chosen, or not stated at all.
- Test expectations left unstated — the difference between visual inspection and a fixture-based functional test is a different quote.
- A native CAD file in place of manufacturing outputs. It can often be exported, but you will be asked to approve the generated data.
- Fabrication data and BOM from different revisions, discovered only when a footprint does not match its part.
How to state quantity and schedule
Quantity has three parts. Units per build is what will be assembled in this order. Expected annual volume, even approximate, tells the reviewer whether to plan a one-off or the start of a production relationship, which changes the sourcing strategy and the tooling decisions. And the number of boards per product unit matters when a product contains several assemblies.
Schedule has two parts: the date you need parts in hand, and what drives it. A trade show, a customer commitment, and an internal test milestone lead to different conversations about what can move. If part of the order is flexible — the first ten urgently, the rest when convenient — say so; split deliveries are a normal planning tool.
Avoid “as soon as possible” without a reason. It is not wrong, but it removes the information that lets the review propose a realistic plan. Component lead times, not assembly time, usually determine the critical path, and the review will tell you which lines set it.
Submitting an incomplete package on purpose
Sometimes you need a conversation before the package exists: you are choosing between two board sizes, the BOM is still moving, or you want to know whether a facility can handle a package before finishing the layout. Submit anyway, and say what stage you are at. The file review will return a written list of what is missing and what it would need for an accurate quote, without ordering anything.
What you should expect back from a partial submission: a list of gaps, questions about anything ambiguous, an indication of which capability items need confirmation, and a suggested next step. What you should not expect: a binding price. A number produced from an incomplete package is an estimate, and it will be labeled as one.
Pre-submission checklist
Ten minutes on this list before you upload saves days of back-and-forth after.
- One archive per revision: fabrication data, drill files, and fabrication notes exported from the same design revision.
- BOM with a manufacturer part number and quantity on every line; reference designators present.
- Pick-and-place file exported from the same revision as the BOM, with units and origin stated.
- DNP components flagged consistently in the BOM and the assembly drawing.
- Assembly drawing PDF with polarity and pin-one marks for every polarized part.
- Fabrication notes covering thickness, material, copper weight, finish, and any impedance requirement.
- Quantity per build, expected annual volume, and boards per product unit.
- Need date and what drives it; any flexibility noted.
- Test and programming expectations stated, even informally.
- Any approved-vendor constraint or no-substitute line called out.
With this in hand, the quote that comes back is built on your data rather than on assumptions about it — and the build that follows starts from a package everyone has already agreed on.