This paper researches a two-machine flowshop scheduling with an outsourcing strategy. In the flowshop, the first processing of jobs is either managed in-house or outsourced to outside suppliers, the second processing is processed in-house only. When a job is outsourced, the company pays outsourcing cost for each job, and considers outsourcing lead-time implying that the second processing can start after the lead-time. The objective cost function of this paper is the sum of the total weighted completion time and the outsourcing costs. This paper derives a branch-and-bound algorithm and some heuristics for the problem. From the computational experiments, we can observe that the performance of the derived algorithms is effective and efficient.