PAYROL by Jack York RELEASE: This is release V 2.6. Release date April, 1993. PURPOSE: This program is intended to handle all of the tasks associated with handling the employee payroll in a small business (14 employees or less). OVERVIEW: Payrol requires approximately 450 K of memory and one floppy drive to run. It may be started from the CLI or the Workbench. No parameters are passed during execution. All choices for what you would like to do are made by selecting the appropriate box displayed on the screen. Error and informational messages are displayed in the large box at the bottom of the display. Program flow can be controlled from the keyboard or the mouse. However, there are some instances where mouse input would be a hinderance. At such times the mouse is ignored. An example would be when a week ending date must be entered in the pay file section. Once the program is started, you are offered a number of paths. The first screen displayed is the FILE LOCATION screen. On it you choose the location where the working files (WE, WE mmddyy and YTD) will be stored. See FILES OVERVIEW for an explanation of all files used. If you choose the Set Default option, this screen will not be displayed on subsequent program runs. FILES OVERVIEW: All of the following files are optional but some of them must be present for the program to accomplish its purpose. For instance, without the employee file being present, the majority of the sections will not work since they first try to read this file. The location for Defaults, Employees, Past Employees and Payrol.Data will be wherever the Payrol program is placed. You can use the Assign command to cause the program to look in another location if you wish. The location for the WE, WE mmddyy and YTD files is set by the user on the first displayed screen. Note that this screen is only displayed once if you choose the Set Default option. From then on, that location will be stored in the Default file and used each time Payrol is ran. It can be reset with the Remove Default setting option. On a two floppy system (no hard drive), I recommend placing the WE, WE mmddyy and YTD files on Df1 and the rest on DF0. A years worth of WE mmddyy files will easily fit on one disk. Defaults - this file stores all of the default settings you choose during program execution such as screen colors, voice on or off, etc. See MENU OPTIONS below to see what the program defaults are if this file is not present. Employees - this is the list of current employees, their pay rates, social security number, filing statuses and date of hire. A maximum of fourteen (14) employees is allowed. Payrol.Data - This ia an ascii text file which contains four entries. All entries must end in a semi-colon (;). The first entry is the name of the business you would like to appear on the printouts. The second and third entries are the MESC and FUTA rates your business is charged. The MESC and FUTA rates must be in decimal form. That is, 2.2 % would be entered as .022. The final entry is a digit indicating the number of colors the screen will have. A 0 indicates an 8 color screen while a 1 is for a 16 color screen. On some Amiga's the voice becomes garbled when a 16 color screen is used. Past Employees - same as the Employees file except it contains all past employees and the date they were terminated or quit. In order for a quarterly report to be accurate, all employees from that quarter must be listed in one of the two employee files. A maximum of 100 employees is allowed in this file. WE - this is a list of all of the week ending dates that have been entered for the current year. It also contains the date paid for each week ending. It will be generated and updated as each pay period is entered. WE mmddyy - this is the individual payroll data file. It will be generated as you enter the pay information. This is the pay file referred to in the section Pay File Edits. YTD - this file contains a year-to-date summary for each employees payroll. SECTIONS OVERVIEW: There are four main sections to the program. a) Enter Hours - this section is used for entering hours worked. Hours can be entered as a weekly total or on a daily basis. The week ending and date paid dates can be entered manually or by clicking on the desired date on the displayed calendar. b) Employee Edits - this section has 8 options. 1) Add Employee - use this option when you wish to add a new employee to an existing employee file. 2) Delete Employee - use this option when you wish to delete an employee from an existing employee file. 3) Change employee - use this option to change employee data. Name, Address, Phone and Pay Rate are some examples of what can be changed. When a depart date is entered for an employee, that employees data will be transferred to the past employee file. See INFO SHEET section below for more details. 4) List employees - use this option to display a list of all current employees. 5) List employee history file - use this option to display the individual file of a particular employee. 6) List past employees - use this option to display a list of all previous employees. 7) List past employee history file - use this option to display the individual file of a particular past employee. 8) Make a new employee file - use this option to begin a new employee list. The current list, if any, will be destroyed. This option should be used when the program is first ran. Note that if a space is entered after an employees last name, the name will not be sorted properly. c) Pay Edits - this section has eight options. 1) Add/Delete Employee to a pay file - use this option to alter the information in a week ending file instead of having to enter in all of the information again. Note that it is possible to enter an employee who is not listed in either of the employee files. This was added since it is possible a new employee started working before you had a chance to enter him into the file. However, this is a dangerous practice since it will cause the quarterly report to be wrong should you forget to add the employee for some reason. 2) Delete a week ending file - this will delete an entry from the WE file and the WE mmddyy file itself. 3) Tally for employee - provides a year-to-date total for a particular employee. 4) Tally for week ending - provides a total for a particular week ending. 5) Tally for month - provides a total for a particular month. This option should be ran monthly and compared to your ledger to insure what you think you paid actually matches what you did pay. This will eliminate hard to find bookkeeping errors at quarter end. 6) Tally for year - provides a year-to-date total. 7) YTD - Provides year-to-date information for each employee. The file has four columns. The first three are for the first three quarters, respectively. The last is a running total for the year and is called the YTD column. This column is updated each time payroll is ran unless a week ending is ran more than once. In that case, you have the option of updating it or not. Changes to the quarterly columns are only made if a quarterly report is ran and you choose update when prompted or if a week ending file is deleted. If a change is made to a week ending file after a quarterly report is ran, you will need to rerun the quarterly report to update the YTD file. 8) Quarterly report - gives a summary of the particular quarter. Tax exempt students are separated and listed and FICA and FUTA taxes are calculated. All of the data necessary for completing IRS tax form 941 is included in this report. When this option is ran, you are prompted for the amount of State (SWT) and Federal (FWT) withholding taxes you actually paid during the chosen quarter. If it is not the first quarter you will also be asked to enter any adjustments. This is provided to correct for any over/under payments from the previous quarter. The report is divided into three sections that are obvious by the spacing on the printed form. The top section is a list of all of the employees for the particular quarter and a breakdown of their wages. These are all added together to give a total for all employees. The GROSS PAY is then multiplied by 15.3% (FICA). That result is then added to the total from the FWT column to give the TOTAL FEDERAL and FICA taxes due. This is the calculated value. To the right the numbers you entered for SWT are added and compared against the SWT column. The result is what you are SHORT or OVER as far as state taxes are concerned. If you are SHORT, you need to pay this extra amount to the State, otherwise, it owes you. The middle section lists the FICA and FWT payments you entered (on the left side). This is summed with the FICA and FWT total from the first section to give the total SHORT or OVER amount. To the right of this section is a breakdown of the MESC and FUTA calculations. The total for exempt students, listed on the second page of the printout, is subtracted here before calculations. This MESC number should match the figure from your completed MESC QUARTERLY WAGE REPORT. The last section is a breakdown of the quarter by month. This aids in finding problems when you cannot balance. MENU OPTIONS: There are four pull down menus. Menu a) SCREEN OPTIONS: 1) VOICE on/off - any time an error is generated from within the program, an error message will be displayed. If this option is on, an error message will also be spoken. Program execution is slowed a little but a better explanation of the problem may be obtained. You do not have to wait for the spoken message to finish before continuing. 2) ALTER VOICE - allows you to alter the voice used for option 1. 3) SECURITY CODE - prevents the program from being ran without the known code. 4) TAX STUDENTS - FICA & FWT taxes are not normally withheld for students. With this option on, all students will be taxed, regardless of the employees filing status. 4) CURRENT DEFAULT SETTINGS - displays the current settings of all options. The initial settings are VOICE ON, TAX STUDENTS OFF, AUTO BACKUP ON and AUTO DELETE INFO FILES ON. 5) INSTRUCTIONS - displays on line manual of the program. If VOICE is also on, the instruction file may be read to you. 6) END - causes the program to finish. All backup files are generated at this time so it is important that the program always be terminated properly to insure the integrity of the backup files. Menu b) DISK FILE OPTIONS: 1) DELETE WEEK ENDING FILE - displays a list of all the available week ending dates and allows their deletion. 2) AUTO BACKUP - when set, this option causes a backup file to be generated for each file accessed. The backup is not made until the program is terminated. Because of this, program execution time is not affected so this option should always be used to insure maximum file integrity. 3) AUTO DELETE INFO FILES - when set, this option prevents info files from being generated. If an info file exists from a previous run, it will only be deleted if you access that file again. For instance, if there is an info file present for the file WE 010192, and this option then gets set, the info file will not be automatically removed unless that particular WE file is accessed in some way. Menu c) PRINT OPTIONS: 1) PRINT to SCREEN only. 2) PRINT to PRINTER only. 3) PRINT to BOTH. NOTE: non-registered version only prints to the screen. Menu d) SPECIAL: 1) DEBUG - this option is useful in finding a corrupted file. If on, all files accessed will be displayed and the program waits for the user to press return before it continues. When the program fails, the last displayed file is most likely the problem file. Usually, a bad file will cause a runtime error 6 to be displayed upon failure. This option is stored in the defaults file and will stay set on subsequent program runs if it is not intentionally turned off. 2) SORT WEEK ENDING FILE - Sorts the week file numerically and removes spaces in the WE file that sometimes happen if the program is terminated improperly.. 3) EDIT YTD - Allows the user to edit the YTD column in the YTD file. INFO SHEET: When a new employee is added or the data for an existing employee needs to be changed, an Employee Information Sheet is displayed and the following data is requested. If return is pressed for a response, that field will be equal to zero of blank. Name - if the name is changed for an existing employee (as in the case of an employee getting married) all of the existing pay files will be searched and any occurrence of the old name will also be changed. Address City Phone Social Security Number - enter the nine digit number. Dashes will be inserted by the program. Pay Rate Exemptions - enter the number of exemptions the employee has entered on his/her W4 form. Filing Status - enter S (for single), M (for married) or E (for exempt). Entering E will cause the employee not to be taxed. This is needed for students under 18 years of age. If the student desires to be taxed then enter S or M. High School Student - enter Y (yes) or N (no). High school students will not be taxed unless the filing status is S or M or the Tax Student option from the pull-down menu is set. Date Hired - enter a six digit hire date. Date Departed - enter a six digit depart date. This option is not available for new employees. If this field is filled, the employee will be moved from the current to the past employees file. EMPLOYEE INFORMATION FILE: A file is kept for each employee. It contains the starting pay, subsequent pay raises and their dates, number of sick and late days, number of times on probation and up 15 comments. The file is accessible and editable through the Pay Files section option 5. You are given the option of erasing the entire record for an employee. If you choose this option, all data except the starting pay and starting date will be erased. COLOR CONTROL: The screens colors are controlled by selecting the Palette Control on the main drive screen. The following table indicates which colors are used for each part of the 16 color screen. It shows the color number, what it defaults to and what it is used for. 0 = GREY, used for Background. 1 = WHITE, used for Title Bar. 2 = BLACK, used for Mat. 3 = YELLOW, used for Letters in option boxes. 4 = DARK GREY, used for dark shadow in boxes. 5 = PURPLE, used for outside of box. 6 = BLUE, used for text box. 7 = BLUE, used for text box border. 8 = WHITE, used for light shadow in boxes. 9 = WHITE, used for mat border. 10 = RED, used for clock. 11 = LIGHT ORANGE, used for error messages. NOTE: A1000's have difficulty running a 16 color screen and using the voice option at the same time. I do not know how A500's and A2000's handle this situation but A3000's do not have a problem. The A1000 runs fine with an 8 color screen. Set the appropriate digit in the Payrol.Data file to choose either screen. ERRORS: Most errors (this includes missing files, full disks, etcetera) will be handled via messages in the large text box at the bottom of the screen. Just follow the instructions given. This type of error is usually very easy to recover from. However some errors will be handled via program requestors. If a requestor appears due to a missing or full disk, a missing file or whatever, you will have the options of RETRY and CANCEL. Choosing CANCEL causes the program to skip the current operation and return to an option screen. Choosing RETRY will cause the program to retry the failed operation. If it is not clear as to what file is causing the problem, use the DEBUG option from the pull down menu. This will display the current file being accessed prior to the requestor being displayed. MISCELLANEOUS NOTES/BUGS: Program operation should be relatively straightforward. However, there are a few items that should be mentioned. 1) When entering hours, you can click on the supplied calendar for the needed week ending dates instead of entering them manually. 2) The PAR: device is used for printing so specific printer drivers are not needed. For the most part the printouts are standard. Some are printed at 6 LPI and others at 8 LPI depending upon the amount to be printed. 3) In almost all cases when the program is waiting input, pressing return or clicking the mouse will exit out of that routine. 4) When using the menu, it may be necessary to go to another screen before the menu selection takes place. This is because of a work- around I added near the end of program testing. It will be taken care of when the code is rewritten in C. 5) Some of the reports can take several seconds to complete on a floppy only system. These users should not get impatient. Any keyboard or mouse input during one of these periods may cause the process to terminate and have to be re-ran. 6) All of the menu items were left active for the entire time the program is running intentionally. This puts extra responsibility on the user to use these wisely but also gives you more flexibility. I find this method preferential but if it proves to be a problem I will selectively disable them in a future release. 7) The SAY command and translator device are required to be on disk in order for the voice option to work. 8) Under certain situations, the screen display may not be updated correctly. This seems to only occur only when certain SPECIAL menu selections are made while in the pay edits screen (at least this is all that has been reported to me). This problem does not affect the normal operation of the program so it will not be fixed until the C version is released. To get around the problem in the meantime, just press 9 to return to the revious screen and continue from that point. PLANS FOR FUTURE RELEASES: If there is enough interest in the program the following changes are planned: a) add ability to print checks. b) add ability to print to a file. c) add forms such as 941, w2's and w4's. d) add code to announce special occasions (employees birthday, etc.) e) convert program code to C. HISTORY: October, 1992 - initial release. February, 1993 - contains extended tax tables, has some printing bugs fixed. April, 1993 - fixed some problems dealing with week ending files extending over two years in the pay edits section.