Starting from QueueMetrics version 1.6., QueueMetrics is able to produce extensive payroll information suitable to be exported to a third party application.
QueueMetrics is able to extract most of the data required for payroll generation from the agent sessions information reported by QM. Through some special pages a supervisor can edit and correct that information before exporting.
Payroll is based on agent sessions and is displayed a as separate "micro-application" within QM, available only to agents holding a special key. Each agent has a specific payroll code associated through the agents configuration page. This payroll code identifies the agent in the payroll generated data file.
To Supervisors that can access to payroll subsection will be shown all "punch times", for a given period of time, with the opportunity to zoom in, display incomplete sessions and display sessions for one specific agent. Supervisors holding a second special key are allowed to correct - enlarge or restrict - agent sessions, given a set of rules that avoids overlaps with other agent activities, to be further specified. A third key allow "enlarging" agent sessions, i.e. causing the cost to be more for the call center. Payroll extraction is just manual: the user should inspect payroll data and download payroll trace files, to be loaded into external WR Timetracker for further processing. Supervisors are able to see all punches and/or to filter out some of them by agent group and/or location. All activity is logged into the QueueMetrics log subsystem.
Payroll information generated by QueueMetrics is based on a specific output file format:
but the underlying structure let us able to expand the file format selection by implementing a specific file writer.
To summarize, here are the keys that limit user’s permissions when working with Payroll:
All queue_log editing is tracked and logged.
The payroll process happens on the following web pages:

The Search page is linked from the main QM page.

The search page lets a supervisor search for session activity.

The page lets you select a time interval, or choose one of the pre-selected time intervals. It also lets you filter by one criteria of the following ones:
The payroll extraction page lets you preview the data that will be downloaded in the "punch" format. If you click on an agentâs name, then you will be lead to a page where all sessions for that agent will be shown for the specified time interval.

The table can be exported as Excel/CSV/XML, as all other QM tables.
Next to the agent name, if present, is an icon that displays the current Agent group. If there is a payroll note for the agent, a yellow icon is displayed by the end of the row.
The button "Export now" lets you download the "punch" data file, in the format specified on screen.
On the Agent detail page all sessions for that agent will be shown for the specified time interval. Next to the agent name, if present, is an icon that displays the current Agent group.

Pause types and codes are displayed, according to the following table:
A set of payroll notes can be added by the user and read.
If you have the grants to edit a session, by clicking on the icon placed next to the duration field, you will be able to edit that session.
The table can be exported as Excel/CSV/XML, as all other QM tables.
The page displays the information about the selected agent session, and it searches the maximum/minimum values allowed for starting and ending the session.

It will be able to change the agent session by entering the new start and end times, either one or both at once.
| Tip | |
|---|---|
If you need to make a session extend over the midnight, you must enter the full resulting date in the format like "2010-11-07 11:03:40" |
An error is raised if this makes the session longer and you do not hold the key QLOG_LNGR).
If the period is invalid, an error will be displayed. When the changes are applied, the page will reload with the new data
The page displays the information about the selected agent pause, and it searches the maximum/minimum values allowed for starting and ending the session.

This page works exactly like the Session editor, but lets you set/change the pause code as well.
An error is raised if this makes the session longer or you change a pause from non-payable to payable without holding the key QLOG_LNGR.
If the period is invalid, an error will be displayed. When the changes are applied, the page will reload with the new data
| Note | |
|---|---|
Each time the user asks for a pause modification (either the start/end time, either the pause code) the system modifies the database information in order to reorganize the pause in a standard format. The standard format is characterized to have a PAUSEALL, PAUSEREASON, UNPAUSEALL sequence where the PAUSEREASON is placed one second after the PAUSEALL event. This prevents problems with possible malformed pauses present in the database. All modifications are logged in the syslog pages with corresponding rollback SQL statements. |
When the user asks for changes on a specific agent session statement, QM will try and see if it can find that session and it is "well-formed". This means that some sessions might not be updateable though they work fine in QM.
Not well-formed sections are, for example, sections where a log-on event is not present, or overlapped with other events. This could be caused by a not corrected queue log, following some pbx unavailability or something other.
If the target session is "well-formed", QueueMetrics will try to detect whether the change causes some havoc with other calls/sessions. If it does, the change is rejected.
If the target section is well-formed but causes a growing cost f or the call center, and so requires the key QLOG_LNGR, that key is checked; if not found, the change is rejected.
An agent session is considered well-formed if:
All activity details are logged to the master QM log, where they will be available for inspection though direct SQL access.
The trace log contains: