The globalization of business is more and more popular in last few years. To keep up and remain competitive, a suitable business system can achieve this objectiveto a certain degree. While business systems have been used in enterprise for several decades, most existing business systems have difficulty in dealingwith today's rapidly changing business environment. As long as business requirements change, these systems will become inapplicable immediately.Furthermore, businesses will not develop a new business system from scratch to meet their requirements continually. Therefore, A better way is to make existing business systems can be easily extended and reused in order to effectively reflect specific business needs. We try to improve the reusability of our accounting system through building system from reusable components. Notably, some components may be used directly in a software system, whereas most components must be specialized prior to reuse. Developers have to identify the variability on these variable components. For this purpose, we could find the variation points on each component to define their variability. If possible, some variants are also given corresponding to each variation point. In order to develop a reusable accounting system, we will identify several variation points with some variants in this system, and introduce some useful design patterns for implementing these variation points. Consequently, we can customize an accounting system just through attaching variants on corresponding variation point in our system.