Service matchmaking is the process of finding appropriate services for a given set of requirements. We present a novel service matchmaking approach based on the internal process of services. We model service internal processes using finite state machines and use various heuristics to find structural similarities between services. Further, we use a process ontology that captures the semantic relations between processes. This semantic information is then used to determine semantic similarities between processes and to compute match rates of services. We develop a case study to illustrate the benefits of using process-based matchmaking of services and to evaluate strengths of the different heuristics we propose.