Perl Payroll Modules
Payroll is a series of Perl Modules that provides an API for working with multiple countries federal, state and local taxes. It also supports calculating mileage reimbursement values and can handle adjustment entries.
The Payroll module starts with an xml document in the Input format and if everything is successfull, outputs the results in the Output XML format.
Currently only the US is supported and MO is the only supported state. We are not supporting any cities in MO yet. Federal Income, FICA, Medicare and Mileage Rates are all being calculated. We take into account the number of allowances people can claim and the fact that you can withhold more for federal and state.
Federal Income tables are only available for any date >= 07/01/2001.
See the payroll_test.pl script and input.xml file for a sample implementation.
Use process_payroll (in the /usr/bin directory after an rpm install, otherwise in the payroll-x.y directory) to actually process payroll files for real.
process_payroll will take the specified raw xml file and process it. If no errors occured, then you get the result on stdout. If you specify 2 file names the result will go into the second file. You can specify - (for the first file) and it will know to work with stdin. I.e. you can pipe the file to be processed. Ex. 'cat input.xml | process_payroll -' would process input.xml from the stdin and then output the result to stdout.
The files can be downloaded from CPAN.