There's more than one way to skin a cat.

Now, I realise that buying, stroing, and transporting parts have costs associated with them that, one way or another, have to be paid.
That said, you can't help but make a poor impression on your customer when you charge $10 for something they can get across the street for $1.

Indeed, the carrying costs of inventory are behind both the "just in time" practices in manufacturing, and the Reno-area's largest industry- Warehousing.
(Surpassing gambling in bot dollard generated, and number of employees, warehouseing succeeds here because of various quirks of doing business in California- that drive up costs).

This is why my material markup is minimal- just enough to 'round off' the price after allowing for taxes. As an example, a $100 total material bill will be passed on as maybe $110. Freight is included in this price, where applicable.
Quite simply, I am not in the business of competing with either Wal-Mart or Graybar.

I think what the customer is saying when he asks for "contractor pricing" is a reassurance that you're not gong to milk him.

Now, you still have your business expenses to cover; those rightly are part of your basic rate.

The best way to do a job is to quote a total price, without any breakdown. It's neither relevant, nor anyone's business, just what you paid for something. Figure your price, ignoring any comments from the customer, and present it.
If he says "but Joe can do it for less"- you're probably better off assuring him that he will be quite happy with Joe.
If he wants to change the terms- well, that's a different deal altogether! Maybe the guy is capable of digging a ditch 24" deep. If he wants to supply the parts- fine, give him a list of what you want, let him get them, and agree to deduct that from your price (see receipts!)