Notes - Application Controls
Notes - Application Controls
AUDITING 3
APPLICATION CONTROLS
INTRODUCTION
Application controls are controls over the input, processing and output of financial
information to ensure that the information is Valid, Accurate and Complete. Application
controls also include controls over the maintenance of the related masterfiles or
standing data. Application controls incorporate user (manual) controls and
programmed controls. Application controls are very closely linked to the cycles that
we discussed before and a lot of the information that we will cover will be quite familiar
to you from the cycles and from Coso.
The stages through which the transactions flow through the system can be described
as follows:
➢ Input (the initiation of the transaction by loading on the computer module or
online form) – So let’s consider 2 simple examples:
▪ let’s use an easy example that most of you would be familiar with first,
if you want to do a PV calculation in excel, you will enter information such
as the interest rate, payment amount, etc. – this will be your input.
▪ If we consider the Acquisition cycle, when you place an order, you will
enter the information into the system, details of order, etc.
For example we would say “Identify and discuss controls that should be
implemented to ensure accuracy of sales of prepaid airtime” – The key word
here is Accuracy, which means that the candidate should focus on accuracy
controls whether they relate to input/processing or outputs.
Master Files
In addition to implementing controls over input, processing and output, controls must
also be implemented over master files.
A master file is a file that is used to store only standing information and balances for
example the debtors Masterfile will contain debtor’s names, address, contact details,
credit balances etc. The Master file is very important part of producing reliable
information and must be strictly controlled.
For example “if a salesman wants to make out an invoice for a credit sale on the
system, the first thing he will do is to enter the customer’s name or account number or
account number to see if the customer is a valid customer. The system checks the
account number (or name) against the master file and if there is no match, the
salesman cannot proceed.”
(You will also see this in the employee file in the payroll cycle (We will still cover this!).
If the cycle is computerised you will have a Masterfile for your employee which will
have similar information than the employee file, so for example the employee name,
ID, remuneration rate, job title, etc.)
1. Segregation of Duties
2. Isolation of responsibility
3. Approval and Authorisation
4. Custody
5. Access Controls
6. Comparison and Reconciliation
7. Performance Review
1. Segregation of duties
• As explained before segregation of duties is achieved by assigning
incompatible duties to different individuals.
• This enables the checking of one employee’s work by another employee
and prevents an employee from covering up errors, unauthorized actions
and misappropriation.
• Also refer to logical access management controls and toxic
combinations that we discussed.
• Potentially, computerization is a danger to segregation of duties as it
takes employees out of the application and enables the control
procedures relating to authorization, executing, custody and recording
to be performed by one employee and his/her computer (So a high risk
of having one employee doing everything on his/her computer!).
• In addition, computerization enables numerous employees to gain
legitimate access to the accounting records, which means that the risk
that they may be performing incompatible functions is increased. So, for
example, the person that has the custody of physical petty cash, might
also have access to the petty cash accounting records on the computer.
This can create problems as this person now has the potential ability to
manipulate the accounting records which will be considered as poor
internal controls, unless the person is strictly denied the ability to make
Changes to the accounting records.
4. Custody
• Application controls play an important role in the custody of company’s
assets, particularly the company cash and bank and other assets held in
an electronic form such as the debtor’s master file.
• In reality, all the information on the database should be considered as
an “asset” that need to be strictly controlled as without its information, a
company is in serious trouble.
• Should the company not have effective application controls in place to
prevent and detect certain invalid actions, the asset is under serious
threat
o E.g. in the case of cash in the bank, the company does not have
physical controls over cash, but must control access to tye
company’s bank account and controls to prevent unauthorized
transactions and approvals. Strong controls over EFT’s
(discussed later) is also necessary.
o In the case of debtors it is a matter of protecting information about
the debtor held in the master file, transaction file and supporting
documentation. If the electronic information is corrupted or
destroyed, the company is going to find it difficult to reconstruct
its records
o In addition it may affect the company accuracy of the information,
e.g. not having information that is up to date.
• To conclude, in a computerized system, the electronic data will be
protected by a combination of general and automated application
controls. Whilst hardcopy documentation will be physically protected
(general physical controls), electronic files will be protected by a range
of different controls, including controlling unauthorised access to the
system as well as adequate continuity of operations (physical controls
and disaster recovery).
5. Access controls
• Once a person is introduced into a system, suitable access controls must
be implemented for that terminal and employee. Access violation can
have extremely serious consequences for the business. Just like with IT
General Controls the consequences for the application could be as
follows:
o Destruction of data
o Theft of data
o Improper changes to data
o Recording of unauthorized or non-existent transactions
• Examples of Controls to avoid the above may be the following:
o Access to particular applications can be restricted to a particular
terminals e.g. the ability to effect payment or EFT transfer can be
restricted to the terminal of the financial manager. (generally
access is restricted to certain user profiles, but as indicated it can
also be restricted to a certain physical computer!)
o Access is restricted in terms of user profiles/access tables/ least
privilege at both systems level and application level, for example:
▪ At the system level, access to a particular application may
be restricted to particular users
▪ At application level, access to a specific programme
function may be restricted to a particular user on the “Least
privilege” basis e.g. sales order entry is limited to telesales
operator
o PC timeout facilities and automatic shutdown in the face of access
violation will prevent continued attempts to access the system as
well as threat of employees leaving their terminals unattended
o Note: Physical access to computer facilities in general and
access controls at system level were covered in General
Controls.
o Once a user has been granted access to a particular application,
the least privilege principle ay be implemented in a number of
ways to restrict access:
▪ Restrictions to a module or programme function – for
example only certain persons have access to Master file
amendments
▪ Restrictions i.t.o type of access (read only, etc)
▪ Restrictions i.t.o time of day (e.g only during working
hours)
▪ Restrictions i.t.o extent of access to data (Some NB data
not visible, etc.)
o Access should be LOGGED!
o In summary, a user:
▪ Must identify himself to the system with a valid user ID (e.g
your student number)
▪ Must authenticate (prove that it is you!) himself to the
system with a valid password
▪ Will only be given assess to which he is authorised (That
is necessary for the completion of his job!)
7. Performance reviews
• These controls include inter alia, reviews and analysis of actual
performance versus budgets /forecasts /prior year results etc.
• In principle manual and automatic procedures do not differ. The major
advantage of a computerised system is its ability to produce various
useful reports, including comparisons, reconciliations and reasons for
differences. For example, a computer can give a detailed debtors age
analysis, it can analyse debtors in terms of what they by, how much they
spend etc.
• Modern systems also allows transactions to be tracked through the
system as they are carried out. For example a customer order will start
of in a sales order suspense file. Once ready for goods to be picked, the
computer will move it to a picking slip suspense file and then later to a
invoice file. Throughout the process a manager can access the system
and identify the progress of the order.
For purposes of these notes we will break it down into the following:
1. Batching
a. Batch entry, processing /update
b. Online entry batch process/update
c. Online real time processing/update
2. Screen aids and related features
3. Programme controls – input and processing
a. Programme checks – input
b. Programme checks - processing
4. Output controls
5. Logs and reports
In the context of an accounting system, batching can be used at the input, processing
and output stage. However the modern software is designed around real-time input
and processing in terms of which transactions are captured and processed almost
instantaneously (real time). Since we need up-to-date information, it is no longer a
case of accumulating for example the week’s sales invoices, entering them onto the
system on a Friday and then processing them over the weekend! If a company does
this the information on the system will be out of date and can cause a number of issues
if relied on, so for example, let’s say you have a customer that places an order on
Friday morning, one of the procedures would be to check that they haven’t exceeded
their credit limit, but your system will be out of date, because the week’s sales invoices
hasn’t been processed yet, so you run the risk that the system might show that the
customer still has credit, when in fact that customer does not, because of a sale during
the week that caused the customer to use its full credit! Which is why real-time
processing is so NB in modern days.
Batching does however still have a place, for example in the payroll cycle, where your
wages are done weekly, every two weeks, etc.
The following description of batching illustrates the principle of batching at the input
stage
Source documents are grouped into separate batches, say 50 and the following
control totals are manually computed:
o Financial totals: totals of any fields holding monetary amounts
o Hash totals: totals of any numeric fields (e.g invoice numbers)
o Record counts: number of records (documents) in the batch e.g. 50
records
A batch control sheet should be prepared and attached to each batch. The
batch control sheet should contain:
o A unique number, for example batch number 3 of 6
o Control total for the batch
o Identification of transaction type, for example invoices
o Spaces for signatures of all people who deal with the batch, for example
prepared by … checked by …….
A batch register should be used to record the physical movement of batches,
the register should be signed by the recipient of the batch after checking what
is being signed for.
Then the batch control system will work as follows
o The details of the batch (e.g. batch description and control totals) are
keyed into the computer to create a batch header label
o Information of each record in the batch is keyed in and subjected to
relevant automated validation checks…… e.g. valid account number and
limit check
o When all the records have been entered, the computer calculates its own
control totals based on what has been keyed in and compares these
totals to the manually computed totals input earlier to create the header
label (off the batch control sheet)
o If the total agrees and no type of error was detected, the batch is
accepted for processing
o If not, the batch is rejected for correction
o Once control totals have been attached to a batch, they can follow the
batch throughout the process. For example if you had a batch of 50,
your computer will record whether 50 were keyed in (input), 50 were
processed and output for 50 was created.
The following are three ways in ways which transactions can be processed, which
should clarify batching in the context of transactions flowing through the system:
2. Screen aids and related features (for input and particularly design)
Screen aids (application design) have been classified as all the features, procedures
or controls that are built into the application and software and reflected on the screen
to assist a user to capture information accurately and completely, and to link the user’s
access privilege to the screen in from of him.
For example
“If an employee does not have the power (privilege) to approve on-screen document,
there may be no “approve” option for the document appearing on the screen. The
employee may only have the send option. Alternatively, the approve option may be on
the screen but may be shaded and will simply not react if the user clicks on it.
The example basically explains how the screen may be designed for user(s) with
certain privileges. It also highlights that the design of the application in the system is
important. The features are necessary and the privileges should be properly managed
Below are screen aids for input and the design of the screen. Note that they address
V – Validity, A – Accuracy and C – Completeness:
Screen design: The screen should be formatted in terms of what the hard copy
would look like (appropriate screen design for A- Accuracy and C –
Completeness) for example “when entering an order from a customer, the
screen should look like the sales order and should have easily recognizable
fields into which data is entered, such as a box with letters QTY (quantity above
it or numbers should indicate that only numbers required. Basically the screen
should be formatted to receive essential data in the order in which it is required,
for example the debtors account is at the top”
Minimum keying in of information: the principle is that the less information that
has to be keyed in, the less errors ( A – Accuracy) are likely to occur and the
less time it takes (efficiency and effectiveness), for example:
o Techniques such as “drop down menu” lists should be used, which
simply require the user to “select and click” the option they require from
the options provided on the drop down list
o In a telesales for example, the customer should be required to give only
his account number or name which, when is keyed in, will automatically
retrieve all other standing details, provided the account number is valid
(proving V – validity). It thus makes it unnecessary for the person taking
the name, address etc. of the customer – although this may still be
requested from the customer and compared to the standing data to
authenticate the customer.
Screen dialogue and prompts: These are messages sent to the users to guide
him, for example a prompt may appear on the screen reminding the user to
confirm (V – Validity) or re-enter a field (completeness) or notifying that the
information entered is incorrect (A – Accuracy)
Mandatory fields: keying will not continue until a particular field or all fields have
been entered. Such fields may be highlighted in Red or identified by a Star or
there may be a prompt if the user misses that field and move onto the next field.
This is to ensure C- Completeness )
Shading of fields: these are fields which will not react if “clicked on”, for example
an on-screen sales order may have the customer’s account number and details
shaded, the user completing the sales order will not be able to change the field.
This is to highlight the least privilege principle, e.g. that you do not have rights
to complete certain field, e.g. they may be for office use only or will be
completed by a manger on his profile. Sometimes it may have pre-selected
options, for example say to book a ticket for the Grahamstown Festival, the field
for location and date may be greyed since the place of the event is only
Grahamstown and only happen on a certain date” – this could be for A -
Accuracy and V – Validity
Errors are reduced and information is provided timeously but remember that a
computer does what it is programmed to do, so although input controls may be very
good, an error in the programming (processing) can undo these benefits and the error
will be processed over and over again
Programme checks are many and varied. We will discuss a number of common
programme checks, but the list is not exhaustive. Often checks are very similar to
others and the same check might be given different names by software providers and
users. As an auditor, you need a general understanding of what the programme check
does so that you can recognise them when you are working in business or at a client.
Validity tests: validate data keyed in against the master file, for example a
customer’s account number will be verified against the debtors master file
Matching tests: are described in different ways, but essentially, they amount
to input being matched against data that is already in the database. Checking
input information against data on a master file is a form of matching, as is
matching a biometric characteristic of an employee (thumbprint) against the
employee master file. The company may also match the details of an invoice
received from a supplier to the corresponding GRN held in a suspense file on
the system.
Data approval /authorization tests: confirm input against a pre-set condition,
for example to make a sale on credit, a liquor store requires that a customer’s
identity number be entered on a computer generated invoice. If a customer is
under 18 (which the identity number will indicate), a sales invoice cannot be
granted (the sale is not authorized). Another example would be where the credit
limit on a debtor account can only be 30 or 60 days. An attempt to enter 120
days in the credit terms field would not be approved. The principle here is that
the loaded information is checked against the pre-existing information that is
there to ensure that the transaction is a valid transaction and pre-approved.
Please note that processing will not stop if an error is discovered. The error will be
written to an exception report. Therefore the user will have to review the exception
report and follow up and do the necessary corrections.
4. Output Controls
The objective of output controls is to confirm that output ( which is the product of
processing) is accurate (A) and complete (C) and that its distribution is strictly
controlled (V), for example that confidential output does not go to the wrong individuals
Output does not have to be in hard copy, it can be on the screen. The accuracy and
completeness output controls will be strongly aligned with processing control,
because, if processing has proved to be accurate and complete, the data, which turned
into reports for users, is far more likely to be accurate and complete.
It is important to be selective about the use of logs and reports as they can
affect the computer performance (slower processing and use of storage space)
They also require review and follow up, so unless personnel are allocated to do
so, the logs and reports themselves are worthless
Types of logs and reports may include:
o Audit trail, which provide listing of transactions and summaries and lists
of tables or factors used in processing
o Run-to-run balancing reports, which provides evidence that the
opening balances that have been updated by a series of transactions
have resulted in correctly calculated closing balances
o Override reports, which provides a record of computer controls that
have been overridden by employees using supervisory or management
privileges. Abuse of such privileges is a threat to the objective of validity
o Exception reports, which provides a summary listing of any activities,
conditions or transactions that fall outside the parameters that have been
set for control purposes, for example employees whose remuneration for
the wage period fall outside of reasonableness parameters set for
employees of that grade
o Activity reports provide a record for a particular resource, of all activity
concerning that resource for example name of users, usage time and
duration of usage
o Access/access violation reports which are particularly important in
relation to sensitive applications such as EFT or payroll or unauthorized
access to any application
Please note that these are categories of reports. There are hundreds of different
reports falling into these categories may be produced in a reasonable sized business.
The report name or type will depend on the application or system presented to you in
the question
If the qty in the inventory master file is not protected from unauthorized amendment,
theft of inventory could be covered up by reducing the quantity field in the inventory
master file
The automated controls over Masterfile amendment are very important. The objective
will be that:
▪ Only valid amendments are made to the Masterfile
▪ The details of the amendments are captured and processed accurately and
completely
▪ Only authorized individuals will have access to the Masterfile data
▪ All master file amendments are captured and processed
The controls are based on the principles that we have discussed in chapter 8 and will
be a combination of user and programme controls, and will include both preventive
and detective and corrective controls. As usual, the focus will be on preventive.
NB! – Need to apply to the Masterfile amendment applicable. The above is just an
example, you may be required to commend on any Masterfile amendment, for
example Inventory Masterfile amendment, etc. You need to apply the principle to the
specific scenario.
APPLICATION CONTROL TABLE
Refer to the excel workbook. The tables are not extensive but provide a basis for you
which you can and should add to when dealing with application controls.
Please note: In tests and exams, it would be insufficient to merely memorise and copy
down for example, the application controls over the completeness of input. It would
need to be applied to a given scenario. Knowing the tables will only help if you have
practiced the application of them! You need to make sure that you UNDERSTAND
them and can APPLY them to a specific scenario.