Pay statement setup

A computer-implemented method, system, and computer program product for configuring a pay statement. An input area is presented for a user to enter settings defining how the pay statement is to be configured. The settings are received from the user. A preview of the pay statement is displayed in a preview area based on the settings. The preview provides a visual representation of how the pay statement will appear for the settings. The user may modify the settings until the preview appears as desired by the user.

BACKGROUND INFORMATION

The present disclosure relates generally to an improved computer system and, in particular, to a system and process for configuring a pay statement. More particularly, the present disclosure relates to providing a user with a visualization of a pay statement contemporaneously with selection of various configurable parameters of the pay statement.

Many enterprises utilize outside entities to provide their payroll services. By offloading payroll, an enterprise is free to concentrate on its core business. However, one downside of offloading payroll responsibilities to an outside service is increased difficulty in setting up and configuring a pay statement for the enterprise. Numerous back and forth exchanges of information between the enterprise and the outside entity may be needed in order to set up and configure a pay statement that is acceptable to the enterprise. This back and forth exchange consumes enterprise resources and increases the time needed to finalize a pay statement configuration that is ready to use. Therefore, an improved method for configuring a pay statement with an outside entity is desirable.

SUMMARY

An illustrative embodiment provides a computer-implemented method for configuring a pay statement. The method includes presenting, by a computer, an input area for a user to enter settings defining how the pay statement is to be configured. The settings are received from the user by the computer. The computer displays a preview of the pay statement in a preview area based on the settings. The preview provides a visual representation of how the pay statement will appear for the settings.

Another illustrative embodiment provides a computer system for configuring a pay statement. The computer system includes a processor unit that is configured to: present an input area for a user to enter settings defining how the pay statement is to be configured, receive the settings from the user, and display a preview of the pay statement in a preview area based on the settings. The preview provides a visual representation of how the pay statement will appear for the settings.

Yet another illustrative embodiment provides a computer program product for configuring a pay statement. The computer program product includes a computer readable storage media having program instructions embodied therewith. The program instructions are executable by a computer to cause the computer to: present an input area for a user to enter settings defining how the pay statement is to be configured, receive the settings from the user, and display a preview of the pay statement in a preview area based on the settings. The preview provides a visual representation of how the pay statement will appear for the settings.

DETAILED DESCRIPTION

The illustrative embodiments recognize and take into account one or more different considerations. For example, the illustrative embodiments recognize and take into account that currently a client of an outside payroll service provider does not see their pay statement until the very end of an onboarding process. The illustrative embodiments further recognize and take into account that the onboarding process involves configuring a pay statement using manually entered requirements in a spreadsheet with no visual feedback provided. The illustrative embodiments further recognize and take into account that, in the current manual process, configuring the pay statement involves a process of manual data being sent back-and-forth repeatedly between the client and the payroll service provider to set up the pay statement correctly. Thus, the illustrative embodiments further recognize and take into account that there is a need for a more real-time, visual pay statement configurator.

The illustrative embodiments provide methods, systems, and computer program products that provide a pay statement configurator. In illustrative embodiments, the pay statement configurator includes an interface that has two main parts.

One side of the interface includes an input area for entering settings that define how the pay statement will be configured. In an illustrative embodiment, a user can upload one or more company logos to place on the pay statement, if desired. The user can also specify pay statement attributes and can add or remove line items in the pay statement.

On the other side of the interface, a preview of the pay statement that is being configuring is displayed. The preview reflects the settings that are specified in the input area along with placeholder example data to provide a preview of the pay statement that looks as real as possible.

Furthermore, in illustrative embodiments, the pay statement configurator has different versions according to user needs. For example, if a user entity has their own bank that is used to provide funding for wages, the configurator will include a place to provide an executive signature for display on the pay statement. In an illustrative embodiment, only options for settings that apply to the specific user are shown in the pay statement configurator.

Illustrative embodiments may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include computer readable storage media having computer readable program instructions thereon for causing a processor to carry out aspects of the illustrative embodiments.

Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device. Computer readable program instructions for carrying out operations of illustrative embodiments may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the illustrative embodiments.

