This paper considers a joint supplier selection and lot-sizing problem, where suppliers are capacitated and offer a certain type of quantity discount. The product's perfect rate varies among suppliers and a minimum average acceptable perfect rate (APR) is required. Besides, in order to facilitate production plans, orders placed to suppliers are required to cover the demand corresponding to an interval that is multiple of a given time unit. A cyclic order schedule is employed, and the set of selected suppliers and corresponding order quantities and frequencies are determined accordingly so that the total cost per time unit (CPT) is minimized. A mixed-integer linear programming model is presented. An exact algorithm based on dynamic programming (DPA) is proposed. A numerical example is presented to illustrate the application of the model and algorithm. DPA not only solves the problem optimally but also provides the trade-off between CPT and APR for the decision maker.