SlideShare a Scribd company logo
1 of 7
1
How to enable salary advance for UAE legislation
1.1 Scope for this Document
There is a requirement for providing a setup that can be used for Salary Advance processing in UAE Localization.
The Salary Advance Processing will consider the salary administrator calculation for terminated employees and new hire
Salary Advance Processing – In this document we will be considering the setup that needs to be set for enabling the Salary Advance
processing.
1.2 Purpose of this Document
Enable "Salary Advance" requirements for UAE localization
1.3 Business Requirements Overview
For UAE, it is proposed to provide a solution that will enable us to process the Salary Advance for an employee
1.4 Solution analysis
1.5 Solution Overview
Will pay a salary advance unless the employee is being terminated in the same period hence it will cancel the advance
with a warning message. Recovery of the advance is made through the monthly salary formula
PS. : Monthly installments deduction for advanced payment will be flat value (50%) from monthly salary, modification may happen to enable
user to determine the value that require to be deducted for every month
1.6 Solution Model
1.6.1 Elements
For supporting "Salary Advance" processing the following elements need to be present.
1. Salary Advance
This element will drive the "Salary Advance" amount after validating it through attached formula
This will be a Nonrecurring element attached to an employee for whom the" Salary Advance" needs to be processed.
This element will be used for payment of "Salary Advance" upon Request this element will have classification of
‘Earning’.
Element Name Salary Advance
Description Advance of salary. Recovery is made in the
Monthly Salary formula
Primary Classification EARNINIG
Standard N
Reporting Name Salary Advance
Effective Start Date 01-JAN-0001
Processing – Standard
Type Nonrecurring
Termination Last Standard Process
Multiple Entries
Allowed
Y
Additional Entry
Allowed
N
Closed for Entry N
Process in Run Y
Indirect Results N
Adjustment Only N
Third Party Payment N
Priority 1550
Skip Rule NULL
Currency
Input AED
Output AED
2
There will be two input values for this element. Advanced Amount, Pay Value, Will hold the advanced amount if
employee was eligible to take it.
Input Values
Name Advanced
Amount
Pay Value
Units Money Money
Sequence 1 2
Required Y N
User Enterable Y Y
Database Item Y Y
Hot Default N N
Default NULL NULL
Lookup NULL NULL
Formula NULL NULL
Minimum NULL NULL
Maximum NULL NULL
Warning/Error NULL NULL
Effective Start Date 01-JAN-
0001
01-JAN-
0001
2. Salary Advance Deduction
This element will be used for deduct the accrued 'Salary Advance'. This element will have classification of
'Voluntary Deductions'. This will be an indirect element fed by the monthly salary formula. Depending on the
employee status, the formula will calculate the 'Salary Advance deduction' for each month and decrease it to the
accrued amount.
Element Name Salary Advance Deduction
Description Recovers the salary advance from the amount
passed from the monthly salary formula at a
rate of half the salary per period
.
Primary Classification Voluntary Deductions
Standard N
Reporting Name Salary Advance Deduction
Effective Start Date 01-JAN-0001
Processing – Standard
Type nonrecurring
Termination Last Standard Process
Multiple Entries
Allowed
Y
Additional Entry
Allowed
N
Closed for Entry N
Process in Run Y
Indirect Results Y
Adjustment Only N
Third Party Payment N
Priority 10500
Skip Rule null
Currency
Input AED
Output AED
There will be one input value for this element. Pay Value - will hold the monthly deduction.
Input Values
Name Pay Value
Units Money
Sequence 1
Required N
User Enterable Y
Database Item Y
Hot Default N
Default NULL
Lookup NULL
Formula NULL
Minimum NULL
Maximum NULL
Warning/Error NULL
3
Effective Start Date 01-JAN-
0001
Monthly Salary
This element will be to determine the basic salary for this employee as it will be salary basis which will be the subject
for 'Salary Advance deduction'. This element will have classification of 'Earning'. This will be direct element fed
by the monthly salary formula.
Element Name Monthly Salary
Description Monthly Salary used for Monthly Salary in
Salary Administration
.
Primary Classification Earnings
Standard N
Reporting Name Monthly Salary
Effective Start Date 01-JAN-0001
Processing – Standard
Type Recurring
Termination Last Standard Process
Multiple Entries
Allowed
N
Additional Entry
Allowed
N
Closed for Entry N
Process in Run Y
Indirect Results N
Adjustment Only N
Third Party Payment N
Priority 1500
Skip Rule AE_ONCE_EACH_PERIOD
Currency
Input AED
Output AED
Input Values
Name Monthly
Amount
Pay Value
Units Money Money
Sequence 1 2
Required y N
User Enterable y Y
Database Item y Y
Hot Default N N
Default NULL NULL
Lookup NULL NULL
Formula NULL NULL
Minimum NULL NULL
Maximum NULL NULL
Warning/Error NULL NULL
Effective Start Date 01-JAN-
0001
01-JAN-
0001
1. Balance
New Balance:
Salary Advance
This balance will hold the Salary Advance amount that PAID
Name Salary Advance
Units Money
Currency AED
Use for Remuneration No
Element Classification Feed(s) -
Element Feed(s) Salary Advance (Pay Value) Add
Salary Advance Deduction (Pay Value) Subtract
Dimension(s) _ASG_ITD
4
Seeded Balance:
Name Total Pay
Units Money
Currency AED
Use for Remuneration No
Element Classification Feed(s) -
Element Feed(s) Monthly Salary (Pay Value) Add
Salary Advance (Pay Value) Add
Salary Advance Deduction (Pay Value) Subtract
Dimension(s) Payments
Name Net
Units Money
Currency AED
Use for Remuneration No
Element Classification Feed(s) -
Element Feed(s) Monthly Salary (Pay Value) Add
Salary Advance (Pay Value) ADD
Salary Advance Deduction (Pay Value) Subtract
Dimension(s) _ASG_Run
Formula Result
1) SALARY_ADVANCE
Advance of salary. Recovery is made in the Monthly Salary formula
Processing Rules:
Standard/ SALARY_ADVANCE
Name (Return Item) type Element Input Value units Message
severity
ADV_AMOUNT Direct result Salary Advance Pay Value money
PAID_MSG Message Information
TERM_MSG Message Warning
2) Monthly Salary
Monthly Salary used for Monthly Salary in Salary Administration
Processing Rules:
Standard/ Monthly_ SALARY
Name (Return Item) type Element Input Value units Message
severity
NEW_HIRE_MSG Message Information
PRORATION_MSG Message Information
SALARY Direct result Monthly Salary Pay Value money
SAL_ADV_DED Indirect result Salary Advance
Deduction
Pay Value money
SAL_ADV_MSG Message Information
TERMINATE_MSG Message Information
Formula :
1) SALARY_ADVANCE
Type: Oracle Payroll
Desc: Salary advance formula that pays advances unless the employee is being terminated in the same period.
/**************************************************************
UAE Payroll Formula
Salary Advance
This formula will pay a salary advance unless the
Employee is being terminated in the same period
5
Whence it will cancel the advance with a warning
Message.
Recovery of the advance is made through the
monthly salary formula
**************************************************************/
default for PAY_PROC_PERIOD_START_DATE is '1900/01/01 00:00:00' (date)
default for PAY_PROC_PERIOD_END_DATE is '1900/01/01 00:00:00' (date)
default for EMP_TERM_DATE is '4712/12/31 00:00:00' (date)
Inputs are advanced_amount
/**************************************************************
Initialise any local variables
**************************************************************/
adv_amount = advanced_amount
term_msg = 'Salary Advance: Advance of ' + to_text(advanced_amount) + ' AED, is being made in same period as termination – cancelled'
paid_msg = 'Salary Advance: Advance of ' + to_text(advanced_amount) + ' AED made this period. Recovery starts next period'
/**************************************************************
check if the advance is being made in the same
period as the employee is being terminated. If so
cancel it with a message
**************************************************************/
IF
(
EMP_TERM_DATE <= PAY_PROC_PERIOD_END_DATE
and
EMP_TERM_DATE >= PAY_PROC_PERIOD_START_DATE
)
THEN
return term_msg
ELSE
return adv_amount, paid_msg
2) MONTHLY_SALARY
Type: Oracle Payroll
Desc: Monthly Salary formula for UAE.
/**************************************************************
UAE Payroll Formula
Monhtly Salary
Based on Salary Administration
This formula will pay the monthly salary as entered
in salary administration.
It will also pro rate for starters, leavers
and part timers.
A check is made for a salary advance and will
calculate the recovery amount as 50% of salary
which ever is the lower.
**************************************************************/
Default for PAY_PROC_PERIOD_START_DATE is '0001/01/01 00:00:00'(date)
Default for PAY_PROC_PERIOD_END_DATE is '0001/01/01 00:00:00'(date)
Default for EMP_HIRE_DATE is '0001/01/01 00:00:00'(date)
Default for EMP_TERM_DATE is '0001/01/01 00:00:00'(date)
Default for ASG_HOURS is 37.5
Inputs are monthly_amount
/**************************************************************
Initialise
**************************************************************/
ptime_factor =round(ASG_HOURS/37.5,4)
salary = round(monthly_amount*ptime_factor,2)
ee_period_start_ann_salary = 0
ee_period_end_ann_salary = 0
sal_adv_ded = 0
sal_adv_arrears = 0
sal_adv_bal = 0
proration_msg = ' '
new_hire_msg = ' '
terminate_msg = ' '
sal_adv_msg = ' '
/**************************************************************
msg_flag is used to determine what messages if
any are to be returned in the return section at the
6
end. This is done so that unwanted messages
do not appear as blanks.
It is incremented by a number each time
a condition is detected, the sum of which indicates
which messages are to be returned
1 = Monthly Salary Only
10 = New Hire
100 = End Employment
1000 = Salary Advance Present
**************************************************************/
msg_flag = 1
days_in_payroll_period = get_working_days (PAY_PROC_PERIOD_START_DATE, PAY_PROC_PERIOD_END_DATE)
ee_period_start_date = PAY_PROC_PERIOD_START_DATE
ee_period_end_date = PAY_PROC_PERIOD_END_DATE
/**************************************************************
Test for New Hire
**************************************************************/
IF
(
EMP_HIRE_DATE > PAY_PROC_PERIOD_START_DATE
and
EMP_HIRE_DATE < PAY_PROC_PERIOD_END_DATE
)
THEN
(
msg_flag = msg_flag + 10
new_hire_msg = 'Salary - '
new_hire_msg = new_hire_msg + 'New Starter ' + to_text(EMP_HIRE_DATE, 'DD-Mon-YYYY') + '. Welcome to UAE.'
ee_period_start_date = EMP_HIRE_DATE
)
/**************************************************************
Test for Termination
**************************************************************/
IF
(
EMP_TERM_DATE > PAY_PROC_PERIOD_START_DATE
and
EMP_TERM_DATE < PAY_PROC_PERIOD_END_DATE
)
THEN
(
msg_flag = msg_flag + 100
terminate_msg = 'Salary - '
terminate_msg = terminate_msg + 'Leaver ' + to_text(EMP_TERM_DATE, 'DD-Mon-YYYY') +'. Bye bye from UAE.'
ee_period_end_date = EMP_TERM_DATE
)
/**************************************************************
Pro rate for new hire or termination. If salary
change subsequently determined, then
recalculate salary proration
**************************************************************/
IF
(
new_hire_msg != ' '
or
terminate_msg !=' '
)
THEN
(
days_worked = get_working_days (ee_period_start_date, ee_period_end_date)
salary = round(salary * days_worked/days_in_payroll_period,2)
proration_msg = 'Salary - '
proration_msg = proration_msg + 'You have been paid for ' + to_text(days_worked) + ' working days.'
)
/**************************************************************
Check for Salary Advance
If the person is terminated in the period then
try to recover the entire outstanding balance else
take half of the available salary or the outstanding
balance, which ever is smaller.
**************************************************************/
IF
SALARY_ADVANCE_ASG_ITD > 0
THEN
(
msg_flag = msg_flag + 1000
IF
(
EMP_TERM_DATE >= PAY_PROC_PERIOD_START_DATE
and
EMP_TERM_DATE <= PAY_PROC_PERIOD_END_DATE
)
THEN
(
7
sal_adv_ded = least(SALARY_ADVANCE_ASG_ITD, salary)
sal_adv_arrears = least(0,(salary - SALARY_ADVANCE_ASG_ITD)) * -1
sal_adv_msg = 'Leaver. Salary advance recovered = ' + to_text(sal_adv_ded) + ' AED, arrears = ' + to_text(sal_adv_arrears) + ' AED.'
)
ELSE
(
sal_adv_ded = least(SALARY_ADVANCE_ASG_ITD, salary/2) /* 50% from monthly salary */
sal_adv_bal = SALARY_ADVANCE_ASG_ITD - sal_adv_ded
sal_adv_msg = 'Salary advance deduction = ' + to_text(sal_adv_ded) + ' AED, outstanding balance = ' + to_text(sal_adv_bal) + ' AED.'
)
)
/**************************************************************
Return Section
**************************************************************/
IF
msg_flag = 1
THEN
return salary
ELSE
IF
msg_flag = 11
THEN
return salary, new_hire_msg, proration_msg
ELSE
IF
msg_flag = 101
THEN
return salary, terminate_msg, proration_msg
ELSE
IF
msg_flag = 111
THEN
return salary, new_hire_msg, terminate_msg, proration_msg
ELSE
IF
msg_flag =1001
THEN
return salary, sal_adv_ded, sal_adv_msg
IF
msg_flag = 1011
THEN
return salary, new_hire_msg, proration_msg, sal_adv_ded, sal_adv_msg
ELSE
IF
msg_flag =1101
THEN
return salary, terminate_msg, proration_msg, sal_adv_ded, sal_adv_msg
ELSE
IF
msg_flag = 1111
THEN
return salary, new_hire_msg, terminate_msg, proration_msg, sal_adv_ded, sal_adv_msg
.

