Canadian Payroll Tax Engine
Are you a software developer looking to add a payroll component to your own
software? Do you want to avoid the hassle of developing and
maintaining a complete payroll tax engine? If the answer is yes,
then you might want to consider leasing our payroll tax engine.
Classic Software has been developing payroll software since 1985. We are
located in Canada and we know the Canadian Payroll laws. For the past 12
years we have been providing windows payroll solutions to businesses throughout Canada.
This year we have developed a "web service" that can be integrated into your
existing software to calculate Canadian Payroll taxes.
Using the engine could not be simpler. Here is a quick example in C#:
Step One
First we create a reference to the
payroll web service....
PayrollService.PayrollServiceClient srv = new
PayrollService.PayrollServiceClient();
Step Two
Next we create an object to pass the data to the
payroll web service...
PayrollService.DataIn dataIn = new PayrollService.DataIn();
Step Three
Next we create an object to get data from the
payroll web service...
PayrollService.DataOut dataOut = new PayrollService.DataOut();
Step Four
Now we set the properties to pass to the service (there are currently about 30
that can be set, a few are listed below)...
dataIn.GrossRemunerationForPayPeriod=1700;
dataIn.TotalClaimAmountFederalTD1=10527;
dataIn.TotalClaimAmountProvincialTerritorialTD1=9104;
dataIn.NumberOfPayPeriodsInYear=52;
dataIn.ProvinceOfEmployment="ON";
dataIn.CalculationMonth=9;
dataIn.CalculationYear = 2011;;
Step Five
Now we call the service on the web (yes one line does it all)...
dataOut = srv.Calculate(dataIn);
Step Six
Lastly we display/use the results...
lblmessage.Text = Convert.ToString(dataOut.ReturnMessage);
lblresult.Text = Convert.ToString(dataOut.ReturnCode);
lblCPPcomp.Text = "CPP Company: " + Convert.ToString (dataOut.CPP_Company);
lblCPPemp.Text = "CPP Employee: " + Convert.ToString(dataOut.CPP_Employee);
lblEIcomp.Text = "EI Company: " + Convert.ToString(dataOut.EI_Company);
lblEIemp.Text = "EI Employee: " + Convert.ToString(dataOut.EI_Employee);
lblFed.Text = "Federal Tax: " + Convert.ToString(dataOut.FederalTax);
lblProv.Text = "Provincal Tax: " + Convert.ToString(dataOut.ProvincialTax);
and you are done!
As you can see, using the service is pretty easy. Lets take a look
at some of the key features...
- Can Calculate Canada Pension Plan (CPP), Employment Insurance (EI), Federal Tax,
Provincial Tax for every province in Canada including Quebec, QPIP, QPP, company
portions of CPP.EI etc. etc.
- Tax Tables and calculations are updated as requiried by the CRA. Sometimes
1,2 or 3 times per year.
- Calculation tables are used based on the month and year passed, so it is easy to
pop back and forth between years if required.
- Error and Return codes are passed back to the consumer of the service, for
things like "invalid province code", "negative gross pay" etc.
- Service is hosted in Canada. NO requirements to send employee personal
information through to the service. No need for SIN or Employee names which
helps to improve security.