I supplied them with the PCB, the MCU, crystal and the BGA Telit GSM/GPS module. They supplied all the other parts and did a superb job. We had to pay £250 for a stencil for the BGA, but the actual assembly and parts only cost £30 for each board, including X-ray. Another time they removed a Telit module, reballed it and assembled another board. I think it cost a few pounds more.
I did follow their recommendations when designing the board, especially about fiducials for the BGA module, to make things easy for them.
My company has all of our boards built by vendors. To some we supply a kit of part whereas others do a complete turn-key assembly.
We are near Philadelphia and have a least 6 places that do this work within 100 miles. Some are better than others and we send different boards to the vendors that can handle the complexity and fine pitch or BGA devices. The other vendors get the boards with larger components and through hole parts that need more hand work rather than PnP.
It is very important to talk to them first so that the design is manufacturable by automated equipment, pick&place, reflow, etc and provide them with accurate documents that fully describe the assembly requirements for the best pricing.
There are one time charges for paste masks then a charge per run for PnP set-up etc.
We do go back and forth a few times with new vendors and when a new design uses the latest high density components until both our design and their processes converge. We do all finial testing and calibration in house and do find assembly issues on the first runs of new designs. We feed back the problems and each following run of boards gets better.
All in all it is a continuing learning experience.