Payroll System: How to Compute SSS

Submitted by: 
Visitors have accessed this post 27124 times.

Are you struggling on how to compute the SSS of the employee based on the “Schedule of SS and EC Contributions” table? This project will let you compute the Employee Share, Employer Share, and EC based on the gross income of the employee.
The SSS Contribution is computed semi-monthly. The gross income is divided into two and the 2nd half of the month is computed based on the 1st half of the month to get the exact deduction for the whole month.
For example if the contribution of the employee for the whole month is 133.30 and he/she is deducted 100.00 for the 1st half of the month then his/her 2nd half should be 33.30 to get 133.30.
The Schedule of SS and EC Contributions is saved in the database for easy retrievable. This is useful if the table is change and can be edited easily.
If you want the whole programs that also compute PhilHealth, Pag-ibig, and W/Tax please don’t hesitate to contact me. You may also download my simple Payroll System.
Note: This computation of SSS contribution is applicable only in the Philippines.

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.


Thanks you verymuch! :)

what is the meaning of ER, EC, ECC

There is no actual computation of SSS/PhilHealth Contri.... What you need is a table ref to search for the amount of SSS contri monthly and base on the total monthly Taxable earnings(not GROSS) you can get the amount of SSS Employee Share in which you can max it on the first half of the month or you can have another table ref for semi-monthly SSS Table.
Here is somple code to help:

strQry = "SELECT * FROM [TBL-SSSHlthPag] WHERE "
strQry = strQry & " Type ='SSS'"
strQry = strQry & " AND '" & ModC(curTaxable) & "' BETWEEN AmountFrom AND AmountTo"

Set rsBenefits = New ADODB.Recordset
Set rsBenefits = CN.Execute (strQry)
if Not EndofMonth then
'SSS computation for first half(1-15):
If Not rsBenefits.EOF Then
vSSSYee = (rsBenefits.Fields("EmployeeShare"))/2
vECC = (rsBenefits.Fields("EC")
vSSSYer = (rsBenefits.Fields("EmployerShare"))/2
End If
'SSS computation for first half(16-endofmonth):
PrevECC={search for the prev ecc of the same month/year on the payroll}
PrevSSSYee={search for the prev SSS Employee Share of the same month/year on the payroll}
PrevSSSYer={search for the prev SSS Employer Share of the same month/year on the payroll}
If Not rsBenefits.EOF Then
vSSSYee = IIf((rsBenefits.Fields("EmployeeShare")) - ModC(IIf(![FixSSS], 0, PrevSSSYee)) < 0, 0, (rsBenefits.Fields("EmployeeShare")) - ModC(IIf(![FixSSS], 0, PrevSSSYee)))
vECC = IIf(ModC(rsBenefits.Fields("EC") - PrevECC) <= 0, 0, ModC(rsBenefits.Fields("EC") - PrevECC))
vSSSYer = IIf((rsBenefits.Fields("EmployerShare")) - ModC(IIf(![FixSSS], 0, PrevSSSYer)) <= 0, 0, (rsBenefits.Fields("EmployerShare")) - ModC(IIf(![FixSSS], 0, PrevSSSYer)))
End If
End if

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <th> <img> <h1> <h2> <h3>
  • You may insert videos with [video:URL]
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <asp>, <c>, <cpp>, <csharp>, <css>, <html4strict>, <java>, <javascript>, <mysql>, <php>, <python>, <sql>, <vb>, <vbnet>. The supported tag styles are: <foo>, [foo].
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.