For purchase of any item, the user will create a purchase request in the system. An approval route for this purchase request will then get generated depending on the price of the request and the reporting and approving hierarchy of the organization.
This purchase request will then be submitted by the user and it will flow to the next approver in the route. The various approvers in the route can be either in series or parallel or a combination of both. There should be some report generation facility also by which a user can generate different reports.
Reminder mails should automatically go to users when a request is lying for his approval for a long time and also, to the user when his request is approved fully.