payroll instructions recommendation, 2003 february 26 · handel-bailey, sap; joe lalla, towers...

38
PayrollInstructions.doc - 1 - Payroll Instructions Recommendation, 2003 February 26 This version: PayrollInstructions.doc Previous version: N/A Editor: Chuck Allen, HR-XML Consortium, Inc. Contributors: Terry Malone-Burrell, Ceridian Employer Services; Elizabeth O’Neal, Employease; Jason Brown, Employer Payment Solutions; Rich Barritt, Fidelity; Chris Pierpan, Fidelity; Chris Brown, Hewitt Associates; Scott Cowley, IBM; Mark Grasso, Rewards Plus; Adam Sroka, Rewards Plus; Jean Handel-Bailey, SAP; Joe Lalla, Towers Perrin; Penni Kessler, Ultimate Software Copyright statement ©2001-2003 HR-XML. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Abstract This document describes HR-XML’s PayrollInstructions specification. This specification defines an XML schema for structuring pre-payroll change requests for deductions and certain other adjustments to pay. Status of this Document This document is a draft Technical Note and is not to be referenced as a formal recommendation by any party. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Upload: vuongnhi

Post on 02-May-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

PayrollInstructions.doc - 1 -

Payroll Instructions

Recommendation, 2003 February 26 This version:

PayrollInstructions.doc

Previous version: N/A

Editor: Chuck Allen, HR-XML Consortium, Inc.

Contributors: Terry Malone-Burrell, Ceridian Employer Services; Elizabeth O’Neal, Employease; Jason Brown, Employer Payment Solutions; Rich Barritt, Fidelity; Chris Pierpan, Fidelity; Chris Brown, Hewitt Associates; Scott Cowley, IBM; Mark Grasso, Rewards Plus; Adam Sroka, Rewards Plus; Jean Handel-Bailey, SAP; Joe Lalla, Towers Perrin; Penni Kessler, Ultimate Software

Copyright statement ©2001-2003 HR-XML. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America.

Abstract This document describes HR-XML’s PayrollInstructions specification. This specification defines an XML schema for structuring pre-payroll change requests for deductions and certain other adjustments to pay.

Status of this Document This document is a draft Technical Note and is not to be referenced as a formal recommendation by any party. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

PayrollInstructions.doc - 2 -

Table of Contents

1 Overview .............................................................................................................................................. 4

1.1 Objective ....................................................................................................................................... 4 1.1.1 Domain Issues ....................................................................................................................... 4 1.1.2 Business Reasons .................................................................................................................. 4

1.2 Design Requirements .................................................................................................................... 5 1.3 Scope............................................................................................................................................. 5

1.3.1 Items Outside of Design Scope............................................................................................. 5 1.4 Terminology: “Deduction” and “Benefit” ................................................................................... 6

2 Supported Business Processes............................................................................................................ 6

2.1 Business Process Roles ................................................................................................................. 6 2.2 Business Process Scenarios .......................................................................................................... 7

2.2.1 Scenario 1.............................................................................................................................. 7 2.2.2 Scenario 2.............................................................................................................................. 8

2.3 Batch Processing .......................................................................................................................... 9 2.4 Calculation Methods................................................................................................................... 10

2.4.1 Fixed ................................................................................................................................... 10 2.4.2 Percent................................................................................................................................. 10 2.4.3 Lookup ................................................................................................................................ 11 2.4.4 Schedule.............................................................................................................................. 12 2.4.5 Extended ............................................................................................................................. 13

3 Schema Design................................................................................................................................... 13 3.1.1 Schema Dependencies......................................................................................................... 13 3.1.2 PayrollInstructions .............................................................................................................. 14 3.1.3 PersonInstruction ................................................................................................................ 15 3.1.4 PayrollPerson ...................................................................................................................... 16 3.1.5 Instruction ........................................................................................................................... 16 3.1.6 Deduction............................................................................................................................ 17 3.1.6.1 DeductionType.................................................................................................................... 19 3.1.7 Benefit................................................................................................................................. 22 3.1.7.1 BenefitType......................................................................................................................... 23 3.1.8 Amount ............................................................................................................................... 25 3.1.9 AmountValue...................................................................................................................... 26 3.1.9.1 CalculatedValueType/Fixed................................................................................................ 26 3.1.9.2 CalculatedValueType/Percent............................................................................................. 27 3.1.9.3 CalculatedValueType/Linear .............................................................................................. 27 3.1.9.4 CalculatedValueType/Lookup ............................................................................................ 28 3.1.9.5 CalculatedValueType/Schedule .......................................................................................... 29 3.1.9.6 CalculatedValueType/Extended.......................................................................................... 30

PayrollInstructions.doc - 3 -

3.1.10 RequestTotal ....................................................................................................................... 30 3.1.11 Other Global Complex Types ............................................................................................. 31 3.1.12 Global Simple Types........................................................................................................... 32

4 Implementation Considerations....................................................................................................... 34

4.1 Localization................................................................................................................................. 34 4.2 Data Privacy ............................................................................................................................... 34

5 Appendix A - Document Version History ....................................................................................... 35

6 Appendix B – Related Documents ................................................................................................... 35

7 Appendix C – Reference Examples ................................................................................................. 35

7.1 Batch Example ............................................................................................................................ 35 7.2 Scenario 1 - New Business Transaction...................................................................................... 35 7.3 Scenario 2 - Change Transaction ............................................................................................... 36 7.4 Scenario 3 - Cancellation Transaction ....................................................................................... 37

PayrollInstructions.doc - 4 -

1 Overview

PayrollInstructions Version 1.0 is designed to enable the submission of payroll deduction requests and other instructions to an organization that processes payrolls. The type of instructions covered by the specification include those for deductions from employees’ pay as well as adjustments to employer payments and liabilities that must be considered in payroll calculations (see Section 1.4, Terminology: “Deduction” and “Benefit”).

1.1 Objective The goal of the HR-XML Consortium’s PayrollInstruction project was development of a specification, including an XML schema, for structuring pre-payroll change instructions.

1.1.1 Domain Issues

Employers have more choices than ever before about how they process payrolls, handle employee benefit elections and enrollments, and pay for and administer benefit programs. As a result of employers outsourcing of their HR and payroll functions and as a result of innovative benefit program offerings, a greater number of parties may be involved in the transmission of payroll data than in the past.

The purpose of the HR-XML Consortium’s PayrollInstructions specification is to provide guidance on how to structure exchanges of payroll instructions relating to certain deductions and adjustments. When employees change their benefit elections or otherwise experience work or life events that change their benefits coverage or pay, corresponding changes to payroll amounts often are necessary. Before a payroll is processed, an employer, its third party benefits administrator, and its payroll service provider usually must transmit, reconcile, and process instructions related to the payroll deductions and adjustments. A variety of business and legal requirements determine the specific information that is included in any given payroll instruction.

The HR-XML Consortium’s PayrollInstructions specification is designed to be useful to a wide-range of payroll trading partners. It also was designed to flexibly support instructions for a wide-range of employee services and benefits programs. The PayrollInstructions specification can be used to transmit payroll deduction instructions for medical insurance, flexible spending accounts, life insurance, short and long term disability insurance, accident insurance, savings accounts, and employee stock purchase plans as well as for other types of programs that exist today or may exist in the future. The PayrollInstructions specification also can be useful for transmitting instructions related to voluntary or non-benefit deductions, such as those for charities, union dues, savings bonds, savings/credit union accounts, personal loans, personal and business membership fees, tuition and book fees, transportation fees, parking fees, etc. The list is endless as to what a person may pay for through voluntary payroll deductions.

1.1.2 Business Reasons

The HR-XML Consortium’s PayrollInstructions specification gives employers flexibility and saves them time and money when integrating systems with benefits administrators, benefits providers, and payroll processors. Employers may be more willing to offer employees services and benefits from new providers if integration with trading-partner systems can be achieved with

PayrollInstructions.doc - 5 -

little or no up-front integration costs. For benefits, payroll, and HR vendors, a standard schema for handling PayrollInstructions eliminates the need to devote time and money to the task of building unique interfaces with customers and trading partners. Typically, this type of integration work provides little unique value to the customer and creates barriers to acquiring new business and new partnerships.

