Sei sulla pagina 1di 8

basic pay:

IF (PAYRATE <> 0.00)


DAYSPERMON = 26
PERDAY = IIF((DAYRATE = 0.00),ROUND(PAYRATE/DAYSPERMON,2),DAYRATE)
BASICPAY = ROUND(PAYRATE/2,2) + ROUND(PERDAY * ((RESTDAYS * 1.3) + (HOLIDAYS *
2.0) + (HOLIREST * 2.6) + (SPCDAYS * 1.3) + (SPCREST * 1.5)),2)
** FOR SEMI MONTHLY
ELSE
BASICPAY = ROUND(DAYRATE * (REGDAYS + (RESTDAYS * 1.3) + (HOLIDAYS * 2.0) +
(HOLIREST * 2.6) + (SPCDAYS * 1.3) + (SPCREST * 1.5)),2)
** ASSUMES REGDAYS does not include RESTDAYS, HOLIDAYS, etc.
ENDIF
========================================
hourly rate
IF (DAYRATE = 0.00)
DAYSPERMON = 26
HOURPAY = ROUND((PAYRATE/DAYSPERMON)/8,2)
ELSE
HOURPAY = ROUND(DAYRATE/8,2)
ENDIF
=======================================
Overtime pay
** 1.69 = 1.3 x 1.3
** 2.60 = 2.0 x 1.3
** 3.38 = 2.6 x 1.3
** 1.95 = 1.5 x 1.3
OTPAY = ROUND(HOURPAY * ((PAYHRS(REGDAYSOT) * 1.25) + (PAYHRS(RESTDAYSOT) * 1.69) +
(PAYHRS(HOLIDAYSOT) * 2.60) + (PAYHRS(HOLIRESTOT) * 3.38) + (PAYHRS(SPCDAYSOT) *
1.69) + (PAYHRS(SPCRESTOT) * 1.95)),2)
========================================
Undertime pay
DAYSPERMON = 26
PERDAY = IIF((DAYRATE = 0.00),ROUND(PAYRATE/DAYSPERMON,2),DAYRATE)
UTPAY = ROUND((HOURPAY * PAYHRS(UNDERTIME)) + (HOURPAY * PAYHRS(TARDINESS)) +
(ABSENCES * PERDAY),2)
==========================================
Night diffential pay
NDPAY = ROUND(HOURPAY * ((PAYHRS(REGDAYSND) * 1.00) + (PAYHRS(RESTDAYSND) * 1.3) +
(PAYHRS(HOLIDAYSND) * 2.0) + (PAYHRS(HOLIRESTND) * 2.5) + (PAYHRS(SPCDAYSND) * 1.3)
+ (PAYHRS(SPCRESTND) * 1.5)) * 0.10,2) && Premium Only
NDPAY = NDPAY + ROUND(HOURPAY * ((PAYHRS(REGDAYSOD) * 1.25) + (PAYHRS(RESTDAYSOD) *
1.69) + (PAYHRS(HOLIDAYSOD) * 2.60) + (PAYHRS(HOLIRESTOD) * 3.25) +
(PAYHRS(SPCDAYSOD) * 1.69) + (PAYHRS(SPCRESTOD) * 1.95)) * 1.10,2) && Premium and
OT

========================================
Gross Pay
GROSSPAY = BASICPAY + OTPAY - UTPAY + NDPAY

