In Oracle eBS HRMS Standard India Legislation, the Monthly
Income Tax amount will be calculated based on the Projected Annual Gross &
Projected Tenure Month Period.
But in
some Organization, Employees are request the Payroll Officer to deduct the
Income Tax based on the Employee’s Input for the first some periods and Remaining
balance value to be adjusted in the future period and accordingly actual Income
tax will be deducted in the Year End.
In
Standard functionality, It is not possible to accommodate in the System. In the
below Steps, it is described how to achieve this process flow in Oracle HRMS
R12.2.8.
Step 1: Create Two Elements as mentioned below,
Element Name 1: User Income Tax
Element Name 2: User Declared Income Tax.
Navigation: India HRMS Manager -->
Total Compensation -->
Basic --> Element
Description
Name
|
|
User
Income Tax
|
User
Declared Income Tax
|
Reporting Name
|
|
User
Income Tax
|
User
Declared Income Tax
|
Description
|
|
User
Income Tax
|
User
Declared Income Tax
|
Date From
|
|
User
Defined
|
User
Defined
|
Date To
|
|
31-Dec-4712
|
31-Dec-4712
|
Primary Classification
|
|
Information
|
Voluntary
Deductions
|
Benefit Classification
|
|
Null
|
Null
|
Type: Recurring/ Nonrecurring
|
|
Non
Recurring
|
Recurring
|
Termination Rule: Actual Termination/
Final Close
|
|
Final
Close
|
Final
Close
|
Multiple Entries Allowed
|
|
Unchecked
|
Unchecked
|
Additional Entry Allowed
|
|
Unchecked
|
Unchecked
|
Closed for Entry
|
|
Unchecked
|
Unchecked
|
Process in Run
|
|
Checked
|
Checked
|
Once Each Period
|
|
Unchecked
|
Unchecked
|
Indirect Results
|
|
Checked
|
Unchecked
|
Adjustment Only
|
|
Unchecked
|
Unchecked
|
Third Party Payment
|
|
Unchecked
|
Unchecked
|
Priority
|
|
36001
|
36002
|
Skip Rule
|
|
|
|
Input Values for the above defined Elements,
Element Name : User Income Tax
Name
|
Sequence
|
Units
|
Required
|
User Enterable
|
Database Item
|
Balance Tax
|
1
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Balance Cess
|
2
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Balance Sec and HE Cess
|
3
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Balance Surcharge
|
4
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Element Name : User Declared Income Tax
Name
|
Sequence
|
Units
|
Required
|
User Enterable
|
Database Item
|
Pay Value
|
1
|
Money
|
Unchecked
|
Checked
|
Checked
|
Tax
|
2
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Cess
|
3
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Sec and HE Cess
|
4
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Surcharge
|
5
|
Money
|
Unchecked
|
Checked
|
Unchecked
|
Allow System to Calculate
|
6
|
Character
|
Unchecked
|
Checked
|
Unchecked
|
Step 2: Customize the Standard Package :
Query the Package Name Called : PAY_IN_TAX_UTILS
***Add the Package Spec at the Bottom of the Above
mentioned Package:***
function get_tax_skip_check(
p_assignment_id in number
,p_business_group_id in number
,p_date_earned in date)
return varchar2;
***Add the Package Body at the Bottom of the Above
mentioned Package:***
function get_tax_skip_check( p_assignment_id in number
,p_business_group_id in number
,p_date_earned in date) return
varchar2
is
cursor
sys_recalc_flag is
select
peev.screen_entry_value from
pay_element_entry_values_f peev,
pay_element_entries_f pee,
pay_element_types_f pet,
pay_input_values_f piv
where pet.element_name = 'User Declared Income Tax'
and pet.business_group_id = p_business_group_id
and piv.element_type_id = pet.element_type_id
and pee.element_type_id = pet.element_type_id
and pee.element_entry_id = peev.element_entry_id
and piv.name='Allow System to Calculate'
and pee.assignment_id = p_assignment_id
and peev.input_value_id = piv.input_value_id
and p_date_earned between pet.effective_start_date and
pet.effective_end_date
and p_date_earned between piv.effective_start_date and
piv.effective_end_date
and p_date_earned between pee.effective_start_date and
pee.effective_end_date
and p_date_earned between peev.effective_start_date and
peev.effective_end_date;
l_flag varchar2(5);
begin
open
sys_recalc_flag;
fetch
sys_recalc_flag into l_flag;
if
sys_recalc_flag%NOTFOUND THEN
close
sys_recalc_flag ;
RETURN 'Y';
END IF;
close
sys_recalc_flag ;
return l_flag;
end get_tax_skip_check;
Step 3 : Create Formula Function
Navigation: India HRMS Manager --> Other
Definition -->
Formula Function
Name : INBG_TAX_CALC
Data Type : Text
Class : External Function
Definition : pay_in_tax_utils.get_tax_skip_check
Step 4: Create Fast
Formula for the New Elements Created :
Navigation : India HRMS Manager -->
Total Compensation -->
Basic -->
Write Formulas.
Name : USER_INCOME_TAX
Type : Oracle Payroll
Description : To be attached to User Income Tax
Formula Code:
DEFAULT FOR Balance_Tax IS 0
DEFAULT FOR Balance_Surcharge IS 0
DEFAULT FOR Balance_Sec_and_HE_Cess IS 0
DEFAULT FOR Balance_Cess IS 0
INPUTS ARE Balance_Tax, Balance_Surcharge, Balance_Sec_and_HE_Cess, Balance_Cess
/*Allow System to Calculate is ‘No’ then it means user will provide his tax values .
So skip or nullify those already calculated by system*/
IF INBG_TAX_CALC() ='N' THEN
(x=IN_DEBUG('****************************************','************')
x=IN_DEBUG('Balance_Tax',TO_CHAR(Balance_Tax)) x=IN_DEBUG('Balance_Surcharge',TO_CHAR(Balance_Surcharge)) x=IN_DEBUG('Balance_Sec_and_HE_Cess',TO_CHAR(Balance_Sec_and_HE_Cess))
x=IN_DEBUG('Balance_Cess',TO_CHAR(Balance_Cess)) x=IN_DEBUG('***********************************','*********')
l_income_tax = - Balance_Tax
l_surcharge = - Balance_Surcharge
l_education_cess = - Balance_Cess
l_sec_and_he_cess = - Balance_Sec_and_HE_Cess
l_total_tax = l_income_tax + l_surcharge + l_education_cess + l_sec_and_he_cess
l_balance_tax = - l_total_tax x=IN_DEBUG('**************************************','**************')
x=IN_DEBUG('l_income_tax',TO_CHAR(l_income_tax)) x=IN_DEBUG('l_surcharge',TO_CHAR(l_surcharge)) x=IN_DEBUG('l_education_cess',TO_CHAR(l_education_cess)) x=IN_DEBUG('l_sec_and_he_cess',TO_CHAR(l_sec_and_he_cess)) x=IN_DEBUG('l_total_tax',TO_CHAR(l_total_tax)) x=IN_DEBUG('l_balance_tax',TO_CHAR(l_balance_tax))
x=IN_DEBUG('*************************************','*************')
RETURN l_income_tax, l_surcharge, l_education_cess, l_sec_and_he_cess, l_total_tax,
l_balance_tax
)
ELSE
RETURN
-----------------------------------------------------------------
Name : USER_USER_DEFINED_IT
Type : Oracle Payroll
Description : To be attached to User Declared Income Tax
Formula Code:
DEFAULT FOR Tax IS 0
DEFAULT FOR Cess IS 0
DEFAULT FOR Surcharge IS 0
DEFAULT FOR Sec_and_HE_Cess IS 0
INPUTS ARE Tax, Cess, Surcharge, Sec_and_HE_Cess
IF INBG_TAX_CALC()='N' THEN
(
x=IN_DEBUG('********************************','***************')
x=IN_DEBUG('Tax',TO_CHAR(Tax))
x=IN_DEBUG('Cess',TO_CHAR(Cess))
x=IN_DEBUG('Surcharge',TO_CHAR(Surcharge))
x=IN_DEBUG('Sec_and_HE_Cess',TO_CHAR(Sec_and_HE_Cess))
x=IN_DEBUG('***************************','********************')
l_tax = tax
l_cess = Cess
l_surcharge = Surcharge
l_sec_and_he_cess = Sec_and_HE_Cess
l_pay_value = l_tax + l_cess + l_surcharge + l_sec_and_he_cess
l_balance_tax = - l_pay_value
RETURN l_tax,
l_cess,
l_surcharge,
l_sec_and_he_cess,
l_pay_value,
l_balance_tax
)
ELSE
RETURN
Step 4 : Create Eligibility Link for User Declared Income
Tax Element.
Navigation : India HRMS Manager -->
Total Compensation -->
Basic --> Link
Step 5 : Create Formula Results Rules.
Navigation : India HRMS Manager -->
Total Compensation -->
Basic -->
Formula
Results
Element Name : Income Tax Information
Processing Rules:
Name : Standard
Formula : IN_INCOME_TAX
Add the below mentioned formula results in addition to the existing.
Name |
Type |
Element |
Input Value |
CESS_THIS_PAY |
Indirect result |
User Income Tax |
Balance Cess |
SEC_AND_HE_CESS_THIS_PAY |
Indirect result |
User Income Tax |
Balance Sec and HE Cess |
SURCHARGE_THIS_PAY |
Indirect result |
User Income Tax |
Balance Surcharge |
TAX_THIS_PAY |
Indirect result |
User Income Tax |
Balance Tax |
-----------------------------------------------------
Element Name : User Income Tax
Processing Rules:
Name : Standard
Formula : USER_INCOME_TAX
Add the below mentioned formula results in addition to the existing.
Name |
Type |
Element |
Input Value |
L_EDUCATION_CESS |
Indirect result |
Income
Tax |
Cess |
L_INCOME_TAX |
Indirect result |
Income
Tax |
Tax |
L_SEC_AND_HE_CESS |
Indirect result |
Income
Tax |
Sec and HE Cess |
L_SURCHARGE |
Indirect result |
Income
Tax |
Surcharge |
L_TOTAL_TAX |
Indirect result |
Income
Tax |
Pay Value |
L_BALANCE_TAX |
Indirect result |
Form16
Income Tax Information |
Balance Tax |
L_EDUCATION_CESS |
Indirect result |
Form16
Income Tax Information |
Education Cess till Date |
L_INCOME_TAX |
Indirect result |
Form16
Income Tax Information |
Income Tax till Date |
L_SEC_AND_HE_CESS |
Indirect result |
Form16
Income Tax Information |
Sec and HE Cess till Date |
L_SURCHARGE |
Indirect result |
Form16
Income Tax Information |
Surcharge till Date |
-----------------------------------------------------
Element Name : User Declared Income Tax
Processing Rules:
Name : Standard
Formula : USER_USER_DEFINED_IT
Add the below mentioned formula results in addition to the existing.
Name |
Type |
Element |
Input Value |
L_CESS |
Indirect result |
Income
Tax |
Cess |
L_PAY_VALUE |
Indirect result |
Income
Tax |
Pay Value |
L_SEC_AND_HE_CESS |
Indirect result |
Income
Tax |
Sec and HE Cess |
L_SURCHARGE |
Indirect result |
Income
Tax |
Surcharge |
L_TAX |
Indirect result |
Income
Tax |
Tax |
L_BALANCE_TAX |
Indirect result |
Form16
Income Tax Information |
Balance Tax |
L_CESS |
Indirect result |
Form16
Income Tax Information |
Education Cess till Date |
L_TAX |
Indirect result |
Form16
Income Tax Information |
Income Tax till Date |
L_SEC_AND_HE_CESS |
Indirect result |
Form16
Income Tax Information |
Sec and HE Cess till Date |
L_SURCHARGE |
Indirect result |
Form16
Income Tax Information |
Surcharge till Date |
Step 6 : Assign the Employee Declared Income Tax Amount.
Navigation : India HRMS Manager --> People -->
Enter & Maintain -->
Assignment
--> Add Element as
User
Declared Income Tax – Effective from 01-Apr-2021
Test Case :
Employee Basic Value is 1,00,000 Rs.
Annual Gross = 12,00,000
Standard Exemption Deduction = 50,000
Tax On Income = 1,57,500
Cess = 6300
Total Tax Liability = 1,63,800
As per System Standard Deduction for the Month Apr ’21 = 13,650
.
But Employee requests Payroll to deduct 5200 every month
starting from Apr’21 to Dec’21.
And From Jan’22 to Mar’22 the remaining tax value to be
deducted from Employee’s Salary.
After completing the Element Entry Input Value as mentioned
in the above Screenshot, Run Quick Pay .
Step 7 : Quick Pay Run
Navigation : India HRMS Manager --> People -->
Enter & Maintain -->
Assignment-->
Quick Pay – Apr’21 Month.
Check
Run Results,System automatically nullify the Standard Deduction
value & Updated the User declared Income Tax amount as Monthly Tax for the
Month of Apr’21.