Sunday, August 30, 2009

CWB: Time estimation for Implementation of CWB

Question: We are in the process of implementing Compensation Work Bench (CWB). We would be interested to know how long it took other to implement.
I saw this question on a forum and share my reply. This is a typical question that every functional consultant would have been asked at some point in thier career.
As a thumbrule, I would say 20-30 weeks is normal time-period, if you want to implement any HR Modules, though I have to say Benefits & Payroll may need more time and also these modules have other dependencies like Annual Open Enrollment periods (in Benefits) or Year-end and Balance upload (Payroll).
However, there are other factors that you may want to consider before arriving at a high level time lines. Some the questions that need to be asked/answered are:
1. What is the population of the workforce ?
2. Is the organization a hierarchical or relatitvely flat?
3. Is CWB being implemented for multiple countries (legislations)?
4. Do you have to handle multiple currencies?
5. What consititutes the CWB scope? Annual Merit, Bonus and Stocks? Are all three involved?
6. Are there any other types of Benefits that are to be included in the scope?
7. What kind of reporting needs are the clients looking for?
8. Does the client also have Oracle Payroll or Benefits?
Answers to these questions go a long way in helping to arrive at a balanced decision. To make the long story short, CWB is more complex than it sounds.

Saturday, August 29, 2009

SSHR: Display Expense Account in Self-Service HR

I saw this question the other day at a forum where a user had posted and this set me to research and find the answer for you.

Business Scenario: Employees are attached to a Default Expense Account. This expense account changes whenever an employee is transferred across departments. The expense account and the Organizations (Cost Center) data has to be always maintained in sync.
This organization uses Employee Self Service and Manager Self-Service. When an employee is transferred, they also need to change the expense account value.But in Self-Service, this field does not seem to be visible. What are the options to acheive this?

This is a common requirement by many companies and its surprising that this feature is still not enabled in SSHR, though there is a Enhancement Request open since Oct 2008, the same is not yet built into SSHR till date (Sep 2009) in version 12.1.1; and the Enhancement Request is still in an "Internal Review" status. Surely, you dont need one year to 'Internally Review' a request that has been logged by several companies, but then thats Oracle's pace of new enhancements !!!

As a work-around the following can be considered: Build an audit report that identifies all the departmental changes that has occured with the effective date. This report can then be picked up by the HR department who can manually query the record from Core HR and update the value to the correct Expense account. Its a cumbersome and error-prone process, but nevertheless doable. One only hopes that Oracle provides this functionality atleast as part of 12.1.2 release.

Thursday, August 27, 2009

BENEFITS: Cafeteria Plan & Flexible Spending Account (FSA)

This topic came about while at lunch, when a colleage wanted to know about Cafeteria Plan in Benefits.

A Cafeteria plan is a type of employee benefit plan offered in the United. Its name comes from the earliest such plans that allowed employees to choose between different types of benefits, similar to a cafeteria lunch menu that you can choose and order. This plan first started in 2005 through which employers could design plans that provided reimbursement benefits on health insurance, group-term life insurance and Flexible Spending Accounts. A certain portion of the employee’s salary is deducted every month and deposited into this account. These deductions are treated as pre-tax deductions and hence attract employee participation


A Flexible Spending Account (FSA) allows an employee to set aside a portion of his or her earnings to pay for qualified expenses as established in the cafeteria plan, most commonly for medical expenses but often for dependent care or other expenses. Money deducted from an employee's pay into an FSA is not subject to payroll taxes, resulting in a substantial payroll tax savings.

There are several types of FSAs and the most popular types are:

Medical Expense FSA
This is used to pay medical expenses that are not paid by the insurance companies. Such expenses usually include Copayments or other deductibles or other expenses that are generally not covered by dental or vision policies including over-the-counter (OTC) drugs.
Remember, a medical FSA will not reimburse expenses for health insurance premiums, cosmetic items such as cosmetic surgery, equipments, or items that improve "general health".

Recently companies that provide FSA programs have introduced FSA debit card that allows for the automatic electronic transfer of pre-tax dollars from an employee account when paying for qualified expenses. Employees are able to receive immediate reimbursement of their medical, dependent care, and commuter expenses simply by using their card at the point of service.


Dependent Care FSA
FSAs can also be used to pay certain expenses for the dependents, like child care, or parental care (for dependent parents who stay with the employee). The dependent care FSA is federally capped at $5,000 per year. While married spouses can each elect to have this amount deducted from their paycheck and applied to expenses, at tax time all withdrawals in excess of $5,000 are taxed. Unmarried couples can each deduct and use $5,000.