With reference now to the figures and, in particular, with reference toFIG.1, a pictorial representation of a network of data processing systems is depicted in which illustrative embodiments may be implemented. Network data processing system100is a network of computers in which the illustrative embodiments may be implemented. Network data processing system100contains network102, which is the medium used to provide communications links between various devices and computers connected together within network data processing system100. Network102may include connections, such as wire, wireless communication links, or fiber optic cables.

In the depicted example, server computer104and server computer106connect to network102along with storage unit108. In addition, client devices110connect to network102. As depicted, client devices110include client computer112, client computer114, and client computer116. Further, client devices110can also include other types of client devices such as mobile phone118, tablet computer120, smart speaker122, and smart glasses124. Client devices110can be, for example, computers, workstations, or network computers. In the depicted example, server computer104provides information, such as boot files, operating system images, and applications to client devices110. In this illustrative example, server computer104, server computer106, storage unit108, and client devices110are network devices that connect to network102in which network102is the communications media for these network devices.

Client devices110are clients to server computer104in this example. Network data processing system100may include additional server computers, client computers, and other devices not shown. Client devices110connect to network102utilizing at least one of wired, optical fiber, or wireless connections.

Program code located in network data processing system100can be stored on a computer-recordable storage medium and downloaded to a data processing system or other device for use. For example, program code can be stored on a computer-recordable storage medium on server computer104and downloaded to client devices110over network102for use on client devices110.

Turning now toFIG.2, a block diagram of a pay statement configurator for configuring a pay statement is depicted in accordance with an illustrative embodiment. Pay statement configurator200is implemented in computer system201.

As depicted, computer system201is a physical hardware system that includes one or more data processing systems. When more than one data processing system is present, those data processing systems may be in communication with each other using a communications medium. The communications medium may be a network. The data processing systems may be selected from at least one of a computer, a server computer, a workstation, a tablet computer, a laptop computer, a mobile phone, or some other suitable data processing system.

Network data processing system100inFIG.1illustrates data processing systems that may be used in computer system201. In some illustrative embodiments, pay statement configurator200may be a web-based or cloud-based system in computer system201.

Pay statement configurator200allows a user202to interactively configure a pay statement203. For example, without limitation, user202may be a representative of an entity that is a client of an outside payroll service provider. In this case, the outside payroll service provider may provide pay statement configurator200for use by the client entity to configure the pay statement203in an effective and efficient manner. In accordance with an illustrative embodiment, pay statement configurator200provides an accurate preview204of the pay statement203as the pay statement203is being configured by the user202.

Pay statement configurator200includes input interface versions205, preview templates206, user input data storage208, client type storage210, input area version generator212, preview generator214, pay statement interface215, pay statement generator230, and user pay statement storage232. Pay statement interface215includes input area216and preview area218.

Input interface versions205stores various versions of the input area216of the pay statement interface215such that the input area216, in some embodiments, may be customized to present only input selections appropriate for the particular client. Thus, the input area216is customized and thus streamlined to reduce clutter and provide the user with a better experience, since the user will be less likely to be confused by the presence of input selections that are not pertinent to that user.

Preview templates206contains a plurality of templates that may be used to generate a pay statement for display in preview area218and for the actual pay statement203ultimately customized and selected by the user202. Different templates may be appropriate for different jurisdictions and/or different customer types. The plurality of preview templates206preferably are fully-compliant with the requirements of various types of agencies, jurisdictions, compliance laws, and the like.

User input data storage208stores the data that the user202inputs in input area216. The data stored in user input data storage208is used by the preview generator214to generate the pay statement preview204displayed in preview area218. The data stored in user input data storage208also is used by the pay statement generator230to generate the pay statement203ultimately customized by the user202.

Client type storage210stores the client type for each customer using the pay statement configurator200. Input area version generator212uses the client type of the client obtained from client type storage210to select an appropriate input interface version from input interface versions204to generate the input area216in pay statement interface215.

Preview generator214selects an appropriate pay statement template from preview templates206based on, for example, the client type and/or inputs received from the user in the input area216.