++++++++++++++++++++++++++++++++++++++++++++
DAYSPERMON = 26
SSSPAY = IIF(PAYRATE = 0.00,DAYRATE*DAYSPERMON,PAYRATE)
DO CASE
CASE (SSSPAY >= 14750)
SSSSHARE = 1090.00
SSSCONT = 500.00
CASE (SSSPAY >= 14250)
SSSSHARE = 1034.70
SSSCONT = 483.30
CASE (SSSPAY >= 13750)
SSSSHARE = 999.30
SSSCONT = 466.70
CASE (SSSPAY >= 13250)
SSSSHARE = 964
SSSCONT = 450.00
CASE (SSSPAY >= 12750)
SSSSHARE = 928.70
SSSCONT = 433.30
CASE (SSSPAY >= 12250)
SSSSHARE = 893.30
SSSCONT = 416.70
CASE (SSSPAY >= 11750)
SSSSHARE = 858.00
SSSCONT = 400.00
CASE (SSSPAY >= 11250)
SSSSHARE = 822.70
SSSCONT = 383.30
CASE (SSSPAY >= 10750)
SSSSHARE = 787.30
SSSCONT = 366.70
CASE (SSSPAY >= 10250)
SSSSHARE = 752
SSSCONT = 350
CASE (SSSPAY >= 9750)
SSSSHARE = 716
SSSCONT = 333.30
CASE (SSSPAY >= 9250)
SSSSHARE = 681.30
SSSCONT = 316.70
CASE (SSSPAY >= 8750)
SSSSHARE = 646.00
SSSCONT = 300
CASE (SSSPAY >= 8250)
SSSSHARE = 610.70
SSSCONT = 283.3
CASE (SSSPAY >= 7750)
SSSSHARE = 575.30
SSSCONT = 266.70
CASE (SSSPAY >= 7250)
SSSSHARE = 540.00
SSSCONT = 250.00
CASE (SSSPAY >= 6750)
SSSSHARE = 504.70
SSSCONT = 233.30
CASE (SSSPAY >= 6250)
SSSSHARE = 469.30
SSSCONT = 216.00
CASE (SSSPAY >= 5750)
SSSSHARE = 434.00
SSSCONT = 200.00
CASE (SSSPAY >= 5250)
SSSSHARE = 396.70
SSSCONT = 183.30
CASE (SSSPAY >= 4750)
SSSSHARE = 363.30
SSSCONT = 166.70
CASE (SSSPAY >= 4250)
SSSSHARE = 328.00
SSSCONT = 150.00
CASE (SSSPAY >= 3750)
SSSSHARE = 292.70
SSSCONT = 133.30
CASE (SSSPAY >= 3250)
SSSSHARE = 257.30
SSSCONT = 116.70
CASE (SSSPAY >= 2750)
SSSSHARE = 222.00
SSSCONT = 100.00
CASE (SSSPAY >= 2250)
SSSSHARE = 186.70
SSSCONT = 83.30
CASE (SSSPAY >= 1750)
SSSSHARE = 151.30
SSSCONT = 68.70
CASE (SSSPAY >= 1250)
SSSSHARE = 116.00
SSSCONT = 50.00
CASE (SSSPAY >= 1000)
SSSSHARE = 80.70
SSSCONT = 33.30
OTHERWISE
SSSSHARE = 0.00
SSSCONT = 0.00
ENDCASE
SSSSHARE = ROUND(SSSSHARE/2,2) && FOR 15TH/30TH
SSSCONT = ROUND(SSSCONT/2,2) && FOR 15TH/30TH
** SSSSHARE = 0.00 && 30TH ONLY
** SSSCONT = 0.00 && 30TH ONLY

++++++++++++++++++++++++++++++++++++++++
Philhealth table
DAYSPERMON = 26
PHPAY = IIF(PAYRATE = 0.00,DAYRATE*DAYSPERMON,PAYRATE)
DO CASE
CASE (PHPAY >= 35000)
PHPREM = 437.50
CASE (PHPAY >= 34000)
PHPREM = 425.00
CASE (PHPAY >= 33000)
PHPREM = 412.50
CASE (PHPAY >= 32000)
PHPREM = 400.00
CASE (PHPAY >= 31000)
PHPREM = 387.50

CASE (PHPAY >= 30000)


PHPREM = 375.00
CASE (PHPAY >= 29000)
PHPREM = 362.50
CASE (PHPAY >= 28000)
PHPREM = 350.00
CASE (PHPAY >= 27000)
PHPREM = 337.50
CASE (PHPAY >= 26000)
PHPREM = 325.00
CASE (PHPAY >= 25000)
PHPREM = 312.50

CASE (PHPAY >= 24000)


PHPREM = 300.00
CASE (PHPAY >= 23000)
PHPREM = 287.50
CASE (PHPAY >= 22000)
PHPREM = 275.00
CASE (PHPAY >= 21000)
PHPREM = 262.50
CASE (PHPAY >= 20000)
PHPREM = 250.00
CASE (PHPAY >= 19000)
PHPREM = 237.50
CASE (PHPAY >= 18000)
PHPREM = 225.00
CASE (PHPAY >= 17000)
PHPREM = 212.50

CASE (PHPAY >= 16000)