Flexible Spending Account plans help employees to reduce their taxes and in turn, save more. They can save on out-of-pocket healthcare and childcare expenses through FSA.
There are several vendors who provide FSA services. Some of the key service providers include: WageWorks, PayFlex, Aflac etc.

Business process: The Business process in most companies generally works like this:
· An employee who wishes to enroll into FSA plan approaches the company either as a new hire or during open enrollment and selects a particular plan.
· This enrollment information is sent by the organization’s benefits department to the service provider, like say Aflac or Mellon Bank.
· The service provider, would then calculate and inform the amount (to the Benefits department) that has to be deducted from the employee’s salary.
· This information is then fed by to the Payroll system, which would then make the deduction from the employee’s payroll.
· This information is then sent to the Benefits department, which arranges to send the amount to the service provider.

Role of the Consultant
As an Oracle Apps functional consultant, you would have to identify and map this business process flow; identify the data elements that are generated at various sources and prepare a flow diagram to show the data flow process. Once you get the client’s agreement and concurrence on the Business and data flow process, it would help you to prepare a technical specification and hand over the same to your technical team for preparing the interfaces.

In many cases these service provider will perform the necessary calculation and handle the claims directly with the employees. However, the ERP system, such Oracle Core HR or Benefits will be responsible for housing the employee and compensation/benefits data.

Tuesday, August 25, 2009

SSHR: DFFs on a Self-Service Page

Q. How do you find the DFFs that are supported on a particular Self-Service ?


I got this frantic call today morning from a friend who wanted to know how to find the DFF's that are supported on a particular web Page in Self-Service and more specifically, wanted to display a few segments from the Additional Job Details DFF on the Self-Service screen. Well, here is what I have learnt:


Let us take the example of ‘Change Job Function’ that is called from Manager Self-Service Responsibility. When the page opens, you can find the 'Flexfield References' section, a list of the flexfields which are supported by this page are listed. These are DFF for which you can Create an Item for.


If a DFF you wish to add to the page is not in this list, then this page cannot have the DFF added to it without customising the code. Offcourse, this would not be supported by Oracle.



You can navigate to the Change Job function > Under Change Job: Assignment Select About This page


You will see the possible DFF the form could support if you attached this DFF on this form:


Remember: Additional Job Details DFF is one of the DFFs that is not supported in Self-Service by Oracle, though no one knows the reason. There are several Enhancement Requests pending and one can only hope that it will find its way into the group sometime post 12.1.1 release.

Saturday, August 22, 2009

CORE HR: Workers Compensation Code


Overview:
Workers Compensation (WC) is a type of insurance coverage provided for employees who may get injured while at work. Employees who are covered under Workers Comp by their employers relinquish their right to sue the employer for negligence. Employers enter into an agreement with Insurance companies (also called WC Insurance carriers). Jobs that exist within an organization are categorized based on the hazards associated with the job and each job is given a WC Code and a rate.

Generally jobs with similar profiles are grouped together under a common WC Code. A given job does not necessarily have the same classification and code from state to state. However, within a state, the same code normally covers a number of different jobs judged to have a similar risk level, so in each state all your jobs may fall into a fairly small number of codes.

Many states provide WC Coverage through state run funds, but in certain states, the government permits employers to use private WC insurance carriers. All such carriers will use the same WC Code. However each carrier may quote a different rate for the job. Also, the rate quoted by the insurance carrier for the same Job may vary between different locations within the same state.

Workers Comp Override:
In certain situations, it may be necessary to override an employee’s WC Code from the default value associated with the employee’s job. Example, if a field engineer working in Kansas is deputed for a certain temporary period to Alaska, the WC might have to be overridden with a new value assuming that the risk level at Alaska is different from that of Kansas.

Workers comp regulations exist in several countries and are called by different names such as Compo in Australia, INSS (Instituto Nacional do Seguro Social) in Brazil etc.

To setup a WC Codes and Rates, follow the sequence shown here:

· All your WC carriers in this state must be set up as external organizations with the classification Workers Compensation Carrier. For states that do not have private carriers, there will be only one carrier.
· If there are carriers whose rates differ for particular work locations, those locations must be entered in the system.




