A repeatable way for a job shop to go from an RFQ to a price: set your rates once, measure the part, price each cost driver, and state your assumptions. This is the same structure cncquoter uses, so you can check any step against the tool.
Every line of a machining quote is time multiplied by a rate, so a wrong rate makes every quote wrong in the same direction. Build it from your actual costs and billable hours, not from what the shop down the road charges. The shop rate calculator walks through it line by line. For reference, cncquoter's out-of-the-box default is $95/hr, a starting value to replace with your own number.
From the CAD model, take the bounding box (which sets your stock), the part volume (stock minus part is what you remove), and the surface area (which drives finishing passes). Count the orientations it needs to be held in, since each is a setup. cncquoter reads all of this from a STEP file in the browser; with a drawing only, measure the envelope and estimate.
The cost estimate guide works through these lines with real numbers.
A good quote states the price at each quantity, lead time, material, finish, what's included and excluded, and how long the price holds. Keep assumptions visible so the customer can correct them before the job starts instead of after. Speed matters too: buyers sending the same RFQ to several shops often go with the first credible answer.
For a simple prismatic part from a clean STEP file, a few minutes once your rates and rules are written down. What makes quoting slow is re-deciding the same things every time: which rate, how much setup, what margin. Settle those once, then the per-part work is measuring the geometry and judging complexity.
Quote both. One-time costs (programming, first setup, fixtures) are paid once per job, so the per-part price falls as quantity rises. Showing prices at two or three quantities lets the customer see that and often moves them to a larger order.
Price the uncertainty explicitly: widen the range, add a line for the risky operation, or quote with an assumption stated on the quote (for example, a tolerance you'll hold unless the drawing says otherwise). Silent padding across the whole quote loses jobs you could have won.