A flat roof costs about $4 per square foot, according to the National Association of Home Builders. This includes labor, materials, and permits. However, it does not include the cost of replacing shingles, which can run up to $10-$15 per square foot.