PHPREM = 200.00
CASE (PHPAY >= 15000)
PHPREM = 187.50
CASE (PHPAY >= 14000)
PHPREM = 175.00
CASE (PHPAY >= 13000)
PHPREM = 162.50
CASE (PHPAY >= 12000)
PHPREM = 150.00
CASE (PHPAY >= 11000)
PHPREM = 137.50
CASE (PHPAY >= 10000)
PHPREM = 125.00
CASE (PHPAY >= 9000)
PHPREM = 112.50

CASE (PHPAY >= 8000)


PHPREM = 100.00

CASE (PHPAY > 0.00)


PHPREM = 87.50
OTHERWISE
PHPREM = 0.00

ENDCASE
** PHPREM = ROUND(PHPREM/2,2) && FOR 15TH and 30TH
** PHPREM = 0.00 && FOR 30TH ONLY
PHSHARE = PHPREM

++++++++++++++++++++++++++++++++++++
Pag-ibig table
DAYSPERMON = 26
HDMFPAY = IIF(PAYRATE = 0.00,DAYRATE*DAYSPERMON,PAYRATE)
HDMFSHARE = IIF(HDMFPAY>5000,5000,HDMFPAY)*0.02
HDMFCONT = IIF(HDMFPAY>5000,5000,HDMFPAY)*0.02
HDMFSHARE = ROUND(HDMFSHARE/2,2) && FOR 15TH/30TH
HDMFCONT = ROUND(HDMFCONT/2,2) && FOR 15TH/30TH
** HDMFSHARE = 0.00 && FOR 30TH
** HDMFCONT = 0.00 && FOR 30TH
++++++++++++++++++++++++++++++++++++++++
Tax table Pay
TAXABLEPAY = BASICPAY +OTPAY -UTPAY +NDPAY -SSSCONT -PHPREM -HDMFCONT

