UPCAPERSXML - CALIFORNIA PERS (CalPERS) - NEW XML FORMAT#

The CalPERS organization has defined a new file format (XML) for submissions. This interface will replace that which was created by the UPCAPERS program in the application. UPCAPERS will be deprecated and may eventually become obsolete. UPCAPERS can still be used to produce reports. Note Nov 2017 UPCAPERS is not longer available in version 5.04.xx

To create the new XML format, the interface creation program UPCAPERSXML will now be used to generate the CalPERS file. The IDIF definition used for the previous UPPHF-based implementation is no longer used.

The amounts that will be reported must find their way into the pay components / elements that are used by this interface. This can be accomplished through CalPERS benefit plan set up, transactions being entered or UserCalcs. Nothing is recomputed by this PERS file creation program.

California PERS operates a number of different retirement systems. At this time, only the Public Employees’ Retirement System (PERS) is supported. There is no support provided for Judges’ Retirement Systems (JR1 and JR2), Legislators’ Retirement System (LRS) or the Supplemental Income Plan (SIP).

Benefit Plan Changes - Setup#

The Benefit Plan is still required, any values that are computed by the benefit plan that need to report to CalPERS must now be stored in a pay component for the UPCAPERSMXL program to pick up.

Function Preference Setup#

There is a new 'Function Preference' called SCHED HRS ALIAS. By default the regular 'Scheduled Hours' is taken from IEAS. If it should be taken from DJB or DPS then this preference can have a value of exactly 'DPS' or 'DJB'.

Scheduled Full Time Hours ( <n1:ScheduledFullTimeHoursPerWeek>) is now taken from one of three new columns (depending on the Preference setup). It is taken in order by EASD.REPORT_HOURS_PER_WEEK if populated, then DPD.REPORT_HOURS_PER_WEEK, and then DJD.REPORT_HOURS_PER_WEEK. This upgrade was primarily to handle Part Time Employees properly.

Creating New Elements#

To facilitate reporting through UPCAPERSXML, certain elements have been defined. The following elements may be defined to include the pay components that reflect the different categories of information. Unless otherwise identified below, these elements must all be set up, even if they are empty.
Element NameMeaning
PERSRPT EARNSThe reportable earnings, as defined by CALPERS, of the member for the reported period.
PERSRPT DEDN TAXThe reported contribution/deduction amount paid by the member that has been taxed.
PERSRPT DEDNThe reported contribution amount paid by the member which has not been taxed.
PERSRPT CONTThe reported contribution amount paid by the employer which has not been taxed.
PERSRPT SURVIVORThe reported 1959 Survivor Benefit Contribution amount paid by the member.
PERSRPT DEDN ADDThis does not apply to most employers, it is the “additional” contribution paid by the member.

This is an old program and is no longer available to new hires. Contributions can be reported in this program only if the member had been contributing to it continuously from the date when they had enrolled in the program.
PERSRPT CONT ADDThis does not apply to most employers, it is the “additional” contribution paid by employer. This money is a tax deferred contribution.

This is an old program and is no longer available to new hires. Contributions can be reported in this program only if employers had been contributing to it continuously.
PERSRPT HOURSThe total number of hours that the CalPERS retiree (required) has worked during the reported period.
PERSRPT OPRDeduction for overpayment received
PERSRPT SCP TAXService credit purchase taxed
PERSRPT SCP DEFService credit purchase tax deferred
PERSRPT SIP2457 Plan - This element should only be populated if the CalPERS Plan has 457 Supplemental Income associated with it.
PERSRPT LOANAfter tax loan payment - This element is optional
PERSADJ RSA EEEmployee Retro Earnings Contribution
PERSADJ RSA EREmployer Retro Earnings Contribution
PERSADJ RSC EEEmployee Retro Special Compensation Earnings Contribution
PERSADJ RSC EREmployer Retro Special Compensation Earnings Contribution
PERSRPT EE SIP2(Optional) SIP2 Employer Contributions.457 Plan - This element should only be populated if the CalPERS Plan has 457 Supplemental Income associated with it.
PERSRPT ER SIP2(Optional) SIP2 Employer Contributions. 457 Plan - This element should only be populated if the CalPERS Plan has 457 Supplemental Income associated with it.
PERSRPT LN SIP2(Optional) SIP2 Loan

