PAYROLL PROCESS
D E C E M B E R 1999
Restricted Rights
The information contained in this document is proprietary and confidential to PeopleSoft, Inc.
No part of this document may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying and recording, for any purpose without the
express written permission of PeopleSoft, Inc.
This document is subject to change without notice, and PeopleSoft does not warrant that the
material contained in this document is error-free. If you find any problems with this document,
please report them to PeopleSoft in writing.
PeopleSoft, the PeopleSoft logo, PeopleTools, PS/nVision, PeopleCode, PeopleBooks, and Red
Pepper are registered trademarks, and PeopleTalk and "Applications for eBusiness" are trademarks
of PeopleSoft, Inc.
All other company and product names may be trademarks of their respective owners. The
information contained herein is subject to change without notice. Copyright 1999 PeopleSoft, Inc.
All rights reserved.
Table of Contents
............................................................................................................................................................1
Introduction
This paper covers four errors that are commonly encountered in the Payroll process, including the
causes of each error and suggestions for resolving them. The Payroll process consists of three
main processes, as shown below:
This paper will discuss the following errors, many of which occur in the first two steps of the
payroll process. They all prevent the confirm process from completing successfully:
To prevent errors in the Paysheet Creation, Pay Calculation and Pay Confirmation processes, we
suggest you incorporate the SQR audit programs below into your payroll job stream. These SQR
programs are delivered in the product, and will identify errors you will encounter in the payroll
process. You can review examples of the SQR audit programs in the PeopleSoft Payroll Reports
PeopleBook.
This paper will address the following three SQR Audit programs for Payroll:
This SQR looks at the deduction table, paygroup, earnings codes, holiday schedule, benefit
program, personal data, job, tax data, etc. It also checks employee records, as well as setup tables.
So the first time you run it, you may get a lot of errors. Go ahead and take the time to clean them
up! Also, be aware that this SQR looks at the entire database, including demo data. You should
either delete that data or become familiar with the errors it returns so that you can ignore those
lines on the report each time you run it.
The two most common causes of orphaned records are the accidental deletion of parent records via
SQL, or the accidental insertion of child records by an interface program such as a Time and
Attendance interface module. Orphaned records can cause “Out of Sequence” errors during the
Pay Calculation process. Though these errors appear during Pay Calculation, they don’t prevent
the process from completing. But they will prevent Pay Confirmation from completing
successfully. It is important to address those orphaned records early in the process so they don't
cause a delay during Pay Confirmation.
Common Errors
This paper discusses four specific Payroll errors. In many cases, we provide different options for
finding and/or fixing the errors. We provide an SQR Audit program and one or more queries for
most errors.
Many of these errors appear during the Pay Confirmation process, but actually occur earlier in the
cycle—during Pay Calculation, for example. The system notifies you about some of these errors
by providing a DOS box that reports an error. The DOS box displays the following text: "CHECK
MESSAGES!!". But it doesn’t give any information about the error and it doesn't force you to fix
it immediately. The error details can be viewed on the Payroll Error Messages panel.
Note: If you are running this process on the server, you will not see the CHECK
MESSAGES!! DOS box. You will have to view the Payroll Error Messages panel
directly to view the errors.
We recommend that you prevent errors whenever possible by running SQR audit programs to
identify problems before they occur.
PAY_LINE_STATUS Values
PAY_LINE_STATUS tracks the status of an employee record throughout the Payroll process.
Any record marked "OK to Pay" will have its Status value changed to either "C" (successful
calculation) or "E" (errors found during calculation) when the pay calculation process is run.
After Pay Confirmation completes successfully, it will be set to F. Employee records that have
not been calculated successfully will have a status of I, P, U, or E. See Table 1 for a description
of each value.
Table 1
Stat Meaning Description
us
Valu
e
I Initial load The pay earnings have been entered but not calculated.
A record marked “Not OK to Pay" will remain with an 'I'
status until it is eventually deleted during the Pay
Confirmation process. To address employee records
with an "I" status, recalculate the pay run, then move
on to Pay Confirmation
P Pay The Pay Calculation process sets the status to 'P' when
Calculation the record is selected for the calculation processing.
in Progress When processing for this record is completed normally
(either successfully calculated or errors identified and
reported), then the Status after Pay Calculation ends will
always be either "C" or "E." However, if something
happens during Pay Calculation that prevents the
program from completing normally (i.e., something went
significantly wrong that normal error routines couldn't
handle), then occasionally some rows may remain in "P"
status until they are recalculated. To address employee
records with a "P" status, recalculate the pay run, then
move on to Pay Confirmation
U Updated by The record has been updated online by a user since it
operator was originally entered, or since it was calculated during
a previous Pay Calculation run. This status is set by
PeopleCode in the online panels. It may also be set by
an interface that loads data from a time and attendance
into the Payroll tables. To address employee records
with a "U" status, recalculate the pay run, then move on
to Pay Confirmation
E Error An error occurred during processing for these Earnings.
If pay calculation identified a problem in the data for
which there is a defined standard payroll error message,
then the error message will appear on the Payroll Error
Messages panel. Otherwise, the error will be displayed
on the screen where the process was executed, or in the
Log file created during this Pay calculation run. All
PAY_EARNINGS records for this pay run that have a
Causes
The Pay Calculation process will set the PAY_LINE_STATUS to “C” on the
PS_PAY_EARNINGS table after the paysheet has been calculated successfully. When error 20
occurs, it means that something went wrong in the Pay Calculation process and prevented some
records from being set to the correct PAY_LINE_STATUS. This error could be caused by high-
level or employee-level errors, timing issues, or duplicate Run IDs. You can prevent this error by
running the PAY034 SQR audit program prior to the final Pay Calculation.
High-level errors affect an entire paygroup, and are caused by errors in the setup for that
paygroup. For example, this error will occur if an earnings program for the paygroup has not been
defined. The first employee in the paygroup with the high-level error will be reflected in the
Inquire Payroll Error Messages panel, but all employees with the problem will have a
PAY_LINE_STATUS of “E” on PS_PAY_EARNINGS. So it may appear as though the problem
affects only one employee, but it actually affects the entire paygroup. When you receive error 20,
always check to see if it includes a high-level error. Also, if an employee receives a high level
error and you choose not fix it before running the next Pay Calculation for this cycle, the high-
level error may not be reflected in the Inquire Payroll Error Messages panel again.
Employee-level errors are specific to one employee, not an entire paygroup. For instance, you
would receive this error if the federal tax withholding was not defined for an employee. All
employees affected by employee-level errors will be included on the Inquire Payroll Error
Messages panel.
Timing issues may also cause error 20 to occur. You may receive an error 20 if manual checks
have the OK_TO_PAY flag turned on but have not been calculated, or a job record was updated
after Pay Confirmation began. The error may also occur if Paysheets have been updated by
another interface after the final Pay Calculation has been run.
Payrolls are processed according to a unique Run ID. You will receive error 20 if another Pay
Calendar has the same Run ID as the Pay Calendar of the current run, and these paygroups are
scheduled to be confirmed
The system will allow you to begin the Pay Confirmation process even if you have outstanding
errors from Pay Calculation. However, the system will not allow Pay Confirmation to complete
successfully until you resolve the problems revealed in Pay Calculation. You can prevent this error
by running PAY034 before Pay Calculation.
The PAY034 SQR audit program will list exactly what is wrong with each problem row. Fix the
data as directed in the report, then run Pay Calculation again to calculate the rows that were in
error. Choose "Calculate Where Needed" if you encounter employee-level errors. If you
encounter high-level errors, choose "Recalculate All." Pay Confirmation should run successfully
once the problems described in PAY034 are fixed.
If you run PAY034 and fix the errors before the Pay Calculation process, you will prevent having
employees with a PAY_LINE_STATUS of “E” and you won’t see CHECK MESSAGES!! DOS
boxes. If you choose note to run PAY034, you may or may not see CHECK MESSAGES!! error
prompts. However, the problem rows on PAY_LINE_STATUS will still be set to “E.”.
The query above locates employee-level errors. It doesn’t spell out exactly why the employees
have a problem or how to fix the problems, as PAY034 does. You must figure out how to fix each
problem on your own. Once the problems are fixed, continue by the running Pay Calculation and
Confirmation processes again.
If you have employees with a PAY_LINE_STATUS of "E," and don’t find an error in the Inquire
Payroll Error Messages panel, you can force an error by using SQL to change the
PAY_LINE_STATUS from “E” to “U," then running the Pay Calculation process again with the
"Where Needed" option selected. A "U" value in PAY_LINE_STATUS tells Pay Calculation that
this PAY_EARNINGS record has been manually updated so it should be selected for
(re)calculation when Pay Calculation is run next. Because the problem causing the error has not
been fixed, the problem employees will produce a "CHECK MESSAGES!!" DOS box along with
messages in the Error Messages panel.
Once the problem employees have been revealed by forcing the error, you'll need to do some
research to figure out why those employees are in "E" status. You can do this in three ways:
Points to Remember
When this error occurs, it means that something went wrong in the Calculate Pay process that
prevented the records from being set to the correct PAY_LINE status. The system will allow you
to begin the Pay Confirmation process even if you have outstanding errors from Pay Calculation.
However, the system will not allow Pay Confirmation to complete successfully until you resolve
the problems revealed in Pay Calculation. Remember, if an employee received a high level error
and you choose not fix it before running the next Pay Calculation for this cycle, the high level
error may not be reflected in the Inquire Payroll Error Messages panel.
Causes
When this error occurs, it means that the system is trying to confirm a payroll but it can’t because
either one or more checks were not confirmed from the previous pay run, or because the
confirmation flags on an on-cycle adjustment calendar have not been checked.
If you fully complete each Off-cycle payroll (including calculation and confirmation) in a
timely manner, you can prevent error 64. As a rule of thumb, don't allow any further Off-
cycle paysheets to be started until the on-cycle payroll run has fully completed. When the Pay
Period on-cycle payroll run is ready to complete processing, run a FINAL "Re-Calculate All"
and then run Pay Confirmation. You cannot start any other pay run processing until this on-
cycle payroll run has completely finished. Following these guidelines for processing off-
cycle payroll runs will prevent virtually all of the Pay Confirmation errors, such as error 64.
Rows where the field Pay_Confirm_Run = "N" (No) indicate an on-cycle run that must be
confirmed before proceeding. Rows where the field Pay_Off_Cycle = "Y" (Yes) indicate an off-
cycle run that must be Confirmed before proceeding. You can also remove other criteria, such as
paygroup, pay end date, and Run ID, to do a more global search for the calendar with the criteria.
Resolve Problem
We recommend several options to resolve error 64, depending on whether or not your Payroll
system is in production. For further detail about resolving this error, refer to resolution 11652 on
Customer Connection (www4.peoplesoft.com).
Option 1
Calculate and Confirm outstanding paysheets. Finish processing the off-cycle payroll by running
a FINAL "Re-Calculate All" and then run Pay Confirmation before continuing with the on-cycle
run. Remember, other on-cycle pay run processing can only start after an earlier off-cycle run has
completely finished.
Option 2
Remove off-cycle outstanding flag if paysheet no longer exists. If you have unsheeted or deleted a
paysheet, the flag is not removed on the calendar, so the system still thinks there are outstanding
off-cycle checks.
If an on-cycle adjustment calendar has not been confirmed, we suggest using SQL to turn on the
confirm flags. You should do this outside of production because it’s risky to update flags via
SQL.
If outstanding off-cycle and online checks are causing the error, we recommend that you unsheet
the paysheets. This will delete all of the information on the paysheet, including any data brought
over from an interface.
Causes
INSERT_BALANCE errors can be issued from virtually any step in the Payroll process. You
may receive this error during Paysheet Creation or Pay Calculation if the programs find bad
employee location codes. Or it could occur during Pay Calculation if you have orphaned records.
We are addressing this error in the Pay Confirmation process because that is where it occurs most
frequently.
The actual name and text of this error varies by platform. For example, it may be called "SQL
Error 0805," Unique Constraint or Non-unique data." But it will always contain the text
"INSERT_BALANCE."
When this error occurs, it means that the Pay Confirmation process is attempting to insert a check
balance record that already exists in that month. Balance records are stored by year, quarter and
month. Typically, this error occurs if you try to post to a previous month once you have posted to
the current month. Once you have posted to a month, you cannot post to a previous month. For
example, suppose that in September, before the September payroll is processed, managers allocate
quarterly bonuses to be paid in October. The October bonus checks are fully processed and
distributed to employees. When it comes time to process the September payroll, the you'll receive
an INSERT_BALANCE error because the system notices that an October balance already exists
for some employees.
The system does make an exception for end-of-year processing. It allows you to confirm balances
in January, then go back to confirm checks in December.
Review output from the above SQL query, and determine if there is a balance record for a
BALANCE_PERIOD greater than the BALANCE_PERIOD in the pay calendar you are
processing. If so, you are trying to post to a previous month. The query varies slightly, depending
on which version of PeopleSoft the you are using. The example above is for PeopleSoft 7.5x.
Once the affected paysheets have been marked "Not OK to Pay," continue processing the rest of
the employees. Run the following query to modify the pay calendar so that Pay Confirmation can
be run again (ignoring the paysheets marked “Not OK to Pay”):
UPDATE PS_PAY_CALENDAR
SET PAY_CONFIRM_START = ‘N’
WHERE COMPANY = (company)
AND PAYGROUP = (paygroup)
AND PAY_END_DT = (pay period end date)
For further detail about resolving this error, refer to resolution 5110 on Customer Connection
(www4.peoplesoft.com).
Cause
An out of sequence error is often the result of missing a parent record for an employee, typically
PS_PAY_EARNINGS. This results in orphaned records. The two most common causes of
orphaned records are the accidental deletion of parent records via SQL and the accidental
insertion of child records by an interface program such as a Time and Attendance interface
module.
Check = 0019 02 0
S-chk = 0019 01 0
Interpretation:
Be sure to note these numbers whenever you receive this error so you can use them to locate the
problem paysheet with the upcoming query.
The employee causing the problem is often not the actual employee printed on error messages.
Check the paysheet listed in the error message. Also check the paysheet that came before the one
listed in the error.
Option 1 - Proactive
Run PAY035 prior to the Pay Calculation process to identify orphaned records and mark them
“Not OK to Pay."
Option 2 - Reactive
For each paysheet noted in the error message, query the tables below using the values contained in
both “check” and “s-chk” notes. The error can return multiple lines for one employee. Make sure
to run the three queries below for each line.
• Query 1
SELECT * FROM PS_PAY_EARNINGS
WHERE PAGE # = ‘?’
AND LINE # = ‘?’
• Query 2
SELECT * FROM PS_PAY_LINE
WHERE PAGE # = ‘?'
AND LINE # = ‘?’
• Query 3
SELECT * FROM PS_PAY_OTH_EARNS
WHERE PAGE # = ‘?’
AND LINE # = ‘?’
The queries should produce 0 results. Note that PS_PAY_EARNINGS is a parent to both
PS_PAY_LINE and PS_PAY_OTH_EARNS. If only the PS_PAY_LINE or
PS_PAY_OTH_EARNS query returns rows, delete the rows (they are orphaned records). If
PS_PAY_EARNINGS returns data, then you are facing a different issue.
• PS_PAY_CHECK
• PS_PAY_DEDUCTION
• PS_PAY_GARNISH
• PS_PAY_SPCL_EARNS
• PS_PAY_DISTRIBUTN
• PS_PAY_TAX
Run PAY035 (PreCalc) again to make sure there aren’t any other problems. Then recalculate
where needed. Continue by removing the “Confirmation Start” flag from the pay calendar, and
running the Pay Confirmation process again. Remember to process off-cycle checks for
employees who were affected by the orphaned records. For further detail about this error, refer to
resolution 11020 on Customer Connection (www4.peoplesoft.com).
Restore Backup—Recommended
We recommend that you back up your database prior to running Pay Confirmation for each pay
cycle. That way, you can just restore it if you need to make major changes to the pay run.
Run Unconfirm
If you choose not to restore a backup copy of the database, you can run the Unconfirm process.
This process should only be run when you encounter a huge problem that affects the majority of a
pay group. Test the process in your DEMO environment first so you know how it behaves. For
more information on running the Unconfirm process, see resolution 23255 on Customer
Connection.
Summary
The main purpose of this paper is to help prevent errors during the Pay Confirmation process so
you can process your payrolls smoothly. We hope that the tips provided here will enable you to
understand what causes common payroll errors, and give you some techniques for resolving those
errors. If you do need to contact GSC, you will have a clear understanding of the problem to help
expedite the resolution.