Nevada Retirement System Guide
Overview
The Nevada Retirement System comprises four components:
Screen: NV Retirement screen for HR to centralize retirement data (maintained by HR).
Extract: PY extract process (PYRERRNARE) to pull retirement data for a selected month/year and agency into retirement tables.
Update: PY update process (PYRERRNVRU) for manual edits to retirement tables, deprecated. (The PYRERRNVRU mask is obsolete)
Report: PY reporting process (PYRERRNVRR) to create a submission-ready flat file and a proof report.
This guide covers all components except the NV Retirement screen, which is documented in page help.
User Constraints
Reporting actual wages correctly: To accurately compute Actual Hours and Actual Wages, pay employees their scheduled amounts, then apply docks separately (e.g., via timecard or calculation). For full-period LWOP, issue normal pay, then deduct LWOP to net a zero check.
Actual wages base: Create and maintain an “Actual Wages” pay base that includes all wages to be counted as Actual Wages.
Timecard entries for retros/adjustments: Enter retro pay and adjustments (and their retirement contributions), including the affected date, via timecards to spread them across impacted months.
Pay Cycles: Pay Cycles must consist of either all hourly employees or all salaried employees. This way the extract process can determine whether to report base/actual hours or base/actual wages.
Coding of Hours, Contributions, and Deduction Definitions
Where to code: Tag PERS-related hours, contributions, and deductions using a designated miscellaneous code on the CDH definition. The specific misc code slot (1–8) is controlled by a common code. Multiple CDHs may share the same tag.
Normal and longevity pay: Tag normal retirement pay accordingly.
LP: Longevity pay that may or may not be subject to retirement
Contribution/deduction codes:
EC: Employee Contribution
RC: Employer Contribution
RPC: Employer Paid Contribution
Hour codes for retirement processing:
RP: Retro payment (PERS-eligible)
REC: Retro Employee Contribution
RRC: Retro Employer Contribution
RRPC: Retro Employer Paid Contribution
AP: Adjust Pay
AEC: Adjust Employee Contribution
ARC: Adjust Employer Contribution
ARPC: Adjust Employer Paid Contribution
Extract Process
Access: Use mask PYRERRNVRE.
Inputs: Specify month/year and retirement agency. The extract includes all pay periods whose tax year and month match the input.
Re-extract guard: The process stores the last extracted month/year per agency in a common code. If you run an earlier month/year than the stored value, the process aborts to prevent re-extraction. Override by updating the common code.
Hourly vs salaried mode: A common code holds the agency’s Base Hours per pay period. If Base Hours is zero or blank, the run treats employees as salaried; otherwise, as hourly.
Pay cycle requirement: Each pay cycle must contain either all hourly or all salaried employees so the extract can correctly report base/actual hours or base/actual wages.
Reported fields by employee type:
Hourly: Reports Base Hours and Actual Hours; Base Wages and Actual Wages are zero.
Salaried: Reports Base Wages and Actual Wages; Base Hours and Actual Hours are zero.
Calculations
FTE/Scheduled Hours Per Day
Derivation: For each period, compute:
Salaried: FTE from all active pay assignments with a pay class whose designated misc code contains “FTE.”
Hourly: Scheduled hours per day from the same set of active assignments and pay class misc code.
Hourly Employee Base/Actual Hours
Base Hours: Determine the count of primary pay periods in the month (2 or 3), then multiply by the agency Base Hours per pay period (from common code). Apply this same Base Hours to all hourly employees.
Actual Hours: Sum all payroll history hours from hour codes that touch the Retirement hour base. Cap at Base Hours. The process produces an error report for employees whose actual hours exceed Base Hours.
Salaried Employee Base/Actual Wages
Per-period calculation: For each period within the month, then sum across periods.
FTE check: Compute FTE from active assignments as above. If FTE > 1.00 or = 0.00, log an error and use FTE = 1.00.
Actual Wages: Sum all CDHs in history that touch the Actual Wages pay base for the targeted period.
Base Wages: Calculate Base Wages as Actual Wages divided by FTE.
Source of Values
The following “Source of Value” table defines the source of the data processed:
Field | Source of Value |
|---|---|
Name/SSN | Employee Master Definition |
Agency Number | NV Retirement Screen |
Status Code | <see below> |
Processing Calendar Month/Year | From a runtime question |
Affected Reporting Month/Year | <see below> |
Affected Month Begin Date | The 1st of the month for the Affected Reporting Month/Year. |
Affected Month End Date | The last day of the month for the Affected Reporting Month/Year. |
Base Hours | Discussed above |
Actual Hours | Discussed above |
Base Wages | Discussed above |
Actual Wages | Discussed above |
Statement Code | RETIRENV screen. |
Wages Subject to Contribution | Hour and Contribution Codes coded as P. |
Employee/Employer/Employer Paid Contributions | Hour Codes, Contributions and or Deductions coded as EC, RC, RPC, REC, RRC, RRPC, etc. |
Employee Group | RETIRENV screen |
ERPay Factor | RETIRENV screen |
Part Time Indicator | For salaried employees - if the calculated FTE is less than 1.00, employees are part-time. For Hourly employees, if the scheduled hours per day is < 8.00, employees are part time. |
Contract Begin Month | RETIRENV seen, either for “P” or “R” pay strings record types |
Position Type | RETIRENV seen, either for “P” or “R” pay string record types |
Status Code
The state specification states that separate records are to be generated for a dozen or so changes in the reported data. Many of these cannot be detected by the program or, if detected, the data cannot be separated. Therefore, separate records are generated only for different affected month/years within status code. That is, if multiple status codes are calculated, at least one record per status code will be generated. If there are multiple affected month/years within a status code, one record will be generated for each unique affected month/year.
The typical reporting will be one status 1 record. If longevity pay, retro pay or adjustments are detected, more records will be generated. The only time the affected month/year is not equal to the processing month/year is when retro/adjustment transactions are entered via timecards or longevity is calculated by the extract process. In this case, the affected month/year is a function of the date on the time card entry or the longevity calculation.
Note the state specification specifies which fields are required for each status code.
Status Code Details
Status Code 1: This is used for wages earned this month and contributions paid this month. Wages/contributions for Rx record type pay strings are not included in this calculation.
Status Code 2: Not calculated by the program.
Status Codes 4 and 6: Used for CDHs coded as adjustments, retro pay or longevity pay. Adjustments and Retro pay are entered via timecards with an appropriate timecard date. Adjustments/retro pay are entered with plus or minus values. Plus values will be used for Status 4; negative values will generate a status code 6. Longevity is automatically calculated by the extract process. Adjustments and retro pay are entered via timecards and the corresponding retirement contributions must be manually calculated and entered via timecards also.
Status Codes 5 and 7: Not calculated by the program.
Status Code 8: Not calculated by the program.
Status Code 13: The processing for this status code is identical to status code 1 except it is for Rx record type pay strings. There are a couple processing considerations here. The Contract Begin Date and Position Type to be reported has to be fetched from the RETIRENV screen (use the fields for the “R” record type). Further, there is a separate calculation of Base/Actual Hours/Wages!
When all processing is done, if there is both a status code 1 record and a status code 13 record, the one with the highest base wages is reported as status code 1 and the lower value is reported as status code 13.
Longevity Pay
For each employee, the longevity pay for the month is totaled then spread across the current month and the prior 11 months. The employee CDH assignments for the current month are examined to determine which, if any, retirement contribution assignments (EC, RC or RPC) are in effect. Appropriate retirement contributions are then calculated for each of the 12 months using the rates from value 1 of the CDH master definition. The result of these calculations is subtracted from the status 01 record so the retirement contributions will not be reported twice. Status 04 records are then generated for all months with non-zero retirement contribution(s).
Retirement Data Update (Deprecated)
The NV Retirement Data Update (PYRERRNVRU) page allows direct edit of all data in the retirement tables. No validity checks are made other than basic checks, such as making sure dates are really dates. This page is used to add information, like the status codes not processed by the extract process, or override information calculated by the extract process.
When the update process is initiated, the process requests the month/year for the data to be updated. All data is available for the specified month/year.
Retirement Data Report/File
The retirement report/file generation process is available via mask PYRERRNVRR.
The process requests the month/year for the run, the agency to report, and the name of the resultant flat file. The process produces a simple proof report of the data to be reported sorted by affected month/year within status code within employee name. Note that the employee's ID is reported instead of the SSN (the SSN is in the data file).
Final totals include Wages Subject to Retirement, Employee Contribution, Employer Contribution and Employer Paid Contribution for affected month/year within status code.
CDD Reporting
The retirement processing uses the PYRW_WORK_DTL table to store the monthly retirement data for use by the update and reporting processes. The table is “keyed” by employee ID and extract date (which is the month end date). There can be many PYRW_WORK_DTL records per employee per month with different Status Codes and Affected Dates.
PYRW_WORK_DTL is a general-purpose table used for retirement data for many different states. The following table maps table column names to the values pertinent to Nevada Retirement.
Table Column Name | Content |
|---|---|
HR_PE_ID | Employee ID |
PYRW_EXTRACT_DT | Month end date |
PYRW_STATE | “NV” |
PYRW_AGENCY | Reporting Agency Number |
PYRW_RPT_CD | Statement Code |
PYRW_RPT_GROUP | Employee Group |
PYRW_REASON | Pay Factor |
PYRW_CATEGORY | Part/Full Time Indicator |
PYRW_STATUS_DT | Contract Begin Date |
PYRW_RPT_FREQ | Position Type |
PYRW_WAGE_TP01 | Status Code |
PYRW_SRCV_END | Affected Date |
PYRW_WAGE_AMT01 | Wages Subject to Retirement |
PYRW_WAGE_HRS02 | Base Hours |
PYRW_WAGE_AMT02 | Base Wages |
PYRW_WAGE_HRS03 | Actual Hours |
PYRW_WAGE_AMT03 | Actual Wages |
PYRW_CD_AMT01 | Employee Contribution |
PYRW_CD_AMT02 | Employer Contribution |
PYRW_CD_AMT03 | Employer Paid Contribution |
Common Codes Setup
PYFG 268NV
This common code controls processing of the Nevada Retirement system.
Code Category: PYFG
Code Value: 268NV
Associated Values
Set this value to the CDH definition miscellaneous code number to be used to determine if a CDH is subject to PERS. The value must be between 1.00000 and 8.00000.
Set this value to the pay base number containing actual wages. The value must be between 1.00000 and 42.00000.
Set this value to the hour base containing hours subject to retirement. The value must be between 1.00000 and 42.00000.
Set this value to the pay class definition miscellaneous code number containing the value “FTE”. The value must be between 1.00000 and 8.00000.
Associated Codes
Set this value to “YYCCSNN” or “YYCCNNS” where the value specifies the pay period numbering scheme where YY = year, CC = pay cycle, NN = a sequential number within the pay cycle and S = supplemental period number (“0” for the primary period).
PYFG 268NVxxx
This common code is used to define retirement agencies for Nevada Retirement. One common code must exist for each agency to be processed.
Code Category: PYFG
Code Value: 268NVxxx where xxx = agency number
Associated Values
Each pay cycle must consist of all hourly employees or all salaried employees. Set this to the base hours per pay period (e.g., 80.00000) for each pay period for hourly employees. Leave the value blank for cycles consisting of salaried employees.
Set this value to the pay cycle associated with the agency (e.g., 1.00000 for pay cycle 01). The extract process will automatically skip all employees that are not part of this cycle.
Associated Codes
This value is automatically set by the program and contains the year/month (in the form YYYYMM) of the last extract run for this agency. This is used so the extract process can prohibit extracting data for a prior month/year. To override this validity check, blank out this value.