The input area216allows a user202to enter a number of settings217to customize the pay statement203. For example, without limitation, the input area216may include logo input220, pay statement attributes input222, signature input224, and other input226. The logo input220is configured to allow the user202to input a logo221of a company or other graphical element to be included on the pay statement203. The pay statement attributes input222is configured to allow the user202to define specific pay statement attributes223. For example, pay statement attributes input222may be configured to allow the user202to select or otherwise input specific pay statement attributes223that define one or more of: the data or type of data that is to be included in the pay statement203, the locations on the pay statement203at which the specified data or type of data is to be presented, and the format in which the data is to be presented on the pay statement203. The signature input224is configured to allow the user202to define a signature225to appear on the pay statement203. For example, the signature225may be the signature of an authorized executive for an entity that uses its own bank to fund payroll. Other input226may be configured to allow the user202to enter or select any other appropriate settings217for defining how pay statement203is to be configured.

Preview area218is generated by preview generator214and displays the preview204of the pay statement203as it would appear based on the current input by user202in input area216, but using mock or placeholder data within the real or actual display configuration. In other words, the way that the data is displayed in preview204is the same way that data will be presented in the real pay statement203, but the data being previewed is appropriate example data. This preview204allows the user202to quickly see whether the pay statement203being configured looks like the way the user desires and if all of the pertinent information is displayed appropriately. If the pay statement preview204displayed in the preview area218is unsatisfactory to the user202, the user202may change the selections in input area216to produce a different pay statement preview204. The user202may modify various parameters selectable in input area216until the pay statement preview204satisfies the user202. Once the user202is satisfied, the pay statement generator230generates a user pay statement template to be used for the user's pay statement203and stores the template in user pay statement storage232.

The illustration of pay statement configurator200inFIG.2is not meant to imply physical or architectural limitations to the manner in which illustrative embodiments may be implemented. Other components, in addition to or in place of the ones illustrated, may be used. Some components may be optional. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined, divided, or combined and divided into different blocks when implemented in an illustrative embodiment.

Turning now toFIG.3, a flowchart of a method for configuring a pay statement is depicted in accordance with an illustrative embodiment. Method300may be implemented, for example, in pay statement configurator200inFIG.2.

The method300begins by determining user needs for a particular client (step302). Different types of clients may require different information on their pay statements. Information that is needed for one type of client may not be needed for a different type of client. Thus, by determining the type of client, the configurator avoids requesting input for settings that are not needed by a particular client and ensures that information that is needed is requested. For example, if the client has its own bank(s) to use to provide funding for their company wages, the configurator will include a place to provide an executive signature for display on the check and pay statement. In another embodiment, for clients that use the payroll provider's bank, this information is not needed and the input area of the configurator will not have a section for input of this information.

Next, the method300continues by presenting a user input area to a user in a graphical user interface based on the needs for the particular client, wherein the input area is configured to receive settings entered by the user for defining how the pay statement is to be configured (step304). As discussed above, the input area may include various setting options that correspond to the user needs. Thus, setting options that are not required for the particular client type are not presented to the user. In other words, the setting options presented to the user do not include options not needed by the user.

Next, the method300continues by receiving the settings from the user (step306). For example, the settings received from the user may include a logo for a company or other entity for which the user is configuring the pay statement. As another example, the settings received from the user may include specific pay statement attributes. The specific pay statement attributes may define one or more of: the data or type of data that is to be included in the pay statement, the locations on the pay statement at which the specified data or type of data is to be presented, and the format in which the data is to be presented on the pay statement. The data that is to be included in the pay statement, as defined by the specific pay statement attributes, may include various pay related data and other appropriate data. For example, without limitation, the data to be included in the pay statement may include one or more of: gross pay, net pay, withholdings, employee name, employee social security number, other employee identification number, employee address, employer name, employer tax payer identification number, other employer identification number, employer address, other employee or employer information related to employee pay, other appropriate information, and any appropriate combination of information. The locations on the pay statement at which specified data is to be presented, as defined by the specific pay statement attributes, may include specifically identified areas of the pay statement in which specified data is presented. The format in which the data is to be presented on the pay statement, as defined by the specific pay statement attributes, may include any appropriate definition of any appropriate way in which specified data is presented at a specified location on the pay statement. For example, without limitation, the specific pay statement attributes received from the user may specify that employee pay is presented in the pay statement for the current pay period, for the current month, and for the current year. As another example, if an employer does not offer a retirement plan, the specific pay statement attributes received from the user may specify that a section for retirement information is not included in the pay statement. The settings received from the user may also include adding or removing a line item from the pay statement.

