Contracts are enforceable and binding on both parties. If the contract requires the contract to provide these materials at his cost, he must do so--you can take him to court  if necessary on it. If he miscalculated and is losing money on the work, that's his problem, not yours.Before speaking with an attorney (if you can't resolve this with the contractor), check the contract again: does it say the contractor will *pay* for the materials or only that he will "provide" them. If the latter, then the contract may be ambiguous--it's possible that it would allow for the contractor to arrange for and pick up the materials, but then charge you for them at his cost. It could in that case be that you are each acting in good faith according to what you think a badly drawn contract specifies. Therefore, before taking the next step, look at the contract again; you can bring it to an attorney to help understand it or negotiate it, but it's a good idea to first consider how hard you're willing to push if it's not entirely or unambiguously in your favor.