Skip to main content
Skip table of contents

ID PERSI Report

Overview

This process produces the State of Idaho Retirement report and file. 

There are three BusinessPLUS masks involved in this process:

  • PYRERRID01 runs py268id to extract applicable data from Check History and loaded into a utility dataset – pyu_utl_dtl.  Data is organized by payroll period in this dataset.

  • PYRERRID03 uses py368id to provide the user a means of viewing and modifying the data previously extracted.  (To be replaced by a 7i screen.  7i screen exists but needs some fine tuning.)

  • PYRERRID04 runs py568id to read the data in the utility table (pyu_utl_dtl) and produce a report and generate a file for subsequent submission to PERSI.

The process assumes the following, unless overridden by common code PERS/IDMAP:

  • Retirement pay base of 7 (note that contributions only add to the pay base if also flagged with a “Y” in Process Switch 20 – “Count as Salary”)

  • Retirement hour base of 16

  • Sick balance hour base of 8

BusinessPLUS Setup

Before data can be extracted for subsequent processing, contribution and deduction definitions must be properly coded, employees assigned the appropriate contributions and/or deductions and codes, and common codes defined.

CDH Setup

Hours, contributions, and deductions that apply to retirement reporting must be coded in one of the eight Miscellaneous Code boxes of the CDH definition.  Which Miscellaneous Code box is used is at the user’s discretion, but the same box must be available for all the retirement CDH definitions.  When the box to be used is determined, designate the number of that box in common code PERS/IDMAP in the fourth Numeric Value field. 

The codes to be used in the CDH misc code and their meaning are listed below.

IRDB

Regular PERSI Defined Benefit (DB) plan activity

IRDC

Regular PERSI Defined Contribution (DC) plan activity

IROR

Regular PERSI Optional Retirement (DC) Plan activity

IRBA

Adjustment to prior DB plan activity

IRCA

Adjustment to prior DC plan activity

IROA

Adjustment to prior ORP plan activity

IRRP  

Buy Back (always a deduction definition).

IRRL  

Re-pay loan activity (always a deduction definition).

IRPM

PERSI Retired members still working

IRAM

Employee’s with no Retirement deduction or contribution

Others

Anything starting with IR in the misc code

Remember to fill the retirement pay base and hour base on the CDH definitions.  These positions are defined by common code settings as explained later.

The employer rate is calculated using PERS/IDMAP1.

Worker’s Comp pay (not contribution) needs “WORK” in miscellaneous code 1 of the hour definition to trigger the worker’s comp pay flag to be set to “Y” in the report.  When an employee is receiving his/her normal earnings, the worker’s comp flag is automatically “N”.

Employee Setup

The following data must be available for each employee:

  • Employees must be assigned all applicable contributions and deductions.  All ‘PERSI’ contribution and deduction assignments must have beginning and ending dates (Rec. B/E: ) populated.  Enter a begin date 5 months beyond the hire date, so the employee’s deduction and contribution only takes place after he/she becomes eligible.  Use an end date of 12/31/2050, so the definition remains active until termination.

  • Each employee must have one of the following Class codes assigned for reporting purposes:

            1 = General Member

            2 = Fire or Police

            3 = Teacher

            4 = General with Police grandfather rights

            A = Option I Fire

            B = Option II Fire prior to 7/1/1978

            D = Fire, employed after 10/1/1980

            E = General Member (non-fire) working for an FRF unit

            The Class Code may be assigned to each employee in one of three ways:

  1. By using the CLASS/UNIT or CLASS/TYPE mechanism provided through common code PERS IDMAP, described below.

  1. By entering a valid Class Code in switch 17 of the deduction or contribution definition (screen 3 of masks PYUPCC and PYUPDD).  For this method to work, however, multiple contributions and/or deductions must be defined, at least one for each class of employee, and employees assigned only those contributions and deductions with the appropriate class code.

  1. Employees may also be assigned a Class code by entering a value in switch 4 of screen 2 of the employee definition (mask PYUPEM).  Class codes entered in the employee master switch 4 override any values found in C/D definitions switch 17.

Special Employee Setup

Special Employee setup for IRRP and IRRL (repayments); IRBA, IRCA, and IROA (adjustments); officials.

  • Employees that are on a re-pay or buyback plan can have an invoice number assigned to the deduction by placing up to 10 alphanumeric characters in the special miscellaneous code fields of their employee deduction assignment for the CDH number relating to re-pay loan activity. Adjustments may be set up with begin / end dates or a particular pay period in the special codes fields of the employee’s deduction/contribution assignment.  There are four 4character special code fields.  Treat them as one 7-digit field when using a pay period.  When using begin/end dates, use the first 8 characters for the begin date, and the second 8 characters for the end date.  The dates must be in “mmddccyy” format.

  • There is a provision to identify elected “officials” by placing “ELEC” in the type field of the employee master definition. 

