This study considers a customer order scheduling (COS) problem in which each customer requests a variety of products (jobs) processed on a single flexible machine, such as the computer numerical control (CNC) machine. A sequence-independent setup for the machine is needed before processing each product. All products in a customer order are delivered to the customer when they are processed. The product ordered by a customer and completed as the last product in the order defines the customer order’s completion time. We aim to find the optimal schedule of the customer orders and the products to minimize the customer orders’ total completion time. We have studied this customer order scheduling problem with a job-based processing approach in which the same products from different customer orders form a product lot and are processed successively without being intermingled with other products. We have developed two mixed-integer linear programming models capable of solving the small and medium-sized problem instances optimally and a heuristic algorithm for large-sized problem instances. Our empirical study results show that our proposed tabu search algorithm provides optimal or near-optimal solutions in a very short time. We have also compared the job-based and order-based processing approaches for both setup and no-setup cases and observed that the job-based processing approach yields better results when jobs have setup times.