Using User Defined Fields#

User-defined fields (UDFs) are utilized, at this time, for storing some CalPERS information. These UDFs are all required and UPCAPERSXML will issue error messages and terminate if any are missing.

Recent changes have allowed some of these fields to be instead referenced directly via database columns, but not all UDF's have been replaced at this time.

The following UDFs are required for operation of this XML interface and need to be defined on IMUF, as character fields:

User FieldTable AliasMeaning
CALPERS_INTERFACE_TYPEDEDThis CalPERS ID is a new unique identifier, created by the new system. The CalPERS XML Schema names this item ‘Interface Type’ and most likely should contain ‘10006’ for regular pyroll.
CALPERS_BP_IDDEDIf you are reporting your own payroll files, the Business Partner ID is the same as the Employer CalPERS ID. If you use a third-party vendor, then CalPERS will assign a unique identifier number once the third-party becomes an approved business partner.
CALPERS_EMPLOYER_IDDEDThis CalPERS ID is a new unique identifier, created by the new system. This replaces the CalPERS Employer Code and Unit Code used today. This CalPERS ID is of the employer who is submitting the payroll on behalf of all the employees in the file.

This may be the employer where all the employees are working, but it may also be the employer who is authorized to send payroll for other employers’ employees.
POSTED UPCAPERSPPHA flag that is used to indicate if the pay header has been posted to CalPERS or not. A value of “Y” means that it has and it will not be processed by subsequent UPCAPERSXML runs. A value of “N” or null means that it has not yet been processed and is eligible to be picked up.

Note that this UDF has a space in the name not an underscore.

This is for compatibility with prior versions of CalPERS reporting.

This User Defined Field has been replaced by the database column POSTED_RETIREMENT as of the 4.10 release.
CALPERS_IDEIDthe CalPERS-generated unique CalPERS ID for the participant

The CalPERS ID will be ten digits in length and used in place of a Social Security Number in contribution files. Prior to system “go-live”, CalPERS will send employers a file with the CalPERS ID for each of their existing employees. This is for compatibility with prior versions of CalPERS reporting.

This User Defined Field has been replaced by the database column EXTERNAL_RETIREMENT_ID as of the 4.10 release.
APPOINTMENT_IDEASDThe code representing the appointment into which the employee has been hired

Prior to system implementation, CalPERS will provide employers a list of their member’s Appointment IDs. After system implementation, employers can run a report online to generate a list of Appointment IDs.

If multiple appointments exists with the reporting employer, Appointment ID must be provided or the payroll record will error.

This User Defined Field has been replaced by the database column EXTERNAL_APPOINTMENT_ID as of the 4.10 release.
PERS_MEMOEASDThis memo line can be provided by the employer as a reference field. CalPERS will store this information and provide it back to the employer on a download of FTP response.
PERSRPT SIP TypeDUDThis line reads from the lexicon X_PERSRPT_SIP (created above) to return one of four values PERSRPT SIP1, PERSRPT SIP2, PERSRPT SIP3 or PERSRPT SIP4. Currently only PERSRPT SIP2 is supported for SIP reporting.
Pers SIP Plan IdDUDPers SIP Plan Id is the plan identification number supplied by CALPERS for the unit that is being reported.

Loading Employee Identifiers from CalPERS#

CalPERS provides a spreadsheet of employee identifiers. There are actually three different identifiers in this spreadsheet:
  • CalPERS ID –The CalPERS ID is a new unique identifier, which will be created by the new system during enrollment and will be used to identify participants when sharing data with CalPERS. This is tied to the employee on IEID.
  • Appointment ID - CalPERS will generate and store Appointment ID for the participant at the time of enrollment, and this is tied to the employee’s position on IEAS.
  • Beneficiary ID – CalPERS is creating a unique identifier for the beneficiaries. This is not currently used.
Support can assist in loading this data into the User Defined fields noted above, if desired.

Identifying Retired Annuitants#

Retired Annuitants may be identified either through their Employment Status (on IEAS) or via enrollment in a CALPERS plan. These employees will appear with a transaction type of "EPN" on the file.

Option 1 – Employment Status#

A new employment status on IDES called “PERS ANNUITANT” can be created. Any employee who has this assignment status will be considered a Retiree Annuitant.