Common Code Setup

PERS/IDMAP

Set up common code PERS/IDMAP:

  • Short description contains the Employer Number to be reported to PERSI.

  • Medium description holds the Schedule Name to be reported to PERSI.

  • Long description has the Employer Name in the first 60 positions and the Employer Code (BCSD, MJSD, etc.) in the last 12 positions.

  • Numeric Value 1 holds the Retirement Pay Base to be used to report earnings.  Default is 7.

  • Numeric Value 2 is the Retirement Hour Base to be used for hours worked.  Default is 16.

  • Numeric Value 3: Not used.

  • Numeric Value 4 is the number of the Miscellaneous Code box in CDH definitions where the “IR” code is entered (in the sample below, 6 is used).  Default is 3.  If this Misc Code starts with “IR”, then the deduction or contribution is an Idaho Retirement CDH.

  • Numeric Value 5 is the average salary for class 1 employees in IRDB.  If this is filled in, the average is generally 2080 divided by 12 or 173.33333.  This will be multiplied times the FTE to come up with that employee’s average hours. 

    • Note: PERSI does not want reports over the summer with zero hours even if an employee does have any actual hours.  They will accept average hours to accommodate this.

  • Associated Code fields in conjunction with Associated Description fields of this common code contain the values used to determine PERSI information as follows:

  • Assigns employees a Class Code depending on their Type or Unit: In the Associated Code field enter “CLASS=x”, where x is a valid Class Code.  In the corresponding Associated Description field enter “UNIT=xxxx,yyyy,…” (no imbedded spaces) or TYPE=xxxx,yyyy…, where xxxx, yyyy, etc., are the employee values (in the Bargaining Unit or Type fields, respectively) that will be assigned the Class Code in the Assoc Code field.  As many Units or Types may be entered in the Assoc Desc field as needed. 

    • The wild card value “@@” may be used to assign a Class Code for any Units or Types not previously defined.  That is, the last Code/Desc line used might contain “CLASS=1”, UNIT=@@” to assign Class Code 1 to all Units not specified in a previous “UNIT=” Assoc Desc entry. 

      • Note:  Only one method of assigning CLASS may be used, either UNIT= or TYPE=, but not both.                                                                                                                                     

PERS/IDMAP1

Set up common code PERS/IDMAP1:

  • Short description at top of screen contains the Employer Number to be reported to PERSI.

  • Medium description holds the Schedule Name to be reported to PERSI.

  • Long description has the Employer Name and description of common code’s purpose.

  • Numeric values 1-5 contain the employer’s percentage rate for each class of employee and must correspond to the “CLASS=” in the Associated Codes fields.

  • Associated codes must match exactly to the ones defined in PERS/IDMAP, described previously.

PERS/IDMAP2

Set up common code PERS/IDMAP2:

  • Short description at top of screen contains the Employer Number to be reported to PERSI.

  • Medium description holds the Schedule Name to be reported to PERSI.

  • Long description has the Employer Name and description of common code’s purpose.

  • Numeric values 1-5 contain the employee’s percentage rate for each class of employee and must correspond to the “CLASS=” in the associated codes fields.

  • Associated codes must match exactly to the ones defined in PERS/IDMAP and PERS/IDMAP1.

PERS/IDELIGnn

Set up common code PERS/IDELIGnn (where nn is a sequential number from 01 through 99):

  • Associated Descriptions 1 through 5 contain CDHs that, when assigned to an employee, make them PERSI Eligible in the form of CDH=(CDH List)

  • If “RETIRED” in the corresponding Associated Code (1 through 5), then an employee with this CDH assignment is a retired member.

PERS/IDSICK

Use common code PERS/IDSICK to set up options related to the Sick Leave CDH or Hours base and Sick Rate.

  • Defaults to the regular hourly rate of the primary pay assignment.

  • Look at common code PERS/IDSICK to override the regular hourly rate. 

  • If any of the 5 Associated Codes = “TOTAL HOURLY”, then use the total hourly rate from the primary pay assignment in HR.

  • If any if the 5 Associated Codes = “TOTAL DAILY”, use the total daily rate from the primary pay assignment in HR.

  • Determine Hour Base or CDH numbers:

  • Enter “SICK LEAVE” in any of the five Associated Codes.  In the corresponding associated numeric value place the Sick Leave Hour Base. Alternatively, in the corresponding Associated Description field, enter “CDH=xxxx,yyyy,…” (no embedded spaces) where xxxx, yyyy, etc., are the CDH numbers for Sick Leave.   If the numeric value is filled in for an hour base, the associated description to define a CDH will be ignored. Or, in the corresponding Associated Description field, enter “NUM=#” (no embedded spaces) where # is the numeric value number from the HR Employee Master.  “NUM=1” will use the first numeric value.

