This section outlines the functions that are to be run to produce the payroll.
Care must be taken during time posting to insure that the Employee Master information is ins phase with the time input. This is necessary to apply the correct default rates and distributions. The best scheduling is:
Before beginning to post time for the pay period, verify that the Pay Period and Status are correct for each department.
The payroll processing has been generalized to accommodate the widest range of options. For the user with very basic payroll needs this may appear to add unnecessary steps to the job. However, when the employees and codes are set up it will prove to be a simple operation and the few added steps just serve as audit controls.
Payroll processing is made up of five functions:
Each assembly function involves:
Generation functions only use previously posted transactions. For example, earnings must be posted before deductions can be generated. Deduction processing goes through at least two cycles. The first is for basic deductions, like health care, and other calculations, like vacation accruals. These are posted and then the government deductions, like income tax, are generated. Finally the cheque itself is generated. In the cases of earnings and deductions, several batches can be used in one pay period for better control. Only one cheque batch is used and it must be named CHEQ. At this time, one batch register is used for all batches - earnings, deductions, and cheques. For ease of operation put only one type of transaction in each batch.
Earnings are keyed into batches or accepted from Job Cost. The Rate Code defines the rate used to convert units into the amount to be paid. Three types of units can be entered on each earnings transaction. They are generally referred to as Regular, Overtime 1, and Overtime 2. The amount shown on the Rate Code is the base for the Regular Rate. Overtime Rate 1 is 1.5 times the Regular Rate, and Overtime 2 is 2.0 times the Regular Rate. Each of these rates can be modified by applying a premium to it.
Premiums are increases made to a rate on earnings transactions. Premiums are applied to each of the three rates independently. The way the premium is applied is controlled by codes on the Rate Code definition. Some premium calculations use values from other sources as well. Premium Codes on the Rate Code also say how the premium is applied. The following premium codes are defined:
The Shift is a way of classifying earnings. The Shift Code can be used to assign a premium to each of the rates on a transaction. The valid Shift codes are defined in the general payroll table SH. Each Shift code can have a premium amount assigned to it. If the Premium code is S, this amount is added to the rate after the multiple is applied. For example:
If the Premium Code is R this amount is added before the multiple is applied. For example:
Deductions may be entered manually at any time. However, most deductions are repetitive and repeated manual entry just increases the chances of entry errors. The Payroll provides a structure for defining deductions to minimize the need to make manual entries. A deduction definition is identified by a Deduction Code and an Employee Id. A general deduction has a Deduction Code and a blank Employee Id. The general deduction does not initiate an employee deduction without additional data. The simplest automatic deduction is an employee deduction taken every pay period. In this case all the data to do the calculations are on the employee-Deduction entry. When a deduction is added to an employee the data fields are defaulted from the general deduction definition. In order for the employee-deduction entry to apply independent of anything else the Status must be set to F, for forced. Then there are Department Deductions. These are associated with the department through the Deduction Sets. When a deduction appears in a Deduction Set with a simple Action code it is calculated every pay period in which that deduction set is active for every employee. The definition of the calculation is provided by the Employee-Deduction entry. If there is no specific Employee-Deduction entry the definition is taken from the general deduction definition. The Employee-Deduction entry can be used to deactivate the deduction by using Calculation Type A and zero in all the amount fields.
The most complex automatic calculation is the Conditional Deduction. A Conditional Deduction is taken only when:
The calculation may be defined directly on the Employee-Deduction entry by providing all the values. It may be defined indirectly by having a blank Calculation Type on the Employee Deduction entry. In this case the generator gets the calculation definition from the general deduction definition. The Employee-Deduction entry can be used to deactivate the deduction by using Calculation Type A and zero in all the amount fields.
There are two classes of deductions that are generated. Before either class is generated all earnings must be posted to the Earnings History. Generated deductions go into a batch where they can be edited further before posting. Manual entries can be added to a generated batch, or processed in an independent batch.
The programmed generation of deductions is driven by the Employee Masters. Deductions are generated for every active employee, whether he has income or not. If an employee is not to be included in a payroll, simply delete his entries from the generated batch. If the employee is going to be inactive for a time set their status to I. If they are no longer employed set their status to T.
Once the raw earnings have been totaled for the employee, generation begins with the deductions found in the Deduction Set for the Department. The order of processing is controlled by the sequence of codes in the Deduction Set. A simple Action Type, like Y, is done immediately. A conditional Action Type (*) requires a check for a paired Employee Deduction. i.e. the Deduction Type is also *. Initially only deduction calculations can be conditional. If no Calculation Type appears on the Employee Deduction the definition of the deduction is taken from the General Deduction in the series. A Deduction Set entry can be suppressed by setting the status of the associated Employee Deduction to F.
After the Deduction Set is processed the list of Employee Deductions is scanned. The order of processing is defined by the Deduction Code, initially. Conditional entries, Action Type = *, are ignored. This is a one-pass generation process with no consideration for previously posted deductions. There are also constraints on sequences of processing in this implementation.
First the posted earnings are totaled. Then the posted calculations are applied according to their type. Totals are accumulated of gross earnings, taxable earnings, and UIC amounts. The government deductions are calculated in the order CPP, UIC, then income tax.
UIC is based on weekly earnings no matter how the earnings are reported. To do this the Period End Date must also be the end date of a UIC week. Earnings and hours are then allocated to the weeks depending on the Effective Date of the transaction and the number of days to which it applies, assuming an even distribution over these days. Taxable benefits and calculated income transactions are assigned to the week in which their Effective Date falls. From these totals we determine which weeks qualify for UIC and for how much. A deduction transaction is generated for the UIC premiums and a UIC History transaction is generated to record the Insurable Earnings.
If the resultant cheque is negative it checks to see if the employee can have an automatic advance. i.e. Does this employee have access to Deduction Code ZAI? If he can, an advance is issued in this pay period to bring the check to zero. When this entry is posted, a second entry is posted to the next pay period to recover the advance. The first entry is an income and the second is a deduction, and the distribution codes are flipped to effect account clearing. Otherwise, the entries are identical.
R.R.S.P. deductions are taken only when the contribution is above a minimum value - $25.00 at this time. This is a particular case of limits for deductions calculations. This is implemented as a secondary definition for deductions. F7, Limits, on the Deduction Code screen brings up a second screen to define the limits on each of the amount fields. For generality there is an upper limit and a lower limit for each of the amount fields. These values are maintained on a separate screen because (a) they are not commonly used, and (b) adding them to the basic Deduction screen would complicate programming and use of that screen. F7 does the same update as the F10, Apply, because the Limits Update uses values from the basic Deduction definition.
The Deduction Generate calls for the Deduction Limits like it calls for the Deduction Definition. The Lower Limit Type defines how the lower limit is applied. Credit amounts are not tested for limits. Zero amounts are interpreted as "not taken" and are not affected by the limits checks. If the Lower Limit Type is "M", minimum to be taken, and the amount is below the lower limit the amount is set to the lower limit. Otherwise, if the amount is below the lower limit the amount is set to zero. If the amount exceeds the upper limit the amount is set to the upper limit. The Deduction Limits program looks for an employee entry for the Deduction Code first. If there is none, it looks for a general entry for the Deduction Code. If neither are found, the lower limit is set to zero and the upper limit to all 9s.
RRSP has its own form of EDI 820 Payment Advice. This requires that the Company Bank be different from that for other 820 Payment Advices. The Company Bank is defined through Bank Account 'RS' which also defines the RRSP Trust Account. The Bank Branch of the RRSP trust account provides the Supplier Key to be used to assemble the Company Bank for the RRSP EDI transactions. This does have one restriction when using EDI: the RRSP trust account can not be at the same branch as the corporate bank.
Normally an employee will have only one RRSP account as supported by the Employee Deposits Update. However, this can be expanded to support spousal accounts and/or RRSPs in several banks by using the general form of Deposit Codes and using several Deduction Codes for RRSPs. The system assumes that all Deposit Codes beginning with 'RS' are RRSP codes.
The generated Payment Advices are sorted into Name sequence before being sent to EDI.
R.R.S.P. is paid through a trust account. Each EDI entry represents two funds transfers. The first is from the company bank account to the trust account. The second is from the trust account to the Employee's R.R.S.P. account. Only one trust account is used. It must be in a different branch from the corporate bank account because the Bank Branch defines the BANKNO for EDI 820 Payment Advices and this must be different for each payment advice definition. The trust account is defined by Bank Account "RS" and gets copied to the Employee Bank data fields of every RSP EDI entry. The employee RSP Deposit entry defines the R.R.S.P. account to which the funds will be deposited. This data is copied to the R.R.S.P. Bank data fields.
A second Correcting function is used to process R.R.S.P. entries. This gives full flexibility in maintaining and using all the fields on these entries. A second transfer program is needed for the R.R.S.P. entries. It is integrated into the existing Transfer function, so there is only one Transfer on the menu.
The government calculations for Employment Insurance, Canada Pension, and Income Tax support Option 4 of the Machine Computations. By 1994, Nova Scotia, Ontario, Saskatchewan, Alberta, and British Columbia are implemented.
The parameters for the calculation are stored on a regular Deduction entry (code = CPP). When updated using the standard Deduction Update, the fields correspond as follows:
Employee | Employee Rate in percent | |
Employer | Yearly Maximum | |
Benefit | Annual Exemption | |
Units | Corporate Employer/ Employee ratio |
The deduction is calculated for each individual pay period. The exemption is distributed based on the number of days in the pay period. The typical 14-day period distributes the exemption for a biweekly payroll of 26 periods per year. To implement a biweekly payroll of 27 periods per year assign half the periods 14 days and the other half 13 days.
EI is heavily dependent on weekly reporting. The Payroll can give precise numbers based on the total Earnings History for Records of Employment, etc. However, calculations for a pay period become a Gordian Knot without some constraints. The following constraints are built into the EI calculations:
Beginning in the year 2001 the Employment Insurance parameters are stored in the EI table of Government Deductions. It takes two entries to completely define EI parameters for a calculation. The first entry, Amount = zero, carries the basic premium rate in the Rate(R) and the maximum annual premium in the Constant(K). The last entry, Amount = 999999.00, carries the employer/employee ratio in the Rate(R) and the maximum annual insurable earnings in the Constant(K). There is an EI table for each year and version of the Government Deductions.
Until 2001, the basic parameters for the calculation are stored on a regular Deduction entry (code = UIC). When updated using the standard Deduction Update, the fields correspond as follows:
Employee | Employee Rate in percent | |
Employer | Annual Minimum Hours | |
Benefit | Annual Maximum Dollars | |
Units | Corporate Employer/Employee ratio |
EI Reduced Rates are defined in the UI table of the payroll (application = P). The table entry gives a replacement rate in percent for an EI code, and an associated RCT Number. The EI code is defined on the Assignment for the Employee. The EI calculation looks for a matching EI entry in the table. If that code carries a non-zero rate it is used to override the basic premium rate. The reduced rate must be recorded as a percent to have sufficient accuracy for the calculation. There is only one table of EI Reduced Rates. This is only a concern if more than one government deduction version is in use in one payroll and the EI Reduced Rates are different for each version.
Earnings are reported by pay period. The tax calculation is based on equivalent annual income. The pay period earnings are converted to equivalent annual income by multiplying by 364 then dividing by the number of days in the period. A monthly payroll will show variances in tax from month to month based on the number of days in each month.
The distribution accounts were defined on a regular Deduction entry (code = TAX). The other variables are kept in the Tax Tables. Each entry is identified by Province, Table ID, and Upper Limit of the amount. Each entry contains a Rate and a Constant. By extending the definition of Table ID, all the parameters can be contained in one physical file. The Table IDs used include:
A | Annual Taxable Income, Table 4 | |
D | Federal Surtax, only first entry is used | |
LF | Labour-sponsored funds tax credit, Federal | |
LP | Labour-sponsored funds tax credit, Provincial | |
S | Provincial tax reduction | |
TC | Federal Tax Credit, only a rate | |
V | Provincial Rate | |
V1 | Provincial Calculation V1 parameters | |
V2 | Provincial Calculation V2 parameters | |
V3 | Provincial Calculation V3 parameters | |
V4 | Provincial Calculation V4 parameters | |
Y | Dependent allowance |
Another important concern in the tax calculation is nontaxable deductions. They are implemented like other deductions except that the Taxable Benefit Type is set to N, nontaxable. They include:
F | Registered pension plans | |
F2 | Court-ordered deductions at source | |
U | Union dues |
The Bonus Tax Calculation is as described for Machine Computations. Bonuses are recorded using separate Rate Codes. The Taxable Earnings Type on the Rate Code is set to B to differentiate it from other taxable earnings.
As part of the programming changes for July 1, 2000, the federal government revived regular indexing of tax parameters. Theoretically indexation is done at the beginning of the year. In practice it is usually done at midyear effective the beginning of the year. In fact indexation can be applied as frequently as every pay period in the extreme case.
When the indexation is done retroactively in midyear the indexing factor is double the annual indexing factor. This is done to effectively balance the tax books over the full year for regular employees. However it usually requires some form of reverse indexation the following January to start the new year correctly. For regular employees this should effectively balance the books by the end of the year. For new employees in the last half of the year taxes are out by the effect of the indexing factor. If you give the new employees values that do not reflect this double indexing the application of the indexing factor to start the next year will distort their taxes for the next year.
Indexation applies to many of the parameters in the tax calculation. The most extensive application is to the individual Federal Tax Credit. There are Indexation functions on the Yearend Processing menu to update the federal and provincial Tax Credits for all active employees in a selected Department.
Indexation also affects the values in the Tax Tables. The Copy of Government Deductions applies the federal indexing factor to the A and K values on all the copied tables. Because most provincial taxes are a function of federal taxes, the provincial tax amount will change for a given income even though there has been no change to the provincial parameters or calculation. Different rules for indexation may apply to the Federal Surtax, Canada Pension, Employment Insurance and provincial tables. So review all copied tables carefully before using them.
A cheque is assembled from entries on three basic files - Earnings, Deductions, and Cheques. In order to support multiple cheques in a single pay period, the cheque number is attached to each record in each file. A manual cheque is documented by entering each of its parts with the cheque number. An automated cheque has the cheque number updated to Earnings and Deductions when the cheque is printed.
Manual cheques must be numbered manually. Printed cheques may be numbered entirely manually also. Earnings, deductions and the cheque entry must all be assigned the same cheque number during entry. Automatic cheque numbering offers flexibility without interfering with other cheque numbering. To allow automatic and manual numbering for the same bank account, the Account entry carries the next cheque number used for automatic numbering. Automatic cheque numbering offers this as the starting number for a run. It can be overridden at run time. All the unnumbered cheques for the selected period are then numbered. Cheque numbering is not a repeatable exercise for a pay period.
Two Cheque Registers are provided. It is not necessary to use both. Different companies will find one more useful than the other.
This is done prior to the posting of the cheques. It combines the detail from the posted earnings and the posted deductions for the pay period, and the assembled cheques. It shows cheque numbers only for manual and special cheques.
This is done entirely from posted data. Earnings are summarized to a single line of totals. Deductions are summarized to one line per deduction. All cheques for the selected departments and period are shown.
Basic Cheque Reconciliation support is included in the Payroll. It consists of a few analytical lists including:
The Reconciliation process consists of identifying the cheque, then confirming the change. Reconciliation is a change of status. Void cheques can also be recorded this way.
At the end of the payroll year there are a number of jobs that need to be done, first to prepare for the new payroll year, then to wrap up the old payroll year. Usually the new payroll year begins at the same time for all departments of an organization. If this is not the case, added care may be necessary in the transition period to insure that Rates, Distributions, and regular Deductions are handled correctly. Government deductions do handle the transition period.
Setting up for the new year consists of these steps:
Completing the old year consists of these steps:
Tax Reporting And Taxable Benefits
T4 forms are prepared for every employee with earnings during the payroll year. The government has settled on a standard format with each amount to be shown in a numbered box. The deductions are designed to use this box numbering scheme. Each deduction can be assigned directly to a T4 box. The Employee Amount of the deduction is reported in this T4 box. The Employee Amount is also applied appropriately to the Gross Income and the Taxable Income if the Taxable Benefit Type is anything except N, non-taxable.
Federal tax reporting requirements require taxable benefits to be reported in at least the following categories:
The payroll system provides for taxable benefits to be automatically assigned to nine or more Taxable Benefit Types. At year end, each Taxable Benefit Type is assigned to the T4 Box in which it is to be totaled on the T4 document.
Taxable benefits are entered, generated, and reported as part of Deduction processing. When a Deduction code is set up it is assigned to an active Taxable Benefit Types. The Taxable Benefit Type is linked to a T4 box through the Reference on an entry in the Taxable Benefits table. When the T4 is prepared, the associated taxable benefits -- which in most cases are zero -- are added to the designated T4 Box.
If a Deduction code represents a nontaxable benefit, put N in the Taxable Benefit Type. In this case, the employee amount of the deduction is subtracted from the taxable income before the tax calculation is performed.
There is no known occasion where the Employer Amount or the Units are required to be reported separately from the above amounts.
Pension adjustments appear in box 52 on the T4 form. The amount to appear here is recorded as an amount for a separate Deduction code assigned to this T4 box. Unlike other deductions it is not usually calculated incrementally by period. Instead it is calculated as a one-time amount at the end of the year and posted to the Deduction History in a separate yearend batch. In a case where this amount can be calculated for most employees based on total earnings, or total hours, the pension adjustment batch can be created using the Generate Regular Deductions function. Follow these steps to create the pension adjustment batch:
Vacation Accrual is a special Deduction Type(s). The Vacation Accrual deduction code is setup through the regular Deduction Code Update. It has its own Calculation Type VA. Once the Vacation Accrual code has been set up correctly it is applied like a regular deduction code. The Vacation Accrual Factor is defined as a percent in the Employee Amount on the Employee Master.
The vacation accrual is calculated during deduction generation and appears on the Cheque Register. The accrual is based on all Vacationable Earnings during the pay period and the Vacation Accrual Factor for the employee. During the deductions post this amount is added to the Vacation Accrued for the employee in the Time Bank indicated for the deduction code.
Rate Codes contribute to Vacationable Earnings in various ways. The Rate Code must be identified as earnings before it can contribute to Vacationable Earnings. If the Rate Code is vacationable for regular earnings(Vacation = R), only the earnings from the regular hours (or units) are considered vacationable. If it is vacationable for gross earnings (Vacation = G), the earnings from regular and both overtime hours are vacationable.
Accrual Banking is used to implement vacation accruals and payments. It is not needed when vacation pay is paid out immediately. An accrual bank is a net total accumulator for a particular Bank Code attached to an employee. In regular operation it is updated by designated Deduction Codes, and shows the net amount outstanding at the time. This value can be changed directly through the Banks(F8) portion of the Employee Update. No deduction entry is created for such changes. Unlike the deduction reports which show year-to-date totals, this is a current total that is not affected by the year end.
The accrual bank, in this case VAC, must be set up for each employee before it can be used. If it is not created the accruals will not be totalled and therefore there will be no outstanding total when you generate the Vacation Payment. An opening outstanding amount can be entered at set up. Each Deduction Code definition that affects this Accrual Bank must have VAC in the Accrual Bank. A Deduction Code can only affect one Accrual Bank through this method.
Usually the vacation paid is not subject to vacation accrual. However, British Columbia requires that accrual be made on vacation paid for ongoing employees. A separate Calculation Type, V0, has been set up for this purpose. Using this Calculation Type, the accrual for the current pay period is NOT paid out immediately. Instead, it becomes the opening accrual for the next period.
Vacation Payment is an income Deduction Type I. The Vacation Payment code is setup through the regular Deduction Code Update. It has its own Calculation Type VP. Once the Vacation Payment has been set up correctly it is applied like a regular deduction code.
Vacation payment can be done at any time as part of a regular payroll run. In the case of payouts to certain individuals this is the preferred approach. For annual payouts and some other departmental forms of payout this would cause difficulties with high taxation rates and another approach may be more suitable.
If an individual employee is to receive his full vacation accrual, the payout is activated by adding the Vacation Payment code, and optionally the Vacation Pay Accrual code, to the employee's deduction set to be applied once. The total vacation accrued on the employee master plus any current period accruals are calculated for payment by the generation function.
When all accruals for a department are to be paid out in a special pay run, a special pay period is used. A special deduction set, e.g. 6, is setup on the department definition for this purpose. This deduction set includes the Vacation Payment code, at minimum. If there is to be accrual based on this payment, a vacation accrual code will also be included in the set. You may not calculate taxes for this period because the tax rates would be out of line. One way to make allowance for taxes is to set up a deduction code for Vacation Taxes at a fixed percent of gross earnings. The Vacation Tax code is a nontaxable deduction type with the rate in percent in the Employee Amount. The Vacation Tax code is the last one in the special deduction set. Other deductions could be included in the deduction set if desired. This type of pay period does not normally follow the pattern for Run Control, so some steps may need manual completion before the pay period is closed.
There are a variety of results that can be achieved by using different combinations of vacation calculation codes. This is best discussed through examples, starting with a routine accrual situation. Our employee will have an accrual rate of 5% and an opening accrual balance of $400.00. The vacation accrual code VA is in the Department Deduction Set.
A special Calculation Type has been set up which pay out the accrual on the same cheque on which it is earned. This code is used in place of the regular vacation accrual code. Our example employee has an accrual rate of 5%. There is no opening accrual balance because it is always being paid out.
Records of Employment are completed whenever an employee terminates with the company whether permanently or just temporarily. There are several ways that these forms can be produced including:
The Record of Employment is created from data in the Earnings History and the Termination attached to the Employee Assignment. See also Termination Entry.
Loading factors are one method of allocating deductions and benefits as a factor of earnings. Loading factors can be defined for each Department along with a Loading Distribution code to which it is assigned. Distribution reports for departments that have active loading factors show and additional total for the fully loaded amount. The journals created for earnings in these departments carry the fully loaded distribution amount. The counterbalancing loading amount appears on one journal for the department that is assigned to the G/L Account of the Loading Distribution code.
The Loading Factor and the Loading Distribution code are maintained and reported as part of the Department entry.
In many environments we want to impose an order to key operations in the payroll. When this is done, we can delegate the operation to a less experienced person and still be assured that the job gets done correctly. The Payroll provides a flexible Run Control mechanism. The steps we want run are defined for a Department in the order we want them run. This can include steps that are not done on the computer. The series does not have to include every programmed step, only the key ones for control. Other payroll functions can be added at will.
When a function that is set up for Run Control is run, it looks for an entry in the Run Control series. If it finds one it updates the Status and notes the date. When a function is set up to be controlled, it first checks the series to see if it is appropriate for it to run. The function must be in the series or the control is ignored. All preceding steps must be completed before the controlled function will run. In some cases a function will only be allowed to be run once in a control series. The design of the Run Control support is such that it could drive a fully prompted payroll run.
The Payroll system describes the employee, rates, and other items in categories which are useful for reporting. There is a need to have other information readily available about the employee and other items which have no predefined structures. The narrative services provide this support. The Narrative is a link to word processing to update a document associated with the employee or other item.
It is implemented in such a way that the user does not need to understand word processing concepts like folders and documents. As long as they have basic typing skills and know the function key that ends the narrative session they can use it.
By imposing some order on how the narrative document is arranged it can become a powerful tool for managing all the other information collected by the company about the employee.
Detail information about what screen entries are and how they are to be completed is provided for most screens. Simply place the cursor in the entry for which you want information and press the Help key (For some keyboards this may not be an obvious key and you may need technical assistance to find it). A help window appears on the screen explaining the particular entry.
Hypertext entries may appear in the narrative. Tabbing to the one you want to know more about and pressing ENTER will bring the explanation of that entry to the window. Hypertext entries can be nested indefinitely. F12 will take you back one level. F6 will show you a listed of the nested topics to choose a return point from.
Extended Help displays a larger window containing help support for all parts of the current screen.
The Search Index function gives you a key word search of all the topics in Help Support for this application. If no key words are provided for searching you will get the complete list of topics. Otherwise only topics that are keyed to the search words will appear on the list of topics. Printing is available for Help windows and topics on the Help Index. The Help Support is built using the IBM utilities for maintaining Online Help Information. It is supplemented by the on-line documentation to make the complete set of documentation for the application.
This section contains explanations of the workings of particular functions of the application. In most cases these relate to options on particular menus. As such, they can be linked to the screens as Help support.
Path: MASTER-PAYS-4 |
  | Procedure: PP0400S |
