Auditing
Auditing
Computers
LESSON 1
General Computer Controls are those which establish an overall framework of control for computer activities. They
are controls which should be in place before any processing of transactions gets underway and they span across all
applications.
The following framework is an outline of the controls to be covered in this module. These controls will be discussed
in detail throughout the module.
APPLICATION CONTROLS
Application controls are controls over input, processing and output of information relating to a specific application
to ensure that such information is valid, accurate and complete.
Application controls include two types of controls, user controls and programmed controls. User (manual controls)
are the controls that the entity has in place over the actual user of the computer system. Programmed controls the
controls that are actually programmed into the system code of the operating system that the entity is using.
These controls will be discussed through the module. The following framework is an outline of the controls to be
covered in this module:
•Valid - ensure that the transactions captured are valid (i.e. all necessary
information authorised).
•Valid - ensure that the transactions captured are valid (i.e. all necessary
information authorised).
•Valid - ensure that the transactions captured are valid (i.e. all necessary
information authorised).
LESSON 2
Lesson two will explain the controls that should be in place for the seven general computer controls.
These are the controls in place over the actual development of a new system the entity intends on using. This could
be a purchased package, or a system developed in-house.
• Definition:
o Defining the way the system must work to meet the specifications of users and business
• Two methods of specifying systems:
o Traditional method:
▪ Written systems specification by means of discussions between the data processing
department and users
o Prototype systems:
▪ Design prototype
▪ User department try out
▪ Refine the design through a series of prototypes
d) Testing
1. Program testing:
a. Checking the logic of the program to their specs
b. Methods used:
i. Test data
ii. Desk checking (program code analysis)
2. System testing:
a. Ensure the logic of various individual programs links together to form a system in line with the
detailed system description
b. Methods used:
i. Test data
ii. User testing
3. Live testing:
a. Tested under operational conditions:
i. Parallel running; and
ii. Pilot running.
iii. Parallel running
1. New system in parallel with old system
2. Problem: cost of double processing, difficulty of comparison (e.g. additional info)
iv. Pilot running:
1. Introducing system for only small portions
The above information must be applied to the selection of a package and the implementation of a package. This can
be done as follows:
o Implementation
o Involvement of:
▪ User departments
▪ Data processing
▪ Management
▪ Quality assurance
▪
Advantages of purchased systems:
4. Testing:
• Balancing old files with new files
• Third party confirmations
• Follow up of exception reports
• Comparison with data run on old system (parallel)
• Manual comparison of data
• Approval by users
These controls exist to ensure that any maintenance that takes place on the newly developed system is done
accurately and in accordance with the requisite level of authority. The changes should be made to ensure that the
system meets the needs of the users. Some examples of these types of controls are:
• Change forms are to be pre-numbered and locked away when not required;
• Any change requests made by the users of the system must be approved by the Line Manager of the user
and a reason as to why the change is necessary must be provided;
• All change forms need to be signed by Management or the Computer Steering Committee prior to the
change being effected;
• After the change has been made, an IT expert is to test the change to determine if it has been made as per
the approved change request and is working effectively.
• Completeness of changes
o To ensure all approved requests for changes are processed
o Achieved by:
▪ Pre-numbered change request forms
▪ Do regular sequence checks; or
▪ Enter change forms in a register
▪ Outstanding requests reviewed by senior official
• Validity of changes
o Requests should be approved by correct level of authority depending on importance
o User requirements
o Reviewed by data processing department
o Documented
These controls would be implemented to ensure that an organisational framework over the computerised
information system (CIS) activities is in place, and to ensure that the basic principles of segregation of duties, review
and virus protection are met. Examples of these types of controls include, but are not limited to the following:
As the name suggests, these controls would ensure that access to and editing of data and programs should be
restricted to only those users who have the authority to use the data. Examples of these types of controls include:
Programmed controls
• Terminals
o TINS (Terminal identification numbers)
o Limited access to system (to specific applications)
o Automatic log off after 5 minutes of non-use
o Shut down after 3 unsuccessful login attempts
o Limited to 1 workstation log onInvestigation into each disconnection
o Simultaneous login prohibited
• Identification of users
o User ID’s & passwords
o Verify IP address
o Magnetic cards
o Voice recognition / fingerprints (use of biometric data)
• Authorisation of users
o Logon ID’s
o Passwords
o Multilevel passwords
o User matrixes
o Passwords for specific authorised levels
• Password control
o Password strength
▪ Minimum 6 characters (Minimum length)
▪ Alpha /numerical
▪ CAPITAL LETTERS AND small caps
▪ and other - ! @ # *
o Not easily guessed not shown on screen
o Changed regularly
▪ Automatic system request
▪ Re-use of password prohibited
o Confidentiality emphasised
o Cancelled on resignation/ dismissal
o Cancelled after period of inactivity
o Use for authorisation
▪ Limit access to part of system
▪ Limit access to certain times of day
▪ Authorisation levels linked
o Program libraries
o Access to backup programs controlled by access software
o Passwords
o Updating authorised
o Utilities
o Stored separately
o Use logged and reviewed
Physical controls
• Terminals
o Physically locked
o Located in visible area
o Situated in lockable room
• Computer hardware
o Lockable room
o Supervision & review
o Removable mediums secure
• Manual logs
• Program libraries
o Register (REGULAR REVIEW)
o Access controlled
• Distributable processing
o Only executable programs (instead of production programs) at branches
o Independent comparison of exec. Programs to source programs (e.g. internal auditor)
• Logs reviewed
• Screening & training of staff
• Emergency access controls
These are those controls that actually deal with how the user of the computer operates the computer and ensure
that programmed procedures are applied correctly and consistently during the processing of data. Examples of these
types of controls include, but are not limited to the following:
• There must be continuous monitoring and review of the functioning of the computer hardware;
• There must be standardised procedures and operating procedures for the users of the system to follow;
• The must be adequate user manuals in place.
• Scheduling of processing
• Set-up and execution of programs:
o Competent person
o Procedure manuals
o Test against processing log
o Supervision & review
• Use correct programs & data files
• Operating procedures:
o Hardware checks
o Operating instructions & manuals
o Segregation of duties
o Rotation of duties
o Logs
o Supervision and review
• Recovery procedure:
o Emergency plan & instructions
o Backup of data & hardware
The controls are put in place for programs that process data to ensure that they are installed or developed and
maintained in an authorised and effective manner, and that access to the system software is limited. Examples of
these types of control include:
These are the controls that the entity would put in place to ensure that it would be able to continue as a going
concern, even in the event of a disaster that the company might experience. Examples of these types of controls
include:
• Physical environment:
o Protection against the elements:
▪ Fire: extinguishers etc
▪ Water: away from water pipes
▪ Power: backup supply
▪ Environment: air con etc
• Backups
o Regular backups on rotational basis
o On-line/ Real time backups
o Store back-up files on separate premises
o Hardware backup facilities
o Store in fireproof safe
o Retention of files / records for required times
• Other controls
o Adequate insurance
o No overreliance on staff
o Virus protection / prevention
o Physical security
o Cable protection
• Personnel Controls
o Segregation of duties
o Job rotation
o Hiring/firing procedures
o Employment contracts
o Use of hardware/software
o Confidentiality
LESSON 3
APPLICATION CONTROLS
INPUT
Edit Checks
Types of Edit checks Definition of edit checks
Field presence checks Ensures all the mandatory fields have been completed before moving to next step.
Formatting check Ensures the fields have been completed in the correct format.
For example: prices should be numerical and Names of suppliers alphabetical and
supplier codes should be alphanumerical.
Screen check (only check that Checking the info on the screen by the user to ensure accuracy on screen.
is a manual check)
Validity or existence check Ensures that the codes or files on the database does exist.
For example: stock codes checked to inventory master file
Limit or reasonableness Ensures that the information captured in the fields falls below a pre-set boundary
check or limit.
For example: Date entered months cannot be more than 12
Dependency check Ensures that there is interdependency of input with other fields.
For example: Sufficient stock is available before accepting the sale
Field size check Ensure that the number of characters enter into the required fields are correct.
For example: Telephone number is 10 digits and ID number is 13 digits
Screen prompts Ensures a message will “pop up” and ask the user whether he wants to submit the
on-line form.
Logic check Ensures that the totals has been added up correctly.
Sign check Ensures that the field has the corrective sign
Either positive/negative amount
Specific character check Ensure that should the field require a specific character that it will be entered.
For example: spaces in the right place or a #
Arithmetic check Ensures that the journal does balance.
MATERFILES
Masterfile: Files which are used to store only standing information (e.g. name, address and credit limits of debtors)
and latest balances (e.g. outstanding balances of debtors). Changes to standing data on Masterfile are referred to as
Masterfile amendments. The biggest risk regarding the master files is that any changes to the master file might not
be valid, accurate and complete.
LESSON 4
The CIS environment has various threats and risks. Some of them will be listed below but this is not an exhaustive
list.
Potential threats:
• Natural disasters:
o Floods, Fire, Storms, Heat waves.
• Man made disasters:
o Terrorism, war.
• Intentional damage:
o Fraud, Hacking.
• Unintentional error:
o Human Error.
Computer crime:
Definitions:
• The act of using a computer to commit an illegal act.
• “…any criminal activity involving the copy of, use of, removal of, interference with, access to, manipulation
of computer systems, and/or their related functions, data or programs.”
• "crimes where the computer is a major factor in committing the criminal offense" ["FBI Computer" ]
As an auditor, whether internal or external, junior or senior, you will be exposed to computerised financial reporting
systems at your audit clients. You will also make use of laptop computers to assist you in carrying out your audit
work. The vast majority of businesses you will visit to perform audits will use computers to capture, process and
record transactions, produce the accounting records and lots of other information. However, the extent to which
business entities use computers will vary considerably. A small company may have one or two stand-alone personal
computers onto which simple bookkeeping programmes are loaded. A large company will have a far more complex
arrangement, using micro-computers as servers and workstations. Such companies will have data centres and lots of
highly qualified personnel.
For example, even very small businesses these days pay salaries and creditors via electronic funds transfer, so some
knowledge of how this is controlled will be important if you are auditing the payroll or acquisitions and payments
cycles. An overview of IT general controls, automated application controls and other key critical IT trends, such as
interface management and mobile applications, will provide you with a good understanding of how IT impacts the
audit. You also need to get used to the fact that every business has different information needs. To illustrate:
• The strategy adopted to audit a bank will call for the inclusion of computer audit experts on the team due to
the complexity and importance of the computerised systems. The fact that banks process millions of
transactions will require that the strategy focus on tests of controls which in turn will affect the audit plan.
• The strategy for the audit of a small company with a bookkeeper or two and a number of PCs will not require
specialist computer skills and will probably be focused on substantive testing.
• The software used by a large company is likely to be far more sophisticated, highly integrated (simplistically
this means that applications work together, for example a credit sale automatically updates the inventory
records, and the debtor ledger and general ledger), and have many more control features for input,
processing and output. At the other end of the scale, a small business may use simple software for each
application which is not linked to any other application, for example a simple computerised perpetual
inventory application may require that all movements of inventory, for example receipts, issues of inventory
items will be entered onto the system by keying in the information from hard copy goods received notes
(GRNs) and delivery notes. The difference in the capabilities of the software will directly affect the validity,
accuracy and completeness of the information it produces as well as the way in which the information is
audited.
• As a final illustrative example, the use of audit software (i.e. software which helps the auditor conduct the
audit or carry out what are termed “computer assisted audit techniques”) will be absolutely critical on some
audits, and hardly critical at all on others. For example, the efficient and effective audit of debtors for a large
company with, say, 5 000 debtors, will not be possible without using audit software to interrogate the
debtors master file, extract samples from it, re-perform calculations, analyse it, etc. In a small business with,
say, 200 debtors, this may not be necessary or even possible.
DATA ANALYTICS
Data analytics, and more specifically computer assisted audit techniques are exactly what the phrase says: making
use of a computer to assist in carrying out the audit. Although there is some extremely powerful and complex
software available to assist in performing audits, the concept is simple: wherever it is economical and efficient to do
so, the power, speed and versatility of the computer should be harnessed to assist with the audit. For many audit
clients it would simply be impossible to perform an audit without using CAATs.
When applying data analytics in the audit, use processes of inspection, extraction, transformation, loading and
modelling data to discover information and to enhance problem solving and decision-making. Data extraction allows
for:
• Data to be refined.
• Data transferred from source to destination.
• Data to be extracted from unstructured data sets, that aren’t stored in a structured database format.
There are three main types of data extraction in ETL (extract, transform, load): full extraction, incremental stream
extraction and incremental batch extraction.
How do data analytics/Computer Audit Assist Techniques (CAATs) fit into the audit process
Auditors should perform basic data modelling or where necessary request advanced data modelling by experts, and
then interpret the results, concluding on reporting/presenting/communicating as applicable.
The auditor decides whether or not to use CAATs when considering the audit strategy (scope, timing and direction)
and the audit plan (nature, timing and extent of testing) which is necessary to reduce audit risk to an acceptable
level. The decision made will result in the auditor taking one or more of the following approaches:
• Auditing around the computer;
• Auditing through the computer; and
• Auditing with the computer.
The auditor is not restricted to selecting just one of thee approaches.
This approach treats the computer system and programmes as a black box and relies on review and comparison of
the input and output documents. The rationale behind this approach is that if the source documents are valid,
accurate and complete, and the output produced by the computer system as a result of processing these source
documents, is correct, then the processing functions of the computer system are being performed correctly. The
manner in which these processing functions are performed is deemed to be of little consequence. This approach
assumes that the computer-generated output can be traced back and compared to the input.
The audit is performed by selecting a sample of transactions that have already been processed and then tracing these
transactions from their point of origin as source documents to the output documents or records produced by the
computer system.
This approach is only feasible if the computer system under consideration is a simple, batch-oriented system with no
significant controls or automated/integrated functions built into the system.
Additional requirements for the adoption of this approach are that control is maintained by segregation of duties,
independent checks and management supervision together with the maintenance of a clear audit trail.
The main advantages of auditing around the computer may be summarised as follows:
• There is no risk of manipulation of the client’s data by the auditor.
• The auditor requires little or no knowledge of computer technology.
• There is minimal disruption of the client's IT function.
• The costs associated with technology and computer expertise may be reduced.
This approach is concerned with testing the computer system and controls which are built into the system.
Simplistically this is achieved by the auditor sending transactions (test data), some of which will contain errors which
the system’s programme controls should detect, through the system. In this way the auditor tests whether controls
are working as expected, for example if a transaction which the auditor knows is incorrect is picked up by the system,
the auditor has some evidence that the system is working (and vice versa). Thus, auditing through the computer is
primarily a “test of controls” approach.
The main advantage of “auditing through the computer” is that it can be used effectively and efficiently to audit a
highly sophisticated computer system which processes huge volumes of data and relies extensively on computerised
controls, for example banks.
Using this approach for substantive testing, involves gaining access to a client’s files and using audit software
(programmes which help the auditor to do what he has to do) to read, sort, compare and analyse data on the file,
very quickly and extensively.
The idea behind using the computer to automate the audit is to make it a more effective and efficient audit by
harnessing the power of the computer.
The main advantage of auditing with the computer is that use is made of the power, speed and versatility of the
computer, which results in a more economical and efficient audit.
As suggested by their description, these CAATs concentrate on the accounting system and related control procedures
and are used predominantly to perform tests of controls, although some substantive evidence may also be produced.
The use of systems-orientated CAATs is regarded as “auditing through the computer.”
Because system CAATs are typically run periodically, reliance on general controls is a prerequisite because of the risk
that programs could be changed in between the dates when the software is run. It may be preferable for these to be
run by the internal audit, in which case the external audit would evaluate the work of the internal auditors.
Test data
This type of CAAT requires the auditor to create a set of transactions (let us assume clock cards) to be keyed in and
processed. The transactions will include both correct data and incorrect data, i.e. a clock card with an invalid
employee number and another with 55 hours of normal time, will be entered. What the auditor expects is that the
invalid employee number will be identified by the computer and written to an error report, and that the 55 hours
normal time will be identified by the programmed input limit check and the error highlighted immediately for
correction. Obviously, if entry and processing go ahead as normal, the controls are not working!
• Using the test data, the auditor can design transactions to test any controls which the client claims are in the
system but designing suitable transactions that contain the error conditions which the auditor wants to be
prevented or detected, can be time consuming.
• For the “test data” approach to be effective, the auditor must be fully aware of the controls that are in the
system and must know what the theoretical output should be so that he can compare it to the actual output
for the transactions he has processed.
• As with manual tests of controls, the test data approach only tells the auditor that the control was working
when tested and not that it worked throughout the whole period under audit.
• The auditor will also need to confirm that the programme tested is the one that is used in live runs.
• The test data should be run against a “copy” of the live (production) programme to prevent corruption of
the client’s data.
• Test data is used to test:
o Controls, such as input validation, online password and data access controls; and
o The processing of data by computer system.
This is really an extension of the “test data” approach. In this method, an artificial (dummy) unit is created on the
client’s system. For example, Company “X” or Cost Centre “Y”. The auditor can then feed test transactions through
the system for processing along with normal transactions. The test transactions will, however, all be coded for
processing to the fictitious Company “X”, which is simply excluded for purposes of the client’s normal accounting
purposes.
This type of CAAT therefore reduces the risk of corrupting the client’s information. For example, the auditor could
enter two fictitious (dummy) employees on the employee master file, in the proper manner, for example employee
number, cost centre, grade, pay rate. He would then create fictitious clock cards with error conditions for the dummy
employees and would have them processed at the same time and in the same manner as the client’s genuine clock
cards when the “live” payroll run is being performed. As long as they are coded to a fictitious cost centre (e.g. Cost
Centre “Y”), they can easily be excluded from the client’s normal financial reporting records.
Again, the auditor will need to have a clear knowledge of the controls in the system and the results which should be
achieved (output). Once the “dummy records” have been created in the client’s files, the auditor can visit the client
on a number of occasions during the year under audit to perform the test; this helps to gather evidence that the
controls were working throughout the year.
The major disadvantage of this technique is that fictitious transactions may be muddled in with the client’s data if
not correctly coded or if the dummy unit is not separated out before reports are sent to users. For example, the
foreman might be a little surprised and confused to see two additional employees and an extra cost centre in his
factory! It is also conceivable that client staff could manipulate ITF facilities for fraudulent purposes.
Parallel simulation
This type of CAAT involves running the client’s transaction data and master file information through a “trusted”
system set up by the auditor, as well as through the client’s normal system. The results of the two processing runs
are then compared and any discrepancies are followed up. These results can provide evidence relating to controls
(e.g. the auditor’s system may make effective use of a limit check which identifies invalid data while the client’s
system may not have such a check in place), as well as evidence of a substantive nature (e.g. daily transaction totals
can be compared to verify accuracy of client figures).
For this type of CAAT to operate, the auditor arranges to have an audit module inserted into the client’s application
programme. The module is designed to either identify transactions which might be of particular interest to the
auditor, or to re-perform certain validation controls and report thereon, while the client is actually running the
normal application programmes. For example, the auditor may wish to identify all payments to creditors exceeding
R500 000. The audit module would identify these and write them to a file. Another example is that the audit module
could be programmed to perform reasonableness tests when salaries are processed and report on any items outside
of given reasonableness ranges. These embedded files would have strict access controls in place and the auditor
could appear at any time to audit/follow up on recorded transactions or exceptions written to the files.
DATA-ORIENTATED CAATs
These CAATs are concerned mainly with substantive testing, i.e. obtaining evidence to support the assertions relating
to balances in the statement of financial position and totals of transactions that underlie the statement of
comprehensive income. Use of these CAATs can be thought of mainly as “auditing with the computer”.
These are programmes that are used to extract/analyse/reformat data extracted from client systems, for example
the auditor may extract a report of all debtors’ amounts outstanding over 90 days. Common features and facilities:
• Versions are generally available for use on a wide range of hardware and systems software.
• They are generally easily programmable to access various file formats and data fields thereby enhancing the
ease of use for the generalist auditor.
• They are menu driven, which adds to their user-friendliness.
• Special security features are generally included, such as restricting certain features of the software to special
classes of users.
Where generalised software (GAS) is not available to suit the needs of a particular set of circumstances, customised
audit software (CAS) may be specially developed.
System utilities and report writers
Many clients will have utilities and report writer’s resident on their computers. Utility programmes can be used to
manipulate and analyse data and test whether programmes function correctly. Report writing programmes enable
users, including the auditor, to design and extract various reports, which may be particularly useful in performing
substantive tests.
Advantages:
• The software has already been loaded on the client's hardware.
• They are relatively simple to use.
• They perform many of the tests which GAS packages offer.
• The cost of using these packages is generally lower than using GAS.
Disadvantages:
• Many utility and report writers are available that may cause time delays seeing that the auditor will have to
assess how unfamiliar clients’ utilities and report writers’ function.
• These forms of CAAT may not be as well documented as GAS packages and may not quite meet the auditor’s
requirements.
The following factors will be taken into account in making the decision as to whether CAATs should be used:
• Complexity of the client’s system – Where a client’s accounting systems are extensively computerised and
of a high level of complexity or sophistication, the auditor cannot rely on manual audit procedures alone.
• Volume of transactions/output – The size of the business will usually govern the number of transactions that
flow through the accounting system. As the volume increases, so do the sizes of files which result from
processing the transactions, making it impractical/impossible to perform manual extraction, sorting,
analysing, summarising of data, etc., due to normal audit time constraints.
• Data stored in electronic form – The client will usually store data in electronic form, for example debtors
master file, inventory master file. In such cases:
o it will not be feasible/efficient to audit the data manually, and
o Normal audit trails may not exist so alternatives to normal manual procedures have to be sought,
for example using CAATS.
• Availability of skills in the audit team – Particular skills, sometimes of a high level, are required when using
some types of CAATs.
• Potential loss of independence – The use of CAATs requires the co-operation of the client and where system-
orientated CAATs are used, the auditor may have to rely quite heavily on client personnel to run the CAAT.
• The attitude of the client – Professionally run companies expect professional auditors and hence will expect
their auditor to be up to date with, and capable of, using advanced audit techniques.
• Compatibility of the firm’s hardware and software with the client’s hardware and software – The audit firm’s
hardware and software is unlikely to suit every single client’s hardware and software so it will need some
adaptation, for example additional software may be required (cost) in order to run audit programmes on
client systems/files.
• The utilities available at the client which can assist – Utilities are programmes that can frequently perform
tasks which are useful to the auditor, such as sorting/ re-organising files, copying, printing parts of a file, etc.
They do many things that generalised audit software does, so if the auditor has no suitable generalised audit
software, he may consider using the client’s utilities. Note that the completeness of the data set is all the
more important in this instance.
• The use of data analytic software tools to analyse data – there are many data analytic software tools
available, such as ACL, IDEA and advanced Excel functions, which can be used to analyse data. These tools
enable auditors to effectively analyse large volumes of data, identify patterns, anomalies and trends, and
gain valuable insights into financial transactions and business operations.