Option 2 – Retiree Plan Coverage#

You can create a new coverage level for your CAPERS benefit plan and include the word “RETIREE” in the Policy Number (this is not case sensitive). Employees who are enrolled in this description will be considered a Retiree Annuitant. An employee may only be enrolled in one plan of type = CAPERS. The actual plan code does not matter.

Semi-Monthly payrolls#

Note that for semi-monthly payrolls, the user has to run UPCAPERSXML for the SECOND period in the month. Semi-monthly payrolls are reported on a monthly basis and therefore only one out of the two pay periods are used for reporting (the second pay period in the month).

Transaction Types#

Retroactive Pay (RSA) is determined by the 'Pay Category Type' of RETRO.

If the Pay is NOT RETRO then the Pay is considered a Current Period Contribution (EPR) if the Pay is in the Current Pay Period.

If the Pay is NOT RETRO then the Pay is considered a Prior Period Contribution (PPA) if the Pay dated before the Current Pay Period.

Retroactive Pay#

My CalPERS requires that any Retroactive Pay be reported in separate ‘Transaction Types’. To accommodate this, Retroactive Pay must be created with UPRETRO and be stored into a pay category that has the Pay Category type of ’07-Reto Pay’.

Special Compensation Codes#

A user-defined lexicon (CALPERS_SC) has been created to cross-reference the CalPERS Special Compensation codes, their categories and the pay components or elements that reflect the value for that special compensation. If you will use Special Compensation codes, you must run the script create_CALPERS_SC_lexicon.sql which is included with the 4.10 Backend release. This will create the structure as noted below. Any records that do not pertain to your operation can then be deleted. Any changes made will be kept unless that script is run again. The lexicon is CALPERS_SC and has the following structure in IMLN:
SAVED VALUESpecial Compensation Type - which is a value from the list provided by the CalPERS agency

e.g. DST - Dictation/Shorthand/Typing Premium
e.g. PFP - Physical Fitness Program
DISPLAYED_VALUEThis is the Pay Component code or Element name (if it starts with E- (eg E-EARNS23)) that contains the value for the special compensation
MEANINGThis is the Compensation Category (from CalPERS Agency). This must be one of ICP, EDP, PPP, SAP, SSI, SCL or UNK. If the category is not specified, the compensation will be lumped in with UNK.

ICP - Incentive Pay
EDP - Educational Pay
PPP - Premium Pay
SAP - Special Assignment Pay
SSI - Statutory Items
UNK - Unknown
SCL - Sp Comp Legacy
The table at the bottom of this page can be used to aid in filling out this lexicon value set. If you are not using a particular special compensation code, you can leave it with its initial value or delete the record from IMLN.

Launching UPCAPERSXML#

To create the CalPERS file, the UPCAPERSXML function must be launched. This is a batch process that could be scheduled as well. The following parameters have significance for the purposes of the CalPERS interface file generation:

Report Parameters & Filters#

