That’s how I used to do it, now I don’t do any work with client parts unless they are established clients I like. Others I’ve worked for had allowances in the contract for various parts - if you want to supply your own, then the allowance is taken off, but the allowance doesn’t refund the entire amount and accomplishes the same thing as my markup.
My suppliers are reliable and the parts work - something bought used is the worst - maybe it works maybe it doesn’t and if defective it can’t be returned so extra work goes into fixing it.
Ebay is completely full of defective parts of all kinds. Anything bought retail with an open box is highly likely to be missing a part. Even unopened boxes are a hassle - one client had parts purchased over a year ago and once opened and found to be damaged the supplier wouldn‘t refund or exchange it. Sizes are often purchased wrong.
There are guys that take any and all parts and never up charge for it, because they need the work, or their hourly rate is elevated to cover it. Those of us that are plenty busy with good projects would lose money and have to slow down the schedule just by allowing customer supplied stuff.