Does he work for the roofing manufacturer? Who gets your money? That is who needs to solve the problems. Unless you hired the contractor and paid for materials separately. Then you would need to deal with contractor directly. Either way, a competent contractor should be able to fix it, but it might be an upcharge.