To enter WC work classification codes and rates:
1. Query the state and carrier for which you are entering codes and rates. To enter rates for a particular location, also query the location. If you leave the Location field blank, the rates you enter are the default rates for this carrier and state.
2. Enter each code and its associated rate in the Code and Rate fields. When finished, save your work.





Select the Carrier and the state. If there are multiple locations in the state which have different WC rates, then the same should be recorded separately.
Enter the various codes and enter the employer rates and employee rates (if applicable). There are certain situations where the employees also contribute to the WC fund and the rate or amount entered here will be picked up by Payroll for processing.


Calculation Methods: Oracle supports three types of calculation methods:
1. Percent of Subject Earnings
2. Hourly Rate
3. Flat Amount Per Period
Percentage of Subject Earnings: Here the deductions are based on the amount that the employee earns and is a flat amount. Also the period should be chosen. Example: If the period is selected as ‘Year’ and if $7.50 per year is specified, then $7.50 will be deducted from the next pay period and then again in the first pay period of the following year.

Hourly Rate: Here the Period field is not relevant. Example: If the employer and employee rates are in units of dollars per hour, say 1.50, then the WC rate will be deducted at the rate of $1.5/Hour and the total amount will be calculated based on the total hours worked by the employee. The hours used to calculate the amount deducted are the regular hours worked. Overtime can be included in the calculation.

Flat Amount Per Period:
The WC amounts are specified in units of dollars per specified period, where 10.0000 = $10/Period. For this calculation method a period must be specified. The valid choices for Period are Year, Month, and Quarter. The amount specified will be deducted at the beginning of the period.
For example: If the period is specified as Year, and If 25.00 is specified, then $25 will be deducted from the next pay period and then again in the first pay period of the following year.
Percent of Subject Earnings is the default calculation method if none is chosen

Entering Workers Comp Codes in Oracle Apps:
Use US HRMS Manager (or equivalent) responsibility. Navigate to Work Structures>Jobs>Workers Compensation

Some states impose an Executive Weekly Maximum, which sets an upper limit on the amount of an employee's earnings available for inclusion in his or her payroll exposure. Hence the value entered for Executive Weekly Maximum caps the dollar value for any employee's earnings.







Select the State. If the state allows for overtime to be included in the calculation for the WC fund contribution, then select the overtime categories. In the Codes for Jobs, select the Jobs and enter the corresponding codes.

Entering a WC Override Code

You may be required to enter a WC code for an employee that overrides the default code associated with his or her job. This situation can arise when, for example, workers in a relatively high-risk job classification begin work at a job site, and the risk of injury for any worker at the site is judged to increase.
Enter WC code overrides in the window GREs and Other Data.

Prerequisites
• The employee's assignment must include a work location and a job with a WC code.
• The employee's assignment must have a SUI state and a GRE on record. There must be a WC insurance carrier entered for the GRE. An association of the WC codes for the SUI state with the default rates of the GRE's WC carrier must be in place.


To enter a WC override code:

In the WC Override Code field, select the override code.

Note: If no list of codes is available, check that all the prerequisites for override code selection are in place.




Wednesday, August 19, 2009

CORE HR: Multiple Salary Bases for a single element ??

A friend of mine sent me this question “Can we create multiple salary bases with the same element?”

Yes. From an application standpoint you can, but there are certain constraints. Besides, before you embark upon the need to create multiple salary bases on the same element, stop and think – What is the business need for doing the same? Are you using multiple assignments in your organizations where you want the pay information to go to the same element for costing purposes?

Oracle looks for a uniqueness while creating the salary basis. The element Name + the Input Value + Grade Rate combinations should be unique for you to create multiple salary basis for the same element. If this constraint is violated then Oracle will throw up an error and will not allow the creation of a second salary basis.

I have built a sample scenario to explain the concept.
Create an earning element as shown below.

Create Input values as shown here. Notice that I have created three Input values: two input values that have Money as the Units and one as the Hour. You will understand the reasoning behind the same as you read further.


Navigate to Total Compensation > Basic > Salary Basis. Create a Salary basis as shown below and select the element that we have created above. Select the Input value as shown below. You may notice that when you select the LOV in the ‘Input Value Name’ field, you will see two values (a) Pay Value and (b) New Pay Value.

The reason is quite obvious. Both of them have the units as money and you create a salary basis with input values that accept monetary units.