1.2 Design Requirements

1.3 Scope

Version 1.0 of the PayrollInstructions schema is designed to support payroll change instructions for:

One or more payroll change instruction per employee; and

One or more employee of a single employer

PayrollInstructions Version 1.0 focuses on change instructions for deductions and adjustments related to employer-provided benefits, subsidies, and similar programs. Later versions may support a broader range of instruction types, such as those for garnishments, pay increases, etc.

1.3.1 Items Outside of Design Scope

There are a wide variety of payroll instructions that are not addressed within PayrollInstructions Version 1.0. Outside the scope of the Version 1.0 specification are payroll instructions for:

Initial setup of employee payroll records;

Employer premium payments or other remittances to benefit providers;

Wage or pay rate changes;

Payroll taxes; and

Garnishments.

Note that since PayrollInstructions Version 1.0 is not intended to support the initial setup of a person on a payroll or benefits system, it is assumed that instructions apply only to payees or plan participants who already have been added to payroll and benefit administration systems through enrollment and payroll setup processes.

As described in Section 2.3, the PayrollInstructions specification was designed to support the batch transmission of instructions. Beyond providing a basic structure to support batch processing, the specification does not yet specify detailed processing rules. Trading partners will need to agree on rules for handling “Add,” “Change,” “Correction” instructions or other types of changes their business relationship may dictate.

PayrollInstructions.doc - 6 -

1.4 Terminology: “Deduction” and “Benefit”

The HR-XML Consortium’s PayrollInstructions specification is intended to be sufficiently flexible to handle a wide variety of instructions. As discussed above in Section 1.3, Scope, the schema is designed to handle one or more payroll change instructions per employee for one or more employees. Thus, within the schema’s PersonInstruction element one or more Instruction is permitted. A single instruction may contain either a Benefit or a Deduction. For purposes of the PayrollInstructions schema, these components are defined as follows:

A Deduction is an instruction related to a liability of the employee. For example, a deduction might be made to pay for a benefit elected by an employee, such as auto insurance.

A Benefit is an instruction related to a liability of the employer. For example, an instruction related to an employer-provided transit subsidy would be an example of Benefit.

Note that in the PayrollInstructions schema, DeductionType and BenefitType are similar in structure. The HR-XML Consortium’s Payroll workgroup considered using a generalized structure that could accommodate both deductions and benefits. However, the group decided that separate structures for these two types would provide more clarity and would better accommodate trading-partner extensions as well as future refinement.

2 Supported Business Processes

The HR-XML Consortium’s PayrollInstructions specification is intended to be useful in a wide variety of contexts and business process scenarios. The PayrollInstruction specification does not prescribe or require a particular model for payroll or benefits administration. However, sections below describe some of the typical business process scenarios in which the PayrollInstructions specification is useful.

The PayrollInstructions specification is intended to support pre-payroll instructions. Note that the transmission post-payroll contributions data might be accomplished using the HR-XML Consortium’s PayrollBenefitContributions schema.

2.1 Business Process Roles

Below are brief descriptions of some of the roles played by entities involved in the exchange of PayrollInstructions:

Employee/Payee. The need for a PayrollInstruction would typically result from an election or enrollment action taken by an employee/payee or from a business or life event relating to an employee/payee.

Employer. An employer sponsors the payroll and benefit programs to which the PayrollInstruction pertains. An employer’s HR or payroll department typically would

PayrollInstructions.doc - 7 -

review changes and enrollment requests before authorizing a PayrollInstruction or they may otherwise establish or agree to the criteria for conducting such review.

Third-Party Administrator. A third-party administrator serves as recordkeeper for a benefits program, administers new enrollments and changes in plan elections, and assumes many legal compliance duties on behalf of an employer. The administrator also may provide on-line facilities for employees/participants to use in making elections, enrollments, and in gaining information with respect to their benefit programs.

Benefit Provider. The benefits provider is an insurer or other organization that underwrites or otherwise directly provides benefits. In some cases, benefit provider and third-party administrator roles could be played by the same organization.

Payroll Processor. This role is frequently assumed by a third-party payroll service, but could be handled internally by an employer’s payroll or HR department.

2.2 Business Process Scenarios

The following sections show the use of the PayrollInstructions schema within two scenarios:

2.2.1 Scenario 1

An employee makes a benefit election or an enrollment that will change a deduction or benefit amount in his or her paycheck.

The employer approves these changes sends the changes to the third-party benefit administrator (TPA).

The TPA receives the change request, processes changes, and sends back a report about whether and which changes / additions were successful

The employer sends the confirmed change request information to the payroll processor.

The payroll processor receives the change request and processes the payroll.

After processing the payroll, the payroll processor sends an HR-XML PayrollBenefitsContribution report to the TPA and/or the employer.

PayrollInstructions.doc - 8 -

PayrollInstruction: Scenario 1

Employer Payroll Processor Third-Party AdministratorEmployee/Payee

Em ployee m akesbenefit change or enrollm ent

processes change

Records Results/Com m unicates to PP

Evaluates/Confirm sRequest PayrollInstruction

Payroll InstructionProcesses Payroll with updated

contribution

Post-Payroll Benefit ContributionsIncluding Changes to Elections

PayrollBenefitContributionsReceive Payroll Benefit

Contributions

Pre-

Payr

oll

Post

-Pay

roll

Post Inform ation ToRecordkeeping/O nline

System s

PayrollInstruction

2.2.2 Scenario 2

The second scenario is similar to the first. However, in this scenario, the employee directly logs into to a site hosted by the third-party administrator to request the election or enrollment change.

PayrollInstructions.doc - 9 -

PayrollInstruction: Scenario 2

Employer Payroll Processor Third-Party AdministratorEmployee/Payee

Em ployee logs-in to TPAHost Site to M ake benefit change

or enrollm ent

processes changes/handlesexceptions

Evaluates/Com m unicates to PP

Payroll InstructionProcesses Payroll with updated

contribution

Post-Payroll Benefit ContributionsIncluding Changes to Elections

PayrollBenefitContributionsReceive Payroll Benefit

Contributions

Pre-

Payr

oll

Post

-Pay

roll

Post Inform ation ToRecordkeeping/O nline

System s

AccessTo W ebApp

Payroll Instruction

2.3 Batch Processing

Pre-payroll instructions for deductions and benefits typically are transmitted in a batch mode. HR-XML’s PayrollInstructions specification was designed to support batch transmission of instructions. The schema also might be useful in supporting near-real time submission of individual instructions if required.

The mode attribute of the Instruction element can be used to distinquish the reason an individual instruction was included within the payload.

Possible values for mode are enumerated within the schema. The enumerations chosen for the mode attribute are consistent with similar values used within the HR-XML Consortium’s Benefits Enrollment specification.

Enumerated values for mode are: Add; Audit; Change; Correction; Delete; Suspend; and Terminate. For example, Add may be used for new instructions. Change, Correction, Suspend, Delete, and Terminate would relate to different types of changes made on existing Instructions. As the name suggests, Correction is a change instruction to rectify prior errors. Delete might entail complete removal of the instruction from the system of the trading partners, whereas a suspend instruction might indicate merely to “de-activate” the instruction temporarily or indefinitely. “Audit” is intended to support periodic comparisons of data between sending and receiving systems (To accomplish such a comparison, a conforming XML document should include all available Instruction data (marked with a mode value of Audit) as of an agreed-upon effective date).

PayrollInstructions.doc - 10 -

Note that the enumerated values for mode are merely possible values. Additional values are allowed if they are prefixed with an “x:” As explained in Section 1.3.1, Items Outside of Design Scope, the specification provides a basic structure to support batch processing, but it does not yet specify detailed processing rules. Trading parters need to decide on the set of values appropriate for supporting the transactions between them and will need to decide the meaning of those values within the context of their business relationship.

2.4 Calculation Methods

In most cases, a payroll instruction will include a fixed amount for the deduction or adjustment. However, in some cases, it might be desirable to transmit a formula to calculate the amount or to transmit information sufficient to retrieve the amount from a schedule or lookup table stored on the receiving system.

HR-XML’s PayrollInstruction schema supports fixed amounts, but it also provides several different methods for transmitting information for calculated amounts. These methods are identified and illustrated below:

