The One-Dimensional Cutting Stock Problem consists in cutting long bars into smaller ones, to satisfy customers’ demand, minimizing waste and cost. In this paper the standard problem is extended with the inclusion of additional constraints that are generally neglected in scientific literature, although relevant in many industrial applications. We also modified the standard objective function, by assuming that bars may have a different economical value and a different processing or shipping priority. Moreover, in line with business requirements, among solutions that generate the same cutting waste, we prefer the ones that generate a low number of leftovers, especially if leftovers are long, so that the likelihood of their reuse is high. To solve the problem, we propose a Simulated Annealing based heuristic, which exploits a specific neighbor search. The heuristic is implemented in a parametric way that allows the user to set the priorities of the bars and to choose the specific sub-set of constraints he or she wants to consider. The heuristic is finally tested on many problem instances, and it is compared to three benchmarks and to one commercial software. The outcomes of this comparative analysis demonstrate both its quality and effectiveness.