This study presents a novel model for assignment of internal auditors to branches of businesses. Previous studies have concerned with minimizing the cost but in this model, aim is maximizing auditor’s utility. For this purpose an integer programming model introduced. The objective is maximizing the auditors’ total utility. Each branch has different impact values for auditors, which indicate auditors’ utility level in terms of location, size and type of branches. Also to keep the balance of auditor’s working days and total gained impact values particular constraints are defined for the integer programming model. This implementation has 3 particular steps; first is quantification of the branches’ effects on the auditors. AHP method is used to define branches’ impact values. The second is simulating the durations of auditing process. To minimize the effect of abnormal situations, durations are simulated. Last step is to reach the rotation of auditors, total working days and the total utility of the auditor; the integer programming model is solved by Python-Gurobi Optimizer.