More Related Content

Similar to UAE Advanced Salary

Anvica Payroll Management
Anvica Payroll ManagementAnvica Payroll Management
Anvica Payroll ManagementVijay Nilevar
 
Payroll System Specification
Payroll System SpecificationPayroll System Specification
Payroll System SpecificationMichael Hather
 
Emsphere Web based - Payroll Management Solution
Emsphere Web based - Payroll Management Solution Emsphere Web based - Payroll Management Solution
Emsphere Web based - Payroll Management Solution RITESH HELONDE
 
Payroll process oracle hrms
Payroll process oracle hrmsPayroll process oracle hrms
Payroll process oracle hrmsShaju Shana
 
142500146 using-oracle-fast formula-for-payroll-calculations
142500146 using-oracle-fast formula-for-payroll-calculations142500146 using-oracle-fast formula-for-payroll-calculations
142500146 using-oracle-fast formula-for-payroll-calculationsuday reddy
 
237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdf
237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdf237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdf
237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdfsouad72
 
Various compensation systems
Various compensation systemsVarious compensation systems
Various compensation systemsDreams Design
 
Complete config of payroll
Complete config of payrollComplete config of payroll
Complete config of payrollMadhav1510
 
THE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docx
THE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docxTHE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docx
THE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docxTalentPro India HR Pvt Ltd
 
