Payroll data in QueueMetrics
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.
How it works
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:
-
ADP "punch files", that basically handle the time an agent has been available under ACD
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:
-
Users allowed to check the payroll page will be marked by the key PAYROLL
-
Users allowed to edit the queue_log records will be marked as QLOG_EDIT
-
Users allowed to edit session data by making it longer will be marked by QLOG_LNGR (they must hold QLOG_EDIT as well).
All queue_log editing is tracked and logged.
Payroll web pages
The payroll process happens on the following web pages:
The Search page is linked from the main QM page.
The search 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:
-
Location
-
Agent group
-
Supervisor (a button "me" is available if the user is a knows supervisor, and will pre-select the current supervisor)
The Sessions page
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.
The Agent detail page
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:
-
BP: Pause is Billable and Payable
-
BNP: Pause is Billable but not payable (be careful!)
-
NBP: Pause is not billable but Payable
-
NBNP: Pause is neither billable nor payable
A set of payroll notes can be added by the user and read. Notes could also be deleted by a user holding the proper security key (See Appendix A: Security keys for further information).
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 Session editor page
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.
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 pause editor page
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
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. |
Editing the system queue_log file
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.
Well-formed agent sessions
An agent session is considered well-formed if:
-
At least one line with one of the Agent logon verbs is present at the time stamp that is given as the start of the session
-
A line with one of the logoff verbs is present at the time stamp that is given at the end of the session, with same partition ID as at least one starting line found
The editing log
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:
-
A description of the changes, the time and the user who requested them
-
A sequence of SQL that generates the new session timing
-
A sequence of SQL that is able to restore the records as they were before the change