Next, the method300proceeds by displaying a preview of the pay statement in a preview area on the graphical user interface based on the settings (step308). The preview provides a visual representation of how the pay statement will appear to an employee for the current settings. In an illustrative embodiment, the preview reflects the settings that the user is specifying along with placeholder example data so that the statement looks as “real” as possible. Thereby allowing the user to modify the settings until the preview appears as desired by the user.

The method300proceeds by determining whether the preview appears as desired by the user (step310). If the preview does appear as desired, the method terminates. If the preview does not appear as desired, the user may modify the settings (step312), with the method then returning to step306wherein the modified settings are received for then displaying a modified preview of the pay statement in the preview area based on the modified settings. In an illustrative embodiment, the modified preview may include placeholder example data, such as gross pay, withholding, etc. to provide the user with a realistic looking preview. Steps306-312may be repeated as often as necessary until the user is satisfied with the appearance of the pay statement in the preview.

The method300provides an advantage over prior art methods of configuring a pay statement in that a user may configure a pay statement quickly using an interface that allows easy input and provides a preview contemporaneous with the input of the data. Illustrative embodiments thus provide the user with an ability to see in real time how the pay statement appearance changes based on changing settings. Illustrative embodiments thereby avoid the back and forth of sending setting selections to a payroll provider and then waiting to receive a draft version of the pay statement in order to determine whether changes need to be made. In illustrative embodiments, feedback is virtually instantaneous, allowing the user to quickly and easily modify the pay statement settings until the pay statement appearance is satisfactory to the user.

FIG.4is a screen shot of a pay statement configurator interface400in accordance with an illustrative embodiment. Pay statement configurator interface400is an example of one implementation of pay statement interface215in pay statement configurator200inFIG.2.

Pay statement configurator interface400includes an input area402and a preview area404. Input area402includes a logo input406for uploading a company logo and a plurality of setting selections408. The setting selections408may include check boxes, radio buttons, and text boxes for receiving user input. Input area402also includes a signature file input410where a signature file for an executive signature for display on the pay statement may be identified. Preview area404shows a pay statement preview based on the current selections by the user in input area402and includes placeholder sample data for values under the current pay column, the YTD gross column, etc.

FIG.5is a screen shot of another version of a pay statement configurator interface500in accordance with an illustrative embodiment. Pay statement configurator interface500is an example of another implementation of pay statement interface215in pay statement configurator200inFIG.2.

Pay statement configurator interface500includes an input area502and a preview area504. Input area502includes a logo input506for uploading a company logo and a plurality of setting selections508. The setting selections508may include check boxes, radio buttons, and text boxes for receiving user input. Preview area504shows a pay statement preview based on the current selections by the user in input area502and includes placeholder sample data for values under the current pay column, the YTD gross column, etc. Pay statement configurator interface500is similar to pay statement configurator interface400inFIG.4, except that it is customized to not include a signature file input410, since this client has elected to not use their own bank for funding payroll. Therefore, a signature is not needed and the input area502is customized accordingly such that unneeded inputs do not clutter the input area502and potentially confuse the user.

FIG.6is a screen shot of another version of a pay statement configurator interface600in accordance with an illustrative embodiment. Pay statement configurator interface600is an example of another implementation of pay statement interface215in pay statement configurator200inFIG.2.

Pay statement configurator interface600includes an input area602and a preview area604. Input area602includes a logo section606containing a company logo and a plurality of setting selections608. The setting selections608may include check boxes, radio buttons, and text boxes for receiving user input. Preview area604shows a pay statement preview based on the current selections by the user in input area602and includes placeholder sample data for values under the current pay column, the YTD gross column, etc. Pay statement configurator interface600is similar to pay statement configurator interface500except that a logo has been entered into logo entry606. This logo is also displayed in the pay statement preview area604. Input area602also includes an add another logo input610that allows a user to upload a second logo to the system for companies that may have multiple logos, for example, for different divisions of the company.

FIG.7is a screen shot of another version of a pay statement configurator interface700in accordance with an illustrative embodiment. Pay statement configurator interface700is similar to pay statement configurator interface600inFIG.6, except that the user has selected add another logo610from pay statement configurator interface600inFIG.6, such that a new logo input710for entering another logo is displayed below the previously entered logo606.