This is the last step in preparing the payroll automatically. Both Earnings and Deductions must already be posted before doing this. Only one automatic cheque is generated per run. Manual cheques can be in place during the automated run, but they will be left as they were set up. The generate scans both Earnings and Deductions. Earnings are summed up and Deductions are applied to come up with a net value for each automatic cheque. Cheque numbers are assigned during the generate.
An automatic cheque can have a preassigned cheque number. In this case the supporting Earnings and Deductions must already have been assigned the same cheque number. The generate functions is a regenerate at all times.
The Process
Before the set up even begins the Batch Register is scan looking for unposted batches. Since a single Batch Register is used for all payroll batches, both Earnings and Deductions are checked. If you are assembling payrolls for more than one period simultaneously the unposted batch message will be triggered by batches from other periods. Check the batches for this period carefully before overriding the message. The cheque batch itself, CHEQ, is included in this scan. If the Cheque Generate was started previously but not followed through to posting the cheque batch, CHEQ, will have a status of "B" which will trigger the unposted batch message.
It is recommended that you do a backup when you start the Cheque Generate.
Then you select the Department and Period to be processed. You are also asked for a Cheque Date.
Before the generate begins we remove all automatic cheque entries from the Cheque Assembly. Then the automatic cheques are generated again. Cheque numbers are not assigned by the generate.
Payments Sent To The Bank From The Payroll
As an alternative to printing cheques you can send the funds directly to the employee's account through your bank. There are a variety of services available from the banks to do this. The original method used was through EDI. The function to Transfer Payments to the Bank is the same in the Payroll no matter which service is used. The steps to complete the link to various bank services will vary. The process described below is for transfer to the bank via a personal computer link.
From the Payments Processing menu(PAYPD), select Transfer Payments to the Bank(option 26). Select the Department and the Pay Period to be transferred. Currently only one department and pay period combination can be transferred in one pass. The job creates transactions in a file called PRBKDDS in the Payroll Database library(e.g. CO08PR).
The option described here uses the Transfer utility of Client Access. The process begins at the point that the personal computer is running and it is connected to the AS/400.
The file created here is now ready to be transmitted to the Bank.
Use the procedure for transmitting PC Payments that is provided by your bank.
This is the comprehensive Employee update. The update is sectioned to parallel the database for the employee. Each database unit has a separate update screen. The common access path is through the Employee Services menu option 3.
The Payroll shares addresses with other applications through the Address database. An employee is linked to his home address through the Address Key shown here. The address label and the Home phone number are shown beside the Address Key. The Name on the label often looks like a combined form of the Surname, First Name, and Middle Name. In fact, they are updated independently.
The phone number used for the employee. If it is blank, the Home phone number from the Address is often used as the default.
The Employee Status limits what functions the employee can be used for. Active employees usually have a status of A. When an employee is terminated the status is set to I, which makes the employee inactive for input but he is still available for other purposes. If the status is set to T the employee does not appear to be available for any function, however the record remains on the file.
Initial implementation supports one assignment per employee, even though the database can support multiple assignments. Use F19 on the Employee Update.
The UIC Class is used first to define if the assignment, and therefore the employee, is subject to EI assessment. Secondly, it defines what class of work is involved for assessing premiums. UIC Class N is for those who do not pay UIC premiums. Other UIC Classes define the rate at which EI premiums are assessed.
The CPP Class defines if the assignment, and therefore the employee, is to pay into Canada Pension.
The Payroll system describes the employee in categories which are useful for reporting. There is a need to have other information readily available about the employee which has no predefined structure. The Narrative provides this support. The Narrative is a link to word processing to update a document associated with the employee. Use F13 on the Employee Update.
Path: Master-Update Tables-Deductions
Deductions may be defined at several levels. Initially two are used - General Deductions, and Employee Deductions. The selection of deductions for processing and the order in which they are processed are controlled in several ways. Deductions can only be generated by the computer after all associated earnings have been posted.
Although referred to as Deductions, the definitions apply to a standard class of calculations used to process payments. The Deduction Type indicates how the calculated employee amount is applied:
A Conditional Deduction is used to link Employee deductions to Department Deduction Sets. When active it generates a D type deduction.
There are a number of preprogrammed calculations which can be used. If the Calculation Type is not one of these, it is used to create a program name which is then called to perform the calculation. The program name is PRD followed by the Calculation Type. Preprogrammed calculations include:
Four values are assigned to each deduction. They are used as follows:
A T4 box can be assigned to each of the above amounts. It is used to put the annual total for that amount for the deduction into a box on the T4 form. The T4 boxes are defined in the General Payroll table T4.
Two Distribution codes are assigned to each deduction, loosely referred to as the Debit and Credit codes. In the case of a deduction. They are used as follows:
In the case of an income they are used as follows:
A few functions are coded to look for specific calculation codes, to ease initial programming. These are usually general deductions. These codes include:
The quickest way to prepare the tables for government deductions for a new year or version is to copy a recent table then to update only those entries that have changed.
The copy parameters are:
The IWA is a common union in the forestry industry, so we have added reports especially for them. The deductions reported are Long Term Disability (LTD) and Pension. They are reported individually, and in a combined report. You have the option to show only employees who have a deduction in the reporting period, or to show everyone who qualifies for the deduction.
Most data is stored in coded form to reduce storage requirements and to standardize definitions for easier assembly into reports. Some codes need only extended definitions, usually to make reports readable, or validation to restrict the values to serve some function in the system. These codes use the common Code Table support. The payroll tables are grouped under Application Code P. The payroll tables include:
This section contains notes pertinent to effective programming, but normally not of interest to the regular users of the application. This includes the programming conventions.
This is a AERIS application which means that the entry point is the SETUP procedure. This presupposes the following items are in place when it is called:
Records Of Employment - HRDC ROE Laser Print Set up
Installation of ROE Laser Print
The Record of Employment (ROE) Laser Print Employer Module application software is available to Employers from Human Resources Development Canada (HRDC) on CD-ROM.
Insert the CD-ROM in your PC and using 'My Computer' select the CD-ROM drive icon to view the CD-ROM contents. Double click the 'document' icon then the language version of your choice. Complete documentation for installation and subsequent use is included with the application.
Care should be taken to ensure that Description Tables in the Payroll system match the HRDC documentation in regard to Pay Period Types, Recall Codes, Reasons for Issue, and Other Monies.
Setting up the Link to the AS/400 Records of Employment
After installing and becoming familiar with the ROE Laser Print application you will need do some preparatory set up in order to interface this application with files created by the AS/400. You will need to map a network drive to reach the Records of Employment on the AS/400.
When the above has been completed the AS/400 ROE file for terminations will be accessible by the HRDC ROE Laser Print software. The first time you use the service you will guide the software to a file called J:\TRANSFER\PTREOXFR.ROE. After this will be the default source.
The Utility library, UT, is a companion to this application. It provides services that are commonly used in AERIS applications. These include:
The Other Functions menu is part of the AERIS menu conventions. Menu options 90 through 99 are assigned standard functions. Option 99 displays a menu of the 90-series options. The most common version of each option is called from the payroll menus. A more general version is often called from the Other Functions menu. For example, option 95 on a payroll menu gives you the on-line documentation. While on the Other Functions menu option 95 displays a second menu which gives you access to all on-line AERIS documentation and Help Support search indexes.
A separate department (MC) has been set up for these tests. The current Machine Computation release is noted in the Stub for the Department. The first period of the year is usually all that is needed. Others may be needed to test year-to-date situations. A basic employee is set up for each active province. The example number is the Employee Number. A basic Assignment is set up with a standard Rate Code (PP) and Distribution (TEST). All earnings and deductions are entered manually.
The generate of government deductions should agree with the examples in the Machine Computations manual.
Three additional employees are added to test the bonus calculation. The first employee has the base income. The second employee has the base income and both current and historical bonuses. The third employee has income equal to the base income plus the bonus.
Most data is stored in coded form to reduce storage requirements and to standardize definitions for easier assembly into reports. A few codes, like Employee Number, involve extensive definition to serve the application. These have subsystems within the application just to service them. Many codes, like Job Class, can function without extended definition or validation. Other codes need either extended definitions, usually to make reports readable, or validation to restrict the values to serve some function in the system. These classifications of codes are applicable to all applications, so a common Code Table support was created. A common Code Table support provides the added service that code tables can be shared between applications. At this time (August 1992), the Payroll does not share any tables with other applications.
Code Table support consists of three functions and a series of code modules for inclusion in interactive programs, and a coding method to access specific table entries. These are described in the following paragraphs.
Table Update
(TBLUPD)
The Table Update is on the Tables and Parameters menu. It is used to add and change specific codes on selected tables in the Payroll. On the first screen you select the table and the code. If you want to know the valid values for a code enter the table code and ask for a list. The entries that identify a specific code are:
Once the code is selected the details of the code definition are displayed for possible change. Make changes to the entries as required, then apply the changes(F10). It is also possible to delete a code(F18). Be careful when deleting codes because no checks are done to insure that the code is inactive before deleting it. The entries that make up the code definition include:
As of August 1992, the Table Ids in use are:
Table Print
(TBLLST)
Prints the selected table, or all tables in the application if the Table Id is blank. It is called from the Select an Entry screen of the Table Update.
Table List
(TBL021)
Displays the entries in a designate table to let you select one. It uses a full screen to present the list.
Displays a short list of codes and descriptions that appear in a window on the screen. Program PR1800, Deductions Update, shows how the modules TBLLSTCE and TBLLSTCC, the file definition for UTTABL, and the constants table, MSG, are added to a program. The workstation definition PR1800FM contains the associated screen module TBLLSTA.
Code editing is done in the same program that use the Table Window. As such, we can do the edit by chaining directly to the Table file entry. See program PR1800 for examples.
Run Control is implemented by inserting program calls into the set up and/or job procedures of functions to be controlled. The Run Control series is created as a sub-function of the Department Update. Run Control is implemented only for specific Department selection in most cases. It is straight forward to implement the set procedure for select-All. Doing the check when selecting All can be very complicated. The programs that are used to support Run Control include:
To use the automated check and set procedures the payroll function must be programmed to use it. The procedures that are programmed to use Run Control include:
Narratives provide a link to word processing to extend the information collecting capabilities of the Payroll. It requires that the word processor of Office/400 be installed on the computer. The narrative services looks after folder naming and creation. The general corporate database backup will back up the folders along with the data. The programs providing narrative support define the document names while narrative services looks after the creation of the document. The user can use narrative services without knowing anything about folders and documents.
These conventions describe how development should proceed at this time. Older programs are brought up to the current conventions only when either functionally necessary, or a major change is made to the program.
The general AERIS convention is followed which includes the following features:
Several menus can use one command set. No convention exists to identify when this occurs.