Maybe I'm not getting the SQL Server operation properly , is there a simple way to write an SQL server View formula other than typing paragraphs of data?
I'm afraid those who will come after me, may find it harder to maintain this code, the code above deals with payroll cumulative tax (PAYE) calculation even if they may be Chartered Certified Accountants as well. The above formula works excellently and very fast in returning results.
Code:
SELECT
tblEmployees.EmpID,
tblEmployees.Fname,
tblEmployees.Lname,
tblEmployees.StaffNumber,
tblEmployees.JobTitle,
tblEmployees.SocialSecurity,
tblEmployees.NRC,
tblEmployees.PayMethod,
tblEmployees.BankName,
tblEmployees.AccountCode,
tblEmployees.PaymentType,
tblPayslip.BasicSalary,
tblPayslip.HousingAllowance,
tblPayslip.TransportAllowance,
tblPayslip.LunchAllowance,
tblOtherSalary.TTDate,
tblOtherSalary.XMasBonus,
tblOtherSalary.OtherBonuses,
tblOtherSalary.Gratuity,
tblOtherSalary.LeavePay,
tblOtherSalary.OtherArears,
tblOtherSalary.Overtime,
tblOtherSalary.DoubleTime,
tblOtherSalary.OtherIncentive,
tblOtherSalary.StaffLoans,
tblOtherSalary.OtherDeductions,
tblOtherSalary.Advances,
tblNAPSA.Rate,
tblNAPSA.CelingRate,
tblNAPSA.NAPSAFree,
tblTaxation.FreeTax,
tblTaxation.BandOne,
tblTaxation.BandTwo,
tblTaxation.TaxRateone,
tblTaxation.TaxRateTwo,
tblTaxation.TaxRateThree,
tblTaxation.EducationLevy,
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((XMasBonus), 0) + COALESCE((OtherBonuses), 0) + COALESCE((([Gratuity] + [PriorGratuity])), 0) + COALESCE((LeavePay), 0) + COALESCE((OtherArears), 0) +(
COALESCE((Overtime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 1.5
)
) +(
COALESCE((DoubleTime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 2
)
) + COALESCE((OtherIncentive), 0) + COALESCE((Covid19Allowance), 0) AS Gross,
IIf(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((XMasBonus), 0) + COALESCE((Covid19Allowance), 0) + COALESCE((OtherBonuses), 0) + COALESCE((Gratuity), 0) + COALESCE((LeavePay), 0) + COALESCE((OtherArears), 0) + COALESCE((Overtime), 0) + COALESCE((DoubleTime), 0) + COALESCE((OtherIncentive), 0)
) *(Rate)
) > NAPSAFree,
NAPSAFree,(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((XMasBonus), 0) + COALESCE((Covid19Allowance), 0) + COALESCE((OtherBonuses), 0) + COALESCE((Gratuity), 0) + COALESCE((LeavePay), 0) + COALESCE((OtherArears), 0) + COALESCE((Overtime), 0) + COALESCE((DoubleTime), 0) + COALESCE((OtherIncentive), 0)
) *(Rate)
)
) AS Pension,
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((XMasBonus), 0) + COALESCE((OtherBonuses), 0) + COALESCE((Gratuity), 0) + COALESCE((LeavePay), 0) + COALESCE((OtherArears), 0) +(
COALESCE((Overtime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 1.5
)
) +(
COALESCE((DoubleTime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 2
)
) + COALESCE((OtherIncentive), 0)
) - COALESCE(Gratuity, 0)
) AS Taxable,
IIf(
DateDiff(YEAR, DateofBirth, GetDate()) >= 55,
0,(
IIf(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((XMasBonus), 0) + COALESCE((OtherBonuses), 0) + COALESCE((([Gratuity] + [PriorGratuity])), 0) + COALESCE((Covid19Allowance), 0) + COALESCE((LeavePay), 0) + COALESCE((OtherArears), 0) +(
COALESCE((Overtime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 1.5
)
) +(
COALESCE((DoubleTime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 2
)
) + COALESCE((OtherIncentive), 0)
) *(Rate)
) > CelingRate,
CelingRate,(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((XMasBonus), 0) + COALESCE((OtherBonuses), 0) + COALESCE((([Gratuity] + [PriorGratuity])), 0) + COALESCE((Covid19Allowance), 0) + COALESCE((LeavePay), 0) + COALESCE((OtherArears), 0) +(
COALESCE((Overtime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 1.5
)
) +(
COALESCE((DoubleTime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 2
)
) + COALESCE((OtherIncentive), 0)
) *(Rate)
)
)
)
) AS HHPension,
tblPayslip.Closures,
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((XMasBonus), 0) + COALESCE((OtherBonuses), 0) + COALESCE((([Gratuity] + [PriorGratuity])), 0) + COALESCE((LeavePay), 0) + COALESCE((OtherArears), 0) +(
COALESCE((Overtime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 1.5
)
) +(
COALESCE((DoubleTime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 2
)
) + COALESCE((OtherIncentive), 0) + COALESCE((Covid19Allowance), 0)
) AS FFGross,
tblCostCentre.CostID,
tblCostCentre.CostName,
tblOtherSalary.PersonalLevy,
tblOtherSalary.UniDues,
tblOtherSalary.NHI,
tblOtherSalary.Absentism,
(
COALESCE((Overtime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 1.5
)
) AS OTTIME,
(
COALESCE((DoubleTime), 0) *(
(
(
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0)
) / 208
) * 2
)
) AS DTTIME,
tblEmployees.GratuityRate,
tblOtherSalary.LeaveDays,
tblOtherSalary.LeaveTaken,
COALESCE((BasicSalary), 0) + COALESCE((HousingAllowance), 0) + COALESCE((TransportAllowance), 0) + COALESCE((LunchAllowance), 0) + COALESCE((Covid19Allowance), 0) AS GrossBasic,
DateDiff(YEAR, DateofBirth, GetDate()) AS NAPSAYEAR,
tblOtherSalary.PriorGratuity,
(Gratuity + PriorGratuity) AS FinGratuity,
tblEmployees.NHIAccount,
tblPayslip.Covid19Allowance,
tblOtherSalary.Loans
FROM
(
(
tblCostCentre
INNER JOIN tblEmployees ON tblCostCentre.CostID = tblEmployees.CostID
)
INNER JOIN (
tblNAPSA
INNER JOIN (
tblTaxation
INNER JOIN tblPayslip ON tblTaxation.TaxID = tblPayslip.TaxID
) ON tblNAPSA.NAPSAID = tblPayslip.NAPSAID
) ON tblEmployees.EmpID = tblPayslip.EmpID
)
INNER JOIN tblOtherSalary ON tblPayslip.IDPAY = tblOtherSalary.IDPAY
I'm afraid those who will come after me, may find it harder to maintain this code, the code above deals with payroll cumulative tax (PAYE) calculation even if they may be Chartered Certified Accountants as well. The above formula works excellently and very fast in returning results.
Last edited: