Internal controls over computer processing include both manual procedures and procedures built into the computer programs. These controls can be divided into:
- General controls
- Application controls
These are controls, which relate to the environment within which computer-based accounting systems are developed, maintained and operated aimed at providing reasonable assurance that the overall objectives of internal controls are achieved. These controls could either be manual or programmed.
The objectives of general controls are to ensure proper development and implementation of applications and the integrity of program and data files and of computer operations. General controls will be considered under the headings of:
- Systems development controls
- Organisational controls.
- Access controls
- Other controls
Systems development controls
These relate to:
- Review, testing and approval of new systems.
- Parallel running
- Program changes
- Documentation procedures.
Review, testing and approval of new systems
The basic principles of these controls are that:-
- Systems design should include representatives of user department, accounting department and internal audit.
- Each proposed system should have written specifications that are approved by management and user department.
- Systems testing should involve both user and computer department.
- The computer manager, the user department, dbase administrator and the appropriate level of management should give final approval to the new system before it is placed under operation and offer reviewing the completeness of documentation and results of testing.
Similar requirement apply to changes as well as to new systems although the level of testing and authorisation will vary with the magnitude of changes. It is particularly important that the documentation be brought up to date. A common cause of control breakdown is the unsuspecting reliance of new staff on out of date documents.
Adequate documentation is important to both the auditor and management.
For management documentation provides a basis for:
- Reviewing the system, prior to authorisation
- Implementing smooth personal changes and avoiding the problem that key employees might take with them all the knowledge on how the system works.
- Reviewing existing systems and programmes.
- For the auditor documentation is necessary for preliminary evaluation of the system and its control
Before switching to the new system, the whole system should be tested by running it parallel with the existing system. Parallel running refers to running the new and old system along each other for a specified period of time say month. This is important because;
- It provides the users with the opportunity to familiarise themselves with the new system while still having the old system available to compare.
- Provides for an opportunity for the programmers to sort out any problems with the new system.
These relate to: -
- Segregation of functions.
- Policies and procedures relating to control functions.
Segregation of functions
The principal segregation in a centralised system is between the user and computer departments. Those who process the data should have no responsibilities for initiating or altering the data. The following segregation’s are important:
- The computer department manager should report to an executive who is not regularly involved for authorising transactions for computer processing.
- Computer staff should not correct errors in input data.
- Computer staff should not initiate transactions or have custody of resulting assets.
- Within the computer department there should be segregation of duties along the Following lines.
Job title and responsibilities
- The computer department manager responsibility exercises overall control over running of the department.
- Systems analyst responsibility: Monitors existing systems, designs new systems and prepare specifications for programmers.
- Programmer: Responsibility: Develops, debugs and documents programs.
- Computer operator: Operates the computer in accordance with operating instructions.
- Data entry operator: Keys input data into the computer.
- Librarian: Maintains custody of systems documentation and off line programs and files.
- Data control group: This co-ordinates activities between the computer department and the user department and monitor and control input and output.
- Database administrator: Designs the contents and organisation of the dbase and access to the dbase.
Policies and Procedures relating to control functions
A particular worry is that the operation of program controls could be interfered with during the running of the system by someone with necessary skills. For these reasons:
- Programmers and systems analysts should not be allowed to operate the computer except for testing purposes.
- Operators duties should be rotated so that the same operator is not responsible for the same procedure.
- For similar reasons, the computers operating system should be set up and keep a record of programs and files operated on. This record should be checked regularly by the computer department manager and the internal audit. There should also be procedures ensuring the completeness and validity of all input and output. In a centralised system, the data control group may be established for this function.
Computer systems are often dependent on accuracy and validity of data held on file Access controls to the computer hardware, software and data files are therefore vital. Access controls are both physical and programmed. Physical controls apply to both hardware and data files stored in form of magnetic disks or diskettes. Example of access controls.
- Only authorised personnel should be permitted access to the computer which should be in a secure room. This may not be possible with single microcomputers or even terminals.
- Control over computers located in the user department should be improved by making sure that vital data or programs are not left running when the computer is left unattended.
- Passwords should be issued to all staff, whether for access to mainframe or single microcomputers. This is supported by requirement that each user can only log into the computer by keying-in their passwords, the computer then knows the identity of the user and it is programmed so as to only accept instructions only from authorised users. System of passwords makes it possible for each user to have limited access to files and that access may further be designated as Read Only or Read and Write. In this way employees are given access to information contained in files only. Computers should also be programmed to record names of all those accessing the computer for purpose of adding, altering or deleting data. Passwords should be changed regularly and access to password data held in the computer should be subject to stringent controls.
- The computer has no way of knowing whether the user is the authorised user of a particular password. Hence users should be issued with machine readable evidence e.g. magnetic stripped cards. For access then the user will have to use the card and the password.
- Access to computers is usually via telephone lines. Computers should be programmed with telephone numbers of such users. On receiving a call, the computer should be required to call back on the authorised number and not receive calls directly.
- Programs and data files which need not be on-line should be stored in a securelocation with a computer department librarian. Systems programs and documentation should be locked away with limited access.
They include controls over:
- Unauthorised use of computers.
- Back-up facilities in the event of breakdown. There should be adequate back up procedures e.g. maintaining duplicate programs and information at different locations, protection against naturaldisasters such as situating computer rooms in rooms protected against floods. There should be maximum possible physical security where computers are installed. Important files should always be stored in duplicate. Standby procedures should be put in place in the event of computer breakdown.
- File retention procedures e.g. retaining copies of essential data on separate.
(ii) APPLICATION CONTROLS
The objectives of application controls which may be manual or programmed are to ensure the completeness and accuracy of the accounting records and the validity of the entries made therein resulting from both manual and programmed processing. These relate to the transactions and standing data pertaining to each computer based accounting system and are therefore specific to each such application. With the increasing sophistication of computer operating systems it is becoming more common for controls to be programmed as part of each application. Application controls are generally divided into:
- Input controls.
- Processing controls.
- Output controls.
- Controls over master files and standing data.
Most errors in computer accounting systems can be traced to faulty input. Controls over the completeness and validity of all input are therefore vital. Some controls affect both completeness and validity and therefore will be considered separately. These include controls over data conversion, controls over rejections and the correction and the reprocessing of the rejections, batch controls and computer edit controls.
These controls ensure that all transactions are recorded. That all sales for example are recorded in the cash register or all purchase invoices are posted to the accounting records. They are particularly important over the recording of revenue and receipt of assets.
Controls over validity ensure that only actual transactions that have been properly authorised are recorded. These controls are most important over the recording of liabilities such as wages, creditors etc. As in a manual system, control is established by the written authorisation on input documents such as the departmental managers signature on employees time cards. It is important that there is adequate separation of duties such that those who initiate a transaction or who have access to cash, cheques or goods as a result of the transaction being entered should not have the responsibility for entering the transaction. As with completeness, the computer can be programmed to assist in this control in which case some of the requirements above can be relaxed for example the computer can initiate purchases when stock levels reach a pre-determined re-order level. It can then validate the payment by matching the invoice with the order and goods-inward notes.Access controls as discussed earlier play an important role in validity in that the computer is programmed to accept input only from authorised users. The computer can also be programmed to verify authority limits as well.
There must be controls to ensure that all data on source documents is properly entered into the computer. In the early days, when entry was by punched card, each card was verified as punched by a second machine operator. But now that most data is entered using a keyboard or a terminal other controls are more common.
The most common input controls are edit controls. Examples of edit controls include;
|Type of edit control||Description of control||Objective|
|Missing field check||Checks that all essential data fields are present and are of the right length||Ensures accuracy of the processed data. Transactions cannot be properly processed if necessary data is missing|
|Valid character check||Checks that data fields appear to be of the right type eg all alphabetic, all numerical or mixed.||Ensures correctness of input data|
|Limit/reasonableness checks||Checks that data falls within predetermined reasonability limits e.g. hours worked do not exceed a certain limit, maybe 8 hours a day.||Ensures accuracy and validity of input data|
|Master file checks||Checks that all codes match those on master files e.g. employee’s number matches an employee number on the personnel file.||Ensures that data is processed against the correct master file.|
|Check digit||Applies an arithmetic operation to the code number and compares the result to the check digit||To ensure accuracy of data by checking keystroke errors.|
|Document count||Agrees the number of input records in a batch with the total on the batch control form||Ensures that all documents are input|
Processing controls ensure that transactions are:
- Processed by the right programs.
- Processed to the right master files.
- Not lost, duplicated or otherwise improperly altered during processing.
- Processing errors are identified and corrected.
Processing controls include:
- Program file identification procedures, which enquire whether, the right master files are in use.
- Physical file identification procedures in the form of labels physically attached to files or diskettes to ensure that the right files are in use.
- Control totals which are progressively expanded as the data is processed, for example the hash total of quantities shipped can be expanded to a gross sales total as items are priced and to a net sales total as customer discounts are determined. These totals should be carried forward with the transaction data as run-to-run totals.
- Limit and reasonableness tests applied to data arising as a result of processing.
- Sequence tests over pre-numbered documents.
c) Output controls
Are necessary to ensure that:-
- Output is received from input.
- Results of processing are accurate
- Output is distributed to appropriate personnel.
These controls include:
- Logging of all output.
- Matching or agreeing all output to input, such as for one matching, or control totals.
- Noting distribution of all the output.
- Output checklists aimed at ensuring that all expected reports are processed and forwarded to the relevant department or personnel.
Controls over master files and standing data
These are aimed at ensuring completeness, accuracy and authorisation of amendments to master files and standing data files. These controls are similar to controls over input. E.g. controls to prevent the deletion of any account, which contains a current running balance. Once standing data has been written onto a master file, it is important that there are adequate controls to ensure that the data remains unaltered until an authorised change is made.
Examples of controls
- Periodic printouts of standing data for checking with manually held information.
- Establishment of independent control totals for periodic verification with computer generated totals.