The main workflow consists of three interfaces:
A newly created report is not submitted. In this state, expenses can be added to it. A report is not restricted to only one type of expense. When the submitter completed all the expenses
details in the report, he can submit it to one or more approvers. This puts the report in the submitted state.
The approver can then use the approve interface to see all the reports that were submitted to him. He can either approve or reject a submitted report. If he approves a report, the status of that report will be approved for him. However, if he is the first approver in a series of approvers, the actual state of the report is still submitted. It will only transition to the approved state once the last approver has approved it.
Finally, the exporter can export the report in the export interface. He can export one or multiple reports at the same time using the same export format. If enabled in the export format,
the report (or reports) will transition to processed after exporting. An exporter can also revise the processed report to put it back to the 'approved' state.