People in our workplace were supposed to fill their timesheets for client billing every week, but due to forgetfulness, non-compliance was high.
Often, managers had to extract reports from the SAP systems, and extract email addresses from the Excel file and send out reminders to fill in time sheets.
We devised a Windows Forms program with an embedded web browser that would trigger every week as soon as the employee logged in and could only be postponed thrice (in case of meetings) and would only be dismissed when the user indicated so.
Whiteboarding the algorithm
Even though this simple solution brought up compliance from 70% to 90%, we wanted to further better the compliance. We observed some users were indicating that they had filled the timesheet without doing so, assuming they would remember to fill it later. Just a simple desktop app was not going to do it.
So, we integrated server-side validation. The SAP system ran a script that emailed the reports to a predefined mailbox, and a Java program would pick up the spreadsheet, process it and take steps to trigger the desktop application and notify the user via email.
Implementation of server side validation brought the compliance up to 95% (exceptions were when employees were away on long holidays and people who refused to install the application). It cut down the time invested by managers in sending reminders drastically, and dramatically improved timesheet compliance, saving millions of dollars in billing losses.
The project was nominated for several awards and was presented at the organization level.