FIG.8is a screen shot of another version of a pay statement configurator interface800in accordance with an illustrative embodiment. Pay statement configurator interface800is similar to pay statement configurator interface700inFIG.7, except that the user has selected add another logo610from pay statement configurator interface600inFIG.6and entered another logo in new logo input710inFIG.7. The newly entered logo810is displayed below the previously entered logo606. An add another logo option812is displayed to allow the user to add yet another logo if desired. The new logo810also is displayed in the pay statement preview area604. The user can select which logo is to be used in the final version of the pay statement.

Turning now toFIG.9, an illustration of a block diagram of a data processing system is depicted in accordance with an illustrative embodiment. Data processing system900may be used to implement one or more computers and clients in computer system100inFIG.1. Furthermore, data processing system900can be used to implement computer system201inFIG.2.

In this illustrative example, data processing system900includes communications framework902, which provides communications between processor unit904, memory906, persistent storage908, communications unit910, input/output unit912, and display914. In this example, communications framework902may take the form of a bus system.

Processor unit904serves to execute instructions for software that may be loaded into memory906. Processor unit904may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation. In an embodiment, processor unit904comprises one or more conventional general purpose central processing units (CPUs). In an alternate embodiment, processor unit904comprises one or more graphical processing units (CPUs).

Memory906and persistent storage908are examples of storage devices916. A storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, at least one of data, program code in functional form, or other suitable information either on a temporary basis, a permanent basis, or both on a temporary basis and a permanent basis. Storage devices916may also be referred to as computer-readable storage devices in these illustrative examples. Memory916, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage908may take various forms, depending on the particular implementation.

For example, persistent storage908may contain one or more components or devices. For example, persistent storage908may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage908also may be removable. For example, a removable hard drive may be used for persistent storage908. Communications unit910, in these illustrative examples, provides for communications with other data processing systems or devices. In these illustrative examples, communications unit910is a network interface card.

Input/output unit912allows for input and output of data with other devices that may be connected to data processing system900. For example, input/output unit912may provide a connection for user input through at least one of a keyboard, a mouse, or some other suitable input device. Further, input/output unit912may send output to a printer. Display914provides a mechanism to display information to a user.

Instructions for at least one of the operating system, applications, or programs may be located in storage devices916, which are in communication with processor unit904through communications framework902. The processes of the different embodiments may be performed by processor unit904using computer-implemented instructions, which may be located in a memory, such as memory906.

These instructions are referred to as program code, computer-usable program code, or computer-readable program code that may be read and executed by a processor in processor unit904. The program code in the different embodiments may be embodied on different physical or computer-readable storage media, such as memory906or persistent storage908.

Program code918is located in a functional form on computer-readable media920that is selectively removable and may be loaded onto or transferred to data processing system900for execution by processor unit904. Program code918and computer-readable media920form computer program product922in these illustrative examples. In one example, computer-readable media920may be computer-readable storage media924or computer-readable signal media926.

In these illustrative examples, computer-readable storage media924is a physical or tangible storage device used to store program code918rather than a medium that propagates or transmits program code918. Alternatively, program code918may be transferred to data processing system900using computer-readable signal media926.

Computer-readable signal media926may be, for example, a propagated data signal containing program code918. For example, computer-readable signal media926may be at least one of an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals may be transmitted over at least one of communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, or any other suitable type of communications link.

Further, as used herein, “computer-readable media920” can be singular or plural. For example, program code918can be located in computer-readable media920in the form of a single storage device or system. In another example, program code918can be located in computer-readable media920that is distributed in multiple data processing systems. In other words, some instructions in program code918can be located in one data processing system while other instructions in program code918can be located in one data processing system. For example, a portion of program code918can be located in computer-readable media920in a server computer while another portion of program code918can be located in computer-readable media920located in a set of client computers.

The description of the different illustrative embodiments has been presented for purposes of illustration and description and is not intended to be exhaustive or limited to the embodiments in the form disclosed. The different illustrative examples describe components that perform actions or operations. In an illustrative embodiment, a component may be configured to perform the action or operation described. For example, the component may have a configuration or design for a structure that provides the component an ability to perform the action or operation that is described in the illustrative examples as being performed by the component. Many modifications and variations will be apparent to those of ordinary skill in the art. Further, different illustrative embodiments may provide different features as compared to other desirable embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.