The FreeWERM Project

FreeWERM - what is it?
FreeWERM (short for "Free Web-based Employee Reporting Module") is an easy-to-use software system for creating, maintaining, and reporting on employee profiles for any sort of business. It has a time clock feature similar to other pieces of software currently on SourceForge, but FreeWERM is also much more than that. It stores all employees that have worked for a company, along with their personal information, hours worked, company-defined payroll departments, and even user accounts.

It runs on Linux-based operating systems (I used Ubuntu) and uses PHP, Perl, and some light JavaScript, along with a MySQL database to store its information. It was developed by me to help my company's HR department deal with the problems of managing and reporting for an employee roster with several hundred names on it and an extremely high turnover rate (i.e. telemarketing firm), although it works just as well for a company with 10 employees.

FreeWERM stores personal information (name, address, phone, etc), but it also keeps track of individual Human Resources-related data for each employee, such as how many days absent (and what kind of absence - vacation, sick, bereavement), salary information, and FreeWERM is also capable of keeping track of which employees have been hired, fired, and re-hired by the same company and on what date(s). Also, whenever an employee is added to FreeWERM's database or when an existing employee's profile is modified, FreeWERM creates a PDF document version of the new/updated employee's profile. The employee's data can be used to generate HR reports - users can create reports showing new hires or new terminations for a certain department for a certain date range, or reports can be generated that show payroll information, to name a few. FreeWERM is even capable of creating PDF documents containing employee names and addresses in a format suitable for printing to sheets of label stickers for envelopes.

The most-often used feature of FreeWERM is the time clock. It's a very simple interface that only requires the employee to enter in their unique employee ID number (which is assigned at the time the employee is entered into the system). If the employee is not clocked in, the system clocks them in under the department listed on their profile. If the employee is already clocked in, they are clocked out and the information for the shift they worked is then stored in a table of time clock records. FreeWERM can take these records and make complete, organized Excel spreadsheets that not only display hours worked by employees, but also can calculate how much money the employee is owed for the hours worked.

FreeWERM can be used to create user accounts so only certain employees can use the module. There are over a dozen different privileges that can be granted to users, from manually inserting time clock records for employees to allowing the user to grant/modify permissions to other users. User privileges can also be refined to the point where users may only be allowed access to records/employees belonging to specific payroll departments. Also, FreeWERM logs user activity to a special access_log table in its MySQL database. Any changes, additions, or removal of information through FreeWERM is stored along with the date and time of the action and ID number of the user who performed it.