2.4.1 Fixed

The “Fixed” method is used for a non-calculated, known amount. For example, you may know that a health deduction amount is a fixed $24.32 per pay run. <Fixed> <Value>24.32</Value> </Fixed>

2.4.2 Percent

This method is used to transmit a calculated percentage amount. For example, you may know that a retirement contribution is 5.5 percent of $6,800. <Percent> <Basis> <BasisValue>6800.00</BasisValue> </Basis> <Percentage>5.5</Percentage> </Percent> Alternatively, the amount value could be a percentage of an amount that would not be known until later during the pay run. For example, a deduction might be equal to 5.5 percent of the employee's gross pay. <Percent> <Basis> <BasisVariableName>GrossPay</BasisVariableName > </Basis> <Percentage>5.5</Percentage> </Percent>

PayrollInstructions.doc - 11 -

Linear Using this method, the amount value is calculated from a simple linear model. For example: y = -19.25 + 0.035 * DisposableIncome + Number of North Carolina State Income Tax Exemptions + .0001 * 16 Any linear model, with as many terms as needed, could be used. <Linear> <YIntercept>-19.25</YIntercept> <Argument index="1"> <ArgumentVariableName multiplier="0.035">DisposableIncome</ArgumentVariableName> </Argument> <Argument index="3"> <ArgumentValue multiplier="0.0001">16</ArgumentValue> </Argument> <Argument index="2"> <ArgumentVariableName>NumNCSITExemptions</ArgumentVariableName> </Argument> </Linear>

2.4.3 Lookup

In this example, the calculated value is determined from a lookup table, which is specified. For example, worker's compensation (WC) rates are based upon the worker's compensation code or classification for the work being performed. One would associate the pay type with a WC code so that the dollar amount for the associated WC premium could be determined. <Lookup> <LookupTable> <LookupTableName>North Carolina Worker's Compensation for Pheonix Fund and Company ABC (this is table with id 37)</LookupTableName> <LookupTableEntry> <Key>8018</Key> <Value>0.21</Value> </LookupTableEntry> <LookupTableEntry> <Key>8088</Key> <Value>0.52</Value> </LookupTableEntry> <LookupTableEntry> <Key>5213</Key> <Value>5.49</Value> </LookupTableEntry> </LookupTable> <LookupKey>5213</LookupKey> </Lookup> The following is another example of the lookup method where the table is specified via an Id with complex primary key. In this example, the calculated value is determined from a lookup table, which is referred to by Id. WC table change yearly, so it is best to keep the WC lookup table in a database and then just refer to it, as opposed to sending it along with each request. <Lookup> <LookupTableId idOwner="EPS" validFrom="2002-04-01" validTo="2003-03-31"> <IdValue name="TBL_WC_RATES.ER_ID">ABC</IdValue> <IdValue name="TBL_WC_RATES.TABLE_ID">37</IdValue> </LookupTableId> <LookupKey>5213</LookupKey> </Lookup>

PayrollInstructions.doc - 12 -

2.4.4 Schedule

In this example, the amount is calculated from a schedule. A basis amount determines the tier or level to apply a formula or amount. The basis amount in this case is 1329.82, so we would apply the second tier formulation. (-infinity,1500) = 25 (1500,3000) = GrossPay * 14.25% (3000,infinity) = Apply a predefined lookup table using the HoursWorked as the key to determine the value.

<Schedule> <ScheduleTable> <ScheduleTableName>Schedule Lookup for Company ABC</ScheduleTableName> <ScheduleTableEntry> <IntervalLow>NegativeInfinity</IntervalLow> <IntervalHigh>1500.00</IntervalHigh> <Fixed> <Value>25.00</Value> </Fixed> </ScheduleTableEntry> <ScheduleTableEntry> <IntervalLow>1500.00</IntervalLow> <IntervalHigh>3000.00</IntervalHigh> <Percent> <Basis> <BasisVariableName>GrossPay</BasisVariableName> </Basis> <Percentage>14.25</Percentage> </Percent> </ScheduleTableEntry> <ScheduleTableEntry> <IntervalLow>3000.00</IntervalLow> <IntervalHigh>PositiveInfinity</IntervalHigh> <Lookup> <LookupTableId idOwner="EPS" validFrom="2002-04-01" validTo="2003-03-31"> <IdValue name="TBL_WC_RATES.ER_ID">ABC</IdValue> <IdValue name="TBL_WC_RATES.TABLE_ID">721</IdValue> </LookupTableId> <LookupKey>HoursWorked</LookupKey> </Lookup> </ScheduleTableEntry> </ScheduleTable> <ScheduleValue>1329.82</ScheduleValue> </Schedule>

In this second example, the schedule is assumed to be stored in a database table and is specified using an Id. <Schedule> <ScheduleTableId idOwner="EPS" validFrom="2002-01-01" validTo="2002-12-31"> <IdValue name="TBL_TAX_SCHEDULES.ER_ID">ABC</IdValue> <IdValue name="TBL_TAX_SCHEDULES.TABLE_ID">987</IdValue> </ScheduleTableId> <ScheduleValue>132.98</ScheduleValue> </Schedule>

PayrollInstructions.doc - 13 -

2.4.5 Extended

In this example, the calculated amount is a trading partner specific formula that has 4 arguments y = f(x1,x2,x3,x4) with named arguments: Disposable Income Number Of NC State Income Tax Exemptions Variable3 Number Of Federal Income Tax Exemptions <Extended> <Function>MyTradingPartnerAgreedFunction</Function> <Argument index="1"> <ArgumentVariableName name="Disposable Income">DisposableIncome</ArgumentVariableName> </Argument> <Argument index="2"> <ArgumentVariableName name="Number Of NC State Income Tax Exemptions">NumNCSITExemptions</ArgumentVariableName> </Argument> <Argument index="3"> <ArgumentValue name="Variable3">160</ArgumentValue> </Argument> <Argument index="4"> <ArgumentVariableName name="Number Of Federal Income Tax Exemptions">NumFedExemptions</ArgumentVariableName> </Argument> </Extended>

3 Schema Design

The principal design requirement was the development of a schema that was sufficiently comprehensive and flexible to handle a wide range of pre-payroll instructions.

3.1.1 Schema Dependencies

The PayrollInstructions schema includes a number of component schemas. The dependencies among these schemas is presented in the table below:

Schema Description Component Schemas

PayrollInstructions.xsd The principal PayrollInstructions schema.

/CPO/PersonName.xsd /CPO/EntityIdType.xsd /CPO/UserArea.xsd /CPO/ISOUtilities.xsd /CPO/xStringPatternExtensionType.xsd /Payroll/BenefitDeductionCategoryType.xsd /Payroll/Frequencies.xsd /Payroll/TransactionCodes.xsd /Payroll/CalculatedValues.xsd

BenefitDeductionCategoryType.xsd Defines a simple type, BenefitDeductionCategoryType, which is the union of a type defining country-specific enumerations and the type implementing HR-XML Consortium’s “pattern enumeration extension” convention.

/CPO/xStringPatternExtensionType.xsd /Payroll/USBenefitDeductionCategoryType.xsd

PayrollInstructions.doc - 14 -

Frequencies.xsd Contains an enumeration of frequencies (for example, “Hourly”, “Daily”, “Weekly”, etc.) unioned with the type implementing HR-XML Consortium’s “pattern enumeration extension” convention.

/CPO/xStringPatternExtensionType.xsd

TransactionCodes.xsd Contains an enumeration of “transaction codes” – Add, Audit, Change, Correction, Delete, Suspend, Terminate. These are based on those used in the HR-XML Consortium’s Enrollment specification. This set of enumerations is unioned with the type implementing HR-XML Consortium’s “pattern enumeration extension” convention.

/CPO/xStringPatternExtensionType.xsd

CalculatedValues.xsd Defines six methods for calculating: Fixed, Percent, Linear, Lookup, Schedule, and Extended. See Section 2.4, Calculation Methods.

/CPO/EntityIdType.xsd /CPO/xStringPatternExtensionType.xsd

Some of the component schemas listed in the third column were not defined as part of the PayrollInstructions specification, but were defined by the HR-XML Consortium’s Cross Process Objects (CPO) and other workgroups. For further information, see Section 6, Appendix B – Related Documents.