Access controls for Operands
Access controls for OperandsAccess controls for Operands
Access controls for OperandsRakesh Dasgupta
 
HR & Payroll Management Software Solution_Linespay
HR & Payroll Management Software Solution_LinespayHR & Payroll Management Software Solution_Linespay
HR & Payroll Management Software Solution_LinespayPrism ERP
 
Erp next dalal ahmed dalal
Erp next dalal ahmed dalalErp next dalal ahmed dalal
Erp next dalal ahmed dalalDalalDalaldalal1
 
Admm crp oracle payroll
Admm crp oracle payrollAdmm crp oracle payroll
Admm crp oracle payrollFeras Ahmad
 
TallyPayroll
TallyPayrollTallyPayroll
TallyPayrollmagiee
 
A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...
A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...
A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...Nabarun Chakraborty
 
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Alithya
 

Similar to UAE Advanced Salary (20)

Anvica Payroll Management
Anvica Payroll ManagementAnvica Payroll Management
Anvica Payroll Management
 
Payroll System Specification
Payroll System SpecificationPayroll System Specification
Payroll System Specification
 
Emsphere Web based - Payroll Management Solution
Emsphere Web based - Payroll Management Solution Emsphere Web based - Payroll Management Solution
Emsphere Web based - Payroll Management Solution
 
