Originally posted by @Sky Mikesell:
I always will make my contractor pick up the materials.... if they are a new contractor i happily meet them at the store to pay for it to insure they cant try to mark up the price on me.
If it is a contractor i have worked with i simply pay for the materials over the phone.
I dropped a contractor whose time and work were both excellent because he marked up the prices, thinking I was an idiot who could not check what it cost. Right in front of me he calculated the price for installing a lock on a door saying it was this minus that plus that, quoting a steep price for the lock itself. I took the packaging out of the trash (where he put it) and went to Home Depot (I was already going there..) where it cost $12, not $35 he told me. He did this time after time, padding his materials. So I dropped him, a high quality worker, because I did not trust him. Also, many times this man said inappropriate things to me and then apologized a day later.... I could live with it, but got sick of how he padded the money.
The plumber -- I want to say again -- gave me a price on the water heater that was equal to what I found on the web. His labor was $78 an hour. My city requires a permit, because it is a gas heater. The plumber had to change some of the vents, pipes, etc, because he found holes and that's dangerous.
I believe it was money well spent.