After saving the salary basis, create another salary basis. I have chosen the name as “AP_Test_Salary_Basis 2”. When you tab out after selecting the element name, you will see the caution message. You can click OK and continue. Now in the ‘Input Value Name’ field, you can select the other input value “New Pay Value”. You can proceed to save the salary basis.




Finally, create a third salary basis and select the same element. This time, you will encounter the caution message again. Click OK to continue and when you select the Input value, you will see the error message.





The reason for this error message is that Oracle looks for a unique combination to exist between Element Name, Input value and the Grade Rate (Here I am assuming that you don’t use grades).

So bottom line is that you can create multiple salary basis for the same element provided you do not violate the unique constraints. But in real-time scenarios, it is suggested to create salary bases with separate elements.

Tuesday, August 18, 2009

CORE HR: SIT and EIT

Oracle Apps provides several unique features that enables the storage of additional data elements that do not find a storage in the seeded Oracle forms. These include Special Information Types (SIT) or Extra Information Types (EIT). Though either one can be used to store data, there are certain peculiarities which an implementation consultant should be aware of. Appropriate choice would make the implementation effective and also enable data security.

The section below addresses some of the key differences between the two

Special Information Types (SIT)
SITs are created from Personal Analysis flexfield, a type of Key Flexfield and are visible across the Business Group
SITs are primarily attached to People related data; can also be used with Jobs, Assignment & Locations
SIT form has a start date and end date associated with the SIT row.
Sometimes, SIT can cause performance issues (though very minor)
SITs have limited security restrictions, thus making them unsuitable for storing sensitive data
The Business thumb rule to be adopted while deciding to go for an SIT is dictated by the nature of the data that is to be stored. Generally individual (personal) data that is not very sensitive can be stored using SIT


Extra Information Types (EIT)
EITs are a type of Descriptive Key Flexfield; can be restricted to specific Responsibility
EIT's can be attached to People, Assignment, Job, Position, Location and Organization (via a classification)
EIT forms do not have start and end dates. If you want to create dated information, then you would have to use two of the EIT flexfield attributes to store this information.
EIT’s can be used at Person, Assignment, Job, Location level etc. related issues (like Bonus, Incentive info etc.) may be created in EIT
EITs don’t have any performance issue
EITs can be tied to a responsibility so that the appropriate population can also access the EITS. Since EITs are a type of DFF’s it can be migrated across instances using a tool like Kintana which is not possible with Key Flexfields, to which SITs belong.

The Business thumb rule to be adopted while deciding to go for an EIT is dictated by the nature of the data that is to be stored. Generally compensation data that is may be of sensitive nature (like Employee Incentive Bonus plans, Stock option data etc.) can be stored using EIT

PAYROLL: Salary Indicator for a Hourly Employee

I wanted to share this lesson that I learnt from the HR Business team today:

Do not quote annual salary figures to new hires who will be on non-exempt basis. Always indicate the hourly rate to the person. If an annual salary is indicated to a non-exempt, then there could be rounding issues as explained in the example below:

Assume that the annual salary which has been indicated to a non-exempt new hire is $60000. The standard working hours for the person is 37.5 hrs per week. So the hourly rate for the person will be 60000/ (37.5*52) = 30.76923. If this is rounded to 30.77 per hour. So the annual salary will be 30.77 * 37.5*52 = 60001.5. Though the employee may not complain (because he/she is getting more than 60K), the same employees would scream foul if they got lesser than 60K.

Assume that the annual salary that is quoted to a new non-exempt hire is $44,000. If the standard work hours for this person has been defined as 37.5 hours per week then the hourly rate will work out to 22.5641. If this is rounded to 22.56, then working backwards, we can see that the annual salary that this person earns would be $22.56*37.5 hrs per week * 52 weeks per hour which would be 43992.00 which is a good eight dollars less than what was indicated in the offer letter. Surely this would raise some questions, some of which may even have a legal implication.

Friday, August 14, 2009

CORE HR: Descriptive Flexfields on a Oracle Form

Q. How do you know which descriptive flexfields are available on any form?

This is a frequently asked questions during many interview discussions. Even seasoned consultants may occasionally need to identify a DFF on a particular window. This section helps in the same.




Navigate into any HR form. As an example, you can see the DFF on the Terminate window. Once the window opens up, from the menu, select Help > Diagnostics > Examine. From the Block field, click the list of values (LOV) and select value $DESCRIPTIVE_FLEXFIELD$. Now click on the LOV for the Field field. In this LOV, you will see all descriptive flexfields available on the form. Upon clicking any value here, this will populate the Value field with the full name of the descriptive flexfield.