Payroll process oracle hrms
Payroll process oracle hrmsPayroll process oracle hrms
Payroll process oracle hrms
 
142500146 using-oracle-fast formula-for-payroll-calculations
142500146 using-oracle-fast formula-for-payroll-calculations142500146 using-oracle-fast formula-for-payroll-calculations
142500146 using-oracle-fast formula-for-payroll-calculations
 
237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdf
237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdf237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdf
237922323-Payroll-Setups-of-Oracle-HRMS-R12.pdf
 
Payroll Managment
Payroll ManagmentPayroll Managment
Payroll Managment
 
Various compensation systems
Various compensation systemsVarious compensation systems
Various compensation systems
 
Complete config of payroll
Complete config of payrollComplete config of payroll
Complete config of payroll
 
THE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docx
THE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docxTHE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docx
THE ESSENTIAL GUIDE TO PAYROLL SERVICE IN BANGALORE.docx
 
Access controls for Operands
Access controls for OperandsAccess controls for Operands
Access controls for Operands
 
ACCT11_5_Adjusting Entries.pptx
ACCT11_5_Adjusting Entries.pptxACCT11_5_Adjusting Entries.pptx
ACCT11_5_Adjusting Entries.pptx
 
HR & Payroll Management Software Solution_Linespay
HR & Payroll Management Software Solution_LinespayHR & Payroll Management Software Solution_Linespay
HR & Payroll Management Software Solution_Linespay
 