+++++++++++++++++++++++++++++++++++++++++
Wi8thholding tax
WTAXDIV = 24 && 12=MNTHLY,24=SEMI,52=WKLY,303=DAILY
WTAX = 0.00
WTAXbase = 0.00
WTAXexcL = 0.00
WTAXexcP = 0.00
DO CASE
CASE (taxstat = "Z")
DO CASE
CASE (TAXABLEPAY >= ROUND(500000/WTAXDIV,0))
WTAXexcL = ROUND(500000/WTAXDIV,0)
WTAXbase = ROUND(125000/WTAXDIV,2)
WTAXexcP = 0.32
CASE (TAXABLEPAY >= ROUND(250000/WTAXDIV,0))
WTAXexcL = ROUND(250000/WTAXDIV,0)
WTAXbase = ROUND(50000/WTAXDIV,2)
WTAXexcP = 0.30
CASE (TAXABLEPAY >= ROUND(140000/WTAXDIV,0))
WTAXexcL = ROUND(140000/WTAXDIV,0)
WTAXbase = ROUND(22500/WTAXDIV,2)
WTAXexcP = 0.25
CASE (TAXABLEPAY >= ROUND(70000/WTAXDIV,0))
WTAXexcL = ROUND(70000/WTAXDIV,0)
WTAXbase = ROUND(8500/WTAXDIV,2)
WTAXexcP = 0.20
CASE (TAXABLEPAY >= ROUND(30000/WTAXDIV,0))
WTAXexcL = ROUND(30000/WTAXDIV,0)
WTAXbase = ROUND(2500/WTAXDIV,2)
WTAXexcP = 0.15
CASE (TAXABLEPAY >= ROUND(10000/WTAXDIV,0))
WTAXexcL = ROUND(10000/WTAXDIV,0)
WTAXbase = ROUND(500/WTAXDIV,2)
WTAXexcP = 0.10
CASE (TAXABLEPAY >= 0.00)
WTAXbase = 0.00
WTAXexcL = 0.00
WTAXexcP = 0.05
ENDCASE
CASE (taxstat = "S ") or (taxstat = "ME ")
DO CASE
CASE (TAXABLEPAY >= ROUND(550000/WTAXDIV,0))
WTAXexcL = ROUND(550000/WTAXDIV,0)
WTAXbase = ROUND(125000/WTAXDIV,2)
WTAXexcP = 0.32
CASE (TAXABLEPAY >= ROUND(300000/WTAXDIV,0))
WTAXexcL = ROUND(300000/WTAXDIV,0)
WTAXbase = ROUND(50000/WTAXDIV,2)
WTAXexcP = 0.30
CASE (TAXABLEPAY >= ROUND(190000/WTAXDIV,0))
WTAXexcL = ROUND(190000/WTAXDIV,0)
WTAXbase = ROUND(22500/WTAXDIV,2)
WTAXexcP = 0.25
CASE (TAXABLEPAY >= ROUND(120000/WTAXDIV,0))
WTAXexcL = ROUND(120000/WTAXDIV,0)
WTAXbase = ROUND(8500/WTAXDIV,2)
WTAXexcP = 0.20
CASE (TAXABLEPAY >= ROUND(80000/WTAXDIV,0))
WTAXexcL = ROUND(80000/WTAXDIV,0)
WTAXbase = ROUND(2500/WTAXDIV,2)
WTAXexcP = 0.15
CASE (TAXABLEPAY >= ROUND(60000/WTAXDIV,0))
WTAXexcL = ROUND(60000/WTAXDIV,0)
WTAXbase = ROUND(500/WTAXDIV,2)
WTAXexcP = 0.10
CASE (TAXABLEPAY >= ROUND(50000/WTAXDIV,0))
WTAXexcL = ROUND(50000/WTAXDIV,0)
WTAXbase = 0.00
WTAXexcP = 0.05
ENDCASE
CASE (taxstat = "S1") or (taxstat = "ME1")
DO CASE
CASE (TAXABLEPAY >= ROUND(575000/WTAXDIV,0))
WTAXexcL = ROUND(575000/WTAXDIV,0)
WTAXbase = ROUND(125000/WTAXDIV,2)
WTAXexcP = 0.32
CASE (TAXABLEPAY >= ROUND(325000/WTAXDIV,0))
WTAXexcL = ROUND(325000/WTAXDIV,0)
WTAXbase = ROUND(50000/WTAXDIV,2)
WTAXexcP = 0.30
CASE (TAXABLEPAY >= ROUND(215000/WTAXDIV,0))
WTAXexcL = ROUND(215000/WTAXDIV,0)
WTAXbase = ROUND(22500/WTAXDIV,2)
WTAXexcP = 0.25
CASE (TAXABLEPAY >= ROUND(145000/WTAXDIV,0))
WTAXexcL = ROUND(145000/WTAXDIV,0)
WTAXbase = ROUND(8500/WTAXDIV,2)
WTAXexcP = 0.20
CASE (TAXABLEPAY >= ROUND(105000/WTAXDIV,0))
WTAXexcL = ROUND(105000/WTAXDIV,0)
WTAXbase = ROUND(2500/WTAXDIV,2)
WTAXexcP = 0.15
CASE (TAXABLEPAY >= ROUND(85000/WTAXDIV,0))
WTAXexcL = ROUND(85000/WTAXDIV,0)
WTAXbase = ROUND(500/WTAXDIV,2)
WTAXexcP = 0.10
CASE (TAXABLEPAY >= ROUND(75000/WTAXDIV,0))
WTAXexcL = ROUND(75000/WTAXDIV,0)
WTAXbase = 0.00
WTAXexcP = 0.05
ENDCASE
CASE (taxstat = "S2") or (taxstat = "ME2")
DO CASE
CASE (TAXABLEPAY >= ROUND(600000/WTAXDIV,0))
WTAXexcL = ROUND(600000/WTAXDIV,0)
WTAXbase = ROUND(125000/WTAXDIV,2)
WTAXexcP = 0.32
CASE (TAXABLEPAY >= ROUND(350000/WTAXDIV,0))
WTAXexcL = ROUND(350000/WTAXDIV,0)
WTAXbase = ROUND(50000/WTAXDIV,2)
WTAXexcP = 0.30
CASE (TAXABLEPAY >= ROUND(240000/WTAXDIV,0))
WTAXexcL = ROUND(240000/WTAXDIV,0)
WTAXbase = ROUND(22500/WTAXDIV,2)
WTAXexcP = 0.25
CASE (TAXABLEPAY >= ROUND(170000/WTAXDIV,0))
WTAXexcL = ROUND(170000/WTAXDIV,0)
WTAXbase = ROUND(8500/WTAXDIV,2)
WTAXexcP = 0.20
CASE (TAXABLEPAY >= ROUND(130000/WTAXDIV,0))
WTAXexcL = ROUND(130000/WTAXDIV,0)
WTAXbase = ROUND(2500/WTAXDIV,2)
WTAXexcP = 0.15
CASE (TAXABLEPAY >= ROUND(110000/WTAXDIV,0))
WTAXexcL = ROUND(110000/WTAXDIV,0)
WTAXbase = ROUND(500/WTAXDIV,2)
WTAXexcP = 0.10
CASE (TAXABLEPAY >= ROUND(100000/WTAXDIV,0))
WTAXexcL = ROUND(100000/WTAXDIV,0)
WTAXbase = 0.00
WTAXexcP = 0.05
ENDCASE
CASE (taxstat = "S3") or (taxstat = "ME3")
DO CASE
CASE (TAXABLEPAY >= ROUND(625000/WTAXDIV,0))
WTAXexcL = ROUND(625000/WTAXDIV,0)
WTAXbase = ROUND(125000/WTAXDIV,2)
WTAXexcP = 0.32
CASE (TAXABLEPAY >= ROUND(375000/WTAXDIV,0))
WTAXexcL = ROUND(375000/WTAXDIV,0)
WTAXbase = ROUND(50000/WTAXDIV,2)
WTAXexcP = 0.30
CASE (TAXABLEPAY >= ROUND(265000/WTAXDIV,0))
WTAXexcL = ROUND(265000/WTAXDIV,0)
WTAXbase = ROUND(22500/WTAXDIV,2)
WTAXexcP = 0.25
CASE (TAXABLEPAY >= ROUND(195000/WTAXDIV,0))
WTAXexcL = ROUND(195000/WTAXDIV,0)
WTAXbase = ROUND(8500/WTAXDIV,2)
WTAXexcP = 0.20
CASE (TAXABLEPAY >= ROUND(155000/WTAXDIV,0))
WTAXexcL = ROUND(155000/WTAXDIV,0)
WTAXbase = ROUND(2500/WTAXDIV,2)
WTAXexcP = 0.15
CASE (TAXABLEPAY >= ROUND(135000/WTAXDIV,0))
WTAXexcL = ROUND(135000/WTAXDIV,0)
WTAXbase = ROUND(500/WTAXDIV,2)
WTAXexcP = 0.10
CASE (TAXABLEPAY >= ROUND(125000/WTAXDIV,0))
WTAXexcL = ROUND(125000/WTAXDIV,0)
WTAXbase = 0.00
WTAXexcP = 0.05
ENDCASE
CASE (taxstat = "S4") or (taxstat = "ME4")
DO CASE
CASE (TAXABLEPAY >= ROUND(650000/WTAXDIV,0))
WTAXexcL = ROUND(650000/WTAXDIV,0)
WTAXbase = ROUND(125000/WTAXDIV,2)
WTAXexcP = 0.32
CASE (TAXABLEPAY >= ROUND(400000/WTAXDIV,0))
WTAXexcL = ROUND(400000/WTAXDIV,0)
WTAXbase = ROUND(50000/WTAXDIV,2)
WTAXexcP = 0.30
CASE (TAXABLEPAY >= ROUND(290000/WTAXDIV,0))
WTAXexcL = ROUND(290000/WTAXDIV,0)
WTAXbase = ROUND(22500/WTAXDIV,2)
WTAXexcP = 0.25
CASE (TAXABLEPAY >= ROUND(220000/WTAXDIV,0))
WTAXexcL = ROUND(220000/WTAXDIV,0)
WTAXbase = ROUND(8500/WTAXDIV,2)
WTAXexcP = 0.20
CASE (TAXABLEPAY >= ROUND(180000/WTAXDIV,0))
WTAXexcL = ROUND(180000/WTAXDIV,0)
WTAXbase = ROUND(2500/WTAXDIV,2)
WTAXexcP = 0.15
CASE (TAXABLEPAY >= ROUND(160000/WTAXDIV,0))
WTAXexcL = ROUND(160000/WTAXDIV,0)
WTAXbase = ROUND(500/WTAXDIV,2)
WTAXexcP = 0.10
CASE (TAXABLEPAY >= ROUND(150000/WTAXDIV,0))
WTAXexcL = ROUND(150000/WTAXDIV,0)
WTAXbase = 0.00
WTAXexcP = 0.05
ENDCASE
ENDCASE
WTAX = WTAXbase + ROUND((TAXABLEPAY-WTAXexcL)*WTAXexcP,2)

++++++++++++++++++++++++++++++++++++++

Deductions

DEDUCTIONS = SSSCONT + PHPREM + HDMFCONT + WTAX

Potrebbero piacerti anche