There are various aspects to consider when determining whether to do your payroll in-house or outsource it to a payroll company. A lot will depend on the number of employees, skill level of potential payroll processors, and types of withholdings. Here are three aspects to consider:
1. Job Costing--Most outsourced payroll companies can't breakdown the payroll data by job through an automatic download. They may provide the breakdowns, but you have to manually input the data. This can be time consuming and leaves room for human error. Project-based accounting is a critical aspect because labor costs are a key part of any job costing system. Some systems, such as QuickBooks, offer a downloadable payroll feature that enables you to do job costing and still outsource your payroll filings. This is the ideal situation. If this type of offering isn't available within your accounting software and payroll service, then I would research bringing payroll in-house (even if you need to have a payroll specialist come in to perform this service) so that you can get accurate and reliable job costing data.
2. Payroll Filings--Payroll reporting isn't that difficult, but if you make an error, the penalties and fines can far outweigh the original amount due. The key is having someone who understands the payroll function, and ensures that the calculations and withholdings are accurate and handles filings in a timely manner.
3. Withholdings--There are various state and federal withholdings that are mandated by the government as well as optional withholdings for items like insurance, dues, and other such items. It's critical that your payroll person has a clear understanding of which deductions are pretax and which are after tax.
Payroll difficulty can vary in a company depending on size, union membership, types of additional withholdings, etc. The key to having an effective payroll system is keeping accurate data that can be retrieved at a job level within your overall accounting system that is managed by a capable individual--be that internal or external to your organization.