Erp next dalal ahmed dalal
Erp next dalal ahmed dalalErp next dalal ahmed dalal
Erp next dalal ahmed dalal
 
Admm crp oracle payroll
Admm crp oracle payrollAdmm crp oracle payroll
Admm crp oracle payroll
 
Tally 9.0
Tally  9.0Tally  9.0
Tally 9.0
 
TallyPayroll
TallyPayrollTallyPayroll
TallyPayroll
 
A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...
A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...
A CASE STUDY ON EPF INCENTIVE REFUND SCHEME - CONDUCTED BY NABARUN CHAKRABORT...
 
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
 
Chapter 10 compensation and benefits
Chapter 10 compensation and benefitsChapter 10 compensation and benefits
Chapter 10 compensation and benefits
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

UAE Advanced Salary

  • 1. 1 How to enable salary advance for UAE legislation 1.1 Scope for this Document There is a requirement for providing a setup that can be used for Salary Advance processing in UAE Localization. The Salary Advance Processing will consider the salary administrator calculation for terminated employees and new hire Salary Advance Processing – In this document we will be considering the setup that needs to be set for enabling the Salary Advance processing. 1.2 Purpose of this Document Enable "Salary Advance" requirements for UAE localization 1.3 Business Requirements Overview For UAE, it is proposed to provide a solution that will enable us to process the Salary Advance for an employee 1.4 Solution analysis 1.5 Solution Overview Will pay a salary advance unless the employee is being terminated in the same period hence it will cancel the advance with a warning message. Recovery of the advance is made through the monthly salary formula PS. : Monthly installments deduction for advanced payment will be flat value (50%) from monthly salary, modification may happen to enable user to determine the value that require to be deducted for every month 1.6 Solution Model 1.6.1 Elements For supporting "Salary Advance" processing the following elements need to be present. 1. Salary Advance This element will drive the "Salary Advance" amount after validating it through attached formula This will be a Nonrecurring element attached to an employee for whom the" Salary Advance" needs to be processed. This element will be used for payment of "Salary Advance" upon Request this element will have classification of ‘Earning’. Element Name Salary Advance Description Advance of salary. Recovery is made in the Monthly Salary formula Primary Classification EARNINIG Standard N Reporting Name Salary Advance Effective Start Date 01-JAN-0001 Processing – Standard Type Nonrecurring Termination Last Standard Process Multiple Entries Allowed Y Additional Entry Allowed N Closed for Entry N Process in Run Y Indirect Results N Adjustment Only N Third Party Payment N Priority 1550 Skip Rule NULL Currency Input AED Output AED
  • 2. 2 There will be two input values for this element. Advanced Amount, Pay Value, Will hold the advanced amount if employee was eligible to take it. Input Values Name Advanced Amount Pay Value Units Money Money Sequence 1 2 Required Y N User Enterable Y Y Database Item Y Y Hot Default N N Default NULL NULL Lookup NULL NULL Formula NULL NULL Minimum NULL NULL Maximum NULL NULL Warning/Error NULL NULL Effective Start Date 01-JAN- 0001 01-JAN- 0001 2. Salary Advance Deduction This element will be used for deduct the accrued 'Salary Advance'. This element will have classification of 'Voluntary Deductions'. This will be an indirect element fed by the monthly salary formula. Depending on the employee status, the formula will calculate the 'Salary Advance deduction' for each month and decrease it to the accrued amount. Element Name Salary Advance Deduction Description Recovers the salary advance from the amount passed from the monthly salary formula at a rate of half the salary per period . Primary Classification Voluntary Deductions Standard N Reporting Name Salary Advance Deduction Effective Start Date 01-JAN-0001 Processing – Standard Type nonrecurring Termination Last Standard Process Multiple Entries Allowed Y Additional Entry Allowed N Closed for Entry N Process in Run Y Indirect Results Y Adjustment Only N Third Party Payment N Priority 10500 Skip Rule null Currency Input AED Output AED There will be one input value for this element. Pay Value - will hold the monthly deduction. Input Values Name Pay Value Units Money Sequence 1 Required N User Enterable Y Database Item Y Hot Default N Default NULL Lookup NULL Formula NULL Minimum NULL Maximum NULL Warning/Error NULL
  • 3. 3 Effective Start Date 01-JAN- 0001 Monthly Salary This element will be to determine the basic salary for this employee as it will be salary basis which will be the subject for 'Salary Advance deduction'. This element will have classification of 'Earning'. This will be direct element fed by the monthly salary formula. Element Name Monthly Salary Description Monthly Salary used for Monthly Salary in Salary Administration . Primary Classification Earnings Standard N Reporting Name Monthly Salary Effective Start Date 01-JAN-0001 Processing – Standard Type Recurring Termination Last Standard Process Multiple Entries Allowed N Additional Entry Allowed N Closed for Entry N Process in Run Y Indirect Results N Adjustment Only N Third Party Payment N Priority 1500 Skip Rule AE_ONCE_EACH_PERIOD Currency Input AED Output AED Input Values Name Monthly Amount Pay Value Units Money Money Sequence 1 2 Required y N User Enterable y Y Database Item y Y Hot Default N N Default NULL NULL Lookup NULL NULL Formula NULL NULL Minimum NULL NULL Maximum NULL NULL Warning/Error NULL NULL Effective Start Date 01-JAN- 0001 01-JAN- 0001 1. Balance New Balance: Salary Advance This balance will hold the Salary Advance amount that PAID Name Salary Advance Units Money Currency AED Use for Remuneration No Element Classification Feed(s) - Element Feed(s) Salary Advance (Pay Value) Add Salary Advance Deduction (Pay Value) Subtract Dimension(s) _ASG_ITD
  • 4. 4 Seeded Balance: Name Total Pay Units Money Currency AED Use for Remuneration No Element Classification Feed(s) - Element Feed(s) Monthly Salary (Pay Value) Add Salary Advance (Pay Value) Add Salary Advance Deduction (Pay Value) Subtract Dimension(s) Payments Name Net Units Money Currency AED Use for Remuneration No Element Classification Feed(s) - Element Feed(s) Monthly Salary (Pay Value) Add Salary Advance (Pay Value) ADD Salary Advance Deduction (Pay Value) Subtract Dimension(s) _ASG_Run Formula Result 1) SALARY_ADVANCE Advance of salary. Recovery is made in the Monthly Salary formula Processing Rules: Standard/ SALARY_ADVANCE Name (Return Item) type Element Input Value units Message severity ADV_AMOUNT Direct result Salary Advance Pay Value money PAID_MSG Message Information TERM_MSG Message Warning 2) Monthly Salary Monthly Salary used for Monthly Salary in Salary Administration Processing Rules: Standard/ Monthly_ SALARY Name (Return Item) type Element Input Value units Message severity NEW_HIRE_MSG Message Information PRORATION_MSG Message Information SALARY Direct result Monthly Salary Pay Value money SAL_ADV_DED Indirect result Salary Advance Deduction Pay Value money SAL_ADV_MSG Message Information TERMINATE_MSG Message Information Formula : 1) SALARY_ADVANCE Type: Oracle Payroll Desc: Salary advance formula that pays advances unless the employee is being terminated in the same period. /************************************************************** UAE Payroll Formula Salary Advance This formula will pay a salary advance unless the Employee is being terminated in the same period
  • 5. 5 Whence it will cancel the advance with a warning Message. Recovery of the advance is made through the monthly salary formula **************************************************************/ default for PAY_PROC_PERIOD_START_DATE is '1900/01/01 00:00:00' (date) default for PAY_PROC_PERIOD_END_DATE is '1900/01/01 00:00:00' (date) default for EMP_TERM_DATE is '4712/12/31 00:00:00' (date) Inputs are advanced_amount /************************************************************** Initialise any local variables **************************************************************/ adv_amount = advanced_amount term_msg = 'Salary Advance: Advance of ' + to_text(advanced_amount) + ' AED, is being made in same period as termination – cancelled' paid_msg = 'Salary Advance: Advance of ' + to_text(advanced_amount) + ' AED made this period. Recovery starts next period' /************************************************************** check if the advance is being made in the same period as the employee is being terminated. If so cancel it with a message **************************************************************/ IF ( EMP_TERM_DATE <= PAY_PROC_PERIOD_END_DATE and EMP_TERM_DATE >= PAY_PROC_PERIOD_START_DATE ) THEN return term_msg ELSE return adv_amount, paid_msg 2) MONTHLY_SALARY Type: Oracle Payroll Desc: Monthly Salary formula for UAE. /************************************************************** UAE Payroll Formula Monhtly Salary Based on Salary Administration This formula will pay the monthly salary as entered in salary administration. It will also pro rate for starters, leavers and part timers. A check is made for a salary advance and will calculate the recovery amount as 50% of salary which ever is the lower. **************************************************************/ Default for PAY_PROC_PERIOD_START_DATE is '0001/01/01 00:00:00'(date) Default for PAY_PROC_PERIOD_END_DATE is '0001/01/01 00:00:00'(date) Default for EMP_HIRE_DATE is '0001/01/01 00:00:00'(date) Default for EMP_TERM_DATE is '0001/01/01 00:00:00'(date) Default for ASG_HOURS is 37.5 Inputs are monthly_amount /************************************************************** Initialise **************************************************************/ ptime_factor =round(ASG_HOURS/37.5,4) salary = round(monthly_amount*ptime_factor,2) ee_period_start_ann_salary = 0 ee_period_end_ann_salary = 0 sal_adv_ded = 0 sal_adv_arrears = 0 sal_adv_bal = 0 proration_msg = ' ' new_hire_msg = ' ' terminate_msg = ' ' sal_adv_msg = ' ' /************************************************************** msg_flag is used to determine what messages if any are to be returned in the return section at the
  • 6. 6 end. This is done so that unwanted messages do not appear as blanks. It is incremented by a number each time a condition is detected, the sum of which indicates which messages are to be returned 1 = Monthly Salary Only 10 = New Hire 100 = End Employment 1000 = Salary Advance Present **************************************************************/ msg_flag = 1 days_in_payroll_period = get_working_days (PAY_PROC_PERIOD_START_DATE, PAY_PROC_PERIOD_END_DATE) ee_period_start_date = PAY_PROC_PERIOD_START_DATE ee_period_end_date = PAY_PROC_PERIOD_END_DATE /************************************************************** Test for New Hire **************************************************************/ IF ( EMP_HIRE_DATE > PAY_PROC_PERIOD_START_DATE and EMP_HIRE_DATE < PAY_PROC_PERIOD_END_DATE ) THEN ( msg_flag = msg_flag + 10 new_hire_msg = 'Salary - ' new_hire_msg = new_hire_msg + 'New Starter ' + to_text(EMP_HIRE_DATE, 'DD-Mon-YYYY') + '. Welcome to UAE.' ee_period_start_date = EMP_HIRE_DATE ) /************************************************************** Test for Termination **************************************************************/ IF ( EMP_TERM_DATE > PAY_PROC_PERIOD_START_DATE and EMP_TERM_DATE < PAY_PROC_PERIOD_END_DATE ) THEN ( msg_flag = msg_flag + 100 terminate_msg = 'Salary - ' terminate_msg = terminate_msg + 'Leaver ' + to_text(EMP_TERM_DATE, 'DD-Mon-YYYY') +'. Bye bye from UAE.' ee_period_end_date = EMP_TERM_DATE ) /************************************************************** Pro rate for new hire or termination. If salary change subsequently determined, then recalculate salary proration **************************************************************/ IF ( new_hire_msg != ' ' or terminate_msg !=' ' ) THEN ( days_worked = get_working_days (ee_period_start_date, ee_period_end_date) salary = round(salary * days_worked/days_in_payroll_period,2) proration_msg = 'Salary - ' proration_msg = proration_msg + 'You have been paid for ' + to_text(days_worked) + ' working days.' ) /************************************************************** Check for Salary Advance If the person is terminated in the period then try to recover the entire outstanding balance else take half of the available salary or the outstanding balance, which ever is smaller. **************************************************************/ IF SALARY_ADVANCE_ASG_ITD > 0 THEN ( msg_flag = msg_flag + 1000 IF ( EMP_TERM_DATE >= PAY_PROC_PERIOD_START_DATE and EMP_TERM_DATE <= PAY_PROC_PERIOD_END_DATE ) THEN (
  • 7. 7 sal_adv_ded = least(SALARY_ADVANCE_ASG_ITD, salary) sal_adv_arrears = least(0,(salary - SALARY_ADVANCE_ASG_ITD)) * -1 sal_adv_msg = 'Leaver. Salary advance recovered = ' + to_text(sal_adv_ded) + ' AED, arrears = ' + to_text(sal_adv_arrears) + ' AED.' ) ELSE ( sal_adv_ded = least(SALARY_ADVANCE_ASG_ITD, salary/2) /* 50% from monthly salary */ sal_adv_bal = SALARY_ADVANCE_ASG_ITD - sal_adv_ded sal_adv_msg = 'Salary advance deduction = ' + to_text(sal_adv_ded) + ' AED, outstanding balance = ' + to_text(sal_adv_bal) + ' AED.' ) ) /************************************************************** Return Section **************************************************************/ IF msg_flag = 1 THEN return salary ELSE IF msg_flag = 11 THEN return salary, new_hire_msg, proration_msg ELSE IF msg_flag = 101 THEN return salary, terminate_msg, proration_msg ELSE IF msg_flag = 111 THEN return salary, new_hire_msg, terminate_msg, proration_msg ELSE IF msg_flag =1001 THEN return salary, sal_adv_ded, sal_adv_msg IF msg_flag = 1011 THEN return salary, new_hire_msg, proration_msg, sal_adv_ded, sal_adv_msg ELSE IF msg_flag =1101 THEN return salary, terminate_msg, proration_msg, sal_adv_ded, sal_adv_msg ELSE IF msg_flag = 1111 THEN return salary, new_hire_msg, terminate_msg, proration_msg, sal_adv_ded, sal_adv_msg .