3.1.2 PayrollInstructions

Component Name

[Global types listed at the end of the table.]

ContentModel* Data type Occurrence:

Sequence | Choice | All (minOccurs/maxOccurs) Attributes

Definition

/ PayrollInstructions

PayrollEmployer - [complexType] - S (1/1) PersonInstruction - [complexType] - S (1/*) RequestTotal - [complexType] - S (0/*) UserArea - [see include/import] - S (0/1)

PayrollInstruction includes one or more payroll change instruction per employee, for one or more employees of a single employer.

PayrollInstructions.doc - 15 -

version - xsd:string - currency - CurrencyCodeType -

Version 1.0 of the schema will support only pre-payroll deduction and benefit instructions. Later versions may support a broader range of pre-payroll instructions.

/ PayrollInstructions/ PayrollEmployer

EmployerId - EntityIdType - S (1/*) EmployerName - xsd:string - S (0/1) EmployerGovernmentId - EntityIdType - S (0/*)

Contains information identifying the employer to which the payroll pertains. At a minimum, this component contains an EmployerId.

/ PayrollInstructions/ PayrollEmployer/ EmployerId

- EntityIdType - S (1/*) An EmployerId. This would be an identifier relevant to the system processing the payroll.

/ PayrollInstructions/ PayrollEmployer/ EmployerName

- xsd:string - S (0/1) The name of the employer.

/ PayrollInstructions/ PayrollEmployer/ EmployerGovernmentId

- EntityIdType - S (0/*) A government-issued identifier relevant or required for payroll processings. For example, within the United States an EmployerGovernmentId usually would be a Federal Employer Indentification Number.

3.1.3 PersonInstruction

/ PayrollInstructions/ PersonInstruction

PayrollPerson - [complexType] - S (1/1) Instruction - [complexType] - S (1/*) UserArea - [see include/import] - S (0/1)

This a payroll change instruction for a single payee. Multiple PersonInstructions can be batched within PayrollInstructions.

/ PayrollInstructions/ version

- xsd:string - Identifies the version of the schema.

/ PayrollInstructions/ currency

- CurrencyCodeType - A three letter code identifying a currency. The code must conform to ISO 4217, Representation of Currency and Funds. Note that implementers also can specify

PayrollInstructions.doc - 16 -

currency

3.1.4 PayrollPerson

/ PayrollInstructions/ PersonInstruction/ PayrollPerson

PersonId - EntityIdType - S (1/*) PersonName - PersonNameType - S (0/*) PersonGovernmentId - EntityIdType - S (0/*)

Information pertaining to the payee.

/ PayrollInstructions/ PersonInstruction/ PayrollPerson/ PersonId

- EntityIdType - S (1/*) An identifier for a payee included within a payroll.

/ PayrollInstructions/ PersonInstruction/ PayrollPerson/ PersonName

- PersonNameType - S (0/*) The name of the payee.

/ PayrollInstructions/ PersonInstruction/ PayrollPerson/ PersonGovernmentId

- EntityIdType - S (0/*) A government identifier for a payee that is required or otherwise appropriate for payroll processing. For instance, in the United States, a Social Security Number would be a PersonGovernmentId.

3.1.5 Instruction

/ PayrollInstructions/ PersonInstruction/ Instruction

PaymentDate - LocalDateType - S (0/1) Deduction - DeductionType - C (1/1) Benefit - BenefitType - C (1/1) Amount - PayrollAmountType - S (0/1)

[ i l d /i ] S (0/ )

A single payroll instruction for a payee. Note that multiple instructions are permitted per payee.

PayrollInstructions.doc - 17 -

UserArea - [see include/import] - S (0/1) mode - TransactionCodeType - required

/ PayrollInstructions/ PersonInstruction/ Instruction/ mode

- TransactionCodeType - The mode attribute of the Instruction element can be used to distinquish the reason an individual instruction was included within the payload. Possible values for mode are enumerated within the schema. Enumerated values are: Add; Audit; Change; Correction; Delete; Suspend; and Terminate. Additional values are allowed if they are prefixed with an "x:" For further information, see Section 2.3, Batch Processing.

/ PayrollInstructions/ PersonInstruction/ Instruction/ PaymentDate

- LocalDateType - S (0/1) The date of a payroll draft or payment.

3.1.6 Deduction

PayrollInstructions.doc - 18 -

Component Name

[Global types listed at the end of the table.]

ContentModel* Data type Occurrence:

Sequence | Choice | All (minOccurs/maxOccurs) Attributes

Definition

/ Deduction

- DeductionType - C (1/1) Contains information for an instruction related to a deduction. See 1.4, Terminology: “Deduction” and “Benefit”.

/ Deduction/ ApplyToCompensation

- ApplyToCompensationType - S (0/*) Indicates the compensation components to which a payroll instruction applies. Built-in values are: Base; Bonus; Commission; and Overtime. Additional values are permitted if prefixed with an "x:".

/ Deduction/ DeductionPlan

- DeductionPlanType - S (1/1) Contains a collection of information identifying the benefit plan or program to which the deduction pertains.

/ Deduction/ DeductionPlan/ DeductionCategory

- BenefitDeductionCategoryType - S (1/1) Identifies the type of plan or program to which the deduction pertains. The USBenefitDeductionCategoryType contains enumerations for the United States. The schema design contemplates enumeration sets for additional countries being added. Additional enumeration values are allowed if pre-fixed with "x:".

/ Deduction/ DeductionPlan/ DeductionPlanName

- xsd:string - S (0/1) The name of the plan or program to which the deduction pertains.

/ Deduction/ DeductionPlan/ DeductionPlanId

- EntityIdType - S (0/1) An identifier for the plan or program to which the deduction pertains. DeductionPlanId is of the type EntityIdentifierType.

/ Deduction/ DeductionStartDate

- LocalDateType - S (1/1) The date the deduction should begin.

/ Deduction/ DeductionOrder

- xsd:integer - S (0/1) Contains a number indicating the order in which the deduction should be applied.

/ Deduction/ DeductionEndDate

- LocalDateType - S (0/1) Date deduction ends. It is assumed that DeductionEndDate is inclusive.

/ Deduction/ DeductionFrequency

- FrequencyType - S (0/1) The deduction frequency is for reoccurring deductions. This uses FrequencyType. Enumerations

PayrollInstructions.doc - 19 -

include: Daily, Weekly, Bi-weekly, Semi-monthly, Quarterly, Semi-annually, Annually, Month-Week-1, Month-Week-2, Month-Week-3, Month-Week-4, Month-Week-5, Month-Week-Last.

/ Deduction/ DeductionCaseNumber

- EntityIdType - S (0/1) DeductionCaseNumber is a reference number to tie the instruction to background information or other substantiating data.

/ Deduction/ DeductionOptionalDate

- PayrollDateType - S (0/*) DeductionOptionalDate allows the specification of dates that may be relevant or required by a receiving payroll system. A type attribute allows the following enumerations: WaitingPeriodStart, WaitingPeriodEnd, Eligibility, and Enrollment. Additional values are allowed, but must be prefixed with an "x:"

/ Deduction/ DeductionPreTaxFlag

- xsd:boolean - S (0/1) This indicates whether the deduction should be handled before applicable taxes are deducted. This is a boolean value - true or false.

3.1.6.1 DeductionType

/ [DeductionType]

ApplyToCompensation - ApplyToCompensationType - S (0/*) DeductionPlan - DeductionPlanType - S (1/1) DeductionStartDate - LocalDateType - S (1/1) DeductionOrder - xsd:integer - S (0/1) DeductionEndDate - LocalDateType - S (0/1) DeductionFrequency - FrequencyType - S (0/1) DeductionCaseNumber - EntityIdType - S (0/1) DeductionOptionalDate - PayrollDateType - S (0/*) DeductionPreTaxFlag - xsd:boolean - S (0/1) reportOnly - xsd:boolean -

Globally scoped data type. See element or attribute declaration for definition.

/ [DeductionType]/ ApplyToCompensation

- ApplyToCompensationType - S (0/*) Indicates the compensation components to which a payroll instruction applies. Built-in values are: Base; Bonus; Commission; and Overtime. Additional values are permitted if prefixed with an "x:". applyToCompensation accomodates the listing of multiple values. For

PayrollInstructions.doc - 20 -

example, the sender could specify that an instruction applies to "Base Overtime x:ThirdShiftPremium".

/ [DeductionType]/ DeductionPlan

- DeductionPlanType - S (1/1) Contains a collection of information identifying the benefit plan or program to which the deduction pertains.

/ [DeductionType]/ DeductionPlan/ DeductionCategory

- BenefitDeductionCategoryType - S (1/1) Identifies the type of plan or program to which the deduction pertains. The USBenefitDeductionCategoryType contains enumerations for the United States. The schema design contemplates enumeration sets for additional countries being added. Additional enumeration values are allowed if pre-fixed with "x:".

/ [DeductionType]/ DeductionPlan/ DeductionPlanName

- xsd:string - S (0/1) The name of the plan or program to which the deduction pertains.

/ [DeductionType]/ DeductionPlan/ DeductionPlanId

- EntityIdType - S (0/1) An identifier for the plan or program to which the deduction pertains. DeductionPlanId is of the type EntityIdentifierType.

/ [DeductionType]/ DeductionStartDate

- LocalDateType - S (1/1) The date the deduction should begin.

/ [DeductionType]/ DeductionOrder

- xsd:integer - S (0/1) Contains a number indicating the order in which the deduction should be applied.

/ [DeductionType]/ DeductionEndDate

- LocalDateType - S (0/1) Date deduction ends. It is assumed that DeductionEndDate is inclusive.

/ [DeductionType]/ DeductionFrequency

- FrequencyType - S (0/1) The deduction frequency for reoccurring deductions. This is a type of FrequencyType. Enumerations include: Daily, Weekly, Bi-weekly, Semi-monthly, Quarterly, Semi-annually, Annually, Month-Week-1, Month-Week-2, Month-Week-3, Month-Week-4, Month-Week-5, Month-Week-Last.

/ [DeductionType]/ DeductionCaseNumber

- EntityIdType - S (0/1) DeductionCaseNumber is a reference number to tie the instruction to background information or other substantiating data.

/ [DeductionType]/ DeductionOptionalDate

- PayrollDateType - S (0/*) DeductionOptionalDate allows the specification of dates that may be relevant or required by a receiving payroll system. A type attribute allows

PayrollInstructions.doc - 21 -

the following enumerations: WaitingPeriodStart, WaitingPeriodEnd, Eligibility, and Enrollment. Additional values are allowed, but must be prefixed with an "x:"

/ [DeductionType]/ DeductionPreTaxFlag

- xsd:boolean - S (0/1) This indicates whether the deduction should be handled before applicable taxes are deducted. This is a boolean value - true or false.

/ [DeductionType] / reportOnly

- xsd:boolean - This is a boolean flag to indicate whether an instruction is for reporting purposes only. For example, an employer may want to pass through an amount to its payroll processor that will appear on an employee's pay stub or wage statement, but require no actual payment or calculation by the payroll processor. The default value is "false".

/ [DeductionPlanType]

DeductionCategory - BenefitDeductionCategoryType - S (1/1) DeductionPlanName - xsd:string - S (0/1) DeductionPlanId - EntityIdType - S (0/1)

Globally scoped data type. See element or attribute declaration for definition.

/ [DeductionPlanType]/ DeductionCategory

- BenefitDeductionCategoryType - S (1/1) Identifies the type of plan or program to which the deduction pertains. The USBenefitDeductionCategoryType contains enumerations for the United States. The schema design contemplates enumeration sets for additional countries being added. Additional enumeration values are allowed if pre-fixed with "x:".

/ [DeductionPlanType]/ DeductionPlanName

- xsd:string - S (0/1) The name of the plan or program to which the deduction pertains.

/ [DeductionPlanType]/ DeductionPlanId

- EntityIdType - S (0/1) An identifier for the plan or program to which the deduction pertains. DeductionPlanId is of the type EntityIdentifierType.

PayrollInstructions.doc - 22 -

3.1.7 Benefit

/ Benefit

- BenefitType - C (1/1) Contains information for an instruction related to a benefit or credit.

/ Benefit/ ApplyToCompensation

- ApplyToCompensationType - S (0/*) Indicates the compensation components to which a payroll instruction applies. Built-in values are: Base; Bonus; Commission; and Overtime. Additional values are permitted if prefixed with an "x:".

/ Benefit/ BenefitPlan

- BenefitPlanType - S (1/1) Contains information identifying the benefit plan or program to which the credit or benefit instruction pertains.

/ Benefit/ BenefitPlan/ BenefitCategory

- BenefitDeductionCategoryType - S (1/1) Identifies the type of plan or program to which the benefit or credit pertains. The USBenefitDeductionCategoryType contains enumerations for the United States. The schema design contemplates enumeration sets for additional countries being added. Additional enumeration values are allowed if pre-fixed with "x:".

/ Benefit/ BenefitPlan/ BenefitPlanName

- xsd:string - S (0/1) The name of the plan or program to which the deduction pertains.

/ Benefit/ BenefitPlan/ BenefitPlanId

- EntityIdType - S (0/1) An identifier for the plan or program to which the benefit or credit pertains. BenefitPlanId is of the type EntityIdentifierType.

/ Benefit/ BenefitStartDate

- LocalDateType - S (1/1) Date benefit or credit starts.

/ Benefit/ BenefitEndDate

- LocalDateType - S (0/1) Date benefit or credit ends. It is assumed that BenefitEndDate is incl si e

PayrollInstructions.doc - 23 -

BenefitEndDate that BenefitEndDate is inclusive.

/ Benefit/ BenefitFrequency

- FrequencyType - S (0/*) With respect to a reoccuring benefit, the frequency with which the benefit or credit is applied.

/ Benefit/ BenefitCaseNumber

- xsd:string - S (0/1) BenefitCaseNumber is a reference number to tie the instruction to background information or other substantiating data.

/ Benefit/ BenefitOptionalDate

- PayrollDateType - S (0/*) BenefitOptionalDate allows the specification of dates that may be relevant or required by a receiving payroll system. A type attribute allows the following enumerations: WaitingPeriodStart, WaitingPeriodEnd, Eligibility, and Enrollment. Additional values are allowed, but must be prefixed with a "x:"

3.1.7.1 BenefitType

/ [BenefitType]

ApplyToCompensation - ApplyToCompensationType - S (0/*) BenefitPlan - BenefitPlanType - S (1/1) BenefitStartDate - LocalDateType - S (1/1) BenefitEndDate - LocalDateType - S (0/1) BenefitFrequency - FrequencyType - S (0/*) BenefitCaseNumber - xsd:string - S (0/1) BenefitOptionalDate - PayrollDateType - S (0/*) benefitTaxTreatment - BenefitTaxTreatmentType - reportOnly - xsd:boolean -

Contains information for an instruction related to a benefit or credit.

/ [BenefitType]/ ApplyToCompensation

- ApplyToCompensationType - S (0/*) Indicates the compensation components to which a payroll instruction applies. Built-in values are: Base; Bonus; Commission; and Overtime. Additional values are permitted if prefixed with an "x:".

/ [BenefitType]/ BenefitPlan

- BenefitPlanType - S (1/1) Contains information identifying the benefit plan or program to which the credit or benefit instruction pertains.

/ [BenefitType]/ BenefitPlan/ BenefitCategory

- BenefitDeductionCategoryType - S (1/1) Identifies the type of plan or program to which the benefit or credit pertains. The USBenefitDeductionCategoryType contains enumerations for the United States. The schema design contemplates enumeration sets for additional countries being added. Additional enumeration values are allowed if pre-fixed with "x:".

/ [BenefitType]/ BenefitPlan/

- xsd:string - S (0/1) The name of the plan or program to which the deduction pertains.

PayrollInstructions.doc - 24 -

BenefitPlanName which the deduction pertains.

/ [BenefitType]/ BenefitPlan/ BenefitPlanId

- EntityIdType - S (0/1) An identifier for the plan or program to which the benefit or credit pertains. BenefitPlanId is of the type EntityIdentifierType.

/ [BenefitType]/ BenefitStartDate

- LocalDateType - S (1/1) Date benefit or credit starts.

/ [BenefitType]/ BenefitEndDate

- LocalDateType - S (0/1) Date benefit or credit ends. It is assumed that BenefitEndDate is inclusive.

/ [BenefitType]/ BenefitFrequency

- FrequencyType - S (0/*) With respect to a reoccuring benefit, the frequency with which the benefit or credit is applied.

/ [BenefitType]/ BenefitCaseNumber

- xsd:string - S (0/1) BenefitCaseNumber is a reference number to tie the instruction to background information or other substantiating data.

/ [BenefitType]/ BenefitOptionalDate

- PayrollDateType - S (0/*) BenefitOptionalDate allows the specification of dates that may be relevant or required by a receiving payroll system. A type attribute allows the following enumerations: WaitingPeriodStart, WaitingPeriodEnd, Eligibility, and Enrollment. Additional values are allowed, but must be prefixed with a "x:"

/ [BenefitType] / benefitTaxTreatment

- BenefitTaxTreatmentType - Indicates the tax treatment of an employee benefit. Enumerated values are PreTax, PostTax, PreAndPostTax, and PostAfterPreTaxLimit. "PostAfterPreTaxLimit" indicates that the benefit is to be treated post-tax after the relevant pre-tax is reached. Additional values are permitted if prefixed with "x:".

/ [BenefitType] / reportOnly

- xsd:boolean - This is a boolean flag to indicate whether an instruction is for reporting purposes only. For example, an employer may want to pass through an amount to its payroll processor that will appear on an employee's pay stub or wage statement, but require no actual payment or calculation by the payroll processor. The default value is "false".

/ [BenefitPlanType]

BenefitCategory - BenefitDeductionCategoryType - S (1/1) BenefitPlanName - xsd:string - S (0/1)

Globally scoped data type. See element or attribute declaration for definition.

PayrollInstructions.doc - 25 -

BenefitPlanId - EntityIdType - S (0/1) definition.

/ [BenefitPlanType]/ BenefitCategory

- BenefitDeductionCategoryType - S (1/1) Identifies the type of plan or program to which the benefit or credit pertains. The USBenefitDeductionCategoryType contains enumerations for the United States. The schema design contemplates enumeration sets for additional countries being added. Additional enumeration values are allowed if pre-fixed with "x:".

/ [BenefitPlanType]/ BenefitPlanName

- xsd:string - S (0/1) The name of the plan or program to which the deduction pertains.

/ [BenefitPlanType]/ BenefitPlanId

- EntityIdType - S (0/1) An identifier for the plan or program to which the benefit or credit pertains. BenefitPlanId is of the type EntityIdentifierType.

3.1.8 Amount

/ PayrollInstructions/ PersonInstruction/ Instruction/ Amount

- PayrollAmountType - S (0/1) Information necessary for determining the amount of the deduction or benefit. The currency attribute should be used for amounts when there is the possibility of instructions within the same batch using different currencies. If instructions transmitted using only one currency, use the currency attribute on PayrollInstructions to indicate the currency for the entire batch. The count can be used to give an accumulated count

/ PayrollInstructions/ PersonInstruction/ Instruction/ Amount/ AmountStartDate

- LocalDateType - S (1/1) Start date relevant for calculation of deduction or benefit amount.

PayrollInstructions.doc - 26 -

/ PayrollInstructions/ PersonInstruction/ Instruction/ Amount/ AmountEndDate

- LocalDateType - S (0/1) End date relevant for calculation of deduction or benefit amount.

/ PayrollInstructions/ PersonInstruction/ Instruction/ Amount/ AmountLimit

- PayrollLimitType - S (0/*) Limits applicable to the instruction amount.

/ PayrollInstructions/ PersonInstruction/ Instruction/ Amount/ AmountLimit/ LimitMaxValue

- xsd:decimal - S (1/1) Maximum value limit for deduction or benefit.

/ PayrollInstructions/ PersonInstruction/ Instruction/ Amount/ AmountLimit/ LimitMinValue

- xsd:decimal - S (1/1) A minimum value limit for deduction or benefit.

3.1.9 AmountValue

/ PayrollInstructions/ PersonInstruction/ Instruction/ Amount/ AmountValue

- CalculatedValueType - S (1/1) Contains information necessary to calculate the amount of the deduction or benefit. Six methods for calculating values are provided: Fixed, Percent, Linear, Lookup, Schedule, and Extended.

The following sections provide details for each calculation method. For examples, of each method, see Section 2.4, Calculation Methods.

3.1.9.1 CalculatedValueType/Fixed

PayrollInstructions.doc - 27 -

/ CalculatedValue/ Fixed

- CalculatedValueFixedType - C (1/1) The amount of the deduction or benefit. The exact amount is specified so there is no calculation required.

/ CalculatedValue/ Fixed/ Value

- xsd:decimal - S (0/1) A decimal value.

3.1.9.2 CalculatedValueType/Percent

/ CalculatedValue/ Percent

- CalculatedValuePercentType - C (1/1) Contains information necessary to calculate percentage.

/ CalculatedValue/ Percent/ Basis

- BasisType - S (1/1) Basis information for percentage calculation.

/ CalculatedValue/ Percent/ Basis/ BasisValue

- ArgumentValueType - C (1/1) An amount upon which a percentage is applied.

/ CalculatedValue/ Percent/ Basis/ BasisVariableName

- ArgumentVariableType - C (1/1) A variable upon which a percentage is applied. For instance, an amount might be calculated as a percentage of "BasePay".

/ CalculatedValue/ Percent/ Percentage

- CalculatedPercentType - S (1/1) A percentage. For example, "3.5" percent.

3.1.9.3 CalculatedValueType/Linear

/ CalculatedValue/ Linear

- CalculatedValueLinearType - C (1/1) Linear function calculation.

PayrollInstructions.doc - 28 -

/ CalculatedValue/ Linear/ YIntercept

- xsd:decimal - S (0/1) The y-intercept of a linear function.

/ CalculatedValue/ Linear/ Argument

- ArgumentType - S (1/*) An argument for linear function.

3.1.9.4 CalculatedValueType/Lookup

/ CalculatedValue/ Lookup

- CalculatedValueLookupType - C (1/1)

Contains information necessary to calculate amount from a lookup table.

/ CalculatedValue/ Lookup/ LookupTableId

- EntityIdType - C (0/1) An identifier for the lookup table.

/ CalculatedValue/ Lookup/ LookupTable

- CalculatedLookupTableType - C (0/1)

Information about a table used to lookup an amount.

/ CalculatedValue/ Lookup/ LookupTable/ LookupTableId

- EntityIdType - S (0/1) An identifier for the lookup table.

/ CalculatedValue/ Lookup/ LookupTable/ LookupTableName

- xsd:string - S (0/1) A name for the lookup table.

/ CalculatedValue/ Lookup/ LookupTable/ LookupTableEntry

- CalculatedLookupTableEntryType - S (1/*)

Information to lookup an amount from a table.

/ CalculatedValue/ Lookup/ LookupTable/ LookupTableEntry/ Key

- xsd:string - S (1/1) Key for table entry lookup.

/ CalculatedValue/ Lookup/ LookupTable/ LookupTableEntry/ Value

- ArgumentValueType - S (1/1) A decimal value.

PayrollInstructions.doc - 29 -

/ CalculatedValue/ Lookup/ LookupKey

- xsd:string - S (1/1) Key value for table lookup.

3.1.9.5 CalculatedValueType/Schedule

/ CalculatedValue/ Schedule

- CalculatedValueScheduleType - C (1/1)

Contains information required to calculate an amount from a schedule table.

/ CalculatedValue/ Schedule/ ScheduleTableId

- EntityIdType - C (0/1) Indentifier for table for a schedule calculation.

/ CalculatedValue/ Schedule/ ScheduleTable

- CalculatedScheduleTableType - C (0/1)

A collection of information necessary to calculate an amount from a schedule.

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableId

- EntityIdType - S (0/1) Indentifier for table for schedule calculation.

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableName

- xsd:string - S (0/1) Name of table for schedule calculation.

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableEntry

- CalculatedScheduleTableEntryType - S (1/*)

Schedule entry.

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableEntry/ IntervalLow

- CalculatedScheduleIntervalValueType - S (0/1)

Low interval for schedule lookup.

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableEntry/ IntervalHigh

- CalculatedScheduleIntervalValueType - S (0/1)

High interval for schedule lookup.

PayrollInstructions.doc - 30 -

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableEntry/ Fixed

- CalculatedValueFixedType - C (1/1) The amount of the deduction or benefit. The exact amount is specified so there is no calculation required.

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableEntry/ Percent

- CalculatedValuePercentType - C (1/1)

Contains information necessary to calculate percentage.

/ CalculatedValue/ Schedule/ ScheduleTable/ ScheduleTableEntry/ Linear

- CalculatedValueLinearType - C (1/1)

Linear equation.

/ CalculatedValue/ Schedule/ ScheduleValue

- CalculatedScheduleIntervalValueType - S (1/1)

A value from a schedule table.

3.1.9.6 CalculatedValueType/Extended

/ CalculatedValue/ Extended

- CalculatedValueExtendedType - C (1/1)

Function and argument for calculation.

/ CalculatedValue/ Extended/ Function

- xsd:string - S (1/1) An equation that takes one or more variables and returns a result.

/ CalculatedValue/ Extended/ Argument

- ArgumentType - S (0/*) An argument for linear function.

3.1.10 RequestTotal

/ PayrollInstructions/ RequestTotal

Deduction - DeductionType - S (0/1) Amount - PayrollAmountType - S (1/1)

Contains cumulative "control total" information for all instructions included in a single PayrollInstructions message.

PayrollInstructions.doc - 31 -

3.1.11 Other Global Complex Types

/ [PayrollAmountType]

AmountStartDate - LocalDateType - S (1/1) AmountEndDate - LocalDateType - S (0/1) AmountValue - CalculatedValueType - S (1/1) AmountLimit - PayrollLimitType - S (0/*) duration - PayrollAmountDurationType - count - xsd:integer - currency - CurrencyCodeType -

Globally scoped data type. See element or attribute declaration for definition.

/ [PayrollAmountType]/ AmountStartDate

- LocalDateType - S (1/1) Start date relevant for calculation of deduction or benefit amount.

/ [PayrollAmountType]/ AmountEndDate

- LocalDateType - S (0/1) End date relevant for calculation of deduction or benefit amount.

/ [PayrollAmountType]/ AmountValue

- CalculatedValueType - S (1/1) Contains information necessary to calculate the amount of the deduction or benefit. Six methods for calculating values are provided: Fixed, Percent, Linear, Lookup, Schedule, and Extended.

/ [PayrollAmountType]/ AmountLimit

- PayrollLimitType - S (0/*) Limits applicable to the instruction amount.

/ [PayrollAmountType]/ AmountLimit/ LimitMaxValue

- xsd:decimal - S (1/1) Maximum value limit for deduction or benefit.

/ [PayrollAmountType]/ AmountLimit/ LimitMinValue

- xsd:decimal - S (1/1) A minimum value limit for deduction or benefit.

/ [PayrollAmountType] / duration

- PayrollAmountDurationType - Attribute of amount. Allowed enumerations include Permanent and One-time.

/ [PayrollAmountType] / count

- xsd:integer - A control total.

/ [PayrollAmountType] / currency

- CurrencyCodeType - A three letter code identifying a currency. The code must conform to ISO 4217, Representation of Currency and Funds.

/ [PayrollLimitType]

LimitMaxValue - xsd:decimal - S (1/1) LimitMinValue - xsd:decimal - S (1/1) type - PayrollLimitTypes -

Globally scoped data type. See element or attribute declaration for definition.

/ [PayrollLimitType]/ LimitMaxValue

- xsd:decimal - S (1/1) Maximum value limit for deduction or benefit.

PayrollInstructions.doc - 32 -

/ [PayrollLimitType]/ LimitMinValue

- xsd:decimal - S (1/1) A minimum value limit for deduction or benefit.

/ [PayrollLimitType] / type

- PayrollLimitTypes - The type attribute of Amount specifies the calculation method. Allowed enumerations include: Fixed, Percent, Schedule, and Lookup.

/ [PayrollDateType]

xsd:extension base: LocalDateType type - PayrollOtherDateType -

Globally scoped data type. See element or attribute declaration for definition.

/ [PayrollDateType] / type

- PayrollOtherDateType - The type attribute of Amount specifies the calculation method. Allowed enumerations include: Fixed, Percent, Schedule, and Lookup.

* This column shows a simple form of the content model for readability. Because of complex structures such as groups and nested occurrences, all of the content may not be included here.

3.1.12 Global Simple Types

/ [InstructionType]

xsd:restriction base: xsd:string [Enumerations]: Deduction, Benefit

Enumerations to identify the type of payroll instruction.

/ [PayrollLimitTypes]

- [Union]: BasicPayrollLimitTypes,xStringPatternExtensionType

Qualifies the period to be considered in applying a limit. Possible values are enumerated in the schema. Additional values are permitted if pre-fixed with “x:”.

/ [BasicPayrollLimitTypes]

xsd:restriction base: xsd:string [Enumerations]: PerPayRun, PerMonth, PerQuarter, PerYear, PerLife

Enumerations that qualify the period considered in applying a limit. Possible enumerations specified in the schema are: PerPayRun, PerMonth, PerQuarter, PerYear, and PerLife (a lifetime limit).

/ [PayrollAmountDurationType]

- [Union]: PayrollBasicAmountDurationType,xStringPatternExtensionType

Enumerations to qualify the duration of an amount.

/ [PayrollBasicAmountDurationType]

xsd:restriction base: xsd:string [Enumerations]: Regular, One-time

Enumerations to distinquish “Regular” re-ocurring amounts versus those that should be considered once.

/ [PayrollOtherDateType]

- [Union]: PayrollBasicDateType,xStringPattenE tensionT pe

DeductionOptionalDate allows the specification of dates that may be ele ant o eq i ed b a ecei ing

PayrollInstructions.doc - 33 -

rnExtensionType relevant or required by a receiving payroll system. A type attribute allows the following enumerations: WaitingPeriodStart, WaitingPeriodEnd, Eligibility, and Enrollment. Additional values are allowed, but must be prefixed with a “x:”

/ [PayrollBasicDateType]

xsd:restriction base: xsd:string [Enumerations]: WaitingPeriodStart, WaitingPeriodEnd, Eligibility, Enrollment

Globally scoped data type. See element or attribute declaration for definition.

/ [BenefitTaxTreatmentType]

- [Union]: BenefitBasicTaxTreatmentType,xStringPatternExtensionType

Indicates amounts to consider in payroll calculations. Possible enumerations include: PreTax, PostTax, PreAndPostTax, PostAfterPreTaxLimit. Additional values are permitted if pre-fixed with “x:”.

/ [BenefitBasicTaxTreatmentType]

xsd:restriction base: xsd:string [Enumerations]: PreTax, PostTax, PreAndPostTax, PostAfterPreTaxLimit

Enumerations of tax treatment types. Enumerated values include: PreTax, PostTax, PreAndPostTax, PostAfterPreTaxLimit.

/ [ApplyToCompensationType]

- [Union]: ApplyToCompensationBasicType,xStringPatternExtensionType

The union of HR-XML’s string pattern extension with a list of base compensation types. The string pattern extension allows additional values to be specified if pre-fixed with “x:”

/ [ApplyToCompensationBasicType]

xsd:restriction base: xsd:string [Enumerations]: Base, Bonus, Commission, Overtime

Base compensation types enumerated in the schema: Base, Bonus, Commission, and Overtime. There are many more possible values. However, compensation components vary significantly depending on the employer, industry, employment and labor contracts, and pension and benefit plans.

PayrollInstructions.doc - 34 -

4 Implementation Considerations

4.1 Localization

The PayrollInstructions schema was developed so that it would be useful in many jurisdictions. However, using country-specific enumerations is desirable to accurately categorize the type of benefit or deduction to which a payroll instruction pertains. To accommodate country-specific enumerations, the main PayrollInstructions.xsd includes the module “BenefitDeductionCategoryType.xsd.” That module defines a simple type, BenefitDeductionCategoryType, which is the union of a type defining country-specific enumerations and the type implementing HR-XML Consortium’s “pattern enumeration extension” convention. Under the pattern extension convention, the extended enumeration values are prefixed with a “x:”.

Version 1.0 of PayrollInstructions includes a USBenefitDeductionCategoryType to specify enumerations appropriate within the United States. Future versions may build in other country-specific enumeration lists. To localize the Version 1.0 PayrollInstructions schema with enumerations appropriate for other countries, BenefitDeductionCategoryType.xsd should be modified to include a module with a type defining the enumerations appropriate for the particular country. In addition, BenefitDeductionCategoryType should be modified to substitute the particular country-specific type for USBenefitDeductionCategoryType or, if desired, to union the country-specific type with USBenefitDeductionCategoryType and the type for the pattern enumeration extension.

4.2 Data Privacy Human resources data, by its very nature, is personal data. The laws of many jurisdictions as well as codes of fair information practice require organizations to handle personal data in a way that protects individuals from loss of privacy. The data exchange specifications developed by the HR-XML Consortium are designed to be useful across many jurisdictions and within a variety of business contexts. It is not feasible for the HR-XML Consortium to develop specific privacy guidance for every jurisdiction or business context in which the Consortium's specifications might be implemented. When implementing data exchanges using the HR-XML Consortium's data definitions (or, for that matter, any data exchange mechanism), organizations are advised to examine the privacy protections that may be required under applicable law or codes of fair information practice. For information on protecting personal data, general references include: European Union Data Protection Directive (95/46/EC); the Association Computing Machinery Code of Ethics (1992); Canadian Standards Association Model Code for the Protection of Personal Information (1995 -- PIPEDA); U.S.-EU Safe Harbor Principles and FAQs (2000).

PayrollInstructions.doc - 35 -

5 Appendix A - Document Version History

Version Date Description 1.0 2002-07-19 First Draft 1.0 2002-09-18 Added reference examples, updated schema 1.0 2002-11-01 Addressed issues in last call review. 1.0 2003-01-19 Addressed TSC issues. 1.0 2003-02-11 Included edits from review 1.0 2003-02-26 Approved recommendation by HR-XML Consortium.

The default and targetNamespaces of all HR-XML schemas have been standardized to "http://ns.hr-xml.org". This recommendation is available as part of the HR-XML 2_0 architecture.

6 Appendix B – Related Documents

Reference Link Effective Dating http://ns.hr-xml.org/2_0/HR-XML-2_0/CPO/EffectiveDating.pdf

EntityId http://ns.hr-xml.org/2_0/HR-XML-2_0/CPO/EntityIdentifiers.pdf

PersonName http://ns.hr-xml.org/2_0/HR-XML-2_0/CPO/PersonName.pdf

ContactMethod http://ns.hr-xml.org/2_0/HR-XML-2_0/CPO/ContactMethod.pdf

HR-XML-Extension http://ns.hr-xml.org/2_0/HR-XML-2_0/CPO/HRXMLExtension.pdf

PayrollBenefitsContributions http://ns.hr-xml.org/2_0/HR-XML-2_0/Payroll/PayrollBenefitContributions.pdf

BenefitsEnrollment http://ns.hr-xml.org/2_0/HR-XML-2_0/Enrollment/Enrollment.pdf

7 Appendix C – Reference Examples

7.1 Batch Example

For an example of batch, payroll instructions, see: http://ns.hr-xml.org/2_0/HR-XML-2_0/Payroll/PayrollInstructions-eg.xml

7.2 Scenario 1 - New Business Transaction

On August 1, 2002, Mr. John A. Smith (SSN: 123-45-6789), an employee of International Engineering, Inc. purchased an auto policy and selects payroll deduction as the payment method. Mr. Smith's annual auto premium of $750 will be spread over his 26 bi-weekly

PayrollInstructions.doc - 36 -

paychecks. Each deduction will be in the amount of $28.85. His payroll deduction will begin with his Friday, August 23, 2002 paycheck. Mr. Smith works at the Dallas, Texas site. <?xml version="1.0"?> <PayrollInstructions xmlns="http://ns.hr-xml.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org PayrollInstructions.xsd"> <PayrollEmployer> <EmployerId> <IdValue name="Employer Group Number">I12LENGINEER</IdValue> </EmployerId> <EmployerName>International Engineering, Inc.</EmployerName> </PayrollEmployer> <PersonInstruction> <PayrollPerson> <PersonId> <IdValue name="Employee ID">12345</IdValue> </PersonId> <PersonName> <GivenName>John</GivenName> <MiddleName>A.</MiddleName> <FamilyName>Smith</FamilyName> </PersonName> <PersonGovernmentId> <IdValue name="Social Security Number">123-45-6789</IdValue> </PersonGovernmentId> </PayrollPerson> <Instruction mode="Add"> <Deduction> <DeductionPlan> <DeductionCategory>x:Automobile Insurance</DeductionCategory> </DeductionPlan> <DeductionStartDate>2002-08-01</DeductionStartDate> </Deduction> <Amount currency="USD"> <AmountStartDate>2002-08-23</AmountStartDate> <AmountValue> <Fixed> <Value>28.85</Value> </Fixed> </AmountValue> </Amount> </Instruction> <UserArea/> </PersonInstruction> <UserArea/> </PayrollInstructions>

7.3 Scenario 2 - Change Transaction

On August 26, 2002, Mr. Smith added his teenage son, Greg, to his policy. The endorsement is in the amount of $525. Mr. Smith's new deduction amount will be $49.85 beginning with the September 6, 2002 paycheck. <?xml version="1.0"?> <PayrollInstructions xmlns="http://ns.hr-xml.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org PayrollInstructions.xsd"> <PayrollEmployer> <EmployerId> <IdValue name="Employer Group Number">I12LENGINEER</IdValue>

PayrollInstructions.doc - 37 -

</EmployerId> <EmployerName>International Engineering, Inc.</EmployerName> </PayrollEmployer> <PersonInstruction> <PayrollPerson> <PersonId> <IdValue name="Employee ID">12345</IdValue> </PersonId> <PersonName> <GivenName>John</GivenName> <MiddleName>A.</MiddleName> <FamilyName>Smith</FamilyName> </PersonName> <PersonGovernmentId> <IdValue name="Social Security Number">123-45-6789</IdValue> </PersonGovernmentId> </PayrollPerson> <Instruction mode="Change"> <Deduction> <DeductionPlan> <DeductionCategory>x:Automobile Insurance</DeductionCategory> </DeductionPlan> <DeductionStartDate>2002-08-01</DeductionStartDate> </Deduction> <Amount> <AmountStartDate>2002-09-06</AmountStartDate> <AmountValue> <Fixed> <Value>49.85</Value> </Fixed> </AmountValue> </Amount> </Instruction> <UserArea/> </PersonInstruction> <UserArea/> </PayrollInstructions>

7.4 Scenario 3 - Cancellation Transaction

On October 4, 2002, Mr. Smith terminates employment with International Engineering, Inc. He accepted a new position with another company. He calls his insurance company to have his billing switched from payroll deduction to home bill. <?xml version="1.0"?> <PayrollInstructions xmlns="http://ns.hr-xml.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org PayrollInstructions.xsd"> <PayrollEmployer> <EmployerId> <IdValue name="Employer Group Number">I12LENGINEER</IdValue> </EmployerId> <EmployerName>International Engineering, Inc.</EmployerName> </PayrollEmployer> <PersonInstruction> <PayrollPerson> <PersonId> <IdValue name="Employee ID">12345</IdValue> </PersonId> <PersonName> <GivenName>John</GivenName> <MiddleName>A.</MiddleName>

PayrollInstructions.doc - 38 -

<FamilyName>Smith</FamilyName> </PersonName> <PersonGovernmentId> <IdValue name="Social Security Number">123-45-6789</IdValue> </PersonGovernmentId> </PayrollPerson> <Instruction mode="Delete"> <Deduction> <DeductionPlan> <DeductionCategory>x:Automobile Insurance</DeductionCategory> </DeductionPlan> <DeductionStartDate>2002-08-01</DeductionStartDate> </Deduction> </Instruction> </PersonInstruction> </PayrollInstructions>