Report Parameters
EntityMandatory, LOV available
One entity is allowed only per execution. Employer CalPERS ID is unique per entity.
Pay CalendarMandatory, LOV available
This field limits the process to the pay calendar specified. Only one pay calendar (frequency) is allowed per execution.
(CPE) Pay PeriodMandatory, LOV available
This identifies which Pay goes to the CPE (California Public Employees' Retirement System) Report.
Beginning Pay PeriodMandatory, LOV available
This identifies the starting pay period of the current CalPERS Reporting Cycle. Any transactions that are dated previous to the Period Begin date of this period are considered adjustments.
Ending Pay PeriodMandatory, LOV available
This identifies the ending pay period of the current CalPERS Reporting Cycle. Any transactions that are dated after the Period End date of this period are considered adjustments.
Combine Start End PPOptional
If set to "Yes", report will combine Start and End Pay Periods.
Incl RSA in ADJOptional
If set to "Yes", report will include RSA (Retroactive Salary Adjustment) in ADJ report type.
Directory NameMandatory, Text
This is the directory on the data base server that you want to have the file created in. This must be a directory (or directory object) that is write-enabled for the data base process.
CPE File NameMandatory, Text
This is the name of the actual file you want created, for Payroll & Retirement submission. Note that CalPERS expects files that will be submitted to be in a specific naming format.
SP2 File NameOptional, Text
The name of the actual file you want created, for SIP2 submission. If this file name is provided and there are SIP2 entries to be made, they will be written to this file, instead of the CPE file. Note that this file name is optional.
Test ReportMandatory, LOV available
If set to “No”, the POSTED UPCAPERS field will be updated with a “Y” so the pay header being processed does not get picked up again in a subsequent run. The generated XML file will be marked as a valid file.

If set to “Yes” the generated XML file will be marked as a ‘Test Run’ and the POSTED UPCAPERS field will not be updated.
Exception LevelOptional, Exception Level lexicon available
This field defines the exception level (report messages) required. A ‘trace’ report of exception messages may be produced to assist in the testing phase. If necessary, choose from 0 – 9 (highest) level of trace. Please note that this is a voluminous report and will cause very slow performance.
User Comments Optional, Text
This field holds the user-supplied comment which will appear in the header of all pages of the report. This is useful during testing phases to identify similar reports from each other.

Report Filters
These filters can be used to further narrow down the list of pay headers that you wish to process. Typically 'Entity', 'Payroll' and 'Pay Run Number' are used to filter to a specific pay run, or 'Person' may be used to run tests against a subset of employees.
Person List CodeOptional, Multiple selections, LOV available
This field limits the report to the person lists specified.
PersonOptional, Multiple selections, LOV available
This field limits the report to the persons specified.
UnitOptional, Multiple selections, LOV available
This field limits the report to the units specified.
GroupOptional, Multiple selections, LOV available
This field limits the report to the groups specified.
PayrollOptional, Multiple selections, LOV available
This field limits the report to the payrolls specified.
Payrun NumberOptional, Multiple selections, LOV available
This field limits the report to the payrun numbers specified.
DepartmentOptional, Multiple selections, LOV available
This field limits the report to the departments specified.
Org Level TypeOptional, Multiple selections, LOV available
This field limits the report to the org level types specified.
Org LevelOptional, Multiple selections, LOV available
This field limits the report to the org levels specified.
AuthorizationOptional, Multiple selections, LOV available
This field limits the report to the authorizations specified.
LocationOptional, Multiple selections, LOV available
This field limits the report to the locations specified.
StatusOptional, Multiple selections, LOV available
This field limits the report to the status specified.
Note that the PAY RUN NUMBER filter will only show pay runs that are for the pay period selected in the report parameters section.

The “Report List” will indicate all the pays, as seen on IPPH that will be processed by the UPCAPERSXML program.

Special Compensation Codes Matrix#

SAVED VALUESpecial Compensation Type - which is a value from the list provided by the CalPERS agency.

e.g. DST - Dictation/Shorthand/Typing Premium
e.g. PFP - Physical Fitness Program
DISPLAYED_VALUEThis is the Pay Component code or Element name (if it starts with E- eg E-EARNS23) that contains the value for the special compensation.

For example, if for Educational Incentive Pay (EEI) you are computing/entering this in pay component 6543, you would update the displayed value for the EEI entry from PC or E-Element to 6543.

For example, if you had an element called EDUC_INCENT which contained all the pay components going into this special compensation category, you would update the displayed value from PC or E-Element to E-EDUC_INCENT – the E- at the beginning is the trigger to identify the value as an element.
MEANING This is the Compensation category (from CalPERS Agency). The category must be one of ICP, EDP, PPP, SAP, SSI, SCL or UNK. If the category is not specified, the compensation will be lumped in with UNK.

ICP - Incentive Pay
EDP - Educational Pay
PPP - Premium Pay
SAP - Special Assignment Pay
SSI - Statutory Items
UNK - Unknown
SCL - Sp Comp Legacy

Incentive Pay (ICP)#

TypeLong NamePC CodeElement Code
BONBonus
DSTDictation/Shorthand/typing Premium
LLPLongevity Pay
MIPManagement Incentive Pay
MKPMarksmanship Pay
MPOMaster Police Officer
PFPPhysical Fitness Program
VEPValue of Employer Paid Member Contributions
OSPOff-Salary-Schedule Pay

Educational Pay (EDP)#

TypeLong NamePC CodeElement Code
AADApplicator’s Differential
CPACertified Public Accountant Incentive
EEIEducational Incentive
EMTEmergency Medical Technician Pay
ERPEngineering Registration Premium
GARGovernment Agency Required Licenses
ICBInternational Conference of Building Officials Certificate
MPPMechanical Premium
NASNational Institute of Automotive Service Excellence Certificate
NPPNotary Pay
PPPParamedic Pay
POSPeace Officer Standard Training (POST) Certificate Pay
RSPReading Specialist Premium
RRBRe-certification Bonus
SCDSpecial Class Driver’s License Pay
UGDUndergraduate/Graduate/Doctoral Credit

Premium Pay (PPP)#

TypeLong NamePC CodeElement Code
TUPTemporary Upgrade Pay

Special Assignment Pay (SAP)#

TypeLong NamePC CodeElement Code
AAPAccountant Premium
ASPAdministrative Secretary Premium
APPAircraft/Helicopter Pilot Premium
AWPAsphalt Work Premium
AVPAudio Visual Premium
APRAuditorium Preparation Premium
BBPBilingual Premium
BAPBranch Assignment Premium
COACanine Officer/Animal Premium
CFPCement Finisher Premium
CLPCirculation Librarian Premium
COPComputer Operations Premium
CCPConfidential Premium
CACContract Administrator Coordinator Premium
CSICrime Scene Investigator Premium
CCDCritical Care Differential Premium
DAPD.A.R.E. Premium
DSPDetention Services Premium
DDPDetective Division Premium
DTODUI Traffic Officer Premium
EOPExtradition Officer Premium
FIPFire Inspector Premium
FINFire Investigator Premium
FPAFire Protection Assignment Premium
FSPFire Staff Premium
FTPFlight Time Premium
FDPFloat Differential Premium
FDAFront Desk Assignment (Jail)
FOPFugitive Officer Premium
GDAGang Detail Assignment Premium
GAPGrading Assignment Premium
HZPHazard Premium
HSEHeavy/Special Equipment Operator
HHPHeight Premium
HSPHousing Specialist Premium
JOPJuvenile Officer Premium
LWPLead Worker/Supervisor Premium
LRDLibrary Reference Desk Premium
GMPGas Maintenance Premium
PISPlumber Irrigation System Premium
RCPRefuse Collector Premium
SLRStreet Lamp Replacement Premium
MCIMCO Instructor Premium
MOPMotorcycle Patrol Premium
MMPMounted Patrol Premium
NDPNarcotic Division Premium
PCPParamedic Coordinator Premium
PPCPark Construction Premium
PMMPark Maintenance/Equipment Manager Premium
PCCParking Citation Premium
PAPPatrol Premium
PAOPolice Administrative Officer
PIPPolice Investigator Premium
PLPPolice Liaison Premium
PPOPolice Polygraph Officer
PRAPolice Records Assignment Premium
RMPRange Master Premium
RACRefugee Arrival Cleanup Premium
SOTSafety Officer Training/Coordinator Premium
SPPSandblasting Premium
SYPSchool Yard Premium
SEPSearch Pay Premium
SDPSeverely Disabled Premium
SCPSewer Crew Premium
SDDShift Differential
SSPSolo Patrol Premium
SBPSprinkler and Backflow Premium
TIPTiller Premium
TTPTire Technician Premium
TDPTraffic Detail Premium
TPPTraining Premium
TCPTree Crew Premium
USOUtility Systems Operation Premium
WCPWater Certification Premium

Statutory Items (SSI)#

TypeLong NamePC CodeElement Code
FLSFair Labor Standards Act (FLSA)
HPPHoliday Pay
UAAUniform Allowance

Unknown (UNK)#

TypeLong NamePC CodeElement Code
UNKUnknown

Notes#

HL-601
When selecting max date from the pay lines in a pay header, only select pay lines with pay_line_source = '01' – Transaction will be selected.

HL-598
When a Retiree Returns to work they are considered a calpers 'Annuitant'. This is now determined by a new User Field 'PERS ANNUITANT' attached to P2K_CM_EMPLOYMENT_STATUSES. See the released document 'California Retirees' released with this defect.

Notes Prior to 5.05 Release
This defect required setup changed to deal with retired employees returning to work. Capers needs separate transaction codes for these employees. See document 'Calpers Retirees' released when closing the defect for details