System for web-based payroll and benefits administration6401079
Abstract
The system provides an automated, centralized back-end payroll service with a full-featured web-based payroll system. Both aspects of the system have access to a central database, which includes, for example: profile information on employers and employees; timesheet, salary and hourly wage data; overtime data; employee benefit data; and information regarding third-party providers and miscellaneous payees. The full-featured payroll system functionality is implemented in a manner that provides employers and employees (to the extent security policies permit) with a robust, data-driven user interface via a standard web browser. The central database provides the system's back-end (server-side) payroll service functionality with constant access to the data. The system implements and enforces compliance with a wide variety of tax-related and employment-related rules across federal, state and local jurisdictions relating, for example, to overtime pay, benefit limits, payment frequency, and scheduled reporting requirements. The system can automatically receive and implement electronic updates to these rules, modifying its own functionality to conform to these changes and ensure compliance with current rules. The payroll system functionality includes the automated collection of employee data and the calculation of employee income, taxes, and pre- and post-tax deductions. The system automatically calculates overtime, imputed income, and paid-time-off benefits, and allocates the sharing of payments for other benefit programs between employers and employees, as well as enabling employers to set up custom policies. Employers can review and validate employees' paychecks and print paychecks locally and/or submit the payroll to the system's automated back-end payroll service. The system's back-end payroll service functionality generates disbursement information for payments to employees, benefit providers, miscellaneous payees, and various tax authorities, subject to compliance with the system's database of rules and automatically effects transfers of funds, payment information, and reports, whether electronic or otherwise, at the appropriate times.
Claims
What is claimed is:
1. A system for interactive calculation of payroll information including:
a first site including:
storage means storing first employer payroll-related data provided by a first employer, including an indication of hours worked during a workday by a first employer employee, and second employer payroll-related data provided by a second employer, including an indication of hours worked during a workday by a second employer employee;
calculation means for performing payroll-related calculations,
the calculation means operatively connected to the storage means,
the calculation means using the first employer payroll-related data stored in the storage means and outputting first employer processed payroll-related data for storage in the storage means, and using the second employer payroll-related data stored in the storage means and outputting second employer processed payroll-related data for storage in the storage means;
communication means for receipt of first employer payroll-related data from the first employer and second employer payroll-related data from the second employer and for communication of first employer processed payroll-related data to the first employer and second employer processed payroll-related data to the second employer, the communication means operatively connected to the storage means;
a second site associated with the first employer, the second site including:
data entry means for entry of first employer payroll-related data for communication to the first site;
communication means for communication of first employer payroll-related data to the first site and for receipt of first employer processed payroll-related data from the first site;
means for a user to review first employer processed payroll-related data received from the first site, and, in response, to enter a change to the payroll-related data used by the first site to calculate the reviewed first employer processed payroll-related data; and
means for communicating the change to the first site for use in recalculating the processed payroll-related data, and for receiving recalculated processed payroll-related data from the first site.
2. The system as in claim 1, in which:
the second site further includes means:
for the first employer to specify a format of data to be used in a report based on the first employer's data and the second site communication means includes means for communicating the specified format to the first site; and
the first site includes means for generating and communicating reports, including means for receiving the format specification from the second site, means for formatting a report in compliance with the format specification, and means for communicating the formatted report to the second site.
3. The system as in claim 1, further including:
means at the second site for the first employer to specify a first policy applicable to a first group of first employer employees and a second policy applicable to a second group of first employer employees, the second site communication means including means for communicating the first and second policies to the first site; and the first site calculation means includes means for applying the first policy to a portion of the first employer payroll-related data concerning the first group and for applying the second policy to a portion of the first employer payroll-related data concerning the second group.
4. The system as in claim 1, in which:
the calculation means includes means for receiving an indication that an employee has been terminated, and means for generating a final paycheck and W2 for the terminated employee prior to the end of a normal pay period.
5. The system as in claim 1, in which:
the first site further includes:
means for calculating: (i) a first disbursement amount to a first payee, based on the first employer payroll-related data; (ii) a second disbursement amount to a second payee, based on the first employer payroll-related data; (iii) a third disbursement amount to the first payee, based on the second employer payroll-related data; and (iv) a fourth disbursement amount to the second payee, based on the second employer payroll-related data; and means for disbursing a fifth disbursement amount to the first payee, the fifth disbursement amount including the first disbursement amount and the third disbursement amount, and for disbursing a sixth disbursement amount to the second payee, the sixth disbursement amount including the second disbursement amount and the fourth disbursement amount.
6. A method for interactive payroll-related calculations including:
receiving payroll-related data from a first employer, the data including an indication of hours worked for a first employer employee during a workday;
performing calculations using the first employer payroll-related data, the calculations resulting in processed first employer payroll-related data;
communicating the processed first employer payroll-related data to the first employer;
receiving a modification to the first employer payroll-related data from the first employer;
performing calculations using the modification, the calculations resulting in modified processed first employer payroll-related data;
communicating the modified processed first employer payroll-related data to the first employer;
continuing the process of receiving modifications, performing calculations and communicating modified data to the first employer until the receipt of an indication from the first employer that no additional modifications are required;
after receipt of the indication from the first employer, generating final first employer payroll-related data and using that data to generate paycheck information, disbursement information and benefits information;
receiving payroll-related data from a second employer, the data including an indication of hours worked for a second employer employee during a workday;
performing calculations using the second employer payroll-related data, the calculations resulting in processed second employer payroll-related data,
communicating the processed second employer payroll-related data to the second employer;
receiving a modification to the second employer payroll-related data from the second employer;
performing calculations using the modification, the calculations resulting in modified processed second employer payroll-related data;
communicating the modified processed second employer payroll-related data to the second employer;
continuing the process of receiving modifications, performing calculations and communicating modified data to the second employer until the receipt of an indication from the second employer that no additional modifications are required;
after receipt of the indication from the second employer, generating final second employer payroll-related data and using that data to generate paycheck information, disbursement information and benefits information;
whereby, a central site may communicate with the first employer to interactively generate payroll data for the first employer and may communicate with the second employer to interactively generate payroll data for the second employer, and the communication and generation for the first employer may at least partially overlap in time with the communication and generation for the second employer.
7. The method of claim 6, further including:
communicating the first employer paycheck information to the first employer for use in printing paychecks by the first employer; and
communicating the second employer paycheck information to the second employer for use in printing paychecks by the second employer.
8. The method of claim 6, in which:
the processed first employer payroll-related data includes data based on a first deduction amount related to deductions from a first employee's paycheck,
the modification received from the first employer includes a change to the first deduction amount, the change having been entered by the first employee at a computer terminal after the first employee reviewed at least a portion of the processed first employer payroll-related data at the computer terminal, and
the modified processed first employer payroll-related data communicated to the first employer includes a modification based on the change to the first deduction amount.
9. The method of claim 6, in which:
the calculations performed using the first employer payroll-related data include:
generating benefits-related data, and
determining whether the benefits-related data is consistent with rules associated with a benefits plan.
10. The method of claim 9, in which:
the processed first employer payroll-related data communicated to the first employer includes an indication that the benefits-related data is not consistent with the benefits plan rules; and
the modification received from the first employer relates to the benefits-related data.
11. A system for interactive payroll-related calculation including:
storage means storing payroll-related information received from a first employer, including an indication of hours worked by a first employee during a workday and storing payroll-related information received from a second employer, including an indication of hours worked by a second employee during a workday;
calculation means for performing calculations on the first employer payroll-related information to generate processed first employer information, and for performing calculations on the second employer payroll-related information to generate processed second employer information;
communication means for receipt of the first employer payroll-related information from the first employer and the second employer payroll-related information from the second employer and for communication of the processed first employer information to the first employer and the processed second employer information to the second employer;
communication means for receiving a modification to the first employer information from the first employer, the modification having been received in response to communication of the processed first employer payroll-related information to the first employer,
calculation means for using the modification to generate modified processed first employer information; and
communication means for communicating the modified processed first employer information to the first employer and for receiving an indication that no additional modifications are desired by the first employer.
12. A system as in claim 11, in which:
the payroll-related information received from the first employer includes an indication that a supervisor of the first employee has checked the indication of hours worked by the first employee.
13. A system as in claim 11, further including:
communications means for the receipt of communications from the first employer specifying a format of data to be used in a report, and
the system further includes means for generating a report formatted in compliance with the specification received from the first employer and means for communicating the report to the first employer.
14. The system as in claim 11, further including:
means for receiving an indication that a bonus is owed to an employee, and means for generating a paycheck containing the bonus prior to the end of a normal pay period.
15. An interactive payroll and benefit system comprising:
(a) a data entry component which can accept:
(i) first payroll and benefit data entered for a first employer at a first location, the first payroll and benefit data including the number of hours worked by an employee of the first employer during a workday, and
(ii) second payroll and benefit data entered for a second employer at a second location, the second payroll and benefit data including the number of hours worked by an employee of the second employer during a workday;
(b) a communication component which can exchange information between a third location and each of the first and second locations, the information including the first payroll and benefit data and the second payroll and benefit data;
(c) a paycheck calculation component which can calculate for a pay period:
(i) elements of a paycheck for the employee of the first employer using the first payroll and benefit data received from the first location via the communication component, and
(ii) elements of a paycheck for the employee of the second employer using the second payroll and benefit data received from the second location via the communication component; and
(d) an employer tax liability calculation component which can calculate federal and state tax liability amounts for the first and second employers based at least in part upon the respective first and second payroll and benefit data received from the respective first and second locations via the communication component;
(e) wherein the interactive payroll and benefit system can enable the correction of an error following the receipt at the first location of the paycheck for the employee of the first employer by:
(i) enabling the first employer to modify the first payroll and benefit data via the data entry component,
(ii) transmitting the modified first payroll and benefit data to the third location via the communication component,
(iii) recalculating, via the paycheck calculation component, elements of the paycheck for the employee of the first employer using the modified first payroll and benefit data received from the first location, and
(iv) recalculating the federal and state tax liability amounts for the first employer via the employer tax liability calculation component.
16. A system including:
one or more communications ports;
one or more processing units; and
a digital memory or memories storing:
(a) payroll-related information provided by a first employer, including an indication of hours worked by an employee during a workday, and payroll-related information provided by a second employer, including an indication of hours worked by an employee during a workday;
(b) a computer program which receives as input the first employer payroll-related information and generates as output processed first employer information and which receives as input the second employer payroll-related information and generates as output processed second employer information;
(c) a computer program which causes the processed first employer information to be communicated to the first employer through a communications port;
(d) a computer program which receives modifications to the first employer information from the first employer, performs calculations using the modifications, generates modified processed first employer information and communicates the modified processed first employer information to the first employer through the communications port; and
(e) a computer program which receives an indication from the first employer that no further modifications are desired by the first employer, and, based on the indication, invokes a computer program which performs final processing based on the processed first employer information stored in the digital memory as of the time of receipt of the indication.
17. The system of claim 16, in which:
the digital memory or memories includes a computer program which takes as input an indication received through a communications port from the first employer, the indication signifying that an employee has been terminated, and, based on the indication, controls one or more processing units to generate a final paycheck for the terminated employee prior to the end of a normal pay period.
18. The system as in claim 16, in which:
the digital memory or memories includes a computer program which (i) takes as input the first employer payroll-related information and controls one or more of the processing units to calculate a first disbursement amount to a first payee; (ii) takes as input the first employer payroll-related information and controls one or more of the processing units to calculate a second disbursement amount to a second payee; (iii) takes as input the second employer payroll-related information and controls one or more of the processing units to calculate a third disbursement amount to the first payee; (iv) takes as input the second employer payroll-related information and controls one or more of the processing units to calculate a fourth disbursement amount to the second payee; (v) calculates a fifth disbursement amount to the first payee, the fifth disbursement amount including the first disbursement amount and the third disbursement amount, (vi) calculates a sixth disbursement amount to the second payee, the sixth disbursement amount including the second disbursement amount and the fourth disbursement amount; and (vii) provides to one or more of the communications ports the fifth disbursement amount for communication to the first payee and the sixth disbursement amount for communication to the second payee.
19. The system as in claim 16, in which:
the final processing program includes programming which controls one or more of the processing units to calculate first paycheck amounts, and provides to one or more of the communications ports the first paycheck amounts for communication to the first employer for use in printing paychecks by the first employer.
20. The system as in claim 16, in which:
the processed first employer information communicated to the first employer includes electronic representations of paychecks for viewing by the first employer to determine whether modifications are required.
21. An interactive computerized payroll-related system including:
a first site including:
storage means for the storage of payroll-related information from a first employer, including an indication of hours worked during a workday by an employee and payroll-related information from a second employer, including an indication of hours worked during a workday by an employee;
calculation means for:
using the payroll-related information received from the first employer to calculate employee gross income and disbursement amounts;
using modified payroll-related information received from the first employer to recalculate employee gross income or disbursement amounts; and
using a termination indication received from the first employer to determine that no additional recalculations are required;
using the payroll-related information received from the second employer to calculate employee gross income and disbursement amounts;
using modified payroll-related information received from the second employer to recalculate employee gross income or disbursement amounts; and
using a termination indication received from the second employer to determine that no additional recalculations are required;
communication means for communication of information to and from remote parties, including:
means for sending:
calculated first employer employee gross income and disbursement amounts to the first employer, and
calculated second employer employee gross income and disbursement amounts to the second employer; and
means for receiving:
from the first employer: payroll-related information for use in calculating employee gross income and disbursement amounts, modifications to the payroll-related information for use in recalculating employee gross income or disbursement amounts, and an indication that no additional recalculations are required;
from the second employer: payroll-related information for use in calculating employee gross income and disbursement amounts, modifications to the payroll-related information for use in recalculating employee gross income or disbursement amounts, and an indication that no additional recalculations are required; and
disbursement means used to disburse disbursement amounts to parties other than the first or second employer,
a second site associated with the first employer, the second site including:
data entry means for entry of first employer payroll-related information and modifications to the first employer payroll-related information, the modifications being entered in response to receipt of employee gross income and disbursement amounts from the first site;
communication means for electronically communicating the first employer payroll-related information to the first site, for receiving from the first site calculated employee gross income and disbursement amounts, for communicating modifications to the first employer payroll-related information the first site, the modifications being in response to receipt of the calculated employee gross income and disbursement amounts, for receiving from the first site recalculated employee gross income and disbursement amounts, and for communicating to the first site an indication that no additional recalculations are required; and
a third site associated with the second employer, the third site including:
data entry means for entry of second employer payroll-related information and modifications to the second employer payroll-related information, the modifications being entered in response to receipt of employee gross income and disbursement amounts from the first site;
communication means for electronically communicating the second employer payroll-related information to the first site, for receiving from the first site calculated employee gross income and disbursement amounts, for communicating modifications to the second employer payroll-related information the first site, the modifications being in response to receipt of the calculated employee gross income and disbursement amounts, for receiving from the first site recalculated employee gross income and disbursement amounts, and for communicating to the first site an indication that no additional recalculations are required.
22. The system of claim 21, in which:
the first employer payroll-related information includes an indicator that the indication of hours worked by the employee has been checked by a supervisor of that employee.
23. The system of claim 21, in which:
the first site also includes means for generating paycheck information for communication to the second site for use in printing paychecks at the second site.
24. The system as in claim 21, in which:
the second site further includes means for the first employer to specify a format of data to be used in a report based on the first employer's data and the second site communications means includes means for communicating the specified format to the first site; and
the first site includes means for generating and communicating reports, including means for receiving the format specification from the second site, means for formatting a report in compliance with the format specification, and means for communicating the formatted report to the second site.
25. The system of claim 21, in which:
the second site data entry means includes a timeclock for entering the indication of hours worked during a workday by an employee.
26. A method including:
receiving payroll information from a first employer;
using the first employer payroll information to calculate first employer disbursement amounts and employee gross income amounts;
communicating the calculated first employer disbursement amounts and employee gross income amounts to the first employer;
in response to communication of the calculated first employer disbursement amounts and employee gross income amounts, receiving from the first employer modifications to the payroll information;
using the modifications to recalculate first employer disbursement amounts or employee gross income amounts;
communicating the recalculated amounts to the first employer;
repeating the receipt of modifications, recalculation and communicating recalculated amounts until receiving an indication from the first employer that the most recently communicated amounts are acceptable;
following receipt of the indication, communicating final employee gross income and disbursement amounts to the first employer and making disbursements to a party other than the first employer based on the final disbursement amounts;
receiving payroll information from a second employer;
using the second employer payroll information to calculate second employer disbursement amounts and employee gross income amounts;
communicating the calculated second employer disbursement amounts and employee gross income amounts to the second employer;
in response to communication of the calculated second employer disbursement amounts and employee gross income amounts, receiving from the second employer modifications to the payroll information;
using the modifications to recalculate second employer disbursement amounts or employee gross income amounts;
communicating the recalculated amounts to the second employer;
repeating the receipt of modifications, recalculation and communicating modified amounts until receiving an indication from the second employer that the most recently communicated amounts are acceptable;
following receipt of the indication, communicating final employee gross income and disbursement amounts to the second employer and making disbursements to a party other than the second employer based on the final disbursement amounts.
27. The method of claim 26, further including:
receiving an indication from the first employer that an employee has been terminated; and
generating a final paycheck for the terminated employee prior to the end of a normal pay period.
28. The method of claim 26, in which:
the making of disbursements to a party based on the final first employer and second employer disbursement amounts includes the following:
calculating: (i) a first disbursement amount to a first payee, based on the final first employer disbursement amounts; (ii) a second disbursement amount to a second payee, based on the final first employer disbursement amounts; (iii) a third disbursement amount to the first payee, based on the final second employer disbursement amounts; and (iv) a fourth disbursement amount to the second payee, based on the final second employer disbursement amounts;
disbursing a fifth disbursement amount to the first payee, the fifth disbursement amount including the first disbursement amount and the third disbursement amount; and
disbursing a sixth disbursement amount to the second payee, the sixth disbursement amount including the second disbursement amount and the fourth disbursement amount.
29. The method of claim 26, further including:
calculating first paycheck amounts based on the final first employer employee gross income amounts and calculating second paycheck amounts based on the final second employer employee gross income amounts,
communicating the first paycheck amounts to the first employer for use in printing paychecks by the first employer; and
communicating the second paycheck amounts to the second employer for use in printing paychecks by the second employer.
30. The system as in claim 29, further including:
the communication of first paycheck amounts to the first employer includes communicating electronic representations of paychecks to the first employer for viewing by the first employer, the electronic representations being based on the first paycheck amounts; and
the communication of first paycheck amounts to the second employer includes communicating electronic representations of paychecks to the second employer for viewing by the second employer, the electronic representations being based on the second paycheck amounts.
31. A computerized payroll-related system including:
communication means for the receipt of payroll-related information from a first employer and a second employer, the received payroll-related information including indications of hours worked in a workday by employees;
storage means for the storage of the payroll-related information from the first employer and the second employer;
calculation means for using the payroll-related information received from the first employer to calculate first employer employee gross income and disbursement amounts and to use the payroll-related information received from the second employer to calculate second employer employee gross income and disbursement amounts;
communication means for sending the calculated first employer employee gross income and disbursement amounts to the first employer and for sending the calculated second employer employee gross income and disbursement amounts to the second employer;
communication means for receiving modifications to the first employer payroll-related information from the first employer and for receiving modifications to the second employer payroll-related information from the second employer;
calculation means for calculating changes to the first employer employee gross income or disbursement amounts based on modifications received from the first employer and for calculating changes to the second employer employee gross income or disbursement amounts based on modifications received from the second employer;
communication means for sending modified information to the first employer and the second employer, based on the calculated changes, and for receiving an indication from the first employer and the second employer that no additional changes are desired;
processing means, operating in response to receipt of the indication, for specifying final first employer employee gross income and disbursement data and for specifying final second employer employee gross income and disbursement data;
communication means for sending the final first employer employee gross income and disbursement data to the first employer and for sending the final second employer employee gross income and disbursement data to the second employer; and
disbursement means for disbursing the final disbursement amounts to one or more parties other than the first or second employer.
32. The system as in claim 31, including:
means for receiving communications from the first employer specifying a change in paycheck deduction amounts relating to the paycheck of a first employee, the change having been entered at a computer terminal by the first employee; and
means for receiving communications from the second employer specifying a change in paycheck deduction amounts relating to the paycheck of a second employee, the change having been entered at a computer terminal by the second employee.
33. The system as in claim 31, including:
means for receiving communications from the first employer specifying a change in a policy related to a first employee's paystub, the change having been specified by the first employee; and
means for receiving communications from the second employer specifying a change in a policy related to a second employee's paystub, the change having been specified by the second employee.
34. The system as in claim 31, further including:
means for (i) applying the rules of a first benefits plan to data related to a first employee, the first employee data being included within the first employer payroll-related information, and for determining whether the first employee data is consistent with the first benefits plan rules; and (ii) applying the rules of a second benefits plan to data related to a second employee, the second employee data being included within the second employer payroll-related information, and for determining whether the second employee data is consistent with the second benefits plan rules.
35. The system as in claim 34, in which:
the communications means includes means for communicating messages to the first employer and the second employer specifying that employee data is not consistent with benefits plan rules.
36. A computerized payroll-related system including:
a communications port;
one or more processing units; and
one or more digital memories storing:
payroll-related information received through the communications port from a first employer, including an indication of hours worked during a workday by an employee;
payroll-related information received through the communications port from a second employer, including an indication of hours worked during a workday by an employee;
a computer program taking as input the first employer payroll-related information and the second employer payroll-related information and generating as output first employer employee gross income, first employer disbursement amounts; second employer employee gross income and second employer disbursement amounts;
a computer program taking as input the first employer employee gross income and disbursement amounts and communicating the first employer employee gross income and disbursement amounts through the communications port to the first employer and taking as input the second employer employee gross income and disbursement amounts and communicating the second employer employee gross income and disbursement amounts through the communications port to the second employer;
a computer program taking as input modifications to the first employer payroll-related information, the modifications received from the first employer and generating as output modified first employer employee gross income and disbursement amounts and taking as input modifications to the second employer payroll-related information, the modifications received from the second employer, and generating as output modified second employer employee gross income and disbursement amounts;
a computer program sensitive to the receipt of a termination indication from the first employer and the second employer and, in response to receipt of the indication from the first employer, generating final first employer employee gross income and disbursement amounts and communicating those amounts to the first employer and, in response to receipt of the indication from the second employer, generating final second employer employee gross income and disbursement amounts and communicating those amounts to the second employer; and
a computer program taking as input the final first employer disbursement amounts and the final second employer disbursement amounts and communicating the disbursement amounts through the communications port to one or more parties other than the first or second employer.
37. The system as in claim 36, in which:
the first employer payroll-related information includes information entered by the first employer through two workflows communicated to the first employer from the computerized payroll-related system and the second employer payroll-related information includes information entered by the second employer through two workflows communicated to the second employer by the second payroll-related system.
38. The system as in claim 36, in which:
the digital memory or memories includes a computer program calculation module which takes as input the first employer payroll-related information and an indication that a bonus is owed to an employee, the indication having been received from the first employer through one of the communications ports; and controls one or more of the processing units to generate a paycheck for the employee containing the bonus prior to the end of a normal pay period.
39. The system as in claim 36, in which:
the digital memory or memories includes a computer program calculation module which controls one or more of the processing units to format at least a portion of the information communicated to the first employer and the second employer in a format designed for viewing in a web browser.
40. The system as in claim 39, in which:
the information received from the first employer and the information received from the second employer includes information entered through a web browser interface.
Description
FIELD OF THE INVENTION
This invention relates generally to the field of electronic payroll and benefit systems, and in particular to various aspects of online systems designed to facilitate online payroll and benefits administration.
BACKGROUND
The processing of a company's payroll involves many steps that are susceptible to automation. Although the advent of PC-based standalone payroll systems facilitated the widespread automation of certain of these steps for small as well as large businesses, there remains a significant "manual break" in the process--between functionality relating to the calculation of employee/contractor paychecks (including income derived from raw timesheet and salary data, as well as taxes and pre-tax and post-tax deductions) and functionality relating to the calculation and disbursement of employer tax liabilities (to federal, state and local tax authorities), as well as compliance with various associated reporting requirements and distribution of paychecks.
The latter functions typically are performed manually within a company or delegated to an outside payroll service. The convenience of a payroll service cannot be overestimated. Keeping track of the legal payment and reporting requirements across federal, state and local tax authorities, and complying with the many employment-related laws, is a complex task for which most companies are ill-suited. The process is not only difficult and time consuming, but often results in errors, which ultimately may cause the company to incur significant liability in the form of back payments and penalties, as well as substantial expenditures of time and money to determine the cause of and resolve such errors.
Moreover, it is inefficient for most companies to set up the infrastructure necessary to handle this task. A centralized payroll service can deploy this infrastructure once to implement employment-related laws and payment and reporting requirements to federal, state and local tax authorities for numerous companies on a nationwide, or even worldwide, basis. It can automate the disbursement of funds and the generation and, often even, transfer of information necessary to meet the various reporting requirements. The cost to a company of hiring an outside payroll service can be offset by the elimination of the need for certain part-time or full-time accounting personnel.
Yet, many small companies continue to handle the payroll process themselves, relying on standalone payroll systems to provide total control and flexibility with limited out-of-pocket cost. As a tradeoff for saving the cost of an outside payroll service, such companies simply accept the inconvenience of having to act as their own manual payroll service, often making mistakes, as noted above, by failing to comply with particular employment-related laws or missing payment or reporting deadlines to the various relevant tax authorities.
Examples of such standalone payroll systems include the payroll modules of the "MAS 90 Accounting System" from Sage Software, Inc. of Irvine, Calif. (www.sota.com), the "AbraSuite" human resources and payroll management software from Best Software, Inc. of Reston, Va. (www.bestsoftware.com), and the "Solomon IV" business management suite from Solomon Software Inc. of Findlay, Ohio (wwvw.solomon.com).
Although such systems are relatively full-featured and are designed to assist companies in acting as their own in-house payroll service (e.g., calculating employer tax liabilities), they require a significant amount of manual intervention in areas of a process that is susceptible to automation. They also require knowledgeable accounting personnel and dedicated computing infrastructure, such as database servers.
These systems do not, for example, enforce compliance with the many tax-related and employment-related laws and other regulations that span federal state and even local jurisdictions. As noted above, such a task is far better-suited to a centralized payroll service than an individual company or even the developer of a mass-marketed PC-based software product (which would have to be upgraded frequently to track all such relevant changes). Most payroll services (including centralized services), however, do not attempt to enforce or automate compliance. Rather, such services merely calculate taxes and mail tax payments and required reports to tax authorities.
Moreover, once the relevant calculations are performed, the company still must, in addition to printing and distributing paychecks, manually schedule and make the required payments to the relevant tax authorities at the appropriate time, in addition to meeting the various reporting requirements. These standalone payroll systems do not automate such tasks. It is therefore not surprising, for example, that Best Software, Inc. (identified above) also offers the "Abra TaxFile Payroll Tax Filing Service" to complement the "Abra Payroll" module of its AbraSuite software, in order to guard against tax filing errors and provide employers with the benefits of AbraSuite's electronic funds transfer infrastructure.
Some very small companies rely exclusively on an outside payroll service, performing only those calculations necessary to supply the payroll service with the summary data that it requires, and in the format that it specifies. As a tradeoff for saving the cost of certain part-time or full-time accounting personnel, such companies accept payroll service fees in order to gain the convenience of having the payroll service manage the entire process of calculating and distributing employee/contractor paychecks, calculating employer/employee tax liabilities and distributing the required payments and reports to the appropriate tax authorities.
Yet, with the convenience of a payroll service comes the loss of flexibility and control over the payroll process. The companies that rely on such services must manually calculate the components of the summary payroll data required by the payroll service, including gross income (hourly or salaried, along with any overtime, bonuses, commissions, etc.) and various medical and other benefits, as well as allocations among pre-tax and post-tax deductions. Such companies must also conform to the time deadlines imposed by the payroll service, or risk missing a payroll. Exceptions (which occur fairly frequently in any reasonably sized company) are difficult for a payroll service to manage. Even a change in direct deposit requirements may not be implemented by an outside payroll service for two or three pay periods from the time of the initial request. Finally, the company must manually extract (and perhaps translate) the summary data into the particular data format required by the payroll service, often making each payroll a special case.
Well-known payroll services from ADP (Automatic Data Processing, Inc.) of Roseland, N.J. (ww.adp.com), Paychex, Inc. of Rochester, N.Y. (www.paychex.com), and PayMaxx, Inc. of Franklin, Tenn. (www.paymaxx.com) all enable companies to outsource the calculations necessary to generate employee paychecks and employer/employee tax liabilities, and to make scheduled tax filings and payments to the relevant tax authorities. As noted above, however, companies must first generate the summary information for each pay period (including income, overtime, bonuses, commissions, pre-tax and post-tax deductions, etc.) and provide it to the payroll service in the specified format.
Larger companies in particular have attempted to get the "best of both worlds" by adopting a hybrid approach, using a standalone payroll system to calculate payroll-related data, and then manually transferring summary payroll data to an outside payroll service. One problem with this approach, however, is that payroll services require summary data in a particular format, which is not necessarily compatible with the output generated by standalone payroll systems (which typically are designed to enable companies to act as their own in-house payroll service). As a result, companies must manually integrate these two incompatible systems.
For example, not only must a company make manual modifications to transfer this summary data to the payroll service in the appropriate format, but any subsequent changes made to the raw data (e.g., a timesheet adjustment, added bonus, etc.) necessitate repeating this process to regenerate the summary data. In many cases, to avoid missing a payroll, companies must move certain changes to the next payroll, requiring additional modifications to the payroll system data. In short, keeping these two different systems synchronized often requires numerous manual modifications.
Companies offering such hybrid systems, often with human resource information systems ("HRIS") as well as payroll functionality, include ProBusiness, Inc. (www.probusiness.com) and PeopleSoft, Inc. (www.peoplesoft.com), both of Pleasanton, Calif., and Payroll Online Corporation of Bellevue, Wash. (www.payrollonline.com).
Larger companies that rely on enterprise-level HRIS and payroll systems must perform a significant amount of manual processing to synchronize the output of their payroll systems with the data format expected by their outside payroll services. As noted above, there is a distinct "manual break" in between two relatively automated processes.
Moreover, standalone payroll systems, even if used in conjunction with an outside payroll service, are inherently difficult to maintain. They must be updated frequently to reflect constant changes not only in tax laws and tax tables, but in the various employment-related laws that span federal, state and local jurisdictions. Frequently distributing such changes on a mass-market basis is simply not practical, even via the Internet, particularly when the local databases maintained by such systems must, in effect, be synchronized with those of a company's outside payroll service.
Recent trends toward outsourcing resource-intensive tasks such as HRIS and payroll management are gradually leading enterprise-level software vendors such as Oracle Corporation and PeopleSoft to offer "online leases" of their enterprise-level applications via the Internet. See, for example, "Net Lets Small Firms Run Faster Without an IT Team" (Lorna Fernandes, San Francisco Business Times, week of Feb. 15, 1999) and "The Perfect Host" (Jeffrey Zygmont, CFO Magazine, May 1999).
With the advent of the Internet and, in particular, the World Wide Web, payroll services have gradually attempted to migrate some of their functionality online, in an effort to reach a broader audience and to simplify communication with their customers. Similarly, standalone payroll system vendors are beginning to offer payroll-service fuctionality, often utilizing the Internet to facilitate the transfer of data.
Unfortunately, such systems do not adequately integrate payroll system functionality with that of a centralized payroll service. Companies still are forced to perform preliminary manual calculations to provide summary payroll data to an outside payroll service, or manually extract such summary data from a standalone payroll system.
Vendors seeking to integrate payroll service functionality with their existing standalone payroll systems still rely on PC-based client software that maintains a local database. As noted above, it is difficult to update such systems on a sufficiently frequent basis to enable them to enforce compliance with current employment-related laws. As a result, such systems leave this task to the employer, resulting in frequent errors that even a sophisticated payroll service may not detect. Moreover, synchronizing the data from the system's local database with that of an outside payroll service (even from the same vendor) results in the "manual break" in the process referred to above, requiring additional personnel and other resources within both the employer and the system vendor.
Vendors seeking to integrate a company's existing payroll system functionality with their outside payroll services face similar problems. These "web-based payroll services" offer little more than a web-based form that enables companies to enter summary payroll data directly into a browser (as opposed to using a telephone or fax machine), and perhaps see summary reports for approval before submitting the payroll. They do not address the problems described above with respect to integrating payroll system functionality with an outside payroll service.
Examples of such "integrated" products include "EasyPayWin" and "EasyPayNet" from ADP (www.adp.com), "Millenium" and "ESN Extranet" from Payroll Online Corporation (www.payrollonline.com), and "Virtual Payroll" from Virtual Payroll, Inc. of Margate, Fla. (www.virtualpayroll.com).
Existing payroll systems and payroll services, including those discussed above, also have not adequately integrated employee benefits into the payroll process, despite claims to the contrary. For example, certain medical benefits result in both pre-tax and post-tax deductions. Although existing payroll systems permit such deductions to be entered, they do not enable companies to set up custom policies pursuant to which the system will calculate automatically (for each pay period) the appropriate pre-tax and post-tax amounts for all employees/contractors. Moreover, existing payroll services do not typically handle employer disbursements to medical, life insurance and other benefit providers, requiring companies to manage such payments (and generate and transfer associated reports) themselves.
More generally, existing payroll systems and payroll services do not enforce compliance with the various employment-related and tax-related rules governing this process. For example, such systems and services would permit an employee to include a $1000/month paycheck deduction for a 401(k) plan on a pre-tax basis, despite the current $10,000 annual pre-tax deduction limit on such plans (which changes most years). Existing payroll systems and services also do not enable employees to designate miscellaneous payees for salary deduction payments, such as out-of-pocket medical expenses, mortgage payments, and child-care payments.
What is needed is an online payroll and benefits system that provides employers with the flexibility and control of an automated standalone payroll as well as the convenience of a seamlessly integrated outside payroll service.
SUMMARY
The present invention addresses the above-described concerns by seamlessly integrating an automated, centralized back-end payroll service with a full-featured web-based payroll system. Both aspects of this tightly integrated system have access to the same database of raw information, which includes, for example, general profile information on the employer and each employee/contractor, employee/contractor timesheet, salary and hourly wage data, company overtime, medical, life insurance and other benefit policy data, as well as information on third-party providers and miscellaneous payees.
Full-featured payroll system functionality is implemented, in one embodiment, both on the server side and on the client side, using "ActiveX" controls that provide employers and employees (to the extent security policies permit) with a robust user interface via a standard web browser. In this embodiment, a centralized database is maintained on the server side (though it could be embodied as separately synchronized client-side and server-side components) to provide the system's back-end (server-side) payroll service functionality with constant access to the same raw data. The system user interfaces are driven by the data contained within the centralized database.
The system implements and enforces compliance with a wide variety of tax-related and employment-related rules across federal, state and local jurisdictions (relating, for example, to overtime pay, benefit limits, payment frequency, and scheduled reporting requirements, as well as various tax rules and tables). The system can automatically receive and implement electronic updates to these rules, modifying its own functionality to conform to these changes and ensure compliance with current example. Moreover, these rules can include employers' own custom policies, e.g., an overtime policy that provides benefits beyond those required by law.
Full-featured payroll system functionality includes the automated collection of employee data (e.g., timesheets that can be entered manually or automatically via an interface with time clock devices) and the calculation of employee/contractor income, taxes, and pre-tax and post-tax deductions. The system automatically calculates overtime, imputed income, and paid-time-off benefits, and allocates the sharing of payments for other employee benefit programs between employers and employees, as well as enabling employers to set up custom policies, e.g., for overtime, 401(k) and medical "cafeteria" plans.
In addition, the system enables employees to specify policies for payments to miscellaneous third-party payees, such as an automatic deduction for an employee's mortgage payment. In fact, employees could elect to use the system as a centralized bill payment system for their personal bills. Employees can even be given the option of selecting among multiple medical, 401(k), life insurance and other benefit providers, with the system automatically implementing the appropriate benefit plan policies for each employee, e.g., affecting allocations among pre-tax and post-tax deduction amounts. Employers also can specify custom reports (in addition to those required by law), which the system will generate and transfer automatically to the appropriate party (employer, employee, benefit provider, etc.) at the specified reporting interval.
Employers can review and validate paychecks for each employee/contractor, modify virtually any of the raw data and immediately recalculate paychecks, and even print some or all paychecks locally, submitting the remainder of the payroll (with a single click of the mouse or push of a button) to the system's automated back-end payroll service.
Once a payroll has been submitted, the system's back-end payroll service functionality uses this same raw data to generate disbursement information for payments to employees/contractors, benefit providers, miscellaneous payees, and various tax authorities. These calculations remain subject to compliance with the same database of rules that was used to calculate employee paychecks.
The system applies these rules to determine the source, destination and scheduled timing for disbursement of funds and transfer of information (e.g., reports, tax filings, and associated payment information) among the various payers and payees, and then automatically effects such transfers (whether electronic or otherwise) at the appropriate times. For example, for each pay period, funds are transferred (typically electronically) from the employer's account to that of the payroll service, from which paychecks are automatically transferred electronically, or printed and mailed (if not printed locally by the employer), to each employee/contractor. At the appropriate time (not necessarily corresponding with a pay period), funds are also transferred (as are any automatically generated reports) to the appropriate tax authorities, benefit providers and miscellaneous payees (e.g., lienholders, child care providers, etc.).
Various other features have been added (as described below) to provide employers and employees with additional flexibility and control over the payroll process, and to facilitate automated communication and integration of functionality not only between the company and its payroll service, but with miscellaneous payees, benefit providers and other third parties as well.
BRIEF DESCRIPTION OF THE FIGURES
The above objects and description of the present invention nay be better understood with the aid of the following text and accompanying drawings:
FIG. 1 shows the high-level architecture of an embodiment of the present invention.
FIG. 2 shows the functionality and dynamic flow of information through a payroll system.
FIG. 3 shows the functionality and dynamic flow of information through a payroll service.
FIG. 4(a) shows the data organization of an embodiment of the present invention at the system level.
FIG. 4(b) shows the data organization of an embodiment of the present invention at the employer level.
FIG. 4(c) shows the data organization of an embodiment of the present invention at the employee level.
FIG. 5 shows a screen print of a login interface in an embodiment of the present invention.
FIG. 6 shows a screen print of an interactive user interface displaying navigational options related to an Employer's payroll in an embodiment of the present invention.
FIG. 6(a) shows a screen print of an interactive user interface for displaying an Employer's address information in an embodiment of the present invention.
FIG. 7(a) shows a screen print of an interactive user interface for displaying an Employer's office information in an embodiment of the present invention.
FIG. 7(b) shows a screen print of an interactive user interface for displaying an Employer's division information in an embodiment of the present invention.
FIG. 7(c) shows a screen print of an interactive user interface for displaying an Employer's department information in an embodiment of the present invention.
FIG. 8(a) shows a screen print of an interactive user interface for assigning employees to an Employer's offices in an embodiment of the present invention.
FIG. 8(b) shows a screen print of an interactive user interface for assigning employees to an Employer's divisions in an embodiment of the present invention.
FIG. 8(c) shows a screen print of an interactive user interface for assigning employees to an Employer's departments in an embodiment of the present invention.
FIG. 8(d) shows a screen print of an interactive user interface for selecting employee names to be displayed in an embodiment of the present invention.
FIG. 9 shows a screen print of an interactive user interface for displaying bank information in an embodiment of the present invention.
FIG. 10 shows a screen print of an interactive user interface for displaying Employer-defined paid-time-off schedules in an embodiment of the present invention.
FIG. 10(a) shows a screen print of another view of an interactive user interface for displaying Employer-defined paid-time-off schedules in an embodiment of the present invention.
FIG. 10(b) shows a screen print of an interactive user interface for calculating paid-time-off accrual in an embodiment of the present invention.
FIG. 10(c) shows a screen print of an interactive user interface for testing a paid-time-off accrual rates table in an embodiment of the present invention.
FIG. 11 shows a screen print of an interactive user interface for specifying paid-time-off accruals in an embodiment of the present invention.
FIG. 12(a) shows a screen print of an interactive user interface for displaying employee benefit plans in an embodiment of the present invention.
FIG. 12(b) shows a screen print of another view of an interactive user interface for displaying employee benefit plans in an embodiment of the present invention.
FIG. 12(c) shows a screen print of another view of an interactive user interface for displaying employee benefit plans in an embodiment of the present invention.
FIG. 12(d) shows a screen print of an interactive user interface for selecting employee benefit plans in an embodiment of the present invention.
FIG. 13 shows a screen print of an interactive user interface for displaying payee information in an embodiment of the present invention.
FIG. 14(a) shows a screen print of an interactive user interface for displaying employee shared deduction information in an embodiment of the present invention.
FIG. 14(b) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.
FIG. 14(c) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.
FIG. 14(d) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.
FIG. 14(e) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.
FIG. 15(a) shows a screen print of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.
FIG. 15(b) shows a screen print of another view of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.
FIG. 15(c) shows a screen print of another view of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.
FIG. 15(d) shows a screen print of another view of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.
FIG. 15(e) shows a screen print of an interactive user interface for selecting tax-deductible benefit plans in an embodiment of the present invention.
FIG. 16 shows a screen print of an interactive user interface for displaying information regarding payroll taxes in an embodiment of the present invention.
FIG. 16(a) shows a screen print of another view of an interactive user interface for displaying information regarding payroll taxes in an embodiment of the present invention.
FIG. 16(b) shows a screen print of another view of an interactive user interface for displaying information regarding payroll taxes, including a tax table, in an embodiment of the present invention.
FIG. 17 shows a screen print of an interactive user interface for specifying alternative payroll taxes in an embodiment of the present invention.
FIG. 18(a) shows a screen print of an interactive user interface for displaying Employer-defined payroll groups in an embodiment of the present invention.
FIG. 18(b) shows a screen print of another view of an interactive user interface for displaying Employer-defined payroll groups in an embodiment of the present invention.
FIG. 18(c) shows a screen print of another view of an interactive user interface for displaying Employer-defined payroll groups in an embodiment of the present invention.
FIG. 19 shows a screen print of an interactive user interface for assigning employees to an Employer's payroll groups in an embodiment of the present invention.
FIG. 20 shows a screen print of an interactive user interface for specifying an Employer-defined autopay schedule in an embodiment of the present invention.
FIG. 21(a) shows a screen print of an interactive user interface for displaying Employer-defined pay rate types in an embodiment of the present invention.
FIG. 21(b) shows a screen print of another view of an interactive user interface for displaying Employer-defined pay rate types in an embodiment of the present invention.
FIG. 22 shows a screen print of an interactive user interface for displaying Employer-defined pay scales for particular job classifications in an embodiment of the present invention.
FIG. 23 shows a screen print of an interactive user interface for displaying an Employer's holiday schedule in an embodiment of the present invention.
FIG. 23(a) shows a screen print of an interactive user interface for selecting holidays to be included in an Employer's holiday schedule in an embodiment of the present invention.
FIGS. 24 and 24(a) shows a screen print of an interactive user interface for displaying information regarding payees to whom payments will be made from payroll deductions in an embodiment of the present invention.
FIG. 24(b) shows a screen print of another view of an interactive user interface for displaying information regarding payees to whom payments will be made from payroll deductions in an embodiment of the present invention.
FIG. 25(a) shows a screen print of an interactive user interface for displaying labor codes in an embodiment of the present invention.
FIG. 25(b) shows a screen print of an interactive user interface for defining general ledger codes in an embodiment of the present invention.
FIG. 26 shows a screen print of an interactive user interface for selecting an employee for payroll processing in an embodiment of the present invention.
FIG. 26(a) shows a screen print of an interactive user interface for commencing input of information regarding a new employee in a workflow sequence in an embodiment of the present invention.
FIG. 26(b) shows a screen print of an interactive user interface for inputting information regarding a new employee in a workflow sequence in an embodiment of the present invention.
FIG. 27(a) shows a screen print of an interactive user interface for displaying personal information regarding a particular employee in an embodiment of the present invention.
FIG. 27(b) shows a screen print of an interactive user interface for displaying home address information regarding a particular employee in an embodiment of the present invention.
FIG. 27(c) shows a screen print of an interactive user interface for displaying Employer contact information regarding a particular employee in an embodiment of the present invention.
FIG. 28(a) shows a screen print of an interactive user interface for displaying payroll information regarding a particular employee in an embodiment of the present invention.
FIG. 28(b) shows a screen print of another view of an interactive user interface for displaying payroll information regarding a particular employee in an embodiment of the present invention.
FIG. 28(c) shows a screen print of an interactive user interface for displaying Employer-defined overtime rules in an embodiment of the present invention.
FIG. 29 shows a screen print of an interactive user interface for setting the termination date of an employee in an embodiment of the present invention.
FIG. 30(a) shows a screen print of an interactive user interface for displaying pay rate information regarding a particular employee in an embodiment of the present invention.
FIG. 30(b) shows a screen print of another view of an interactive user interface for displaying pay rate information regarding a particular employee in an embodiment of the present invention.
FIG. 31 shows a screen print of an interactive user interface for displaying periodic earnings information regarding a particular employee in an embodiment of the present invention.
FIG. 32 shows a screen print of an interactive user interface for displaying periodic deductions information regarding a particular employee in an embodiment of the present invention.
FIG. 33 shows a screen print of an interactive user interface for displaying paid-time-off information regarding a particular employee in an embodiment of the present invention.
FIG. 34(a) shows a screen print of an interactive user interface for displaying insurance plan information regarding a particular employee in an embodiment of the present invention.
FIG. 34(b) shows a screen print of another view of an interactive user interface for displaying insurance plan information regarding a particular employee in an embodiment of the present invention.
FIG. 35(a) shows a screen print of an interactive user interface for displaying payroll tax information regarding a particular employee in an embodiment of the present invention.
FIG. 35(b) shows a screen print of another view of an interactive user interface for displaying payroll tax information regarding a particular employee in an embodiment of the present invention.
FIG. 36 shows a screen print of an interactive user interface for displaying year-to-date taxable earnings of a particular employee in an embodiment of the present invention.
FIG. 37 shows a screen print of an interactive user interface for displaying year-to-date tax deductions of a particular employee in an embodiment of the present invention.
FIG. 38 shows a screen print of an interactive user interface for displaying direct deposit information regarding a particular employee in an embodiment of the present invention.
FIG. 39 shows a screen print of an interactive user interface for selecting a contractor for payroll processing in an embodiment of the present invention.
FIG. 39(a) shows a screen print of an interactive user interface for commencing input of information regarding a new contractor in a workflow sequence in an embodiment of the present invention.
FIG. 39(b) shows a screen print of an interactive user interface for inputting information regarding a new contractor in a workflow sequence in an embodiment of the present invention.
FIG. 40(a) shows a screen print of an interactive user interface for displaying a timesheet summary of a selected payroll group in the current payroll in an embodiment of the present invention.
FIG. 40(b) shows a screen print of an interactive user interface for displaying a timesheet of a particular employee in the current payroll in an embodiment of the present invention.
FIG. 40(c) shows a screen print of an interactive user interface for displaying a paycheck of a particular employee in the current payroll in an embodiment of the present invention.
FIG. 41(a) shows a screen print of an interactive user interface for displaying a timesheet summary of a selected payroll group in an unscheduled payroll in an embodiment of the present invention.
FIG. 41(b) shows a screen print of an interactive user interface for displaying a timesheet of a particular employee in an unscheduled payroll in an embodiment of the present invention.
FIG. 41(c) shows a screen print of an interactive user interface for displaying a paycheck of a particular employee in an unscheduled payroll in an embodiment of the present invention.
FIG. 42 shows a screen print of an interactive user interface for selecting parameters for electronic processing of a particular payroll in an embodiment of the present invention.
FIG. 43 shows a screen print of a system message regarding funding of a particular payroll in an embodiment of the present invention.
FIG. 44 shows a screen print of a system message providing information regarding an Employer-initiated "FedWire" payroll transaction in an embodiment of the present invention.
FIG. 45(a) shows a printout of a paycheck and pay stub generated by an embodiment of the present invention.
FIG. 45(b) shows a printout of a direct deposit pay stub generated by an embodiment of the present invention.
FIG. 46(a) shows a printout of a payee check and payment summary generated by an embodiment of the present invention.
FIG. 46(b) shows a printout of another payee check and payment summary generated by an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
General Architecture
One embodiment of the present invention described herein is an online Internet-based (World Wide Web) system that combines the flexibility and functionality of a standalone payroll system with the convenience of a payroll service, and automatically integrates the interface between the payroll system and payroll service functionality, in addition to providing other novel features.
FIG. 1 illustrates the high-level architecture of an embodiment of the invention. Users, e.g., the payroll administrator of a company with employees and/or contractors (an "Employer"), access the system via remote terminals 10, such as personal computers that are equipped with hardware and software to provide an interactive connection to the Internet 15. Processing related to Employers' communications and interactions with the system are coordinated by application server 20. Application server 20 coordinates and controls a variety of applications (some of which may be installed locally on the remote terminals 10) that comprise the system's features and functionality, including software that performs various calculations, rule applications, disbursements, electronic funds transfers, and report generation related to the administration and processing of Employers' payrolls and benefit plans.
In performing its coordination and control functions, application server 20 communicates with a plurality of data collections. These collections may be implemented as databases, tables, or other data structures, and comprise the primary categories of data manipulated by the system. These data collections are shown in FIG. 1 and described below at a high level, with greater detail subsequently provided in the context of a specific example of an embodiment of this invention.
For each Employer, employee data 30 consists of information about the Employer's employees and/or contractors, including: personal information (e.g., name, employee number, social security number, date of birth, etc.), address information, company contact information (e.g., office, division, department, telephone number, etc.), payroll information (e.g., salary or hourly status, payroll group, exempt status indicators, etc.), pay rate information (e.g., salary, hourly rate, overtime rate, etc.), periodic earnings information (e.g., bonuses, commissions, tips, etc.), periodic deductions information (e.g., 401(k), child support, medical plan contributions, etc.), benefit information (e.g., paid time off, insurance, etc.), tax information (e.g., tax type, withholding allowances, etc.), and direct deposit information (e.g., bank name, routing number, account number, etc.). The Employer typically inputs this information into the system, though some information, such as benefit elections, automatic deductions, and direct deposit elections may be input directly by the employees.
For each Employer, employer data 40 includes information specific to the Employer, including: address information (for headquarters and other locations), structure information (e.g., departments, divisions), bank information (for bank account(s) from which payroll is funded), paid-time-off policies (e.g., vacation time and sick time payment schedules, including calculation and accrual parameters), holiday information (regarding holidays recognized by one or more of Employer's offices), benefit information (regarding standard and custom health plans, insurance plans, etc.), deduction information (regarding shared and matching contributions by Employer for employee benefits), tax information (regarding tax authorities applicable to Employer's payroll), payroll group information (regarding Employer-defined payroll groups), and pay rate information (regarding Employer-defined pay rates). The Employer typically inputs this information into the system.
For each Employer, payroll data 50 includes the total payroll for each pay period, including timesheet and paycheck summaries for all employees and contractors employed during a given pay period. This information is compiled during and after processing of employee data 30 and employer data 40.
For each Employer, benefits data 60 includes information regarding employee benefits, such as health insurance, dental insurance, life insurance, disability insurance, and 401(k) plans. The stored information includes: provider name and address, benefit plan type, plan name, plan group number, effective date, expiration date, amount to be paid by Employer to provider, billing cycle, Employer-to-provider payment method (e.g., Automated Clearinghouse ("ACH") or "FedWire" debit), bank routing number, and account number. The Employer typically inputs this information into the system.
For each Employer, payees data 70 includes information regarding payees to whom periodic or ad hoc payments will be made by the Employer from employee paycheck deductions, such as mortgage lenders, investment banks, insurance companies, child support agencies, and charities. The stored information includes: payee name and address, payee type (lender, investment bank, insurance company, child support agency, charity, etc.), payer's (i.e., employee's) name, payer's account number with payee, amount to be paid by Employer to payee, billing cycle, Employer-to-payee payment method (e.g., check, direct deposit), bank routing number, and account number. The Employer or third-party administrator typically inputs this information into the system; however, an employee could do this as well if the employee elects to use the system as a centralized bill payment system.
Tax authorities data 80 includes information regarding tax authorities applicable to Employers' payrolls, as determined each payroll period by application server 20 based on Employers' particular data (i.e., addresses of Employer's offices) and employees'/contractors' home addresses. This information is common to multiple Employers that use the system, though not all Employers pay taxes to the same tax authorities. Tax authorities include the U.S. Internal Revenue Service, as well as state and local tax agencies. In some embodiments of this invention, tax authorities data 80 may also include international tax agencies. The stored information includes: name, address, and payment information (e.g., bank routing number and account number for electronic payment, address for payment by check, TXP Addendum information for ACH tax payments). In addition, for each tax authority included in tax authorities data 80, there is at least one entry in tax forms data 82, tax tables and calculations data 84, and tax payment data 86. Tax forms data 82 includes, for each tax authority, copies of required forms in printable PDF format or "Report Writer" format (where signatures are required) or EDI format (where electronic filing is permitted) that are filed by the system for Employers, as well as filing deadlines based on accumulated tax liabilities during the filing period and other related information. The system determines which forms are required in particular situations and provides the users with the requisite forms. Tax tables and calculations data 84 includes, for each tax authority, tax formula steps and tables necessary to calculate payroll and withholding taxes. Tax payment data 86 includes, for each tax authority, rules and information regarding tax payment, including electronic payment.
Bank data 90 includes information regarding system bank accounts from which Employers' payments to employees, tax authorities, benefit providers, and miscellaneous payees will be funded. This information is common to multiple Employers that use the system, though not all Employers use the same accounts. The stored information includes: bank name, bank routing number, and account number for the bank account.
Holidays data 100 includes information regarding standard holidays (both U.S. and international) applicable to Employers' payrolls. This information is common to multiple Employers that use the system, though not all Employers recognize all holidays included in the data. The stored information includes: holiday name, actual date of holiday (e.g., July 4 for Independence Day holiday), and description of holiday (e.g., first Monday in September for Labor Day holiday).
System data 110 includes information related to and used in administration of the system. This information includes security data 112, server data 114, and workflow sequence data 116. Security data 112 includes numeric security levels that can be used by an Employer to limit the access of particular users to certain user interface screens, fields within screens, employee data, office data, payroll group data, and/or other groupings of data. Server data 114 includes information regarding servers communicating with the system application server 20, including database servers and web servers of each Employer using the system. The system uses server data 114 in order to dynamically reconfigure and load balance Employers' servers. The system performs such reconfiguring and load balancing in the event of server failures or to improve performance.
Workflow sequence data 116 includes information and executable code that enables Employers to create customized, automated workflows through the system user interface screens. Such a workflow can be invoked via a keystroke or by clicking a button and automatically guides the user through a pre-selected sequence of interface screens, rather than requiring the user to select each interface screen along the way. The system provides software "wizards" that enable the user to navigate forwards or backwards through a series of interface screens, while preserving the data already entered by the user on any of the screens. Some workflows may be provided by the system, including new company and new employee or contractor sequences (see, e.g., FIGS. 26(a)-(b), 39(a)-(b)). The automated workflows provide the user with increased speed and efficiency in using the system and provide Employers with a method of imposing security restrictions over certain system functionality.
Rules data 120 includes a variety of rules applied by application server 20 in perforaing payroll and benefits processing. Rules data 120 contains system-defined rules related to such functionality as overtime calculation (e.g., different rules based on daily, weekly, and bi-weekly overtime limits, as applicable), payment calculation, tax calculation, reporting, and legal compliance. For example, the system applies a legal compliance rule that will determine that ail employee who contributes $1000 per monthly paycheck to her 401(k) account has exceeded the annual $10,000 limit and, accordingly, will notify the user regarding processing of the additional $2000 contribution.
In some embodiments of this invention, such rules are implemented in the form of "stored procedures," i.e., executable, optimized SQL statements and data tables. The stored procedures are created by a source code generator based on steps contained within the data tables, such as tax calculation steps. Rules and calculations can be easily modified by adding or deleting steps within the data tables, without manually modifying the SQL statements within the stored procedures. Customized steps can be combined with standard steps to create customized rules and calculations. Further, such rules and calculations are easily auditable.
For example, the "Apply Nonexempt Limits" stored procedure contains SQL statements that calculate legally-required overtime for employees who are not exempt from overtime rules. After checking that the selected payroll group belongs to Employer, the stored procedure will cause the system to collect the list of non-exempt employees in the payroll group and, for each such employee, save the employee's timesheet data for the current payroll period in a temporary table. Next, the stored procedure will retrieve the employee's time entries for the 14-day period prior to the payroll date (i.e., the workdays covered in the current payroll date) and subtract out any previously awarded calculated overtime.
The stored procedure will next retrieve the employee's overtime hours and insert the hours into a calculation area. The overtime hours will be treated differently depending upon how the employee's overtime is calculated: (i) if calculated on a daily basis, the overtime hours will be inserted as negative hours and subtracted from any overtime calculated on a weekly or bi-weekly basis; (ii) if calculated on a weekly basis, the overtime hours (excluding any hours determined on a daily basis) will be inserted as negative hours and subtracted from any overtime calculated on a bi-weekly basis; (iii) if calculated on a bi-weekly basis, the overtime hours (excluding any hours determined on a daily or weekly basis) will be inserted as negative hours. The stored procedure will check that the calculated overtime hours do not exceed any overtime limits applicable to the employee. Next, the stored procedure will clear out any previously calculated overtime from the employee's timesheet and insert the newly calculated overtime hours; the system will reverse the sign of the overtime hours in order to produce a positive number (for calculation purposes). Finally, using these hours, the employee's pay rate, and the applicable overtime multiplier, the stored procedure will calculate the employee's overtime pay and insert that value into the employee's paycheck.
As another example, the "Calculate Taxes" stored procedure contains SQL statements that calculate the payroll taxes for each employee. After checking that the selected payroll group belongs to Employer, the stored procedure will cause the system to collect the list of employees in the payroll group and, for each employee, calculate all applicable taxes, usually starting at the federal level and moving down to the smallest applicable tax authority, if there is more than one tax at a particular level (e.g., multiple state income taxes), the stored procedure will set the desired order for calculating the taxes. The stored procedure also directly processes taxes that are a percentage of another tax (e.g., a state income tax that is a percentage of federal income tax), and ensures that such taxes are calculated in the correct order. In some circumstances, this means that the stored procedure automatically calculates the "smaller" tax before the "larger" tax, e.g., the federal unemployment tax ("FUTA") is calculated as a percentage of the "smaller" state unemployment insurance tax.
Rules data 120 will be updated automatically as existing rules are modified or new rules are created. For example, in the embodiment of the invention described herein, the system automatically updates tax rules by running proprietary, automated parser software on a monthly basis against tax law CD-ROMs that are commercially available from CCH Incorporated of Riverwoods, Ill. The parser software reviews the tax rules for relevant updates and uploads such updates to rules data 120. The system then processes the updates and dynamically generates data table entries from which executable SQL statements are generated.
Payroll System Functionality
In one embodiment of the invention described herein, the system includes functionality that is typically associated with stand alone payroll systems, functionality that is typically associated with payroll services, an "interface" between the payroll system and payroll service functionality, and other novel features.
FIG. 2 illustrates the process flow of the "payroll system"-type functionality included in the present embodiment. The process flow is not strictly linear; thus, a number of the steps that will be described can be performed in a different order, or at any time. For illustration purposes, only, the process flow will be described as shown in FIG. 2.
For each employee and/or contractor included in the payroll for a particular pay period, an Employer first undertakes the step of collecting employee data 1000 (including any contractor data) for the particular time period. The employee data includes both timesheet data 1002 and non-timesheet data 1004. Non-timesheet data 1004 includes bonuses, commissions, tips, and other non-hourly or -salary based earnings accrued during the pay period that will be included in the employee's paycheck. Timesheet data 1002 includes hours worked (e.g., daily or total for pay period) and paid time off during the particular pay period, and may be collected (i.e., imported or keyed-in) on a daily basis or at the end of the pay period. If maintained on a daily basis, the system permits the Employer to "certify" the daily payroll. In one embodiment of this invention, employees' hours worked may be imported via a TCP/TP plug-in to third-party a time clock mechanism that communicates with and sends data directly to the system, in order to eliminate the need for keying-in the timesheet data. In other embodiments of this invention, employees' hours may be entered via an offline browser that automatically uploads data to a shared database from which it can be accessed by the system. Alternatively, electronic timesheets can be downloaded by the Employer for offline entry and subsequent upload to the system. These features are improvements upon traditional payroll systems, which do not include daily payroll capabilities or integrated timesheets.
Next, the system calculates the employee's income for the pay period 1010. A necessary input to this step is base rate information 1012 regarding the employee (included in employee data 30), which includes the employee's hourly pay rate for the period. This calculation step 1010 includes several sub-calculations for the pay period, such as: (1) calculation of base rate income 1015 (e.g., hourly or salary); (2) calculation of overtime 1016, if applicable, as required by law and applicable custom benefits or agreements; (3) calculation of imputed income 1017, i.e., non-paid income such as domestic-partner benefits, use of company car, per diem in excess of standard amount, life insurance in excess of standard amount, etc., for which there is a corresponding post-tax deduction (the system automatically enters a corresponding deduction so that the employee's gross income does not change); and (4) calculation of extra income 1018, i.e., non-timesheet income such as bonuses, commissions, tips, vacation pay, benefit accural, etc. Note that traditional stand-alone payroll systems and services do not offer automatic overtime or imputed income calculations, as this invention provides. Some of these sub-calculations require the step of applying rules 1020 from rules data 120. For example, the overtime calculation may require application of Employer-specific overtime rules 120a corresponding to a union bargaining agreement. Other rules may relate to payment calculation 120b, reporting 120c, tax calculation 120d, and legal compliance 120e.
In this embodiment, the system next calculates the employee's pre-tax deductions for the pay period 1030. This calculation step 1030 may include several sub-calculations, such as: (1) calculation of the employee's 401(k) contribution 1035, if applicable; and (2) calculation of the employee's "cafeteria" plan 1036, which may cover insurance premiums, childcare expenses, out-of-pocket medical expenses, etc., if applicable. For example, step 1036 applies where the employee commits to an optional one-year fixed deduction to fund a pre-tax medical plan, which the Employer can match in a "medical savings account cafeteria" plan. Where applicable, and as a part of step 1036, the system can decide how much of the employee's contribution goes to the pre-tax cafeteria plan and how much goes to a non-deductible health insurance plan. Step 1030 requires use of employee benefits information 1032 (included in benefits data 60), such as amounts to be deducted from the employee's paycheck. Step 1030 may also require the step of applying rules 1020 from rules database 120, such as legal compliance rules 120e to ensure that the employee does not make 401(k) contributions above the annual limit, which has tax implications. In such a situation, the system can limit the employee's annual deduction or transfer the excess deduction to another deduction. Further, after determining the employee's pre-tax calculations, the system may need to calculate the Employer's matching contribution to the employee's 401(k) plan 1040, if the Employer provides such a matching benefit.
The system next calculates the employee's payroll taxes for the pay period 1050. This calculation step 1050 may include the following sub-calculations: (1) calculation of the employee's federal payroll taxes 1055, including income tax, social security (FICA), and Medicare payments; (2) calculation of the employee's state payroll taxes 1056, including income tax, disability tax, and unemployment tax payments, if applicable; (3) calculation of the employee's local payroll taxes 1057, such as city or county taxes, if applicable; and (4) calculation of the employee's international payroll taxes 1054, if applicable. Step 1050 requires use of the employee's tax withholding information 1052 (included in employee data 30), as well as tax information 1053 regarding the applicable tax authorities, including tax rates and calculations (included in tax authorities data 80 and tax tables and calculations data 84). These calculations may also require the application of rules 1020 from rules data 120, such as additional tax rules 120d.
After calculating the employee's payroll taxes for the pay period, the system calculates the employee's post-tax deductions for the pay period 1060. This calculation step 1060 may include several sub-calculations, such as: (1) calculation of imputed income (e.g., domestic partner benefits, etc.), if applicable, which was determined in prior step 1017; and (2) calculation of non-deductible payments to payees 1065, including benefits providers (e.g., medical insurance, life insurance, etc.) and miscellaneous payees (e.g., mortgage lenders, investment banks, insurance companies, child support agencies, childcare providers, charities, etc.) to whom payments will be made by the Employer from employee paycheck deductions. Step 1060 requires use of employee benefits information (included in benefits data 60) and miscellaneous payees information (included in payees data 70), such as amounts to be deducted from the employee's paycheck. These calculations may require the application of rules 1020 from rules data 120, such as payment rules 120e regarding payments to particular payees. Note that this system provides employees with the ability to select and directly access arbitrary payees for the purpose of automatic payroll deductions on a periodic or ad hoc basis.
After the system calculates the employee's taxes and deductions, the system generates the employee's paycheck for validation purposes 1070. The Employer can then view the employee's paycheck and associated raw and summary data online, in order to validate the paycheck 1080. Employee data that will be displayed by the system includes the following: name, identification number (e.g., social security number), pay rate or salary, pay period end date, status indicator regarding whether paycheck was prepaid, earnings broken out by type (e.g., regular, overtime, reimbursement, health benefits, etc.), hours (if applicable) broken out by type (e.g., regular, overtime), total pay amount broken out by type (e.g., regular, overtime, reimbursement, health benefits, etc.), deduction and tax amounts broken out by type (e.g., FICA, insurance premiums, 401(k), etc.), and a summary for the present and prior paychecks, showing employee's gross earnings, net earnings, and total deductions. If necessary, the Employer can adjust or modify the raw data online and the system will automatically recalculate the paycheck 1082 and display the revised information. The Employer can also view the raw and summary data in the context of various integrated reports that compare the employee to other employees. The combination of data display, modification, recalculation, and report generation provided by this invention facilitates the Employer's generation of accurate and timely paychecks, making it far less likely that the Employer will miss a payroll date.
The Employer can repeat the entire process of steps 1000-1080 for each employee and/or contractor on its payroll.
Payroll System/Service "Interface"
Once the Employer has completed the payroll system process for each employee on its payroll (or for as many employees as the Employer desires), the system can automatically generate and present to the Employer a summary of the payroll-related data for all employees 1090. It should be noted that this data can include as little or as much detail as the user desires, because the system retains access to the raw data used for the various payroll-related calculations. The system can "transfer" 1100 this summary data to the payroll service functionality, though this step does not typically involve a physical transfer of data, in that the integrated payroll service functionality also has access to the same raw data that was used to generate the summary payroll information 1090. The system therefore avoids the manual transfer of summary payroll data that typically occurs between a traditional payroll system and payroll service. The summary data 1090 contained in payroll data 50 can be modified by the Employer and recalculated 1092, if necessary.
Payroll Service Functionality
Unlike traditional stand alone payroll systems, which typically require the Employer to manually act as the payroll service, the embodiment of the invention described herein automatically "transfers" (i.e., utilizes) the payroll summary data 1090 from the payroll system (as well as raw payroll data, to the extent necessary) and provides full payroll service functionality.
FIG. 3 illustrates the process flow of the "payroll service"-type fuctionality included in one embodiment of the present invention. The process flow is not strictly linear; thus, a number of the steps that will be described can be performed in a different order, or at any time. For illustration purposes, only, the process flow will be described as shown in FIG. 3.
The payroll summary data 1090 that was transferred from the payroll system functionality 1100 is available to the payroll service via payroll data 50. The system first accesses that data in order to generate payroll disbursement information 1110 for each employee, benefit provider, and miscellaneous payee to whom finds will be disbursed by the Employer. The information that will be generated includes the amount to be paid, the due date for the payment, and the method of disbursement (e.g., electronic deposit, check). In performing this step 1110, the system performs the following sub-steps: (1) generation of payroll disbursement information for each employee 1111, including net paycheck amount; (2) generation of disbursement information regarding each medical and insurance benefit provider 1112, including the amount to be paid to the provider for all employees receiving benefits, which consists of both the Employer's share and the aggregate of employees' contributions, and payment and updated enrollment information (e.g., change in marital status or dependents); (3) generation of disbursement information regarding each 401(k) investment provider 1113, including the amount to be paid to the provider for each participating employee, which consists of both the Employer's share (if Employer matches employee contributions) and the aggregate of employees' contributions; and (4) generation of disbursement information regarding miscellaneous payees 1114 (e.g., mortgage lenders, investment banks, insurance companies, child support agencies, charities, etc.) to whom payments will be made by the Employer from employee paycheck deductions, including the amount to be paid to each payee and payment and updated enrollment information.
This step 1110 also requires the calculation of due dates 1120 for each disbursement to be made, and may require the application of rules 1020 from rules data 120, such as payment rules 120e regarding payments to particular payees. Note that this system automatically provides disbursements to benefit providers and to arbitrary payees selected by employees.
After generating payroll disbursements, the system calculates and generates tax liability disbursements 1130. Such disbursements include payments owed to various tax authorities, including federal, state, and local governments, for both employee and Employer taxes. The information that will be generated for each tax authority includes the amount to be paid, due date for the payment, and the method of disbursement (e.g., electronic deposit, check). This step 1130 requires the calculation of due dates 1120 for each disbursement to be made, and requires the application of rules 1020 from rules data 120, including additional tax rules 120d.
Once disbursements have been calculated and generated, the system will move money from account to account 1140 in order to facilitate the payment of Employer's disbursements. First, the system transfers the sum total of Employer's disbursements (less any disbursement checks already printed by Employer) from Employer's account(s) to a central payment service account 1141 (or another account held by Employer for purpose of making disbursements), via an electronic transfer, such as an ACH, "FedWire," or "reverse FedWire" debit. The system next "moves" the money to particular payees in the previously-determined amounts, taking into account whether the payment is to be made via check, in which case the system will print the check 1150, or via an electronic funds transfer, in which case the system will format the data to properly transmit the electronic payment to the recipient 1160. Transfers take place from the system account to: employees 1142, via direct deposit; tax authorities 1143, via ACH+TXP and electronic funds transfer processing ("EFTPS," which is specific to federal tax payments); and benefit providers 1144 and miscellaneous payees 1145, via ACH transfers. The system will make a single payment to a particular benefit provider 1144 or miscellaneous payee 1145 on behalf of multiple Employers via one electronic transfer or check, but will send separate reports for each Employer; the system sends electronic transfers to tax authorities, however, only on behalf of one Employer per electronic transfer. Note that, unlike traditional payroll services, this system handles not only direct deposit payments to employees and electronic payments to tax authorities, but also payments (electronic and otherwise) to third-party payees.
The final step in the process is the generation and sending of reports 1170. These reports include reports to: employees 1172, such as pay stabs and annual W-2 statements; tax authorities 1174, such as Federal annual Form 940 and Federal quarterly Form 941 and California quarterly Form DE-6 and annual Form DE-7; benefit providers 1176, such as statements reporting payment per employee; miscellaneous payees 1178, such as statements identifying the particular employee(s) for whom payment was made by account number; and the Employer 1180, such as a summary of disbursements made during the pay period and other reports. This step 1170 requires the application of rules 1020 from rules data 120, including reporting rules 120c, which set forth the proper format for electronic reports. For example, only a small number of state tax authorities accept the electronic filing of wage reports; rules 120c provide the system with this information, including the required formats (reporting formats may also be found in certain tax forms contained in tax forms data 82). In an embodiment of this invention, some reports (e.g., reports for the Employer) may be accessed online using a report writer to generate the reports. Note that this system supports the generation and transmission of reports not only to Employers and tax authorities, but also to benefit providers and third-party payees.
Database Organization
The data that is stored in and manipulated by the system can be organized in a series of databases, tables, or other data structures. In the embodiment of the invention described herein, the data is organized in a series of related tables that are accessed using software procedures written in SQL data retrieval language.
The primary collections of data can be viewed conceptually at three levels: (1) system level, (2) Employer level; and (3) employee level. The system level includes collections of data that are useable and accessible across multiple Employers using the system. The Employer level includes collections of data that will contain different information for each Employer. The employee level includes collections of data that will contain different information for each employee.
1. System Level
The data components at the system level include the data necessary for operation and administration of the system as well as data that is common to multiple Employers, employees, or third-party providers using the system. FIG. 4(a) illustrates the key data components, which are stored as tables in the present embodiment of the invention. Note that each table includes a keyed identification code or number ("ID") for each record in the table (e.g., "Companies_ID"0 for each company, i.e., Employer, in the "Companies" table 200). The ID codes increase the data access speed.
"Companies" table 200 includes specific information about each Employer using the system, such as name, address, zip code, and dates that the company began operating and terminated operations (if applicable). The system's security functionality only permits access to information about a particular Employer to that Employer or to authorized customer support personnel.
"Payees" table 210 includes specific information about each payee to which at least one Employer or employee transmits payroll deductions, including: name, ID(s) of associated Employer(s), ID(s) of associated employee(s) for whom payments are made, employee information (e.g., account number with payee), day of month to make payment, EDI information, and bank routing and account numbers for electronic payments. The system permits each Employer to create relationships with payees in the "Payees" table 210 or to add new payees to the table. Similarly, employees can create relationships with payees in the "Payees" table 210 or add new payees to the table.
"Health Plan" table 220 includes specific information about each health plan which is available to Employers to provide to their employees, including: plan name, health plan carrier ID, and ID of payee to whom payments are made for the benefit. "Health Plans" table 220 includes related "Health Plan Carriers" 221 and "Health Plan Costs" 222 tables. "Health Plan Carriers" table 221 includes the name of each health plan carrier. "Health Plan Costs" table 223 includes: valid covered individuals (e.g., employee, certain dependents), effective date of plan, and rate schedule, including payroll deduction amount for individuals in certain age ranges. The system permits each Employer to associate with each health plan in "Health Plans" table 220 or to add new health plans to the table, including custom health plans. Employers can also use this information to compare health plans.
"Banks" table 230 includes specific information about each bank at which the system maintains accounts for facilitating electronic payments from Employers to employees, tax authorities, benefit providers, and miscellaneous payees, including: bank name, bank routing number, and account number(s). The system maintains accounts at different banks at which Employers maintain bank accounts, in order to enable intrabank transfers from Employers to the system. Such transfers reduce the risk of late payments, since intrabank transfers are automatic and same day. In addition, intrabank transfers have lower associated fees than alternatives, including "FedWire" debits. "Tax Agencies" table 240 includes specific information about each tax agency to which Employers may transmit payroll taxes, including; name, ID of associated tax authority, and bank routing and account numbers. A tax agency is a specific entity within a tax authority to which separate taxes are paid (e.g., the California Employment Development Department and the Franchise Tax Board are two tax agencies within the California tax authority). "Tax Agencies" table 240 includes related "Tax Authorities" 241, "Tax Forms" 242, "ACH/TXP Definitions" 243, and "EFTPS Definitions" 244 tables. "Tax Authorities" table 241 includes tax authority name and indicators regarding whether registration is required and whether the Employer has a tax identification number with the authority. "Tax Forms" table 242 includes ID of tax authority and name of tax form (paper or electronic) to be filed by an Employer; this information can be used to link to a table that contains electronic versions of the tax forms. "ACH/TXP Definitions" table 243 includes: tax form ID, tax agency ID, and information necessary to execute an electronic ACH+TXP transaction. "EFTPS Definitions" table 244 includes information necessary to execute an EFTPS tax payment with the U.S. Internal Revenue Service. The system permits each Employer to associate with each tax agency in "Tax Agencies" table 240.
"Tax Calculations" table 250 includes information necessary to calculate each payroll tax included in the system, including: tax name, tax definition ID, effective date, expiration date, calculation steps, and order of steps. The calculation steps correspond to routines in stored procedures and are used to generate optimized, executable SQL statements contained in such stored procedures; the stored procedures actually calculate the taxes. Modifications to the calculations are made via updates to "Tax Calculations" table 250. "Tax Calculations" table 250 includes related "Tax Definitions" 251 and "Tax Lookup Tables" 252 tables. "Tax Definitions" table 251 includes: tax form IDs (for paying and reporting), tax authority ID, name, associated heading to be printed on employee paychecks, and associated information to be printed on Employer-generated W-2 forms. "Tax Lookup Tables" table 252 includes: tax definition ID, effective date, expiration date, minimum and maximum earnings ranges and associated tax rates, and an indicator regarding whether the information was validated.
"Zip Codes" table 255 contains information used in determining applicable tax authorities, including: city, state, zip code, area code, FIPS code (i.e., a unique numeric identifier assigned to each county by the U.S. government), and county. Each record in "Zip Codes" table 255 has an identifier that could potentially correspond to a different tax authority. For example, the same zip code may include more than one city, each of which assesses a local payroll tax. The "city" and "FIPS" fields are used to distinguish different tax authorities within the same zip code.
"Holidays" table 260 includes information regarding payroll holidays recognized by Employers, including: ID of Employers (and Employer's offices) recognizing holiday, date, name, indicator regarding whether applicable as paid holiday to salaried and hourly employees, and standard holiday ID. "Holidays" table 260 includes related "Standard Holidays" table 261. "Standard Holidays" table 261 includes information regarding each specific standard holiday (e.g., Memorial Day, Labor Day, etc.), including: name, occurrence within month (e.g., third Monday of month, day of week (i.e., if always the same weekday), date (if fixed); and an indicator regarding whether the holiday is a bank holiday. Each Employer can select which standard holidays apply to each of its offices.
"Job Classifications" table 270 includes information regarding industry-standard job classifications, including classification name and ID(s) of Employer(s) using a particular job classification. This information can be used to create pay scales based on tenure of an Employer's employees across different job classifications. Further, this information can be used to create salary surveys across different Employers using industry-standard job classifications. "Servers" table 280 includes information regarding each computer server that is part of the system, including name and domain. "Servers" table 280 also includes related "Database Servers" 281 and "Web Servers" 282 tables. "Database Servers" table 281 includes information regarding each database server that is part of the system, including server name and TCP port. "Web Servers" table 282 includes information regarding each Internet server that is part of the system, including server name, TCP port, and an indicator regarding whether the server is secure. The system uses the server information to dynamically load balance the system and to move Employers to different servers in order to optimize system performance or to reallocate system resources when failures occur. The information can also be used to manage servers at Employers' sites.
"Security Groups" table 290 includes information about each system security group used by the system or an Employer to limit access to the system, including ID of the associated Employer and the group name. System users may include Employer administrators, employees, third-party benefit administrators, and benefit payees. For example, an Employer may provide: (i) its employees with authorization to make certain specifications, such as benefit election, direct deposit election, and miscellaneous payee election; and (ii) third-party benefit providers and payees to enter benefit and deduction information. "Security Groups" table 290 includes related "Security Group Members" table 291, which identifies group members.
"Workflows" table 300 includes information regarding each user interface workflow created by the system or an Employer, including Employer ID and related "Workflow Sequence" table 301. "Workflow Sequences" table 301 includes information regarding each sequence of user interfaces that comprise a workflow, including: workflow ID, sequence name, numeric sequence controls, option names, and accompanying text.
"Rules" table 305 includes the many calculation and rules steps that the system uses to perform calculations and generate payroll information. These rules and calculations relate to all aspects of the calculation of overtime, payments, and taxes, as well as reporting and legal compliance. In the present embodiment, the rules are stored in the form of steps that correspond to routines in "stored procedures" and which are used to generate optimized, executable SQL code contained in such stored procedures. Modifications to the calculations are made via updates to "Rules" table 250. Examples of such stored procedures include: calculation of accrued paid-time-off; calculation of imputed income; determination of applicable tax authorities for an Employer's payroll, using a commercially-available zip code database; and determination of which taxes apply to a particular employee as of a particular date, and which tax formulas to execute.
2. Employer Level
The data components at the Employer level include data that is specific to Employers using the system. FIG. 4(b) illustrates the key data components, which are stored as tables in the present embodiment of the invention. As in the system level description, each table includes a keyed identification code or number ("ID") for each record in the table.
"Companies" table 310 includes specific information about the Employer, including name, address, zip code ID (corresponding to a sub-region within the zip code), and dates that the Employer began operating and terminated operations (if applicable).
"Offices" table 320 includes specific information about each of Employer's offices, including office name, address, and zip code ID.
"Divisions" table 330 includes specific information about each of Employer's divisions, including division name.
"Departments" table 340 includes specific information about each of Employer's departments, including department name.
"Employees" table 350 includes specific information about each of Employer's employees, including: name, social security number, address, zip code ID, and contact information.
"Company Payroll" table 360 includes information regarding Employer's payroll account, including: IDs of included employees and payroll groups, bank name, bank rotating and account numbers, and indicators regarding electronic payroll transactions.
"Payroll Groups" table 370 includes information regarding each Employer-defined payroll group, including: name, start dates of current and next payrolls, pay date of current payroll, date of last payroll, and status indicators regarding whether the current payroll is the first or last payroll of the month. "Payroll Groups" table 370 includes related "Temporary Payroll Groups" table 371, which includes the name and payroll date of any temporary payroll groups created by the Employer to make one-time payments to employees, such as bonuses.
"Company Health Plans" table 380 includes information regarding each of Employer's health insurance plans, including: benefit ID, policy group number, risk adjustment factor, renewal date, effective date, and expiration date. Such health plans may include standard health plans or health plans with custom rate tables.
"Benefits" table 390 includes information regarding each of Employer's employee benefit plans, including: deduction code ID, plan name, imputed income indicator, threshold units, imputed income multiplier, ID of payee that provides benefit, and policy group number. Such benefit plans may include standard benefit plans or customized benefit plans, such as plans that combine more than one health insurance plan. "Benefits" table 390 includes related "Benefit Costs" table 291, which includes specific information about each benefit plan, including: benefits ID, effective date, expiration date, and rate information based on the age ranges of covered individuals.
"Deduction Codes" table 400 includes information regarding payroll deductions available from the Employer's payroll, including the deduction name and ID, as well as related "Deduction Limits" table 401. The deduction codes may be global across multiple Employers or customized for a specific Employer. "Deduction Limits" table 401 includes: effective date, expiration date, and monetary limit of each type of deduction.
"Earning Codes" table 410 includes information regarding employees' earnings included in Employer's payroll, including: earnings name and ID, tax authority ID, and status indicators regarding whether earnings are to be reported as income and whether earnings accrue paid time off. The earning codes may be global across multiple Employers or customized for a specific Employer. "Earning Codes" table 410 also includes related "Earning Limits" table 411, which includes: effective date, expiration date, and monetary limit of each type of earnings.
"Paid Time Off" table 420 includes information regarding paid-time-off that may be accrued by employees, including: paid-time-off type (e.g., vacation, sick day), amount taxed as earnings, and a status indicator regarding whether there is payout at termination. "Paid Time Off" table 420 also includes related "PTO Schedules" 421 and "PTO Accrual Rates" 422 tables. "PTO Schedules" table 421 includes information regarding each type of paid time off, including: paid-time-off ID, paid-time-off name, indicators regarding whether paid time off can will be accrued by salaried and/or hourly employees, maximum hours that may be accrued, months employed before paid-time-off benefit begins, months employed before accrual commences, and maximum hours that may be accrued per year. "PTO Accrual Rates" table 422 includes paid-time-off accrual rate information, including: paid-time-off schedule ID and the maximum hours that may be accrued for ranges of employment.
"Pay Rate Types" table 430 includes information regarding each of Employer's pay rate types (e.g., standard pay, overtime, etc.), including: type, adjustment factor (wage multiplier or increment), and an indicator regarding whether overtime can be earned for the pay rate type.
"Pay Scales" table 435 includes information regarding each pay scale applicable to the job classifications used by Employer, including: job classification ID, effective date, expiration date, minimum-months-service limit, maximum-months-service limit, and pay scale wage.
"Company Tax Authorities" table 440 includes information regarding each tax authority to which the Employer pays payroll taxes, including tax authority ID and Employer's tax identification number. The applicable tax authorities are determined based upon the zip code (FIPS) and city of the Employer's (i) offices and (ii) employees and/or contractors.
"Company Taxes" table 450 includes information regarding each tax to be paid by Employer, including: tax definition ID, tax calculation alternative indicator, filing status indicator, effective date, and expiration date. "Company Taxes" table 450 includes related "Tax Deposits" 451 and "Tax Liabilities" 452 tables. "Tax Deposits" table 451 includes information regarding Employer's tax deposits, including: amount, date due, first date incurred, and last date incurred. "Tax Liabilities" table 452 includes information regarding Employer's tax liabilities, including: tax definition ID, tax deposit ID, date incurred, and amount.
"Collections/Disbursements" table 460 includes information regarding Employer's collection of funds to be transferred to the system bank accounts and subsequently disbursed to employees, tax authorities, and payees, including: payroll group ID, amount of funds, date liability incurred, date payment due, date disbursement initiated, date disbursement confirmed, and date disbursement reported. The system checks this table several times each day in order to determine whether any electronic transfers need to be effected.
"Company General Ledger Designations" table 470 includes information regarding the Employer's mapping of deduction and earnings codes to Employer's general ledger naming conventions. For example, using this system, the Employer could map a deduction code (e.g., "Dental Plan") to the Employer's internal accounting naming convention (e.g., "GL443"). The information contained in "Company General Ledger Designations" table 470 includes: division ID, office ID, department ID, deduction codes ID, earning codes ID, paid-time-off ID, tax definition ID, and general ledger designation.
"History" tables 480 includes archived information regarding additions, modifications, and deletions of the Employer's data, including the system identifier of the user who made the change, what data was changed, and when the data was changed. These tables, which mirror all of Employer's data tables, enable the system to keep working tables as small as possible, which increases processing speed. Further, these tables provide an archived backup in the event of a security or system failure, or a user entry error.
3. Employee Level
The data components at the employee level include data that is specific to each employee and/or contractor of a company. FIG. 4(c) illustrates the key data components, which are stored as tables in the present embodiment of the invention. As in the system and Employer level descriptions, each table includes a keyed identification code or number ("ID") for each record in the table.
"Employees" table 500 (table 350 in FIG. 4(b)) includes specific information about each employee and/or contractor, including: name, social security number, address, and contact information.
"Employee Benefits" table 510 includes specific information about each benefit plan elected by an employee, including: benefit ID, effective |