<% ' MyPAYE ' Module: ExportPaySummary.asp ' ' This software is the copyright of Mr T J Sheppard and may not be copied, duplicated or ' modified other than as permitted in the licence agreement. ' ' © 2012 - 2021 Mr T J Sheppard ' Lyndale House ' Church Street ' Bradwell ' Hope Valley ' S33 9HJ ' ' Tel 0845 643 5191 ' Email Support@MyPAYE.co.uk ' ' MyPAYE is a Registered Trademark of MyPAYE Ltd '------------------------------------------------------------------- ' ' Updated 25 May 2021 ' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ' Description - This module ' ' Amendment Log '------------------------------------------------------------------------------------------ ' Date | Name | Vers. | Description '------------------------------------------------------------------------------------------ ' 30/10/14 | TJS | 4.0.05 | Page added ' 07/11/14 | DC | 4.0.05a| Correcte processing of Student_Loan_On_PaySummary ' | | | Converted ' back to ' in 'run by' name. ' 22/05/15 | TJS | 4.0.15 | Corrected employer pension total value ' 08/04/16 | TJS | 5.0.07 | Modified to use ConvertForFileName function to prevent problems saving files ' 25/04/16 | DC | 5.0.08 | Included employment allowance. ' 07/07/16 | TJS | 5.0.11 | Modified to ignore payslips with Dummy_for_FPS flag set ' 22/11/16 | DC | 5.0.16 | Added pension details ' 14/02/17 | DC | 5.0.17 | Corrected typo (was Employee). ' 29/07/18 | TJS | 5.3.04 | Modified to cater for sending file as part of emailing reports ' 25/04/19 | TJS | 5.5.07 | Added missing quote characters around some numbers which if big enough have formatting commas and ' | added a column for PostGraduate Loans if Student Loans are included ' 31/05/20 | TJS | 5.8.00 | Modified to add sort by facility ' 29/09/20 | TJS | 5.8.04 | Modified to include " around pension contribution values when no pension pay item found ' 25/05/21 | TJS | 5.9.09 | Corrected variable name used to calculate total post grad loans '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' PageID = 70370 NoBack = False SessionID = request.querystring("ID") SessionVarsID = RemoveHTML(request.querystring("SV")) SourceFrame = RemoveHTML(request.querystring("S")) DestFrame = RemoveHTML(request.querystring("D")) EmployerID = CheckURLDBIDField(RemoveHTML(request.querystring("ER")), "EmployerID") PayrollID = CheckURLDBIDField(RemoveHTML(request.querystring("PR")), "PayrollID") TaxYear = RemoveHTML(request.querystring("TaxYear")) TaxPeriod = RemoveHTML(request.querystring("TaxPeriod")) SaveForEmail = RemoveHTML(request.querystring("SFE")) ' TJS 29/07/18 SortBy = RemoveHTML(request.querystring("SRT")) ' TJS 31/05/20 %> <%GetSessionVarsIDRecord(SessionVarsID)%> <%' start of code added TJS 08/04/16 function ConvertForFileName(NameToConvert) ' can't have spaces in parameters ConvertForFileName = replace("" & NameToConvert, " ", "_") ' this confuses Chrome so the end parameter flag gets included in the file type ConvertForFileName = replace(ConvertForFileName, "'", "_") ' not valid in a file name ConvertForFileName = replace(ConvertForFileName, "/", "_") ConvertForFileName = replace(ConvertForFileName, "\", "_") end function ' end of code added TJS 08/04/16 sql = "SELECT Employer_Name, Student_Loan_On_PaySummary, Pension_Detail_On_PaySummary FROM " & DBSchema & "Employers WHERE Employer_ID = " & EmployerID ' DC 22/11/16 set rsEmplName = OpenRecordset(objConn, sql) Student_Loan_On_PaySummary = rsEmplName("Student_Loan_On_PaySummary") ' DC 07/11/14 Pension_Detail_On_PaySummary = rsEmplName("Pension_Detail_On_PaySummary") ' DC 22/11/16 sql = "SELECT Payroll_Name, Last_Pay_Date, Auto_Enrol_Pension_ID FROM " & DBSchema & "Payrolls WHERE Payroll_ID = " sql = sql & PayrollID & " AND Employer_ID = " & EmployerID set rsPayroll = OpenRecordset(objConn, sql) PayrollName = rsPayroll("Payroll_Name") PayDate = rsPayroll("Last_Pay_Date") AutoEnrolPensionID = rsPayroll("Auto_Enrol_Pension_ID") rsPayroll.close set rsPayroll = nothing sql = "SELECT Pay_Slip_ID, PS.Payroll_Ref, Payroll_Rerun, PS.Employee_ID, Pay_Date, Employee_Name, Total_Earnings, Student_Loan_Deduct, PostGrad_Loan_Deduct, Total_Deductions, " ' TJS 31/05/20 sql = sql & "Net_Pay, PS.Pay_Method, Payroll_Run_By, PS.DateEntered, PS.Payroll_Sort_Order, Last_Name, Fore_Name_1, PS.Department FROM " & DBSchema & "Pay_Slips PS " ' TJS 31/05/20 sql = sql & "INNER JOIN " & DBSchema & "Employees EE ON PS.Employee_ID = EE.Employee_ID WHERE PS.Employer_ID = " & EmployerID & " AND Tax_Year = " & TaxYear ' TJS 31/05/20 sql = sql & " AND Payroll_Type = '" & ConvertQuoteChars(left(TaxPeriod, 1)) & "' AND Tax_Period = " & right(TaxPeriod, len(TaxPeriod) - 1) & " AND PS.Payroll_ID = " & PayrollID sql = sql & " AND PS.Deleted = 0 AND Dummy_for_FPS = 0" ' TJS 07/07/16 TJS 31/05/20 set rsTemp = OpenRecordset(objConn, sql) ' TJS 31/05/20 ' start of code added to cater for sort order options TJS 31/05/20 Const adVarChar = 200 Const adDouble = 5 Const adSmallInt = 2 Const adDate = 7 Set rsPaySummary = CreateObject("ADODB.RECORDSET") rsPaySummary.Fields.append "PayrollSortOrder", adDouble rsPaySummary.Fields.append "Pay_Slip_ID", adDouble rsPaySummary.Fields.append "Payroll_Ref", adVarChar, 50 rsPaySummary.Fields.append "Payroll_Rerun", adSmallInt rsPaySummary.Fields.append "Employee_ID", adDouble rsPaySummary.Fields.append "Pay_Date", adDate rsPaySummary.Fields.append "Employee_Name", adVarChar, 255 rsPaySummary.Fields.append "Total_Earnings", adDouble rsPaySummary.Fields.append "Student_Loan_Deduct", adDouble rsPaySummary.Fields.append "PostGrad_Loan_Deduct", adDouble rsPaySummary.Fields.append "Total_Deductions", adDouble rsPaySummary.Fields.append "Net_Pay", adDouble rsPaySummary.Fields.append "Pay_Method", adVarChar, 10 rsPaySummary.Fields.append "Payroll_Run_By", adDouble rsPaySummary.Fields.append "DateEntered", adDate rsPaySummary.Fields.append "LastName", adVarChar, 50 rsPaySummary.Fields.append "ForeName1", adVarChar, 50 rsPaySummary.Fields.append "Department", adVarChar, 50 rsPaySummary.CursorType = adOpenStatic rsPaySummary.Open varFields = Array("PayrollSortOrder", "Pay_Slip_ID", "Payroll_Ref", "Payroll_Rerun", "Employee_ID", "Pay_Date", "Employee_Name", "Total_Earnings", "Student_Loan_Deduct", _ "PostGrad_Loan_Deduct", "Total_Deductions", "Net_Pay", "Pay_Method", "Payroll_Run_By", "DateEntered", "LastName", "ForeName1", "Department") do while not rsTemp.EOF varValues = Array(rsTemp("Payroll_Sort_Order"), rsTemp("Pay_Slip_ID"), rsTemp("Payroll_Ref"), rsTemp("Payroll_Rerun"), rsTemp("Employee_ID"), rsTemp("Pay_Date"), _ rsTemp("Employee_Name"), rsTemp("Total_Earnings"), rsTemp("Student_Loan_Deduct"), rsTemp("PostGrad_Loan_Deduct"), rsTemp("Total_Deductions"), rsTemp("Net_Pay"), _ rsTemp("Pay_Method"), rsTemp("Payroll_Run_By"), rsTemp("DateEntered"), DecryptData(rsTemp("Last_Name")), DecryptData(rsTemp("Fore_Name_1")), DecryptData(rsTemp("Department"))) rsPaySummary.AddNew varFields, varValues rsPaySummary.Update rsTemp.movenext loop if "" & SortBy = "N" then rsPaySummary.Sort = "LastName, ForeName1" elseif SortBy = "F" then rsPaySummary.Sort = "ForeName1, LastName" else rsPaySummary.Sort = "PayrollSortOrder" end if rsTemp.close set rsTemp = nothing ' end of code added to cater for sort order options TJS 31/05/20 if not rsPaySummary.EOF then PayDate = rsPaySummary("Pay_Date") if cBool(rsPaySummary("Payroll_Rerun")) then RerunPayroll = "Yes" else RerunPayroll = "No" end if sql = "SELECT User_Title, User_Fore_Name, User_Last_Name FROM " & DBSchema & "Users WHERE User_ID = " & rsPaySummary("Payroll_Run_By") set rsPayrollRunBy = OpenRecordset(objConn, sql) PayrollRunBy = "" & DecryptData(rsPayrollRunBy("User_Title")) if PayrollRunBy <> "" then PayrollRunBy = PayrollRunBy & " " end if if "" & rsPayrollRunBy("User_Fore_Name") <> "" then PayrollRunBy = PayrollRunBy & DecryptData(rsPayrollRunBy("User_Fore_Name")) end if if PayrollRunBy <> "" then PayrollRunBy = PayrollRunBy & " " end if PayrollRunBy = replace(PayrollRunBy & DecryptData(rsPayrollRunBy("User_Last_Name")), "'", "'") ' DC 07/11/14 PayrollRunDate = rsPaySummary("DateEntered") rsPayrollRunBy.close set rsPayrollRunBy = nothing end if FileName = ConvertForFileName(rsEmplName("Employer_Name")) & "_Pay_Summary_" & TaxYear & "_" & TaxPeriod & ".csv" ' TJS 08/04/16 if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 Response.Clear response.ContentType = "text/csv" response.AddHeader "Content-Disposition", "attachment; filename=" & FileName & ";" else FileContent = "" ' TJS 29/07/18 end if ' create header rows ColumnData = chr(34) & "Pay Summary for " & rsEmplName("Employer_Name") & ", " & PayrollName & " payroll - " if left(TaxPeriod, 1) = "W" then ColumnData = ColumnData & "Week " & mid(TaxPeriod, 2, len(TaxPeriod) - 1) elseif left(TaxPeriod, 1) = "B" then ColumnData = ColumnData & "Week " & mid(TaxPeriod, 2, len(TaxPeriod) - 1) * 2 & " (Bi-Weekly Tax Period " & mid(TaxPeriod, 2, len(TaxPeriod) - 1) & ")" elseif left(TaxPeriod, 1) = "F" then ColumnData = ColumnData & "Week " & mid(TaxPeriod, 2, len(TaxPeriod) - 1) * 4 & " (4-Weekly Tax Period " & mid(TaxPeriod, 2, len(TaxPeriod) - 1) & ")" elseif left(TaxPeriod, 1) = "A" then ColumnData = ColumnData & "Tax Year " & TaxYear & "/" & (TaxYear + 1) elseif left(TaxPeriod, 1) = "Q" then ColumnData = ColumnData & "Quarter " & mid(TaxPeriod, 2, len(TaxPeriod) - 1) else ColumnData = ColumnData & "Month " & mid(TaxPeriod, 2, len(TaxPeriod) - 1) end if ColumnData = ColumnData & ", Pay Date " & PayDate & chr(34) & ",,,,,,,,," & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ColumnData = chr(34) & "Run by " & PayrollRunBy & " on " & PayrollRunDate & chr(34) & ",,,,,,,,," & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,,," & vbcrlf ' TJS 25/04/19 else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' Create column headings ColumnData = chr(34) & "Pay Ref" & chr(34) ColumnData = ColumnData & "," & chr(34) & "Employee Name" & chr(34) ColumnData = ColumnData & "," & chr(34) & " " & chr(34) ColumnData = ColumnData & "," & chr(34) & "Earnings" & chr(34) ColumnData = ColumnData & "," & chr(34) & "Deductions" & chr(34) ColumnData = ColumnData & "," & chr(34) & "PAYE" & chr(34) if Student_Loan_On_PaySummary = -1 then ColumnData = ColumnData & "," & chr(34) & "Student Loan" & chr(34) & "," & chr(34) & "Postgraduate Loan" & chr(34) ' TJS 25/04/19 end if ColumnData = ColumnData & "," & chr(34) & "Employee NIC" & chr(34) ColumnData = ColumnData & "," & chr(34) & "Employer NIC" & chr(34) ' DC 22/11/16 - Start of code added if Pension_Detail_On_PaySummary = -1 then ColumnData = ColumnData & "," & chr(34) & "EE Pens Contrib" & chr(34) ColumnData = ColumnData & "," & chr(34) & "ER Pens Contrib" & chr(34) end if ' DC 22/11/16 - End of code added ColumnData = ColumnData & "," & chr(34) & "Net PAY" & chr(34) ColumnData = ColumnData & "," & chr(34) & "Pay Method" & chr(34) ColumnData = ColumnData & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if TotalEarnings = 0 TotalDeductions = 0 TotalTax = 0 TotalNICEmplee = 0 TotalNICEmpler = 0 TotalNetPay = 0 TotalStudentLoan = 0 TotalPostGradLoan = 0 ' TJS 25/04/19 TJS 25/05/21 do while not rsPaySummary.EOF sql = "SELECT Sum(Tax) AS TotalTax FROM " & DBSchema & "Pay_Slip_PAYE WHERE Pay_Slip_ID = " sql = sql & rsPaySummary("Pay_Slip_ID") & " AND Deleted = 0" ' TJS 18/04/11 set rsPaySlipPAYE = OpenRecordset(objConn, sql) sql = "SELECT Sum(NIC_Emplee) AS TotalNICEmplee, Sum(NIC_Empler) AS TotalNICEmpler FROM " & DBSchema sql = sql & "Pay_Slip_NIC WHERE Pay_Slip_ID = " & rsPaySummary("Pay_Slip_ID") & " AND Deleted = 0" ' TJS 18/04/11 set rsPaySlipNIC = OpenRecordset(objConn, sql) ' Create row data ColumnData = chr(34) & DecryptData(rsPaySummary("Payroll_Ref")) & chr(34) ColumnData = ColumnData & "," & chr(34) & DecryptData(rsPaySummary("Employee_Name")) & chr(34) ColumnData = ColumnData & "," & chr(34) & " " & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySummary("Total_Earnings"), 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySummary("Total_Deductions"), 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySlipPAYE("TotalTax"), 2) & chr(34) if Student_Loan_On_PaySummary = -1 then ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySummary("Student_Loan_Deduct"), 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySummary("PostGrad_Loan_Deduct"), 2) & chr(34) ' TJS 25/04/19 end if ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySlipNIC("TotalNICEmplee"), 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySlipNIC("TotalNICEmpler"), 2) & chr(34) ' DC 22/11/16 - Start of code added sql = "SELECT Pay_Slips.Employee_ID, Pay_Slip_Items.Pension_Scheme_ID, IFNULL(Sum(Rate), 0) AS SumOfEmployeeContrib, " sql = sql & "IFNULL(Sum(Employer_Pension_Contrib), 0) AS SumOfEmployerContrib FROM " & DBSchema & "Pay_Slips INNER JOIN " sql = sql & DBSchema & "Pay_Slip_Items ON Pay_Slips.Pay_Slip_ID = Pay_Slip_Items.Pay_Slip_ID INNER JOIN " & DBSchema sql = sql & "Pension_Schemes ON Pay_Slip_Items.Pension_Scheme_ID = Pension_Schemes.Pension_Scheme_ID WHERE Pay_Slips.Employer_ID = " sql = sql & EmployerID & " AND Tax_Year = " & TaxYear & " AND Payroll_Type = '" & left(TaxPeriod, 1) & "' AND Tax_Period = " sql = sql & right(TaxPeriod, len(TaxPeriod) - 1) & " AND Payroll_ID = " & PayrollID & " AND Pay_Slips.Employee_ID = " sql = sql & rsPaySummary("Employee_ID") & " AND Pay_Slips.Deleted = 0 AND Dummy_for_FPS = 0 GROUP BY Employee_ID " sql = sql & "HAVING Pay_Slip_Items.Pension_Scheme_ID >= 0" set rsEePension = OpenRecordset(objConn, sql) if Pension_Detail_On_PaySummary = -1 then if not rsEePension.EOF then ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsEePension("SumOfEmployeeContrib"), 2) & chr(34) ' TJS 25/04/19 ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsEePension("SumOfEmployerContrib"), 2) & chr(34) ' TJS 25/04/19 TotalPensEmplee = TotalPensEmplee + rsEePension("SumOfEmployeeContrib") TotalPensEmpler = TotalPensEmpler + rsEePension("SumOfEmployerContrib") else ColumnData = ColumnData & ",""0.00""" ' TJS 29/09/20 ColumnData = ColumnData & ",""0.00""" ' TJS 29/09/20 end if end if ' DC 22/11/16 - End of code added ColumnData = ColumnData & "," & chr(34) & FormatNumber(rsPaySummary("Net_Pay"), 2) & chr(34) select case rsPaySummary("Pay_Method") case "A" ColumnData = ColumnData & "," & chr(34) & "Cash" & chr(34) case "B" ColumnData = ColumnData & "," & chr(34) & "BACS" & chr(34) case "C" ColumnData = ColumnData & "," & chr(34) & "Cheque" & chr(34) case "T" ColumnData = ColumnData & "," & chr(34) & "Bank Transfer" & chr(34) end select ColumnData = ColumnData & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if TotalEarnings = TotalEarnings + rsPaySummary("Total_Earnings") TotalDeductions = TotalDeductions + rsPaySummary("Total_Deductions") TotalTax = TotalTax + rsPaySlipPAYE("TotalTax") TotalNICEmplee = TotalNICEmplee + rsPaySlipNIC("TotalNICEmplee") TotalNICEmpler = TotalNICEmpler + rsPaySlipNIC("TotalNICEmpler") TotalNetPay = TotalNetPay + rsPaySummary("Net_Pay") TotalStudentLoan = TotalStudentLoan + rsPaySummary("Student_Loan_Deduct") TotalPostGradLoan = TotalPostGradLoan + rsPaySummary("PostGrad_Loan_Deduct") ' TJS 25/04/19 TJS 25/05/21 rsPaySlipPAYE.close rsPaySlipNIC.close rsEePension.close ' DC 22/11/16 rsPaySummary.movenext loop ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,," & vbcrlf else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' Create row data ColumnData = chr(34) & " " & chr(34) & "," & chr(34) & "Totals" & chr(34) & "," & chr(34) & " " & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalEarnings, 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalDeductions, 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalTax, 2) & chr(34) if Student_Loan_On_PaySummary = -1 then ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalStudentLoan, 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalPostGradLoan, 2) & chr(34) end if ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalNICEmplee, 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalNICEmpler, 2) & chr(34) ' DC 22/11/16 - Start of code added if Pension_Detail_On_PaySummary = -1 then ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalPensEmplee, 2) & chr(34) ' TJS 25/04/19 ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalPensEmpler, 2) & chr(34) ' TJS 25/04/19 end if ' DC 22/11/16 - End of code added ColumnData = ColumnData & "," & chr(34) & FormatNumber(TotalNetPay, 2) & chr(34) ColumnData = ColumnData & "," & chr(34) & "" & chr(34) & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if rsPaySummary.close ' DC 25/04/16 - Start of code added if TaxYear >= 2013 then sql = "SELECT Employment_Allowance, Incl_Backdated_Employ_Allow FROM " & DbSchema & "Statutory_Return_Items " sql = sql & "WHERE Employer_ID = " & EmployerID & " AND Payroll_ID = " & PayrollID & " AND Payroll_Type = '" & ConvertQuoteChars(left(TaxPeriod, 1)) sql = sql & "' AND Tax_Year = " & TaxYear & " AND Tax_Period = " & right(TaxPeriod, len(TaxPeriod) - 1) & " AND Deleted = 0" set rsEmployAllow = OpenRecordset(objConn, sql) EmploymentAllowance = rsEmployAllow("Employment_Allowance") EmployAllowInclBackdated = cBool(rsEmployAllow("Incl_Backdated_Employ_Allow")) rsEmployAllow.close set rsEmployAllow = nothing if EmploymentAllowance <> 0 then ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,," & vbcrlf else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' Create row data sText = "Employment Alowance" if EmployAllowInclBackdated then sText = sText & " (incl backdating)" end if ColumnData = chr(34) & " " & chr(34) & "," & chr(34) & sText & chr(34) & ",,,,,," if Student_Loan_On_PaySummary = -1 then ColumnData = ColumnData & "," end if ColumnData = ColumnData & chr(34) & FormatNumber(0 - EmploymentAllowance, 2) & chr(34) & vbcrlf ' TJS 25/04/19 if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ColumnData = chr(34) & " " & chr(34) & "," & chr(34) & "Net Employer NI :-" & chr(34) & ",,,,,," if Student_Loan_On_PaySummary = -1 then ColumnData = ColumnData & "," end if ColumnData = ColumnData & chr(34) & FormatNumber(TotalNICEmpler - EmploymentAllowance, 2) & chr(34) & vbcrlf ' TJS 25/04/19 if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,," & vbcrlf else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if end if end if ' DC 25/04/16 - End of code added sql = "SELECT Employee_Attachments.Employee_ID, Employee_Attachments.Attachment_ID, Payee_Name, Repayment_Value FROM " sql = sql & DBSchema & "Attachment_Items, " & DBSchema & "Employee_Attachments WHERE Attachment_Items.Employer_ID = " sql = sql & EmployerID & " AND Tax_Year = " & TaxYear & " AND Payroll_Type = '" & left(TaxPeriod, 1) & "' AND Tax_Period = " sql = sql & right(TaxPeriod, len(TaxPeriod) - 1) & " AND Attachment_Items.Payroll_ID = " & PayrollID & "" sql = sql & " AND Attachment_Items.Attachment_ID = " & "Employee_Attachments.Attachment_ID AND " sql = sql & "Attachment_Items.Deleted = 0 ORDER BY Payee_Name" set rsAttachSummary = OpenRecordset(objConn, sql) if not rsAttachSummary.EOF then ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,," & vbcrlf else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,," & vbcrlf else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' Create column headings ColumnData = chr(34) & "Attachments Due" & chr(34) & ",,,,,,,,," & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ColumnData = "," & chr(34) & "Payee" & chr(34) & "," & chr(34) & "Amount" & chr(34) & ",,,,,," & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if do while not rsAttachSummary.EOF ColumnData = "," & chr(34) & rsAttachSummary("Payee_Name") & chr(34) & "," & chr(34) ColumnData = ColumnData & FormatNumber(rsAttachSummary("Repayment_Value"), 2) & chr(34) & ",,,,,," & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if rsAttachSummary.movenext loop end if rsAttachSummary.close set rsAttachSummary = nothing sql = "SELECT Scheme_Name, Sum(Rate) AS SumOfEmployeeContrib, Sum(Employer_Pension_Contrib) AS SumOfEmployerContrib, " sql = sql & "Pay_Slip_Items.Pension_Scheme_ID FROM " & DBSchema & "Pay_Slips INNER JOIN " & DBSchema & "Pay_Slip_Items ON " ' TJS 16/04/13 TJS 01/06/14 sql = sql & "Pay_Slips.Pay_Slip_ID = Pay_Slip_Items.Pay_Slip_ID INNER JOIN " & DBSchema & "Pension_Schemes ON " ' TJS 16/04/13 TJS 01/06/14 sql = sql & "Pay_Slip_Items.Pension_Scheme_ID = Pension_Schemes.Pension_Scheme_ID WHERE Pay_Slips.Employer_ID = " ' TJS 16/04/13 sql = sql & EmployerID & " AND Tax_Year = " & TaxYear & " AND Payroll_Type = '" & left(TaxPeriod, 1) ' TJS 16/04/13 sql = sql & "' AND Tax_Period = " & right(TaxPeriod, len(TaxPeriod) - 1) & " AND Payroll_ID = " & PayrollID sql = sql & " AND Pay_Slips.Deleted = 0 AND Dummy_for_FPS = 0 GROUP BY Pension_Schemes.Scheme_Name, Pay_Slip_Items.Pension_Scheme_ID " ' TJS 07/07/16 sql = sql & "HAVING Pay_Slip_Items.Pension_Scheme_ID >= 0" set rsPensionSummary = OpenRecordset(objConn, sql) if not rsPensionSummary.EOF then ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,," & vbcrlf else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' add a blank row if Student_Loan_On_PaySummary = -1 then ColumnData = ",,,,,,,,," & vbcrlf else ColumnData = ",,,,,,,," & vbcrlf end if if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ' Create column headings ColumnData = chr(34) & "Pension Contributions Due" & chr(34) & ",,,,,,,,," & vbcrlf if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if ColumnData = "," & chr(34) & "Scheme" & chr(34) & "," & chr(34) & "Employee Contributions" & chr(34) ColumnData = ColumnData & "," & chr(34) & "Employer Contributions" & chr(34) & ",,,,,," & vbcrlf ' DC 14/02/17 if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if do while not rsPensionSummary.EOF ColumnData = "," & chr(34) & rsPensionSummary("Scheme_Name") & chr(34) & "," & chr(34) ColumnData = ColumnData & FormatNumber(rsPensionSummary("SumOfEmployeeContrib"), 2) & chr(34) & "," & chr(34) ColumnData = ColumnData & FormatNumber(rsPensionSummary("SumOfEmployerContrib"), 2) & chr(34) & ",,,,," & vbcrlf ' TJS 22/05/15 if "" & SaveForEmail <> "Yes" then ' TJS 29/07/18 response.write ColumnData else FileContent = FileContent & ColumnData ' TJS 29/07/18 end if rsPensionSummary.movenext loop end if rsPensionSummary.close set rsPensionSummary = nothing ' start of code added TJS 29/07/18 if "" & SaveForEmail = "Yes" then Set WshShell = server.CreateObject("WScript.Shell") ' are we on the test site ? if UCase(request.servervariables("SERVER_NAME")) = "WWW.MYPAYETEST.CO.UK" or UCase(request.servervariables("SERVER_NAME")) = "WWW.MYPAYETEST.COM" or _ UCase(request.servervariables("SERVER_NAME")) = "MYPAYETEST.CO.UK" or UCase(request.servervariables("SERVER_NAME")) = "MYPAYETEST.COM" then ' yes, set registry key to get test Log File path FilePath = WshShell.RegRead("HKLM\Software\MyPAYE\Test\LogFiles") else ' no, set registry key to get live Log File path FilePath = WshShell.RegRead("HKLM\Software\MyPAYE\Live\LogFiles") end if if right(FilePath, 1) <> "\" then FilePath = FilePath & "\" end if Set WshShell = nothing set objFSO = CreateObject("Scripting.FileSystemObject") on error resume next if objFSO.FileExists(FilePath & FileName) then Set objCSVFile = objFSO.OpenTextFile(FilePath & FileName,2) else Set objCSVFile = objFSO.CreateTextFile(FilePath & FileName) end if if err.number = 0 then objCSVFile.Write FileContent objCSVFile.close ' need to make sure file has finished writing set oShell = server.CreateObject("Wscript.Shell") cmd = "%COMSPEC% /c timeout 30 /nobreak" oShell.Run cmd,0,1 response.write "OK:" & FilePath & FileName else response.write "Err:Unable to create CSV file" end if Set objCSVFile = nothing set objFSO = nothing on error goto 0 end if ' end of code added TJS 29/07/18 rsEmplName.close set rsPaySummary = nothing set rsEmplName = nothing set rsPaySlipPAYE = nothing set rsPaySlipNIC = nothing set rsEePension = nothing ' DC 22/11/16 ReleaseASPEncrypt SaveSessionVarsRecord SessionVarsID objConn.close set objConn = nothing %>