PYFG/PY268ID

  • DEBUG in first associated code activates debug mode to display additional information on the tail sheet that might help diagnose any problems with this process.

  • The Medium Description goes into the TIMECARD-FLAG.

  • The 5 numeric values can have a cycle.  It is treated as a current cycle by default.  If the corresponding associated code has “PREV” or “PRIOR” then the cycle is treated as a prior cycle.

  • The Long Description contains the same information as the PERS/IDMAP: The Employer Name in the first 60 positions, and the Employer Code (BCSD, MJSD, etc.) in the last 12 positions.  The Long Description in PERS/IDMAP will override this.

  • In any of the 5 associated codes the user can enter “CLIENT CODE” with a client ID in the corresponding associated description.  

Reason Code Setup

If the eligibility end date is filled in, the reason code will be determined in the following manner:  If the HR status in HR Employee Master is T or I, the PERSI reason code will be mapped to the HR TERMINATION Code using common code PERS/IDRSxxxx, where xxxx is the HR Term Code.  The PERSI reason code will be mapped in the first associated code field.  See example below of mapping the HR Term code of MD to the PERSI reason code of MEDL.

If we still have a blank reason code then, if the payroll termination date is not filled in, “INEL” will be used.  Otherwise, “OTHR” will be used. 

Extract (PYRERRID01)

After all the needed set up is complete, invoke mask PYRERRID01 to extract information from a specific Check History period.  

Select the Idaho process to be run.  The next question asks what period is to be extracted.  Normally, this will be the most current period that has been paid and distributed. 

Criteria may be used to extract PERSI data for a limited scope or set of employees.  This will normally only be used after a normal, full-cycle extract is made, changes have been made to only a few employees, and only those employees need to be re-extracted.

The next question asks whether the user wants to include data from unpaid check history records.  The normal response to this question is “NO”, that is, only paid check history is to be extracted.  Unpaid check history is normally only extracted for testing purposes or if the user wants to produce a preliminary PERSI report prior to the actual pay and distribute process and a complete subsequent re-extract.

If this is a re-extract of only a few employees in the period, the answer to the question “Delete report period before adding info from this merge?” should be “NO”.  That way, only the data for the selected employees will be replaced.  If an extract or re-extract of the entire pay cycle is being done, the answer should be “YES”.

Update (PYRERRID03)

This PYRERRID03 mask provides the user with a means of adding, modifying and deleting data from the retirement utility dataset prior to producing a report and generate a file for submission to PERSI. 

Information is retrieved for an employee by payroll period, either in SSN or Name sequence.  The demographic information is retrieved from the employee’s master record.  Any changes to this information must be made through the normal employee maintenance process (PYUPEM in payroll or the appropriate screen in HR).

The bottom of the page allows the user to browse or add up to 5 detail entries at a time for an employee.   Comments may also be included.  The screen will require an eligibility end date for most types of updates.  If the record represents termination information, type in a termination date.  Otherwise, type in an infinite date such as 12/31/2050.

Report and File (PYRERRID04)

Mask PYRERRID04 is the final step in the PERSI processing.  This mask allows the user to produce a report and generate a file (in the PERSI-dictated format).  If any information is inaccurate or missing, the user may use the Update mask (PYRERRID03) to make corrections and re-run this mask as often as necessary. 

  • “Enter the period” to be extracted. 

  • “Enter the name of the retirement file”.  A file with this name will be created on disk (in the DATA directory).  This file can then be copied to tape or diskette, or transmitted directly to PERSI as directed in PERSI’s Employer Manual.

Extraction Process

The extraction creates the following detail rows in the report file.

Field Name

Rules / Values

Seq_num

Start with 000100 and increment by 100 each time. Valid values are 000100, 000200, 000300, … 999900. The sequence number must be in numerical order.

SSN

Member’s nine-digit Social Security Number, no punctuation or hyphens

Cycle_start_date

The first day of the payroll cycle that the record applies to. This date may be the first day of the most current payroll cycle or, in the case of an adjustment to a prior payroll cycle, the first day of the payroll cycle to which the adjustment applies.

Cycle_end_date

The last day of the payroll cycle that the record applies to. This date may be the last day of the most current payroll cycle or, in the case of an adjustment to a prior payroll cycle, the last day of the payroll cycle to which the adjustment applies.

Reported_class

Contribution class under which the member is being reported. Valid values are:

‘1’ = General member

‘2’ = Fire or Police

‘3’ = Teacher

‘4’ = General with Police grandfather rights

‘A’ = Option I Fire

‘B’ = Option II Fire

‘D’ = PERSI Fire, employed after 10/1/1980

‘E’ = General member (non-fire) working for an FRF unit

Official_code

Is this member an Elected or Appointed Official?

‘N’ = No

‘Y’ = Yes

Workers_comp_code

Is member receiving worker’s comp?

‘N’ = No

‘Y’ = Yes

Contrib_source_code

‘R’ = REMITTANCE (payment against an employee invoice or employee loan)

‘T’ = TRANSMITTAL (all other contributions deducted from an employee’s pay)

‘E’ = EMPLOYER (DC plan contributions paid for by employer)

‘P’ = PERSI retired (Working Retired Member)

‘A’ = Audit (Non PERSI eligible Employees)

‘O’ = ORP (Employee that belongs to an Optional Retirement Plan)

‘M‘ = Military (Future Use)

Contrib_type_code

‘M’ = Mandatory

‘V’ = Voluntary choice plan

‘L’ = Loan Payment

Hours

Member’s actual or “standard” hours worked. Must be reported each time except when member is class 3, an elected or appointed official, or compensation is equal to zero

Contract_percent

Class 3 only. Expressed in percent, e.g. “32” = 32%. Must be present when reporting member for the first time and when a change occurs, otherwise reporting is optional.

Birth_date

Member’s date of birth. Must be present when reporting member for the first time and when a change is made to correct an incorrectly reported birth date, otherwise reporting is optional.

Gender_code

Member’s gender. Must be present when reporting member for the first time and when a correction is made, otherwise reporting is optional.

M = Male

F = Female

Address_line_1

First line of member address. Must be present when reporting member for the first time and when any part of the member’s address changes, otherwise reporting is optional.

Address_line_2

Second line of member address, when necessary. If applicable, must be present when reporting member for the first time and when any part of the member’s address changes, otherwise reporting is optional. If not applicable, blank fill.

Address_line_3

Third line of member address, when necessary. If applicable, must be present when reporting a member for the first time and when any part of the member’s address changes, otherwise reporting is optional. If not applicable, blank fill.

City

Must be present when reporting member for the first time and when any part of the member’s address changes, otherwise reporting is optional.

State_code

Two-character standard abbreviation for state; i.e. ‘ID’. Must be present when reporting member for the first time and when any part of a member’s address changes, otherwise reporting is optional.

Zip

Members postal zip code. If zip code is five digits, left justify and blank fill. If zip code is nine digits, insert hyphen between first five and last four (99999-9999). Must be present when reporting member for the first time and when any part of a member’s address changes, otherwise reporting is optional.

hire_date

Date employee was hired at your organization for their current employment. Must be present when reporting employee for the first time and when a change occurs to correct a previously reported incorrect date, otherwise reporting is optional.

Elig_start_date

The date that an employee’s employment becomes eligible for PERSI benefits. Must be present when reporting member for the first time and when a change occurs to correct a previously reported incorrect date, otherwise reporting is optional.

Elig_end_date

The date that an employee’s employment ceases to be eligible for PERSI benefits. Report this date when a member terminates from employment OR when a member is still employed, but no longer meets PERSI eligibility and will no longer (or for a period of time) be reported on the transmittal. A date in this field must always be accompanied by a reason code in the Elig_end_reason_code field of the same record.

Elig_end_reason_code

Reason code for ending PERSI eligibility. Report this field only when a member terminates from employment OR when a member is still employed, but no longer meets PERSI eligibility and will no longer (or for a period of time) be reported on the transmittal. This code must be present whenever Elig_end_date is present.

‘DECD’ = Member is deceased

‘RSGN’ = Member has resigned or been dismissed

‘EXPR’ = Expiration of Term

‘INEL’ = Member remains employed, but no longer meets eligibility requirements; e.g., dropped to part time, moved to Optional Retirement                 Program (ORP)

‘LWOP’ = Member is on leave without pay

‘MEDL’ = Member is on disability, medical or Worker’s Comp leave

‘RTRD’ = Member has retired

‘OTHR’ = Any other reason

The following codes are to be used only if an employer is merging with another PERSI employer, privatizing, or completely withdrawing from PERSI. These codes will be used on the final transmittal reported to PERSI, coding each member that is still employed at the time of the final report with the applicable code from below.

‘ERM’ = Employer has merged with another PERSI Employer

‘ERP’ = Employer has Privatized

‘ERW’ = Employer has withdrawn from PERSI

Location

Optional, may be blank. Employee’s office location. The employer determines the value in this field. If present, location will be used for sorting purposes when PERSI generates letters or documents for active employees that will be sent to employers for distribution; i.e. Annual Membership Account Statements.

Sick_leave_units

Number of sick leave days or number of sick leave hours an employee has (days for class 3 employees, hours otherwise). Required each pay cycle for employers that participate in PERSI’s sick leave entitlement program, otherwise reporting is optional.

Sick_leave_rate

Daily or Hourly rate, in synch with sick_leave_units. Must be present when sick_leave_units are present.

Invoice_no

Invoice number of the employee’s financial account for which remittance is being made. Not required, but should be populated if known.

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.