Example: If you need to find the name of the Flexfield that is available on the termination window (End Employment), you can follow this sequence:

Query the employee record.
Click on Others Button and select ‘End Employment’.
When the Terminate window opens up, Click on Help menu and select Diagnostics > Examine




You may be prompted for an apps password. Enter the same.
When the Examine Field window opens up, open the contents of the Block field. Select the value $DESCRIPTIVE_FLEXFIELD$


Click on the Field drop down and you can see the name of the Flexfield. Select the same and the description can be found in the value field as shown below

Though this might seem very rudimentary, I have seen several consultants fumbling around, trying to find the information.

Another useful information for those who need to identify the base table behind this window, the same method can be used. Select the parameters as shown and you can see the complete query that fetches data to this window:

Thursday, August 13, 2009

SSHR: Displaying DFF Segments in Self Service

Problem: I have a DFF (Additional Qualifications Details) which has five segments. I want only the first two to be displayed for Employees Self Service. How do I achieve it?

Analysis:
Through Self-Service Personalizations, we can restrict the segments that can be displayed and hide those that we don’t want.

Example 1: If we have a DFF (Additional Qualifications Details DFF) that has a context called as US_JOB and we have 2 segments defined in that context, then to display both the segments, go to the personalization link and in the Segment List, enter the values as displayed here:
NOTE: Replace the Asterisk "*" displayed here with a Pipe symbol. Due to the limitation of this blogsite, the Pipe symbol is not displayed
US_JOB * Segment1 * Segment2

Example 2:
If you want to display only Segment1, then personalize it as:
US_JOB * Segment1


Displaying multiple context codes by using a double separator .
Example 3: Here, we have certain segments displayed under Global Data Context and certain segments displayed under a separate context called US_TCC then we can define it as follows
"
Global Data Context * 50 PCT Base* 50 PCT Base * * US_TCC* 50 PCT TCC * 50 PCT TCC * Comp RatioComp Ratio
"
Please ensure that the value of the context (from the code) is displayed as the first part.




Example: If a DFF (say Additional Qualification Flexfield) has five segments and if we have to display segment 1 and 2 then we have to personalize it as shown below:

Make sure the segment name is as defined in the flexfield.
Segment1 * Segment2

If we have to display segment 1,2 and 4 then we have to personalize it as shown below:
Make sure the segment name is as defined in the flexfield.
Segment1 * Segment2 * Segment4
NOTE: Replace the Asterisk "*" displayed here with a Pipe symbol. Due to the limitation of this blogsite, the Pipe symbol is not displayed

Wednesday, August 12, 2009

CORE HR: Pre-requisites for an organization to be available for an employee assignment

Issue: Client has created an organization and classified it as HR Organization. However, the same is not visible from the Employee Assignment screen.

Analysis: For an organization to be available in the Employee’s assignment, there are two conditions to be satisfied:
The organization should have a classification as HR Organization
The organization should be classified as an internal organization.

Steps to address the issue:
Responsibility: US Super HRMS Manager (or equivalent)
Navigation: Work Structures>Organization > Description
Query the Organization.

Query the Organization. Example ‘0805’ is an organization to which People have to be attached.

Once these two conditions are satisfied, then the organization will become visible from an assignment screen as shown here:

A Note on Organization Types: Organization Types are defined by the user and are used for Reporting purposes only. They have no other significant impact in the way the organization functions. Businesses have different levels of hierarchy and may call their various levels by different names. Example: At the Highest level, we may have the Corporate Office (Headquarters) Below that we may have the zonal head offices (called Divisions) Below the Divisions, we may have several Business Units and below them may be the various Groups. Finally Cost Centers (departments) may be the lowest level to which employees are attached. So to accommodate this type of a hierarchy structure, we can create various types called as Corporate Office, Divisions, Business Units, Groups and Cost Centers.
Use the Lookup Type called “ORG_TYPE” to create / edit the various Organization Types. A sample list of Org Type is shown here:

Navigation: Other Definitions > Lookup Tables

Internal versus External Organization: Use the Internal or External field to select whether the organization is internal to the enterprise or external. Example of External Organization includes: Benefit Carriers, third party insurance and benefit carriers, agencies to receive alimony payments or Child Support. For an organization to be available in the assignment window, as described above, the field should be populated as an Internal organization.