Module I Final 04082017
Module I Final 04082017
TECHNOLOGY
(AICITSS)
COURSE MATERIAL
MODULE – I
Board of Studies
The Institute of Chartered Accountants of India, New Delhi
The objective of this background material is to provide uniform reference material to the students undergoing
Advanced Information Technology under AICITSS.
All attempts have been made to make the discussion simple and comprehensive. Students may note that the
material has been prepared with an objective to help them in acquiring requisite knowledge and skillsin the
subject and gain hands on experience.
This is also expected to serve as a source of reference book in their future education and training. In case
students have any suggestions to make for further improvement of the material contained herein, they may write
to Board of Studies, ICAI Bhawan, A-29, Sector 62, Noida. Queries can alsobe sent to : [email protected].
All care has been taken to provide the material in a manner useful to the students. However the material has not
been specifically discussed by the Council of the Institute or any of its Committees and the views expressed
herein may not be taken to necessarily represent the views of the Council orany of its Committees.
All rights reserved.No part of this publication may be reproduced, stored in aretrieval systemor transmitted, in
any forms or by any means, electronic, mechanical, photocopying, recording orotherwise, without prior
permission, in writing, from the Institute.
Published by The Publication Department on behalf of The Institute of Chartered Accountants of India, ICAI Bhawan,
Post Box No. 7100, Indraprastha Marg, New Delhi- 110 002, India.
PREFACE
The impact of Information Technology (IT) on several aspects of accounting profession and practice has been
pronounced over the last two decades. The revolutionary developments of various IT tools and techniques have a far
reaching impact on the organizations.
In today’s business world, accounting professionals have to interact with computer-based Information systems on a
regular basis. As primary users of information systems in organizations, accountants need to participate in the
design, development and operations of IT systems. Accountants today need to measure and evaluate the
performance of information systems. Internal auditors must assess the quality of information systems for operations,
compliance and financial reporting while external auditors must assess for financial reporting and both must also
evaluate the accuracy of information input and output.
There are many stakeholders relying on the data provided by ERP systems. While these systems provide a high level
of automation, they also have attached risks pertaining to data and processes within the Environment. This course
will provide a gateway to the students in their journey to understand auditing in an ERP environment.
The Institute of Chartered Accountants of India has been making earnest efforts to develop a contemporary body of
knowledge and skill set for its studentsby updating its curriculum from time to time.
In order to impart synchronized and uniform theoretical and practical knowledge to all the aspiring CA students in the
IT area,the Institute has established its own IT Lab sequipped withcomputers of latest configuration,software and
other infrastructural facilities at almost all its branches and regional offices.
Auditing in an ERP environment, Advanced features of MS-Access and MS-Excel, MS-Excel as Audit tool, and ERP
using Tally arethe main components which would be covered during the training programme.
This uniform course material has been prepared by Board of Studies of the ICAI in accordance with the course
contents covered in the specially designed curriculum to disseminate qualityeducation to its students and the
same has been printed by The Board of Studies for distribution to CAstudents across India and abroad.
We hope that this coursematerial would help the students in building their IT skills which is amust for all, in the
current scenario.
CONTENTS
LEARNING OBJECTIVES
To understand the requirements of SA315 and SA330 relating to IT and auditing in an ERP environment.
To understand the types of Books of Accounts in an ERP
To understand Controls Based audit
To understand the difficulties in performing only Substantive audits in ERP environment
To understand the process of Access to systems relevant for audit
To understand the Use of work of experts in an audit
1.1 Overview
For the last 2 decades, India has been on a fast track to use Information Technology in the day to day activities.
Individuals and Businesses/Corporations are increasingly dependent on IT to undertake most of their activities.
Individuals using simple calculations or Corporations devising complex security features and transactions have
taken the assistance of IT. While the risk of individuals using IT is limited to perhaps the individual himself, the
risks of Corporations using IT are varied and have an impact on the entity, society or even the country. In such
a scenario, there needs to be a check/audit on the use of IT by Corporations.
Businesses today rely on ERP systems and applications more than ever. Many of these systems generate and
process data that is used in the preparation of financial statements of a company. The auditors also often rely
on the data and reports that are generated from these systems. In this context, it is critical to understand the IT
specific risks that could potentially impact the integrity and reliability of financial transactions and data flowing
through a company's systems.
Some of the examples of ERP systems are SAP, Oracle, Peoplesoft, TALLY etc. These are available in the
market and can be purchased and customised as per requirements.
In addition, the companies can develop ERP systems on their own. Companies in niche sectors like Oil and
Gas etc. where the operations are complex and transactions can be different from the usual. These are
categorised under Developed ERP systems.
AUDITING IN AN ERP ENVIRONMENT
Along with an understanding of the entity, the auditor identifies the industry to which it belongs. This will enable
the auditor to get an idea of the complexity and class of transactions, account balances and disclosures to be
expected in the financial statements.
The next step for the auditor is to understand the IT systems and related procedures within IT and business
processes by which these transactions are initiated, recorded, processed, reported etc. These could happen
within IT systems or outside.
There may be instances where the events and conditions, other than routine transactions but are significant for
financial reporting, may be captured in the Information Systems. We are referring to Non Standard Journal
Entries. The auditor has to understand the process and controls in recording such entries.
Some examples of the Information Systems environment relevant to financial reports are given below:
1. The audit client is an entity that has many branches, depots, sales outlets across the country etc.
Transactions such as invoice entries, debit/credit notes etc. may be passed at each of these locations.
4 ADVANCED INFORMATION TECHNOLOGY
AUDITING IN ERP ENVIRONMENT
2. The audit client is in the retail industry. They have many Point of Sale outlets (POS) where the sales are
recorded. These POS machines should have the latest price catalogue at the time of invoicing.
3. The audit client is in the IT industry. They have many types of revenue such as milestone billing, time
spent on projects etc. along with markup. This data is captured in various applications and the invoice is
raised in the integrated ERP.
The information gathered during the understanding phase of the IT environment should be captured in a
summary format to plan out the audit strategy.
Web Server
Information flow
AUDIT CLIENT
Information flow
Budget
King
In addition to SA 315, the auditors, in response to Clause (i) of Sub-section 3 of Section 143 of the Companies
Act, 2013 (“the 2013 Act” or “the Act”) , have to report whether the entity has adequate internal financial
controls system in place.
The auditors have to express an opinion on the effectiveness of the entity’s internal financial controls over
financial reporting and have also to mention the audit procedures conducted to arrive at the opinion. These
procedures will be carried out along with the audit of financial statements. The requirement is applicable for
listed and unlisted companies.
Fig. 1.2.3: The link between the works done as per SA 315 and SA 330.
Thus, the auditor as per requirements of SA 330, has to plan and execute the audit procedures to achieve the
objectives of SA315 and Internal Financial Controls reporting.
period – for example on a daily basis, weekly basis or on a monthly basis, the totals of these books were
posted to the General Ledger.
With the advent of ERP, such different types of books or ledgers were not used. ERP’s were integrated which
meant that for any type of transactions, the impact to the General Ledger was automatic and on a real time
basis. The General Ledger had Control Accounts which was a summation of the respective transactions.
For example, if we take 2 purchase transactions involving 2 Vendors
Purchases Dr - Purchase Control Account
To Vendor 1 A/c - Creditors Control Account
While deciding on the audit procedures the auditor should take into account the risk of material misstatement at
the assertion level for each class of transactions, account balance and disclosure.
The auditor after having evaluated and tested the Internal Control Framework may adopt a strategy that
includes Tests of controls. The auditor may have to an appropriate mix of Controls testing along with
substantive procedures. A test of controls is an audit procedure to test the effectiveness of a control used by a
client entity to prevent or detect material misstatements. Depending on the results of this test, auditors may
choose to rely upon a client's system of controls as part of their auditing activities. These controls may be
manual, automated, inherent etc.
To test automated application controls through the system by inspection of configurations. For example,
consider a solution of a situation where duplicate vendor invoices are automatically identified and
blocked in the ERP system. To test this automated control, the auditor needs to review the relevant
configurations or settings in the ERP . The auditor will require access to ERP for carrying out this test of
control. Refer below screenshot of configuration for duplicate invoice check in ERP application as shown
in Fig 1.6.2.
When auditors have access to systems, it makes the audit process more efficient and effective and also
reduces the amount of time the company staff have to devote for audit. However, there are certain points to
remember when requesting for access to systems. They are,
Auditors should always request access to the production or live environment. Production environment is
where business transactions are posted, financial statements including trial balance, balance sheet and
profit & loss statements are generated. Access to non-production environments alone viz., quality, test
systems will not suffice unless additional audit evidence is obtained to corroborate that data obtained
from non-production systems is consistent with the production system data. We will learn more about the
various system environments in the chapters on General IT Controls.
The type of access that auditors request should be Display-Only or Read-Only i.e., access without the
ability to create, alter or delete data in the ERP environment. This is essential because auditors should
not make changes to business data, even inadvertently.
Super user, privileged or administrative access is not always necessary for auditors and should not be
requested. Even when provided with super user, privileged or administrative access to systems, it is
better to decline acceptance of such access. For example, in SAP ERP the users who are assigned the
role SAP_ALL or SAP_NEW have super user access which means these users can perform any
transaction or activity in the ERP. This level of super user access is generally not necessary for an
auditor.
Super user
Roles
To obtain data from core technology components of an ERP environment viz., operating systems,
databases, networks, the auditor should take help from the respective administrators of those systems.
Before obtaining access to systems, the auditor should also gain an understanding of the company IT
policies including password policy, user access policy and acceptable usage policy and so on. For
example, complexity, duration and length of passwords etc. This is essential so that the auditor does not
inadvertently violate the company policies or compromise IT security.
1.8 Exercise
1. _________ states that the objective of the auditor is to identify and assess the risks of material
misstatement, whether due to fraud or error, at the financial statement and assertion levels.
2. Understanding the information systems environment relevant to financial reporting and communication is a
part of:
(a) SA300
(b) SA315
(c) SA330
(d) SA500
3. The __________ team is the owner of the application.
4. The __________ team is the owner of the data within the application.
5. In response to Clause ___ of Sub-section __ of Section 143 of the Companies Act, 2013, the auditor has to
report whether the entity has adequate internal financial controls system in place.
6. ______ deals with the auditor’s responsibility to design and design and implement responses in the form of
audit procedures in response to work done as part of SA 315.
7. Involvement of key team members and usage of CAATS is a part of SA _______, Planning of Audit of
Financial Statements.
8. Involvement of Experts in audit is covered under SA ______.
9. Complexity, duration and length of passwords are a part of :
(a) User access policy
(b) Password policy
(c) Acceptable usage policy
(d) None of the above.
10. Typically, the auditors should request for ___________ access or ___________ access to the client’s ERP
system.
1.9 Glossary
ERP – Enterprise Resource Planning
POS – Point of Sale
GITC – General Information Technology Controls
CAATS – Computer Assisted Audit Techniques
ISO – International Organisation for Standardisation
PCI-DSS – Payment Card Industry – Data Security Standard
ISAE – International Standard for Assurance Engagements
SOC – Service Organisation Controls
2 GENERAL INFORMATION
TECHNOLOGY CONTROLS
LEARNING OBJECTIVES
To understand about General IT Controls
To understand the categories and types of General IT Controls
To understand the impact of General IT Controls on Audit of financial statements
To know which systems to scope for review of General IT Controls
To learn about the sample size requirements for General IT Controls
To understand the procedures for review of various categories or domains of General IT Controls
including IT Governance, Program Changes, Access Security, Data center and network Operations,
Application system acquisition, development and maintenance
To understand how to evaluate impact of deficiencies in General IT Controls on overall audit
To know when to test General IT Controls
Due to the inherent dependency on IT, the effectiveness and reliability of Automated controls and IT dependent
controls require the General IT Controls to be effective.
In this example, the auditor has obtained an understanding if IT environment which has four different IT
applications being used at a company. However, the auditor has considered two applications i.e., SAP and
Paymaster as “In-Scope” for audit since these two applications are used in the processing of financial
transactions which has a direct impact on the accounting and preparation of financial statements.
However, two other applications “Accent” and “BudgetKing” are not considered in scope for audit because
these systems, even though are important for the company, do not impact the financial data and accounting of
the company.
controls. Accordingly, the sample size requirements when testing General IT Controls are also the same. The
considerations for determining sample size include the following:
Size of population to test
Type of control - Manual/Automated/IT-Dependent
Frequency of control - Daily/Weekly/Monthly/Quarterly
Nature of test - Inquiry/Observation/Inspection/Reperformance
Timing of test - Interim/Year-end/Full Period
History of errors and exceptions
Tolerance for exceptions
Effectiveness of Entity Level Controls
Risk assessment - High/Medium/Low
The auditor should apply professional judgement in determining the sample size for testing controls and is
required to explicitly document the following as per SA 230,
factors considered and justification for sample size
how the auditor ensured completeness of population
While Information & Communication is more relevant to the use of information systems in a company, in large
and complex ERP environments it is likely that the other components of internal controls viz., Control
environment, Risk assessment and Monitoring will also be relevant.
The following is a sample procedure of how the auditor performs an understanding and evaluation of the IT
Governance in a company.
Ref No. IT Governance Review Checklist
1 How is the IT department organised
2 Who has ownership and provides leadership for IT function
3 The manner in which IT function reports to those charged with governance i.e., Board of
Directors/Audit Committee
4 Have formal IT policies and procedures been defined
5 Are roles and responsibilities defined and assigned to IT personnel
6 Is there segregation of duties within key IT functions
7 Do human resource policies and process ensure that right people are hired for key IT functions
8 Is security training and awareness provided to employees
9 How does IT communicate and collaborate with other business functions
10 What is the process for identifying and addressing IT risks
11 How does the company ensure the reliability, effectiveness of IT systems
12 Is compliance with and adherence to IT policies and procedures monitored and measured
Table 1: IT Governance
The process for program changes is similar to the process that is followed for acquisition, development and
implementation of new systems. The program change process begins after a new system or ERP is
implemented and involves the ongoing maintenance of ERP system. In other words, program changes process
begins from the point where program development ends i.e., after go-live stage.
Change Requests: A user initiates a request for change based on a business requirement. For example,
a new report may be required because of a regulatory requirement or for internal reporting. The change
request is reviewed and approved by a supervisor or head of department. All changes are recorded and
tracked to ensure timely completion.
There are different types of changes including the following:
Normal changes – these are changes required in the existing functionality of the ERP due a business
need.
Bug fixes – a bug is an error in software which affects business transactions or reports in an ERP.
Changes are required to be made to the program or configuration of the ERP to rectify or fix the bug.
Identification of bugs normally happens when a user reports a problem to the IT Helpdesk. In such
cases it is likely that a request made to helpdesk is converted to a program change request by the IT
department and approval is provided by a IT Manager or ERP consultant instead of the supervisor of
business user.
Enhancements – when new improvements or functionality is added to an existing ERP. For example,
a workflow process is introduced for processing purchase orders to facilitate system based
approvals.
Minor changes – changes that take less time and effort are classified as minor changes. For
example, any program change that requires less than 40 hrs of effort may be considered as minor
change.
Major changes – these are changes that require more time and effort to develop and implement. For
example, changes that take more than 100 hrs of effort may be considered as major change.
Sometimes where major enhancements and major changes take place in an ERP, such changes
may fall under the GITC domain of Program development instead of program changes.
Patches and updates – these are changes provided by the vendor of ERP to address known bugs,
security, or provide improvements to functionality to existing ERP.
Patches and updates are typically initiated and processed by the IT department. Depending on the
nature of the patch or update, the business user involvement could vary.
Data changes – these are direct changes to data carried out in the backend database using SQL
statements or tools.
Direct data changes are high risk because they bypass the application controls and directly impact
integrity of financial data.
Emergency changes – these are changes that are required to be carried out urgently to prevent
disruption to business transactions. For example, an emergency change is required to fix a bug that
impacts critical business transaction viz., invoice / despatches or patches released by ERP vendor to
address a security vulnerability found in the ERP.
Due to the nature of emergency changes, it is likely that the change management process may be
bypassed for implementing the change. However, the necessary approvals and documentation
should be obtained subsequently within a reasonable time frame.
Changes in IT Infrastructure – These are changes made to the IT infrastructure components that
support the ERP. For example, upgrades in operating system or database, changes to network
configuration, installation of new hardware, etc.
Infrastructure changes are technical in nature and do not affect the business functionality. These
changes are initiated and processed by the IT department.
Development: Approved change requests are provided to the IT department where the systems analysts
perform analysis & design and prepare the functional / technical requirement specification for the change.
The programmers develop the change by writing the program code or modify the configuration in the
development environment. Once development is completed, the change is moved to test environment for
testing.
Testing: Program changes are tested to verify that a change works as intended. Testing is done at
different levels. Unit testing is done by developer to test the working of specific change made. The
functional consultant tests the change by preparing test cases and test scripts to simulate different
scenarios and verify if the change meets the functional specifications under all scenarios including
integration with other modules and interfaces to other systems, if any. Business user, who initially
requested the change, performs the user acceptance testing to verify that a program change meets
business requirement for which change request made.
The extent of testing a program change could vary depending on the nature of the change itself. For
example, a change in existing report format and layout may not require extensive testing, whereas a new
report that is developed may require more testing. Bug fixes and other IT specific changes may require
unit testing and integration testing, but not user acceptance testing.
Implementation: Prior to implementing changes in production environment, a quality assurance team
reviews the changes and documentation prepared for adherence to company’s change management
process. After clearance is obtained from quality assurance, the IT head or equivalent approves the
implementation of change in production environment based on which an administrator moves the change
from test to production environment.
In case of major changes or enhancements that impacts a larger user group, training and awareness of
change should be provided to users.
Segregation of duties: The change management process requires several tasks to be carried out by
different people in different environments viz., development, test and production. These tasks and
environments should be adequately segregated to prevent unauthorised changes from being made. The
illustration as shown in Fig 2.8.2 below is an example of how this segregation can be implemented.
Example showing three separate environments for development (SBD), testing (SBQ) and production
(SBP) in Fig 2.8.3
Fig 2.8.3: Three separate environment for development, testing and production
Project Name CR No
Project Id CR Date
Requestor Request No.
Designation Request Date
Contact Number
E-Mail Id
Sl. Application Module/Functionality/ Change Request Details Proposed Status
No. Screen Changes
1
The table below has examples of risk and controls that an auditor may consider when reviewing program
changes
Ref No. Activity Risk Control description
1 Change Request Unauthorised changes The change request is approved by the department
are processed In-charge or Head of department (HOD).
Changes to IT infrastructure components are
approved by IT Head.
2 Testing Untested changes Unit testing is performed by developer, user
could compromise the acceptance testing is done by end user prior to
integrity of financial implementing in production environment.
data
3 Segregation of Changes are made Three separate environments exist for development,
duties directly in production quality (test) and production.
environment and may Separate teams are involved in development and
result in loss of data migration of changes to production.
ADVANCED INFORMATION TECHNOLOGY 25
AUDITING IN AN ERP ENVIRONMENT
Servers OS, Oracle database and Unix provide advanced audit management features so that only
relevant events and activities viz., privileged user activity, changes to master are logged.
In addition to enabling the audit logs in systems, there should be a process in place to periodically review
audit logs to detect any unauthorized events, activities and exceptions. Typically, audit logs should be
generated and reviewed by someone independent of the IT function or those having privileged user
access.
Example of audit log configuration in Windows Server. In this example, audit logs are set as Not Defined
i.e., auditing is not enabled
Example of shows configuration to enable table logs and security logs in ERP. OFF indicates table log
are not enabled, 0 indicates security logs are not enabled.
Password configuration: a password is a secret code that is used in combination with a user id to gain
access into an IT system or application. Because of the sensitive nature of a password, unauthorised
users including hackers most often target the passwords of users, specifically privileged users. Most
systems provide the options for configuring the security and strength of passwords in order to protect
being compromised from attacks. Password configuration and controls are applicable for all layers of
access security.
Example of a password configuration in ERP as shown in Fig 2.9.4.
All new systems, applications and network equipment are supplied with one or more pre-created user ids,
commonly known as “default users”, including the administration user id. The purpose of these default
users is to facilitate easy installation and implementation of the respective software. However, the risk
with default users is they are supplied with a password (known as “default password”) that is published
openly and known to all. The default passwords should be changed immediately after installation but
many companies forget to change the default passwords which can be misused by an unauthorized user
or hacker.
Example of default users and corresponding default passwords in an oracle database.
User ID Password Password hash value
ORACLE ORACLE 38E38619A12E0257
ORADBA ORADBAPASS C37E732953A8ABDB
DBSNMP DBSNMP E066D214D5421CCC
DEMO DEMO 4646116A123897CF
ADMIN JETSPEED CAC22318F162D597
ADMINISTRATOR ADMIN F9ED601D936158BD
APPLSYS APPLSYS FE84888987A6BF5A
SYSTEM CHANGE_ON_INSTALL 8BF0DA8E551DE1B9
SYS 0RACLE8 1FA22316B703EBDD
OUTLN OUTLN 4A3BA55E08595C81
SAPR3 SAP 58872B4319A76363
SCOTT TIGER F894844C34402B67
SYSADM SYSADM BA3E855E93B5B9B0
Direct data access: all data including financial data, master data, transaction data and user data is
stored in a database, logically represented as rows and columns (similar to an excel spreadsheet). Some
common databases include Oracle 12g, MS-SQL Server 2012 and MySQL. The data is physically stored
in the form of data files located in the operating system. Direct data access is relevant at the database
and operating system layers of access security.
It is possible to directly access and modify/ manipulate data in a database using tools viz., SQL Plus,
Toad, SQL Navigator, Enterprise Database Management tools. Direct data access is high risk because it
bypasses security and business controls defined at the application layer. Normally only a limited number
of users are likely to have database access including database administrators and IT operations
personnel.
File system security: application programs, data files, backups, configuration and user security files, etc
are physically stored in the form of files and directories/folders in the operating system. An operating
system is a system software that converts high level user command to machine language. Examples of
operating systems include Windows 10 (desktop), Windows 2012 Server, Unix (HP-UX, AIX) and Linux
(RHEL, SuSE, Ubuntu). Access to the critical files and directories that contain sensitive information
should be restricted to a limited number of users including systems administrators and IT operations
personnel. File system security is relevant at the operating system layer of access security.
Example of file system permissions in UNIX as shown in Fig 2.9.5.
d directory
- in first column indicates
file
Owner Group
(root) (root)
Domain security: a domain is a central repository of objects including users, groups, and access rights
and permissions implemented in a server operating system viz., Windows 2012 Server. A domain forms
part of a company’s internal network and is used to for the authentication and authorisation of users
before they can access applications and network resources viz., shared drives, folders and files.
Fig 2.9.6: remote access through external network, firewall, and internal network
Environmental controls: environmental controls form part of the physical security layer of access
security. Computing facilities that process, store, and transmit sensitive and critical data require
protection from environmental hazards viz., fire, water, dust, humidity and heat that could result in
system failures, data corruption and loss of data. Smoke detectors, fire extinguisher, air conditioning,
temperature and humidity control, raised flooring are implemented to protect systems from environmental
controls.
The manner in which access security is implemented will vary based on the nature, size and complexity of
business operations and the extent to which IT systems are used. While most of the activities mentioned above
are critical for the company, it is likely that some of these activities are less relevant to an audit of financial
statements.
For example, security activities at the database and application layer that directly protect the integrity of
financial data will be more relevant to audit. Whereas, the security activities at the outer layers of network and
physical layers would be less relevant to audit. The auditor should determine the relevant activities and controls
based on risk assessment.
The illustration below summarises the relevance of the various access security activities to the layers of
security.
Security Layer
Physical Security
Network Security
Security Activity
User management
Segregation of Duties & Sensitive Access
Privileged user access
Audit logging and monitoring
Password configuration
Direct data access
File system security
Domain Security
Firewall, VPN, Anti-virus/malware
Environmental controls
The table below has examples of risk and controls that an auditor may consider when reviewing access security
Ref Activity Risk Control description
No.
1 User management Unauthorised access to There is a formal approval process of creating,
systems changing and removing all access to the application.
2 User management Users have excessive There is a process of periodic reviews to verify that
access to systems user access is consistent with job responsibilities.
3 Password Weak passwords may A robust password policy is implemented at the
Configuration compromise security application level, database and operating system.
controls.
4 Access logging and Unauthorised activities Special system utilities for accessing data are
monitoring may go undetected. logged and reviewed on a regular basis.
5 Access logging and Unauthorised activities Audit trail controls are designed and monitored by
monitoring may go undetected. the management for potential unauthorized
activities.
Table 4
Real-time processing: in a real-time processing system, transactions are initiated, processed and
recorded immediately as and when they occur, without delay.
For example, when a sales invoice is created in a ERP, the corresponding accounting entries are
automatically posted to the respective sub-ledgers and general ledgers at the same time account
balances are updated immediately.
Data Backups: backup involves making periodic copies of existing data and applications to an alternate
storage media which can be useful for recovery in the event of data loss or corruption of data. The
content, frequency, storage, retention and restoration of backups depend on the nature of business and
criticality of data.
For example, the data in a ERP system of a cement manufacturing company is copied every day to an
external drive. Once a week an additional copy of the data is copied to a tape and stored in a remote
branch office in a fire proof safe. On the other hand, the data of a financial services company may be
copied to an external system in real-time using database mirroring and replication techniques i.e., two
copies of the same database are maintained at different locations and every transaction is automatically
copied on to both the databases to ensure high availability of systems. Example of backup schedule in
ERP.
Example of backup log, return code RC 0000 indicates successful completion of backup, RC 0005 and
0003 indicate error in backup.
Interfaces between systems: data flows between two or more IT systems is known as an interface. The
flow of data could be real-time, scheduled using batch jobs or manual. In case a company is using only a
single ERP system, interfaces may not be relevant.
For example, consider a software services company that has in-house application for Projects,
PeopleSoft for HR & Payroll and Oracle EBS for accounting and financial reporting. At month end,
invoicing is done in Oracle EBS based on the project status and rates obtained from the Projects
application, staff information and timesheets from PeopleSoft. The data flow between the three systems
happens through interfaces. On the other hand, consider a mid-sized manufacturing company using an
Oracle EBS application for all business transactions. In this example, there are no interfaces because
there is only one system.
Recovery from Failures: In the event of failures that impacts the availability of IT systems the company
should be able to cope with and recover from the system failures. A business continuity plan is a
document that details the risks, business impact analysis and other procedures to help a company in
going on with business transactions when failures occur. Disaster recovery plan, which is a part of the
larger business continuity plan, focuses on the procedures for restoring the IT systems back to normal
state after the failure.
For example, a telecom company installs multiple backup power systems including diesel generators at
tower sites to keep the network operational in the event of power outages. Core banking systems,
railway/airline ticketing systems, e-commerce portals, etc., have an operational secondary data center
located at a remote site that would allow the bank to continue operations in the event of failure of the
primary data center.
IT Helpdesk: a helpdesk is a facility to address and resolve user requests including queries, incidents
and problems related to IT systems and applications. Typically, all requests are logged and monitored to
minimize disruption to business.
For example, a mid-sized consumer retail company with several outlets across a city has a central IT
helpdesk to resolve user requests. All requests are recorded in an online intranet portal and there is also
a toll-free number which users can make use of to log service requests. Requests have to be resolved in
a timely manner based on the priority and severity recorded and governed by service level agreements
between IT department and business.
The activities in this domain are mainly to ensure that IT systems are available for carrying on business
transactions and to detect and correct disruptions to IT systems and applications. All activities in computer
operations may not be relevant to an audit of financial statements being operational in nature.
For example, service level agreements are put in place to ensure that systems are available for users to
process transactions, similarly a IT helpdesk provides support to users so they can continue using systems for
transactions. While the service level agreements and helpdesk are important activities for ensuring availability
of systems for business, there is no direct impact on the financial transactions and reporting aspects.
However, activities viz., batch jobs, interfaces and backups could directly impact the integrity of financial
transactions and data and hence considered relevant for audit.
The table below has examples of risk and controls that an auditor may consider when reviewing computer
operations.
Ref Activity Risk Control description
No.
1 Batch scheduling Unauthorized changes Additions, changes and deletion to job schedules are
and processing are made to batch jobs. documented and authorized.
2 Batch scheduling Failures in execution of All batch jobs are monitored for successful
and processing batch job. completion. Any errors and incomplete jobs are
identified and rectified in a timely manner.
3 Real-time Unauthorised changes There exists a consistent procedure for making
processing are made to the changes to the configuration of real-time processing
configuration of real-time components (including middleware, where
components. applicable).
4 Backup and Loss of critical data due Formal backup policy exists, is implemented and
Recovery to data corruption duly monitored for compliance.
system failures.
5 Backup and Loss of critical data due On site and Off-site backups are maintained
Recovery to fire and theft securely.
6 Backup and Backup is incomplete or Back up recovery is periodically tested to ensure that
Recovery corruption of backup it works when required.
media
7 Interfaces between Data transfer between Plans for the business continuity is kept up to date
systems systems is incomplete or and tested.
inaccurate
8 Disaster recovery Data recovery plan is Disaster recovery plans are updated once a year and
obsolete tested two times a year.
Table 5
(b) a formal sign-off for user acceptance testing has not been obtained for program changes
(c) errors and batch jobs have not been resolved
(d) privileged user access has been granted to unauthorised users
(e) direct-data changes have been made in database without approvals
(f) audit logs have not been enabled
Having found deficiencies, the auditor should evaluate the impact of these deficiencies on the audit. For this
evaluation, the auditor should consider the following:
which automated controls, IT dependent controls and reports/IPE will be impacted
are there compensating controls that mitigate the risk, can we test the compensating controls. For
example, are there manual checks and controls that mitigate risk of material misstatement.
is there evidence that deficiency was not exploited. For example, even though privileged user access
was granted to unauthorised users, have the users used this level of access (it is possible the users may
not be even aware they had the access)
consider data analytics using CAATs to verify the integrity of account balances. For example, the auditor
can extract transaction data from the ERP system and use ACL to independently reconcile sub-ledger
with general ledger balance.
determine the aggregate financial impact of the deficiencies and compare with materiality.
The above examples are some of the ways in which the auditor evaluates the deficiencies to assess impact on
audit. Wherever necessary, the auditor should consider revising the planned audit response by altering the
nature, timing and extent of audit procedures, including controls testing and substantive testing, to address the
risk of material misstatement in financial statements. For example, the auditor may increase the sample sizes
for controls testing or test reports and IPE substantively.
Evaluation and assessment of deficiencies requires the auditor to apply professional judgement and the auditor
is required, as per SA 230, to explicitly document the process of evaluation, factors considered, additional audit
evidence obtained and conclusions reached to support the audit opinion.
Outsourced IT activities
Deficiencies observed in past audits
New systems and changes in existing IT environment
The above are some of the factors that the auditor should consider in determining the timing of General IT
Controls. In a typical ERP environment, it is more likely that the testing for GITCs is performed early in the audit
process, close to the planning stage, because of the dependencies that other audit work, including controls and
substantive testing, have on effectiveness of GITCs.
In deciding the timing for GITCs tests, the auditor should also factor the possibility of finding deficiencies and
the time required for remediation and re-testing GITCs. In other words, if the GITCs are tested during the
planning phase of audit, there will be sufficient time to rectify any exceptions and deficiencies and re-test or
plan alternate audit procedures prior to balance sheet date. On the other hand, if the GITCs are tested closer to
year-end, there may not be sufficient time to rectify deficiencies or carry out alternate audit procedures.
2.14 Exercises
Multiple Choice Questions
1. What are data flows between multiple IT systems also known as,
(a) Batch jobs
(b) Interfaces
(c) Databases
(d) Operating systems
2. Which of the following activity from the Data center and network operations domain of GITCs is less likely
to have an impact on audit,
(a) Service Level Agreements
(b) Data backups
(c) Real-time processing
(d) All of the above
3 What is the risk due to default passwords,
(a) They are easy to guess
(b) Openly know
(c) Do not comply with company’s password policy
(d) All of the above
4. Privileged users are more commonly known as,
(a) Business users
True or False
11. The auditor should review GITCs for all IT systems and applications used at a company (True/False)
12. Developers and programmers should not be given access to production environment (True/False)
13. It is more efficient to test GITCs at year-end (True/False)
14. Batch jobs should be monitored for failures so that corrective action can be taken (True/False)
15. Environmental controls are applicable to all layers of access security (True/False)
You have started the GITCs review for the current year. Your task is to,
(a) Identify which domains of GITCs will be applicable
(b) Document three risks and relevant controls you plan to test to validate whether the reports have been
prepared in a controlled manner.
2.16 Glossary
ACL Audit Command Language (CAAT Tool)
AIX Unix Operating System for IBM servers
BCP Business Continuity Plan
CAATs Computer Assisted Audit Techniques
CR Change Request
CRM Customer Relationship Management (application software)
DB Data Base
DMZ De-Militarized Zone
DR Disaster Recovery
ELC Entity Level Controls
ERP Enterprise Resource Planning (application software)
GITC General Information Technology Controls
HOD Head of Department
HP-UX Unix Operating System for HP servers
HR Human Resource
IPE Information Produced by Entity (reports, etc)
IT Information Technology
LAN Local Area Network
Oracle EBS Enterprise Business Suite, ERP application software provided by Oracle Corporation
OS Operating System
RHEL Red Hat Enterprise Linux, a type of Linux Operating System
SA Standards on Auditing
SA/SOD Sensitive Access / Segregation of Duties
SAP Systems, Applications and Products in data processing, ERP application software
SDLC System Development Life Cycle, a software development methodology
SQL Structured Query Language, high-level software language for database systems
SuSE A type of Linux Operating System
UAT User Acceptance Testing
VPN Virtual Private Network
WAN Wide Area Network
13. False
Timing for a review of GITCs depends on several factors and could vary based on the outcome of these
factors. However, in an ERP environment testing for GITCs is normally performed early in the audit
process, close to the planning stage, because other audit work depends on the effectiveness of GITCs.
14. True
Errors or failures in Batch jobs could impact the completeness and accuracy of financial transactions and
hence batch jobs should be monitored, any errors and failures should be rectified in a timely manner.
15. False
Environmental controls are applicable to the physical security layer of access security.
3 Segregation of Changes are made Three separate environments exist for development,
duties directly in production quality (test) and production.
environment and may
result in loss of data and Separate teams are involved in development and
program integrity. migration of changes to production.
Development of changes are done by consultants
and movement of changes to production is performed
by System Administration only after approval.
4 Implementation Changes are implemented Access to migrate changes to production is restricted
by unauthorised persons. to System Administrators only.
3 AUTOMATED APPLICATION
CONTROLS
LEARNING OBJECTIVES
To understand what are Automated Application Controls
To understand the types of Automated Application Controls
To understand the Various Business Cycles, Obtain Process Understanding and Identification of
Controls
To understand the procedures for review of Design Effectiveness and Operating Effectiveness of
Application Controls
To understand when to test Automated Application Controls
To understand what sample size to follow for testing Automated Application Controls
To analyse and conclude on impact of deficiencies in Automated Application Controls on audit
3.1 Overview
Clause (i) of Sub-section 3 of Section 143 of the Companies Act 2013, requires the auditors’ report to state
whether the company has adequate internal financial controls system in place and the operating effectiveness
of such controls.
In June 2003, the Securities and Exchange Commission (SEC) of the United States of America adopted Rules
for the implementation of Sarbanes – Oxley Act, 2002 (SOX) that required certification of the Internal Controls
over Financial Reporting (ICFR) by the management and by the auditors.
There are other regulatory requirements such as J-Sox etc. where auditors are required to certify the adequacy
of internal controls as implemented by Management.
Thus, the auditors are required to express an opinion on the effectiveness of an company’s internal controls
over financial reporting and such opinion is in addition to and distinct from the opinion expressed by the auditor
on the financial statements.
As mentioned in the Introduction Chapter, SA 315 talks about identifying the risk of material misstatement
through understanding of the Company and its environment. The company implements an internal control
framework to minimise the risk. The auditor shall understand the internal controls within the company. While
understanding the internal controls, the auditor will understand the types in internal controls as implemented by
the company. Internal controls are implemented by a company irrespective of whether they have implemented
an ERP or not. In this session, we shall try to understand the implementation of internal controls in an ERP
environment.
AUDITING IN AN ERP ENVIRONMENT
Error message
shown by system.
(iii) Duplicate check – When a system prevents an invoice number to be entered twice etc.
2. Embedded Calculations – These are controls that also come along with the implemented ERP. These
can also be called Processing controls. These are combined with Configurable controls For example:
(i) Depreciation calculation – The depreciation is calculated automatically by the system. This process
of calculation is embedded within the ERP. However, the percentage of depreciation has to be
defined for each class of asset. This is a configurable control.
Sample depreciation configuration in Asset master:
(ii) Discount calculation - Where discounts are provided to customers based on sales value/volume
(a) Discount calculation is an embedded calculation
(b) Discount percentage is a configurable control
3. Configurable controls – These controls are implemented by the Company at the time of installing the
ERP. These can also be called Processing controls. These will be implemented as per the process
followed by the company.
For example:
(i) 3 way match – The relevant fields within the Purchase Order (PO), Goods Received Note (GRN) and
Invoice should match.
(v) Tolerance percentage as applied by the Company in terms of discount given at the time of raising
sales invoice etc.
(vi) Journals are approved based on limits set per person
4. Access / Security controls – Users are provided access to the systems based on their roles and
responsibilities and job profiles. These can be called as Sensitive Access and Segregation of Duties. For
example
(i) Data entry operator, Purchase Executive, Finance Manager, Sales Manager, CFO etc.
5. Automated Account Posting – Accounting entries are automatically posted in the ERP based on the
business operation performed. For example
(i) Goods receipt /Issue in an ERP.
1. The operation of goods receipt triggers an automatic entry in the system:
ACCOUNT CODE PARTCULARS DEBIT CREDIT
300000 Stock Account XXXXX
191100 To Goods Receipt account XXXXX
301100 To Freight Clearing account XXXXX
Configuration of GR/IR Clearing account to be posted automatically during goods receipt posting:
GR/IR Clearing GL
accounts configured for
auto posting during goods
receipt
For example:
Automated Controls
Relevant for
configured within
Significant Accounts Major Business financial
IT system the
and Disclosures Processes / Cycles reporting
system/Application
Y/N
Y/N
Sales/ Debtors -
Revenue and
Receivables
Sales, Debtors,
Purchases/Creditors –
SAP Purchases, Creditors, Y Y
Purchase Payables
Closing Stock etc.
Process
Stock – Inventory
Process
Salaries, Loans and
Advances to
Pay Master HR and Payroll process Y Y
Employees, Leave
balances
Interface Salaries, Loans and
HR and Payroll process
between Advances to
and Period End Closing Y Y
Paymaster Employees, Leave
process
and SAP balances
Once the auditor maps the relevant IT systems to Business processes and to the significant accounts and
disclosures, the next step is to gain an understanding of how the business processes function and the controls
within these processes. The controls can be manual, automated, IT dependent manual controls. For the
purpose of this session, we shall focus only on AACs.
The auditor via an enquiry process gets an understanding of the various business processes. The
understanding of the process flows and the controls within the processes can be documented in either of the 2
ways:
1. Process Flow Diagrams
2. Process Narratives
Process Flow Diagrams:
The Guidance Note on Internal Financial Controls over Financial Reporting refers to Process flow diagrams
as a helpful form of documentation for auditors to depict the process to initiate, authorise, process, record and
report transactions.
Insertion of risks of material misstatement.
o The auditor may insert symbols for risk of material misstatement at the point(s) in the process flow
where the risk is present. It is possible that, due to the nature of the risk of material misstatement, it
may appear at multiple points in the process flow diagram.
o The auditor may use different symbols for significant and normal risk of material misstatement as
necessary.
Attaching control activity symbols
o Symbols may be placed for control activity that address risks of material misstatement on the
diagram.
o Automated and manual control symbols may be used as necessary
Identification of applications in the process flow diagram
o If a task relies on an application system when performing an action, the auditor may use a symbol for
such applications on the diagram
o If formatting and space allows, the auditor may attach the application symbol directly on the task
which it relates
Associating the IPE symbol where appropriate
o If IPE is used in the execution of a control activity or IPE that is produced as part of the process that
is important to the audit (e.g., IPE that an auditor uses in his or her substantive procedures), the
auditor may attach a separate symbol for the IPE as a document symbol.
An example of a Depreciation Run Process Flow diagram is available in Fig 3.3.2:
Start
Depreciation
Depreciation isis calculated asper
calculated as perthe
the
compliance of Schedule-II,
compliance of Schedule-II,thethecalculation
calculation
is
is automated
automatedininERP. ERP.
After
After finalization
finalization ofofadditions
additionsand
and deletions
deletions in
in every
every quarter,
quarter, the depreciation
the depreciation is run–
is run month
month – wise wise in inERP.
ERP. FA01- A
Stop
Stop
Management of the company is responsible for the design of the internal control. The auditor will have to
evaluate this design and assess whether the control along with other controls put in place perform the function
of preventing or detecting and correcting material misstatements in a timely manner. It the control is not
properly designed, the risk is that it may not be able to prevent or detect errors or frauds.
Controls need to be evaluated at entity level too. Entity Level Controls are implemented to monitor the controls
at the department level etc. These controls need to be designed properly by the Company and evaluated by the
auditor.
Walkthrough Procedure:
The auditor will have to adopt a combination of Inquiry, Observation and Inspection while evaluating the design
of a control via Walkthrough process
o Inquiry should be made of relevant or appropriate personnel performing the control. Probing and open
ended questions to be asked of the personnel.
o Observation of the relevant procedures performed by the personnel
o Inspection of relevant supporting documents etc. for the control to be performed.
o Re-performance if necessary
While testing the design of the AAC, the auditor should understand whether the logic of the control has been
clearly defined in the system. The auditor will have to check the configuration in the system and understand
whether it satisfies the control objective.
Screenshot of DEPRECIATION CALC. CONFIG
DEPN1
DEPN 2
Control Walkthrough Procedure Results Exceptions Y/N
The system 1. From the Asset Register Obtained the Fixed Assets No exceptions
automatically select one asset that was Register and picked up one asset
calculates the created during the year. no. 000000005 – Chairs.
depreciation as 2. Note the Depreciation
per the rates percentage as given for the Noted that the purchase date of
defined in the asset from the Asset the asset was 31st July 2013.
system. register.
3. For that asset reperform the Noted from the configuration that
calculation of depreciation. the
4. Reconcile the depreciation Cost = 12866.11
amount with the amount
Less: Salvage = 643.31
automatically calculated by
the system. Cost = 12222.80
Useful life = 60 months
Depreciation = 12222.80/60=
203.71. Please refer to
screenshot DEPN 2
For example
In Payroll cycle,
o the system is configured to calculate the Leave encashment balance. But the system is not
calculating the leave balance correctly as they may be a problem in the logic within the system.
While evaluating the deficiencies, the auditor will have to check if there are any compensating controls
either manual or automated and test them accordingly to check if the impact of the deficiencies is
minimised.
If there are no compensating controls, the auditor may perform other procedures such as Data Analytics
using CAATS tools to assess the impact of the deficiencies.
For example
The Company has implemented an automatic approval of all Purchase Orders. The Company has
a PO approval matrix and this hierarchy has been configured in the system. However, the auditor
may have found out that the company has bypassed this control and placed orders based on
blanket approval of Purchase orders or no approval. Thus the auditor should
o Obtain the complete list of all Purchase orders from the system
o Using CAATS identify all PO’s approved as per the Approval Matrix document
o From the list extracted by the CAATS tool, identify all the PO’s that have blank in the
“Approved by field” or persons others than the Approval matrix
o The auditor will have to seek an explanation from the client for the reasons why the approval
matrix was bypassed
o The auditor will have to perform other substantive procedures to obtain comfort on the
Purchase amount appearing in the financial statement.
Communication of Deficiencies
SA 265 - “Communicating Deficiencies in Internal Control to Those Charged with Governance and
Management” makes it necessary for the auditor to communicate control deficiencies to the Management. Prior
to issuing such report the auditor may also go through the Internal audit reports and evaluate the control
deficiencies identified in the reports.
The auditor must communicate in writing in sufficient advance to provide an opportunity to the company to
remediate the deficiencies before the auditor issues the report on Internal Financial controls. The auditor will
have to also mention if the deficiencies were present in the prior periods of audit.
NOTE: Refer Guidance on Internal Financial Controls over Financial Reporting
The auditor has identified a design deficiency in a control. Prior to the Balance sheet date, the company has
rectified the design of the control. The auditor may test the implemented change for design and operating
effectiveness.
3.7 Exercises
Multiple Choice Questions
1. Some of the objectives to be achieved by implementing AACs are:
(a) Completeness
(b) Accuracy
(c) Both a & b
(d) None of the above.
2. Some of the risks that are addressed by such AAC’s are:
(a) Risk of unauthorised personnel entering the data
(b) Risk of personnel entering unauthorised data
(c) Risk of inaccurate processing of data
(d) All of the above
3. Some of the examples of AACs are:
(a) Inherent controls
(b) Configurable controls
(c) A and B
(d) None of the above
4. Understanding the business process can be documented via
(a) Flow chart
(b) Process Narrative
(c) Risk and Control Matrix
(d) A and B
5. A control necessary to meet the control objective is missing. This is an example of
(a) Significant deficiency
(b) Operating deficiency
(c) Design deficiency
(d) None of the above
6. Who is responsible for the design of internal control
(a) Internal auditor
(b) Management
(c) Auditor
(d) None of the above
True or False
13. If the design of an AAC is effective and prior to testing the control for operating effectiveness, it is
necessary to test GITC
(a) True
(b) False
14. A deficiency in operation exists when a properly designed control does not operate as designed, or when
the person performing the control does not possess the necessary authority or competence to perform
the control effectively.
(a) True
(b) False
15. If there are multiple scenarios in a business cycle, it is not necessary to take one sample of each
scenario to perform a walkthrough
(a) True
(b) False
Case Study
Access Ltd uses an ERP to capture the various operations of its business. The ERP has a fixed assets module
which manages the details of the fixed assets of the company. The company informs that the fixed assets
purchase procedure is automated within the system. The Purchase executive creates the asset. Based on the
Asset class, the depreciation percentage is automatically populated within the system. Once created, the entry
is automatically forwarded to the Fixed Asset Manager who approves the entry. For the below transaction,
document the walkthrough of the automated controls,
evaluate the design of the automated controls
test the operating effectiveness of the controls
Assumption: GITCs are effective.
Other details:
Invoice No. Access/1718/22 dated 1st April 2017.
Asset No.: PM01-1718
Asset purchased: Plant & machinery
Asset class: Plant & machinery
Amount: Rs 1000000 (Ten lakhs)
Date of Purchase: 1st April 2017
True or False
13 True. GITCs have to be effective, to have a strategy to test AACs for operating effectiveness.
14 True. Operating effectiveness deficiency exists when the control does not operate as expected or the
person operating the control is not competent.
15 False. If there are different scenarios in a business process, then one transaction per scenario have to
be taken for a walkthrough.
Ref Process or Activity/ Walk- through Walk-through Systems Evidence Design Operating Gaps Report to
Control Control Plan Procedure reports or Examined Effective- Effective- if any Client
performed spread- ness ness
sheets
relied on
a) From the ERP, Activity Check whether Obtained the Fixed Fixed Assets None None Not
obtain a list of parameters are Fixed asset Assets Purchases Applicable
all Fixed asset given correctly additions report Purchases Listing
purchases made in the ERP to for the year 2017- Listing
during the year extract the 18 and tallied it
2017-18. listing with the amount
appearing in Trial
Balance.
b) From the Fixed Activity From the Fixed Obtained Asset Fixed 1. Fixed None None None Not
Asset Register Assets register, No. PM01-1718 Assets Assets Applicable
obtain details of obtain the and corresponding Purchases Purchases
the Asset No to Fixed assets Invoice no. Listing Listing
be taken for details. Obtain Checked whether Fixed 2. Fixed
walkthrough. the invoice the Invoice Assets Assets
number number is Register Register
entered there available in the 3. Invoice No.
and check if Purchase Listing Access/1718/
the same is 22 dated 1st
given in April 2017
Purchase
Listing
c) Match invoice Activity Obtain hard From Invoice None 1. The details None None None Not
details with copy of original Number in the ERP Applicable
Fixed Assets invoice number Access/1718/22 2. Invoice No.
Register and match the dated 1st April Access/1718/
details of class 2017 understood 22
of Fixed Assets that asset
Purchased with purchased was
Fixed Assets Plant and
Register Machinery.
With the help of
the Purchase
Executive,
checked the
details in the ERP
with regard to the
Asset. Noted that
the categorisation
was correct.
Invoice date is 1st
April 2017.
d) Depreciation Control Check in the Noted that based ERP ERP Yes Yes None None
rate is populated system, the on the
automatically by process of categorisation, the
the ERP population of depreciation rate
depreciation is automatically
rates for the populated. Noted
Fixed Assets in the ERP that
category. depreciation rate
is given correctly
as 6.33%
e) The fixed asset Control Check in the For the approval ERP ERP Yes Yes None None
entry is system, the of the asset,
automatically process of noticed the drop
approved by the automatic down list in the
Fixed Asset approval by ERP. The list had
Manager Fixed Assets only one name
Manager i.e., of Fixed
Asset Manager,
who approved the
entry
3.10 Glossary
AAC – Automated Application Controls
SEC – Securities and Exchange Commission
SOX – Sarbanes Oxley Act 2002
ICFR – Internal Controls over Financial Reporting.
COSO – Committee of the Sponsoring Organisations of the Treadway Commission
CAPEX – Capital Expense
The concept of segregation of duties existed in business as part of the internal control procedures even before
the IT systems and ERPs came into use.
For example: in a manual system of accounting and book keeping, hard copy cash vouchers are
prepared by the cashier, reviewed by the accountant and authorised by the accounts manager before the
transaction is posted to ledgers.
With ERPs now being used extensively, segregation of duties is being implemented and enforced through the
user access controls feature of ERP.
For example: administrators, functional consultants or some ERP support teams are some of the
common super users viz., Admin, Administrator, BASIS, SYS
Default users: These are users that come packaged along with the ERP software. These users are sometimes
required to setup the ERP system initially. They are also used for educational purposes, when updating the
ERP to newer versions, to facilitate remote monitoring by vendors.
Generic users: These are similar to normal users but named in such a way that represent a title, position,
designation or function, place or region within a company and do not represent an individual or person.
For example: users named CMD, CEO, MD, CFO, VP, Mumbai Region, Delhi Branch are generic users.
In this case even though the users are not given personal names, the user id is assigned to a single
person at a given point in time.
There is another type of generic users who share a common user id. For example, Sales User could be an id
shared by all persons in the sales department.
Temporary users: As the name suggests, these are users who are given user id for a limited time period. For
example, guest users, auditors, consultants and support users.
External users: These are users who do not belong to the company i.e., they are not employees but they may
still require access to the ERP. For example, vendors, customers, business partners.
We can see that there are several types of users of an ERP that we need to understand and not all user ids are
necessarily assigned to persons. While the types of users mentioned above are commonly seen in an ERP
environment, it is possible that there are more user types depending on the company policies and ERP product
design, specifications and the way it has been implemented in a company. The user types and the terminology
used to categorise user types could vary between different ERPs.
The auditor should understand the various types of users that exist in an ERP environment before reviewing
segregation of duties and sensitive access as shown in Fig 4.1.2.
User access to an ERP is given on a need-to-know and need-to-do basis. All users will not have access to all
the functions of the ERP. In other words, users access to ERP is based on the job roles and responsibilities of
respective users.
For example: A Store Manager whose job to process and maintain stores inventory, receipts and issues
will have access to process goods receipts, goods issues and stock movements.
Roles offer an easy to understand, fast and reliable way to manage user access to an ERP. Generally, Roles
are defined at the time of implementation of the ERP based on the job functions of employees. In ERP terms
this feature is known as Role Based Access Control (RBAC).
4.2.2 Using ERP Profiles for implementing Segregation of Duties and Sensitive Access
A Profile is also a feature that is available in ERPs that is useful in implementing user access security and
controls. The basic purpose of a profile is similar to that of a role, i.e., to group related access in a logical form.
While a role represents a high-level grouping, which is aligned closely with the business function and job
responsibilities of a user, a profile is the more granular internal technical grouping of authorisations,
permissions and access rights within the ERP based on the input derived from the Role.
In the below example as shown in Fig 4.2.2, we can see that a profile named PUR_EXE001 has been created
for the role Purchase_Executive. This profile has then been assigned to the user.
Having obtained this understanding, the auditor should determine, based on the audit risk assessment, which
segregation of duties rules and sensitive access are relevant to audit and accordingly prepare an audit test
plan.
Segregation of duties can be implemented as preventive or detective control. When implemented as a
preventive control, the user access requests are first checked with the company’s predefined segregation of
duties rules before access is provided. Any deviations between the access requested and the rules are
identified and resolved and access to incompatible activities are denied upfront.
In case segregation of duties are implemented as a detective control, user access is provided first and a
periodic check (say, every month or quarter) are performed to detect deviations in the user access and
segregation of duties rules. Deviations are resolved by revoking the user access to incompatible activities.
Identification and review of user access controls including segregation of duties and sensitive access can be
very complicated to review in an ERP environment due to the number of users, several access rules, the
possible combinations and their outcomes all of which could run into several hundreds, thousands or even more
for large ERP environments. Hence, it is common to use specialised automated tools for the review of
segregation of duties and sensitive access. Even though this review can be performed manually, using tools
makes the review process more effective and efficient. However, the auditor should receive adequate training
prior to using such specialised audit tools and techniques.
For example: some of the tools that are used in implementing and review of segregation of duties and
sensitive access include SAP GRC (formerly, Virsa), Oracle GRC, BIZRights, Proprietary tools.
Given below is an example of how the user access in ERP can be summarised for a business activities as
shown in Fig 4.3.2
If there are deficiencies in GITCs or when they are not effective, it is likely to have an impact on the design and
operating effectiveness of application controls including user access controls. The auditor may have to carry out
additional testing and gather more audit evidence to conclude on the effectiveness of user access controls that
include segregation of duties and sensitive access.
4.6 Exercises
Multiple Choice Questions
1. Which of the following is NOT an example of an External user type,
(a) Employees
(b) Customers
(c) Vendors
(d) None of the above
2. Business rules for implementing segregation of duties are defined by
(a) ERP Consultants
(b) Government
(c) Company
(d) Statutory Auditors
3. Examples of specialised tools to review segregation of duties and sensitive access in an ERP include,
(a) SAP GRC.
(b) Proprietary tools
(c) BIZ Rights
(d) All of the above.
4. Auditors review of user access controls in an ERP environment is performed at a point-in-time. What
other controls can auditors rely upon to get evidence of operating effectiveness for full year.
(a) Compensating Controls
(b) General IT Controls
(c) Manual Controls
(d) Automated Controls
5. When an auditor finds a deficiency in the user access controls, what should the auditor do next
(a) Report deficiency to management and do nothing more.
(b) Increase substantive testing
(c) Ignore the deficiency
(d) Evaluate the deficiency and determine impact on audit
True/False
11. Segregation of duties can be implemented only in companies that use ERP (True/False)
12. Business Rules for implementing segregation of duties should be defined by the auditor (True/False)
13. A user in purchase department has access to maintain vendor master data and process vendor invoices.
This indicates a deficiency in segregation of duties (True/False)
14. User access to an ERP is given based on user job roles and responsibilities (True/False)
15. Reliability of user access controls in an ERP depend on effectiveness of application controls (True/False)
2. Guidance Note on Audit of Internal Financial Controls Over Financial Reporting issued by Auditing and
Assurance Standards Board. - (14-09-2015), www.icai.org
3. Companies Act 2013, www.mca.gov.in/Ministry/pdf/CompaniesAct2013.pdf
6. Critical
7. Privileged
8. Business, IT
9. Preventive, Detective
10. Roles
11. False. Segregation of duties is implemented even in companies where there is no ERP.
12. False. Business rules for implementing segregation of duties should be defined by the
company/management.
13. True.
14. True.
15. False. Reliability of user access controls in ERP depend on the effectiveness of General IT Controls.
(b) Maintain Master Data and Process Receipts/Collections could be considered as Sensitive Access
(c) Some of the observations are as follows.
Company does not have documented business rules for implementing segregation of duties.
There are instances where segregation of duties does not exist (based on the rules mentioned in
a) above
IT users have access to all activities in the Revenue and Receivables process.
User01 has access to maintain master data and also process sale orders
Users06, User07, User08 can process sales orders and also invoices
Note: It is suggested that the auditor prepare a chart of all ERP users and their access to business activities in
a matrix format. This will be useful in evaluating the segregation of duties and sensitive access more effectively
and efficiently.
4.11 Glossary
ERP – Enterprise Resource Planning
SOD – Segregation of duties
SA – Sensitive Access
GITC – General Information Technology Controls
Role – is a logical grouping of users in an ERP that is aligned to a job function
Profile – is an internal technical grouping of authorisations, permissions and user access rights in an ERP and
is derived from a role
GRC – Governance, Risk and Compliance
LEARNING OBJECTIVES
To understand Types of reports - Standard Reports, Customized Reports, Database Queries
To understand procedures for validation of Reports - accuracy of logic, completeness and accuracy of
data
To understand the impact of conclusions of GITCs on Report testing
To understand conclusion of impact of deficiencies in Report testing on audit
To understand when to test.
5.1 Overview
As businesses reliance on ERP systems and applications is on the increase, the information available in these
systems become critical. This information or data is critical for decision making or even for compliance
purposes for ROC etc. and is relied upon by the various stakeholders of an entity such as the management,
auditors etc. Thus the integrity of the information / data etc. on which the stakeholders make decisions
becomes crucial. As per the Guidance Note issued by the Institute on Audit of Internal Financial Controls over
Financial Reporting, the data or Information Produced by the Entity (IPE) can be generally used for:
IPE is used by entity personnel to perform a relevant control.
IPE is used by the auditor to test a relevant control.
IPE is used by the auditor to perform substantive procedures.
The IPE can be in 2 forms:
Reports generated from the System
Listing/Output created manually with data from the system.
In this session, we shall focus more on understanding the different types of reports, procedures to test them
and impact of the testing performed.
Some examples of reports are high level reports such as Cash Flow statement, Analysis of Obsolete inventory
or more microscopic level of reports such as Registers – Purchase, Sales or Debtors Aging analysis etc. Profit
and Loss account, Balance Sheet can also be termed reports.
SYSTEM GENERATED REPORTS
Both the above types of reports are configured/coded and reside in the ERP systems.
COMPANY 1 COMPANY 2
Sr. Details Codes used as Details Codes as configured by
No. given when ERP Company at the time of
implemented implementation
1 2 3 4 5
1000001 to Control Accounts
1 CoA including CoA
9999999 100000 to 999999
Vendors,
Vendors VE100001 to VE110000
Employees,
Customers etc. Employees EP0001 to EP999999
Customers CS100000 to CS 999999
Thus, in Column 5, the Company 2 has followed its own model of defining CoA, Vendor codes, Employee
codes, Customer codes etc. Thus the Standard reports based on CoA as defined in Column 3 cannot be
used. The company will have to define its own TB, P&L account, B/S, Cash Flow statement etc. Such
reports are called Customised Reports.
3. Database queries / Other tools etc.
Queries are used to retrieve information or data from a database in a readable format using a SELECT
statement.
For example: database queries can be used to extract payroll information from a payroll database such
as leaves available per employee, blank PAN details of employees who have not submitted PAN etc.
These are converted into Excel spreadsheets etc. and used as reports.
For example: if there is a mistake/error in the report, what is the potential impact on the business and the
audit procedure? How frequently are changes made to the report
Complexity of the report in terms of how are the values populated, number of formulae etc.
Target audience of the reports – Senior Management, Staff etc.
Before the auditor plans to understand the types of reports and the procedures to validate them, it is necessary
to check the integrity of the data within the system. The auditor has to:
Test the General Information Technology controls (GITC’s) within and surrounding the ERP systems.
Test the controls within the business processes including sensitive access and segregation of duties etc.
within and surrounding the systems. This is the source data for the reports.
This will give a reasonable indication to the auditor on the integrity of the data within the system. The results of
the above mentioned procedures will determine the extent and type of procedures to be used to validate/test
the reports for completeness and accuracy. There can be 2 scenarios pertaining to the results of the
procedures:
If the controls in GITC and Business Processes are found to be effective then the auditor may limit
himself to performing certain tests on the reports.
If the controls are found to be ineffective, the auditor will have to perform more detailed and substantive
procedures. These procedures will be specific to the conditions relevant to the entity.
We shall talk of the procedures to test these reports later in this session.
The auditor as a first step need to understand the different types of reports that can be extracted from ERP
systems/applications.
NOTE:
The company may have implemented a control on Quarterly Review of Aging Analysis by Finance Controller.
In such a scenario, the auditor will have to test 2 aspects of the control:
1. The Review by the Finance Controller
2. The integrity of the report. The procedure mentioned above can be used to test the integrity of the report. Here
the timing of the extraction of the report becomes important. The auditor will also have to check whether the
Finance Controller has reviewed the relevant latest report. The same report has to be independently extracted
by the auditor and tested.
If the evidence found in the change management logs indicates that the vendor - SAP was the last user
to access the report at the time of implementation of the ERP.
Report Parameters:
Report Parameters
Customer account,
Company code and Key
Report Output:
Ageing Buckets
The auditor needs to then understand and test the completeness and accuracy of the report. The
debtor’s outstanding statement will have various buckets or columns. The buckets could be Upto 30
days, 31-60 days, 61-90 days, 91-180 days and Above 180 days, depending on the date of invoice which
is outstanding.
For example: Debtor 1
The auditor can devise a procedure to take one transaction – one sample per scenario. In this case, one
invoice per bucket as a sample is to be tested. Since these transactions are automatically populated in
the report, if the tests pass for one transaction, then the same inference can be made for other
transactions too.
The original hard copy of the Invoice can be compared with the entry in the Outstanding statement for the
following fields: Date/Invoice no./Customer name/Amount etc. If the values match between the original
Invoice and the details in the Outstanding statement, the accuracy assertion is established.
To establish the completeness assertion, the Grand Total of the Outstanding statement for all Debtors
can be compared to the total of the value of Debtors appearing in the B/S or TB or can be checked on
the screen itself.
Once the values are found to be matching, then a decision to rely on the report can be taken.
The above example pertained to SAP. Even in other ERP’s/tools/manual reports, the Company may be using
reports as given below. In this scenarios, testing of such reports as mentioned above have to be performed.
The same procedure as mentioned for Standardised reports need to be followed. The differences are:
1. While testing for users who have access to create/modify report, the auditor will have to verify whether
the user names who have created/modified the reports are authorised users. If any change to the report
has happened in the year of audit, then appropriate approvals should be verified.
2. The auditor has to follow the same test procedures to test for completeness and accuracy as mentioned
above.
3. Unlike standard reports, the procedures to test the completeness and accuracy of the customised reports
have to be performed every year.
Path:
Customized report
for GL balance
Report Parameters
In such a case, the auditor can follow the procedures as mentioned above to test the reports – both standard
and customised.
Scenario 2: Controls are ineffective in all domains of GITC’s
Therefore, the procedures to test the reports have to be different from the above mentioned. The auditor will
have to devise a more substantive approach and other substantive procedures to testing the reports. The
auditor cannot rely on just one sample to test the completeness and accuracy assertions of the report.
This will be further elaborated in the session on GITC’s.
o As per the scoping details, these reports are used by the Company and relied by the auditor during
the audit process. Hence these reports are tested by the auditors.
Thus, the auditor will have to accordingly coordinate with the company to make them understand the
deficiencies found and check if they have rectified the report/IPE. The auditor will have to modify their
audit procedures to calculate the impact on the financial statements. Also, the auditor will have to
independently obtain the information from the company’s ERP for the purposes of their audit.
Example 1:
The debtors ageing statement given in Section 3 of this session:
All the details such as Invoice number, Party name, Amount etc. are correctly appearing in the name.
However, the ageing buckets to calculate the number of days outstanding of the invoice is calculated
from the due date of payment of invoice. This is wrong as the date has to be calculated from invoice
date.
In such a scenario, the auditor will have to ask the company
o to create a new report or
o calculate the ageing correctly in the same report.
Accordingly the provisions etc may undergo a change in the financial statements.
Example 2:
In the same debtors ageing report, the outstanding buckets along with other details such as Invoice no.
name of party, Date etc is appearing correctly. However, there are arithmetical errors. The total of all the
buckets are not totalled correctly.
This can be verified by taking the Grand total of the Debtor ageing statement and tallying it with the total
in the Trial Balance.
In both the above scenarios, the auditor will have to adopt appropriate substantive procedures to test the
data.
5.7 Exercise
1. Which of the following method is used to produce reports about data.
(a) Standard Reports
(b) Customised Reports
(c) Database queries.
(d) All of the above
2. SELECT statement is used to generate which type of reports:
(a) Standard Reports
(b) Customised Reports
10. Correct answer is True. If a system is not relevant for financial reporting, then reports from that system
need not be tested.
5.11 Glossary
ERP – Enterprise Resource Planning
ROC – Registrar of Companies
IPE – Information Produced by the Entity
GITC – General Information Technology Controls
LEARNING OBJECTIVES
To understand about new systems implementations
To understand the data migration strategy and approach in an ERP environment
To understand how to review new system implementations and data migrations
To understand how to determine and evaluate impact of deficiencies in data migrations on overall audit
Implementation of a completely new accounting system or ERP. For example, Tally, Quickbooks, In-
house developed ERP or SAP
Migrating from an existing system to a new ERP. For example, Tally/Quickbooks to SAP
Migrating from an existing system to an enhanced version of the same system. For example, SAP 4.7 to
SAP 6.0, Oracle 11i to Oracle R12
Technical migration where the IT infrastructure including operating system, database, network or
hardware are changed but no change in version or functioning of ERP.
For example, the existing Windows 2008 R2 Server, on which the ERP is installed, is migrated to a
newer Windows 2016 Server operating system and all the desktop operating systems in the company are
upgraded from Windows 7 to Windows 10. In this example, the business functionality of ERP does not
change and hence it is considered as a technical migration.
Implementing new modules in an existing ERP. For example, Payroll module is implemented in an
existing ERP where other modules viz., Finance & Accounts, Sales, Purchases and Inventory are already
operational.
The auditor needs to understand well in advance any plans a company may have to undertake major changes
in the IT environment during an audit period. The auditor has to consider the possibility of auditing in two very
different IT environments in the same year and should assess risks accordingly. Some of the areas where a
migration could impact audit include the following:
Change in understanding of existing business process
New risks could arise
Activities and existing controls could undergo a change
More automated controls are likely to be implemented
User access rights and segregation of duties could change
Reports and system generated data i.e., information produced by entity (IPE) could change
Considerations for outsourced activities
System Data
Planning Testing Go Live
Design Conversion
Documentation
Planning: In this phase of migration the objectives of migration and the migration strategy are defined.
Commitment and involvement of top management is defined and an individual who will be the business sponsor
is identified to take key decisions. Team is formed and roles and responsibilities are assigned. A budget for the
migration is allocated. Key dates, timelines and milestones are determined. A risk assessment carried out and
critical dependencies - including availability of staff for the migration project, support from vendors and external
consultants, readiness of IT environments, etc. - are identified upfront. Back-out and rollback procedures are
planned as a contingency measure.
System Design: In this phase of migration the AS-IS (existing) system and process is understood and the TO-
BE (proposed) system and process prepared including the process flows, data flows and business process re-
engineering. Configuration and Customisations required are determined and the codification is prepared.
Interfaces with other systems and applications are determined.
Data Conversion: In this phase of migration involves identification of source data, data mapping between
source(existing) and target (proposed) systems is defined including the development of automated data
extraction and transfer programs or scripts. Intermediary data stores called staging areas are used to hold,
convert and transfer data. Inconsistencies in data, incomplete and inaccurate data are identified and corrected
as part of data cleansing and data enhancement. Integrity checks are done to ensure completeness and
accuracy of data. Mock conversions are carried out iteratively to rectify errors and data inconsistencies.
Testing: In this phase of migration various levels of testing are carried out that include, unit testing, integration
testing, user acceptance testing. Test cases, scenarios and test scripts are prepared to test the functionality of
the new system.
Implementation (Go Live): In this phase of migration the team checks if all objectives of migration and the
migration strategy are achieved. Any deviations should be identified and resolved. Adequate training has been
provided to the user of the new system. Assurance should be obtained from an independent auditor prior to
implementation in the form of a pre-implementation review report. A representative of top management should
provide approval for Go live and communicate to all stakeholders about the launch of new system. A rollback
plan is defined as a contingency measure in case migration is not successful.
Documentation: For all phases and migration activities, relevant documentation should be prepared and
signed off by the project team.
The below illustration is an example of a high-level ERP Migration Plan as shown in Fig 6.2.2.
Access Ltd
ERP Migration Plan
Durat ion: 01-Jul-201x t o 20-Aug-201x
July - 201x
Mon
Mon
Mon
Mon
Wed
Wed
Wed
Wed
Wed
Phase
Thu
Thu
Thu
Thu
Thu
Tue
Tue
Tue
Tue
Tue
Sun
Sun
Sun
Sun
Fri
Fri
Fri
Fri
Sat
Sat
Sat
Sat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Pl a n n i n g / Ki ck-Off
Holiday
Sy st em Desi gn
Da t a Con v er sion
August - 201x
Mon
Mon
Mon
Mon
Wed
Wed
Wed
Wed
Thu
Thu
Thu
Thu
Tue
Tue
Tue
Tue
Sun
Sun
Sun
Sun
Sun
Fri
Fri
Fri
Fri
Fri
Sat
Sat
Sat
Sat
Sat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Mi gr a t ion T est in g
Holiday
Holiday
It should be noted that the migration strategy could vary from company to company and depends on the scope
and nature of migration i.e., technical or functional. The auditor should obtain an understanding of the scope
and nature of migration to assess impact on audit.
Historical transaction data including orders, invoices, goods receipt and dispatch notes and other standard and
non-standard journal entries may not be migrated to new system and will most likely remain in the legacy
system. The implications of this need to be considered from the following points of view
Legal and statutory requirements including maintaining books of accounts in accordance with Companies
Act 2013
Availability of records for tax audit and assessments.
The duration for which books of accounts and records are required to be maintained in legacy system
Access controls for the legacy system
Protection of legacy data from being changed
Software license terms of use for legacy system including application, operating system and database
Open items could exist as on the day of migration and it is important that the migration approach should
envisage and factor for such open items. Open items could exist the following scenarios
Open orders – purchase, sales and production orders
Open invoices – vendor, sales invoices
6.6 Exercises
Multiple Choice Questions
1. Which of the following is example of an ERP,
(a) SAP
(b) Oracle R12
(c) In-House developed
(d) All of the above
2. Which of the following activity is part of the System Design phase of a migration,
(a) Allocation of Budget
(b) Configuration
(c) Mock conversion
(d) All of the above
3. At which phase of the migration would rollback procedures be triggered, if necessary
(a) Planning
(b) Data Conversion
(c) Go-Live
(d) Migration Testing
4. Which of the following require specific considerations during a migration,
(a) User access and segregation of duties
(b) Open items
(c) Master data
(d) All of the above
5. When would auditors review migration process and controls,
(a) During Pre-implementation/Post-implementation reviews
(b) When reviewing General IT Controls
(c) Both A & B
(d) None of the above
True/False
11. When a pre-implementation review has been performed and the gaps have been rectified, the auditor is
not required to evaluate and test controls in the migration process. (True/False)
12. The auditor should consider using CAATs when evaluating deficiencies in migration controls.
(True/False)
13. Migration approach and strategy will be the same for all companies. (True/False)
14. Duplicate master data records should not be considered for migration from legacy to new system.
(True/False)
15. After migrating to the new system, the data in legacy system can be discarded. (True/False)
6.9 Glossary
ERP – Enterprise Resource Planning
GITC – General Information Technology Controls
SA – Standards on Auditing
CAATs – Computer Assisted Auditing Techniques
MIS – Management Information System
IPE – Information Produced by Entity
ACL – Audit Command Language (CAAT Tool)
IT – Information Technology
CRM – Customer Relationship Management
GST – Goods and Services Tax
Several factors should be considered including legal and statutory requirements before legacy system is
discarded.
LEARNING OBJECTIVES
What are Non-Standard Journal Entries in ERP’s
Process to identify Non-Standard Journal Entries
Process to ensure completeness of data
Identify Criteria for JE analytics
Software Testing for scripts
7.1 Overview
Companies use ERP’s to record transactions. In most ERP’s these transactions are automated based on the
business process. In addition to the sub-leger entries that arise out of business processes, the companies may
also pass journal entries that impact the financial statements. We shall now try to understand the different types
of journal entries
Standard Entries – These transactions pertaining to sales, purchases, inventory, rent, audit fees, AMC
expenses, salaries etc. are subject to internal controls as defined by the company.
Non Standard Entries – In addition to the automated entries, these entities also record nonrecurring,
unusual transactions or adjustment entries in the ERP’s. These entries may not be subject to the same
level of rigour of the internal controls or may not have passed through any controls at all.
These transactions could be manual in nature and may pertain for example:
Estimates, impairments etc.
Adjustments to amounts already reported in financial statements – combinations, reclassifications
etc.
Top Up entries – These are residing outside the books – for example in excel sheets etc. and may
impact the financial statements.
Inter company set off entries etc.
For the purpose of this session we shall concentrate on Non Standard Journal Entries (NSJE) only. SA 240 and
The Guidance Note on Audit of Internal Financial Controls Over Financial Reporting in paragraphs
64,66,80,90, IG 4.4 and IG 5.6, IG 19.21 and IG 21.9 also talk about unusual transactions and the audit
procedures to deal with them.
AUDITING IN AN ERP ENVIRONMENT
Before identifying the various type of journal entries – standard, non-standard and top up, the auditor will have
to understand, evaluate and test the process of internal controls in place to pass such entries.
These entries may be passed throughout the year or more generally at the end of a financial period. There is a
possibility that these entries may be passed through sub ledgers like purchase or sales. However, in this case,
there may be a level of collusion required, which may be difficult.
Hence, such NSJE are generally directly passed in the General Ledger. There is a risk of management
override of controls in passing such entries. In each entity, the level of this risk may vary, but the risk is present.
The risk of management override may also lead to risk of material misstatement to fraud which is a significant
risk. As a result, the audit procedures should be very robust and relevant to the entity that is being audited.
There is another key aspect to remember while auditing in ERP environment. Other entries – automated etc.
will be supported by relevant printed documents. These NSJE’s may exist only in electronic form directly in the
General Ledger with no supporting physical documents.
The above process will assist the auditor in understanding the type of journal entries passed and more
specifically Non Standard Journal Entries.
The points to note for understanding the business systems and processes are:
Accounting software – ERP/customised/off the shelf packages
IT team – in house/outsourced
Roll forward testing – Roll forward the entries passed during the year to the balances in the Trial
Balance. The auditor may use ACL/IDEA Caseware/MS Access/Excel to perform Roll forward testing
Procedures other than Roll Forward Testing.
Roll Forward Testing
o Using CAATS to test for completeness of data:
Using tools such as ACL, IDEA Caseware, MS Access, Excel etc., the auditor can test the data
for completeness.
Match the number of entries in the system with that extracted in the CAATS tool. Both the
numbers should match.
Match the total number of debits with total number of credits for all the entries. The difference
should be zero.
SCREENSHOT of number of entries in MS Access with system as shown in Fig 7.3.1
Number of entries which are uploaded into CAAT tool i.e. MS Access.
If the company is using an ERP, then, the auditor can ask for a full list of entries based on Journal type
and summarise the data based on Journal type. This can be reconciled with the Trial Balance and tested
for completeness.
The entries in the data extracted need to be match the highlighted areas.
Details Opening balance Debits Credits Closing Balance
Balance Sheet
Cash balance 10000 2000 4000 8000
There are high risk accounts such as - intercompany accounts and related party transactions the
auditor can reconcile the opening balances and closing balances with previous year and current
year financial statements and then test by roll forward the transactions (debit and credit).
Holding company audits – A holding company with many subsidiaries - Journal entry testing may
be very challenging. A possible path would be to adopt roll forward testing in the subsidiaries. At
the holding company level, the auditor can test the consolidating and eliminating entries.
CAATS can also help in finding out gaps in the sequence numbers of journal entries. This is
useful where the volume of transactions are huge such as banks/financial institutions etc.
CAATS can also help in finding out if there are duplicate journal numbers used.
The auditor can build in the rules or code, the data fields mentioned in Section 3.1 above to extract the
data.
The auditor can provide this to the company’s IT team to schedule the data extraction automatically.
Once data is obtained, the auditor can also write scripts for the JE criteria to run automatically. The JE
criteria is mentioned in Section 4.
Based on the results obtained, the auditor can test the list of journal entries obtained after applying the
filters.
Safeguards to be applied while using scripts:
The auditor should be careful to see that the scripts are updated in all respects. For example – if the
company has added a new period/ new journal type/new user id, the scripts should be updated
immediately.
The auditor should ensure that the company do not make any unauthorised changes to the script without
the knowledge of the auditor. The scripts are the property of the auditor.
The auditor should plan the process of extraction in such a way that the scripts are run by the company’s
IT team in the presence of the audit team and the output is provided to the auditor without any
modifications.
7.6 Exercises
1. The unusual, non recurring transactions may generally be directly entered in
(a) Sub ledgers
(b) General Ledger
(c) Excel sheets
(d) None of the above
2. Estimates, impairments are generally a type of
(a) Standard Journals
(b) Top up journals
(c) Non Standard journals
(d) None of the above
3. While understanding the IT/ERP systems used to record entries, the points to note are:
(a) Accounting software / ERP used
(b) Automated or Manual entries
(c) SA/SOD among IT and Business teams
(d) Timing of passing the entries
(e) All of the above
116 ADVANCED INFORMATION TECHNOLOGY
NON STANDARD JOURNAL ENTRIES
4. Some of the fraud risk factors to note which may lead to unusual transactions are:
(a) Sales Targets
(b) Personal gain such as Bonus, incentives etc.
(c) Debts requirements for banks etc.
(d) All of the above
5. A key factor to be kept in mind while making enquiries of personnel are:
(a) Ask close ended questions
(b) No discussions required
(c) Ask open ended questions
(d) None of the above
6. Entries maintained outside the system and impact the financial statements are:
(a) Top up entries
(b) Standard Journal entries
(c) Non Standard Journal Entries
(d) None of the above
7. Which is the main risk due to Non Standard Journal entries:
(a) Risk of Material misstatement
(b) Risk of management override of controls
(c) Risk of lack of sensitive access
(d) Risk of lack of segregation of duties.
8. It is possible that a Non standard journal entry may not have relevant ____________ supportings.
9. A common method to test for completeness of data is _________________ testing.
10. In industries/sectors, where volume of data is huge, ________________ testing may not be an
appropriate way of testing completeness of data.
11. Before testing Journal entries, it is necessary to test the controls surrounding the process of passing
Journal Entries.
(a) True
(b) False
12. One way of auditor enquiring about unusual activities at a client location is to ask ________ questions.
13. ______________ to be achieved may be a key fraud risk factor from an investor/ stock holder
perspective leading to Non standard journal entries.
14. _____________ to be achieved may be a key fraud risk factor from a bank/financial institution
perspective.
ADVANCED INFORMATION TECHNOLOGY 117
AUDITING IN AN ERP ENVIRONMENT
15. To bring in efficiencies in the process of extraction and analysis of JE data, the auditor may use
____________ .
Generally, the non-recurring transactions may not have a supporting. To be passed in Sub ledgers, it
may require collusion among personnel. Hence, they are passed in General Ledger.
2. Answer is c – Non Standard Journals.
These are based on certain assumptions etc and not passed as part of a standard/routine operation.
3. The answer is e – All of the above.
All the factors are necessary to be noted while understanding the IT/ERP system.
4. The answer is d – All of the above.
All are relevant risk factors which may lead to unusual transactions.
5. The answer is c – Ask open ended questions
By asking open ended questions, the auditor will be able to extract more information from the auditee.
This will enable the auditor to ask more relevant questions.
6. The answer is a – Top up entries.
These entries are usually passed after the books are closed and before the financial statements are
finalised.
7. The answer is a – Risk of material misstatement.
NSJE are entries that may be passed as a result of fraud. Hence, this is the main risk. Another risk can
also be risk of management override of controls.
8. “Printed”
9. “Roll forward”
10. “Roll forward”
11. The answer is True.
As part of the requirements of IFC, the controls pertaining to Journal entry process need also to be
evaluated and tested.
12. “Open ended”
13. “Sales targets”
14. “Debt requirements”
15. “Software scripts”
4. Focus should be only on those entries. If the list of such entries can be separately extracted, the list
should be reconciled with the TB and then tested.
5. If the separate list cannot be extracted:
(a) the full list of entries should be extracted including automated entries.
(b) Roll forward testing should be performed including the Opening and Closing Trial Balances
(c) The automated transactions, based on the Journal types identified earlier should be removed from
the list. Thus, only manual transactions remain.
(d) From the manual transactions list, the inter company transactions should be removed.
(e) On the remaining population, the auditor should apply the JE criteria and obtain a filtered list to
test.
6. The full list of Intercompany transactions should be tested separately. A reconciliation statement may be
sent to each office to confirm the balance.
7. The auditor may also speak to the component auditors to understand the procedures followed by them to
test NSJE at the individual offices.
7.11 Glossary
NSJE - Non Standard Journal Entries
ERP – Enterprise Resource Planning
SA – Sensitive Access
SOD – Segregation of Duties
ACL – Automated Command Language
CAATS – Computer Assisted Audit Techniques
LEARNING OBJECTIVES
Writing Advanced Queries
Creating Sub-queries
Creating Unmatched and Duplicate Queries
Grouping and Summarizing Records using Criteria
Summarizing Data using Crosstab Query
Creating a Pivot Table and a Pivot Chart
Joining Tables in Queries
Calculated Fields
1.1 Introduction
Queries are an essential part of database. They are used to extract required data from one or more tables and
present the result in a datasheet or on a Form or Report. They can be considered as questions asked to a table
in a database. Access 2010 provides a graphical tool known as Query Designer to create queries. Queries are
not only used to retrieve data from tables, but can also be used to insert, update or append data in tables, to
filter data, to perform calculations with data, to summarize data and to automate data management tasks.
This chapter focuses on creating different types of queries and their different usage. The first part of the
chapter talks about Sub-queries, in which the criterion for a query is query itself, i.e. writing a query within
query. The next part of the chapter talks about working with Query Wizard and learning how to find unmatched
data between two tables and to find duplicate rows within a table. We will also learn to create a summarised
result out of queries using the crosstab queries. Crosstab queries can be taken as a tabular format of Pivot
tables. This chapter also introduces the multiple views of the query and how to get query results in the form of
Pivot Tables or Pivot Charts.
In addition to the above queries, we will also learn to create a query on multiple tables, specify different join
types to retrieve the desired result. We can create joins between the tables using relationship window provided
by Access 2010, or we can create joins at the query design window. Access 2010 also has many functions and
operators which can be used to create expressions. This chapter discusses how to use these functions to
create a new column from an existing column. The chapter also highlights some of the advanced queries
available in Access 2010 and illustrates their significance using case studies.
DATABASE APPLICATIONS USING MS-ACCESS
This query retrieves all the columns from table Products based on the criteria that the discount on the products
in the OrderDetails table must be greater than or equal to 25%. Notice that to present the criteria of discount for
Products, we have used a sub-query in the WHERE clause.
Points to be noted while writing a sub-query:
The sub-query must always be written as an SQL statement.
The sub-query is always written in brackets ( ).
If we are using the same table for the main query and sub-query, we need to provide aliases (alternate
names) to the tables.
If a sub-query is returning more than one row, the IN, ANY, ALL or EXISTS clause should be used in the
WHERE statement.
1.2.1.1 Problem Scenario
Rohit is an Accountant in Apex Ltd. At the closing of the quarter, he has to check the Invoices for which the
payments are made in Quarter-I of year 2008.
Solution
For the purpose of solving the above requirement, a query is created to retrieve all records from Invoices table
for which the Payment Date in Payments table lies in Quarter-I i.e. between 1/1/2008 and 4/30/2008. Since we
do not require any details from the Payments table, we use the table in a sub-query.
5. Select the fields Invoice Number, Sales Order Number, Type of Invoice, Invoice Date, Source of Order
and Payment Terms from table Invoice and drag them to the Columns tab as shown in Fig. 1.2.4.
Now we create a SQL Statement for sub-query. The SQL Statement for the sub-query can be written directly in
the criteria clause with the Select syntax or we may create another query using Query Designer and then copy
the generated SQL. For the current scenario, we use the latter method.
Steps for writing a query to retrieve Invoice Number from Payments where Paid Date is in Quarter-I of
year 2008
1. Open the Show Table dialog box, by clicking on Create -> Queries -> Query Design.
2. Select the Payments table from Show Table window and click Add, as shown in Fig. 1.2.6.
6. Click the Run icon in Design -> Results to view that the proper result is coming.
7. Click on SQL View from Design -> Results -> View drop-down to view the SQL statement of the
query. The SQL statement appears for the query, as shown in Fig. 1.2.9.
10. Click the Run icon in Design -> Results to view that the proper result is coming.
In a similar manner as demonstrated by an example above, Sub-queries can be used as a SQL statement for
criteria of Action queries, Group By queries etc.
NOTE: We can also use Sub-queries as an expression to create a new column as a query result.
5. Select the table Sales Item Description from second page of the wizard as we need to compare
Inventory table to Sales Item Description table, as shown in Fig. 1.2.15. Click Next.
6. Now, we need to mark the common field in both the tables to be compared. For this example, select
the Item Number in both Inventory and Sales Item Description table and click button, as
NOTE: Use button to move a selected field from Available fields to Selected fields,
ADVANCED INFORMATION TECHNOLOGY 133
DATABASE APPLICATIONS USING MS-ACCESS
button to move all fields from Available fields to Selected fields, button to move selected
field from Selected fields to Available fields, button to move all fields from Selected fields
to Available fields.
8. Name the Query as “Products without Orders” in the final window that appears and click Finish as
shown in Fig. 1.2.18.
5. Select the columns that should be the part of the query result and click Next. In this dialog box, select
Invoice Number, Type of Invoice, Invoice Date, Source of Order and Payments Terms, as shown in Fig.
1.2.23. Click Next.
7. The result of the query appears in Datasheet form with all the Sales Order having multiple invoices, as
shown in Fig. 1.2.25.
NOTE: We can create Find Duplicate Query by matching records on multiple fields also. This query can also be
used to find duplicate records in a table by matching records on all the fields (considering that we can match
only 10 fields at a time).
A list of Aggregate Functions that can be used with Totals Query is given in Table 1.2.1.
Solution:
Create a Total query that calculates the count of orders placed for each product and arrange them in
descending order of the counts so as to find the products which are sold more.
Steps for creating a total query
1. Open the Query Design window by selecting Query Design from Create -> Queries, as indicated in Fig.
1.2.28.
4. Click the Totals button in the Show/Hide group on the Design tab, as shown as Fig. 1.2.30.
6. In the column Sales Order Number, change the Group By function to Count, as shown in Fig. 1.2.32.
Notice that we have set Group By on columns Category and Item Number, so that the query first groups all the
items according to their category and then all the items in same category on the basis of Item Number. The
Count function with Sales Order Number indicates that we wish to compute the count of total Sales Orders for
a group created.
7. Click Run in Design -> Results to view the results. The result of the query appears, as shown in
Fig. 1.2.33.
10. Click Run in Design -> Results to view the result. The result appears as shown in Fig. 1.2.35.
1. Open the query Product Sales Volume in Design view. To do this, right-click the query and select Design
View.
2. In the column Sales Order Number, type “>=3” in the Criteria tab as shown in Fig. 1.2.36.
3. Click Run in Design -> Results to view the result. The result of the query appears as shown in Fig.
1.2.37.
.
Fig. 1.2.37: Query Result for Products having at least 3 Sales Orders
Now, include only the products which cost less than 50.00 in the query result. Since Cost is a non-aggregate
field, the criteria for the Cost is included in the Where clause of Total tab.
4. Double-click the field Cost in the Inventory table so as to include it into the Field tab of Query Design
window.
5. Change the Group By function of column Cost to Where clause in Total tab and write “<50” in the Criteria
tab, as shown in Fig. 1.2.38.
Note that the Show checkbox is cleared as Cost is a non-aggregate field and not a part of the query
result.
6. Click Run in Design -> Results to view the result of the query, as shown in Fig. 1.2.39.
3. The Crosstab Query Wizard appears. Select the table Sales Order and click Next as shown in Fig.
1.2.41.
5. Select the column to be taken as Column Heading in the next window of the Query Wizard that appears.
In this window, select the column Sold to Customer as shown in Fig. 1.2.43 and click Next.
6. Next page in the wizard prompts to specify the values that should appear on the intersection of rows and
columns. Select the column Sales Order Number from the Fields tab and Count from the Functions tab
in this page, as shown in Fig. 1.2.44. Click Next.
NOTE: This page has a checkbox Yes, include row sums; which if checked, allows the inclusion of the grand
total of values in the row as a column in the query result.
8. The result of the query appears in Datasheet form, as shown in Fig. 1.2.46.
NOTE: The Access 2010 query window has changed the criteria expression suitable to match column
values.
2. Click Run in Design -> Results to view the modified result as shown in Fig.1.2.49.
4. Now to compute the Total Sales of the Product, multiply Quantity * Price and create a new column. Write
the expression Total Sales: [Quantity]*[Price] in the Field tab of the next column as displayed in Fig.
1.2.54.
5. Click Run in Design –> Results to view the query result. The result appears as shown in Fig.
1.2.55.
Now, we have achieved the desired result from the query. However, the Summary Report through PivotTable is
required to be created.
Steps for Creating PivotTable from the query
1. Open the query in PivotTable View by clicking PivotTable View from Home -> Views, as displayed in Fig.
1.2.56.
NOTE: If the PivotTable Field List does not appear, obtain the list by clicking Field List from Show/Hide
group on the Design tab as indicated in Fig. 1.2.58.
8. Open the drop-down in Category Filter Area, clear all checkboxes and check the Personal Watercraft and
click OK as in Fig. 1.2.60.
9. Click on the negative sign on Quarter tab so that the months disappear. Also, click on the plus sign with
Totals to make the Grand Total appear. Make sure that all the plus signs in Item Number Row are clicked
so as to make the Total Sales value appear. The final query should appear as shown in Fig. 1.2.61.
Fig. 1.2.61: Quarterly sales of all the Products from Personal Watercraft category
1.2.5.3 PivotChart
A PivotChart is a tool used for graphical analysis of data. In simple terms, PivotChart helps visualize a
PivotTable, Query or a Form. It can display summarized data in different chart formats and enables data
analysis. Data can be presented by using different chart formats as required, and unwanted items can be
hidden from being viewed.
The PivotChart view in a query can be obtained by selecting the PivotChart View from Home -> Views, as
indicated in Fig. 1.2.62.
Description of the various headings marked in PivotChart above is given in Table 2.2.3.
Headings Description
X-Axis The horizontal axis in PivotChart
Y-Axis The vertical axis in PivotChart
Legend A table displaying the color code used for each data series in PivotChart
Filter Field A field on basis of which filter can be applied on PivotChart.
Data Field Field values to be shown along the Y-axis.
Category Field Field values to be shown along the X-axis.
Series Field Field values that will form the legend of the graph.
3. If the Chart Field List is not there, select the Field List option from the Show/Hide group on the Design
tab.
4. Select the Category field from Chart Field List and drag it to the Drop Filter Fields Here area.
5. Select Years by expanding the Sales Date By Month field and drag it to the Drop Category Fields Here
area. Similarly, select and drag Quarters to the Drop Category Fields Here area.
6. Select the Item Number field and drag it to the Drop Series Fields Here area.
7. Select and drag the Total Sales field to the Drop Data Fields Here area.
8. To display the legend, select Legend from the Show/Hide group on the Design tab, as indicated in Fig.
1.2.65.
2. In the Properties window, go to the Format tab and change the Caption property to Sales Quarter as in
Fig. 1.2.70.
3. In a similar manner, change the caption of Y-Axis to Total Sales. The PivotChart appears as in Fig. 1.2.71.
Now if we wish to see the chart of quarterly sales of all the products from Truck category for the year 2011, the
PivotChart will be obtained as follows:
4. Open the drop-down in the Category Filter area, clear all checkboxes check the Truck checkbox and click
OK as in Fig. 1.2.72.
5. In a similar manner, select 2011 from Years drop-down in horizontal axis. The resultant chart appears as in
Fig. 1.2.73 indicating the sale of different items of Truck category, which is maximum in Quarter2 and
minimum in Quarter4.
Right Outer Join: It is just the opposite of left outer join. The query using right outer join returns all the rows
from right table, and also those rows from the left table that share a common value on both sides of the join.
1.3.1 Problem Scenario
The Operations Regional Head of Apex Ltd. is required to produce a report giving the details of the payments
received.
For this purpose, two reports are required to be prepared:
First report indicating the Invoices for which payments have been made, including the invoice and
payments detail.
Second report displaying a list of all the sales order, their invoices and details of payments, including
those invoices for which payments have not been received.
Solution
To get the desired result, we create two queries:
First query to fulfill the requirement using inner join between tables Invoice and Payments.
Second query to achieve the second requirement which includes Sales Order, Invoice and Payments tables
with an left outer join between Invoice and Payments tables.
Steps to create the first query - to obtain invoices for which payments have been made
1. Open the Query Design window, by clicking Create -> Queries -> Query Design.
2. Select the Invoice and Payments tables from Show Table window and click Add. Click Close.
3. To join the two tables, click the Invoice Number from Invoice table and drag it to Invoice Number in
Payments table. The query window appears, as shown in Fig. 1.3.1.
NOTE: If the tables are already related through relationship window, the joining line automatically
appears between the tables.
5. Click the Save button on Quick Access Toolbar to save the query. Type the name of the query as
Payment Made.
6. Click the Run icon in Design -> Results to view the query result displaying invoices with their
payment details as shown in Fig. 1.3.3.
4. Select the fields Sales Order Number, Sold to Customer and Sales Date from Sales Order table and drag
them to the Columns tab. Similarly, select fields Invoice Number, Type of Invoice, Invoice Date, Source of
Order and Payment Terms from Invoice table and columns Date Paid, How Paid, Amount Paid and
Amount Alloc from Payments table. The query window appears as in Fig. 1.3.5.
5. Click Run in Design -> Results to view the query result as shown in Fig. 1.3.6.
Notice that these query results are showing only the records for which payments have been received. To get
the records for which the payment are not yet received, the join between Invoice and Payments table has to be
converted to left outer join.
Steps to create left outer join between Invoice and Payments tables
6. Switch to the query design view by clicking Design View in Home -> Views.
7. Right-click the joining line between Invoice and Payments tables and select Join Properties from the
menu, or double-click the joining line. The Join Properties window appears, as shown in Fig. 1.3.7.
9. The Join line changes to indicate that it is a left outer join. Notice an arrow pointing towards the Payments
table as indicated in Fig. 1.3.9.
Fig. 1.3.9: Left Outer Join between Invoice and Payments tables
10. Click Save on Quick Access Toolbar to save the query. Type the name of the query as Sales Order
Details.
11. Click Run in Design -> Results to view the query result shown in Fig. 1.3.10. Notice that the Date
Paid, How Paid, Amount Paid and Amount Alloc fields from table Payments are blank for few records,
indicating the invoices for which payments have not been received.
4. To create the calculated column, write the expression Total Amount Paid: [Tax] + [Freight] + [Other] in the
Field tab of the next column as displayed in Fig. 1.4.2.
5. Click Run in Design -> Results to view the query result. The result is displayed in Fig. 1.4.3. Note
the calculated column Total Amount Paid in query result.
1.5 Summary
Queries are the heart of every database application. Queries are responsible for converting diffuse data
contained in tables into information that users can actually use. Without queries, we would have to write a
complex code for every data extraction and transformation.
This chapter talks about more complex part of queries. Sub-queries, as the name indicates is a query within
query and helps us to retrieve data from multiple tables, and can also be used to replace Joins. The Query
Wizard can be used to create queries like Find Unmatched and Find Duplicate. Apart from this, queries can
generate summary reports using Group By and Crosstab Queries. Queries can be very interactive in terms of
PivotTables and PivotCharts which can be obtained by just changing the query view.
Queries can be based on multiple tables using different types of joins. Joins can be Inner Join or Outer Joins.
Queries provide much more liberty, such as adding newly calculated columns to query result or restrict number
of rows returned by specifying the criteria. Calculated columns enable us to implement normalization by
omitting unnecessary columns in the table and introducing them as calculated columns later.
In the absence of any constraints on the table, the sales team ended up inserting duplicate records of a
single customer. Write a query to find these duplicate records. (Consider the Customer Number as unique
for each customer.)
5. The Finance Head who keeps track of their inventory shipped, requires the report displaying the quantity of
items shipped every month of year 2011. Create a Totals query displaying the required data.
6. The company is issuing a discount policy to its customers. For this purpose, the Marketing Regional
Manager needs a detailed report of the customers. The report should contain Customers Names on rows
and Month Name as columns, and count of orders placed by each customer on the intersection cells of
rows and columns.
7. Create a user interactive report using PivotTable to display payments made by customers. The user should
be able to filter the customers according to their states and should be able to drill the payments in terms of
years, quarters, months and days.
8. Considering the scenario given in the above exercise, create a graphical view using PivotChart indicating
the total payments received quarter-wise from all the customers from a particular city. User should be able
to filter the city on the basis of their country.
9. Create a query containing mailing address list for all the customers with the following field list:
1 Salutation FirstName Last Name
2 Company
3 Street, City
4 State
5 Country
6 Postal Code
10. Display the list of all customers from New York (State Code – NY), with details of items they have ordered
and Total Amount to be paid by them.
4. Considering the scenario in question above, which function should be used with Item Number in query?
(a) Count
(b) Compute
(c) Sum
(d) Calculate
5. In the database Apex Inventory Shipment, to see total amount received from Payments table, it should be
dragged into which area of the PivotTable?
(a) Drop Column Fields Here
(b) Drop Row Fields Here
(c) Drop Totals or Detail Fields Here
(d) None of the above
6. Considering the database Apex Inventory Shipment, we wish to get all the sales orders with cash
payments. What needs to be done to achieve this?
(a) Create a sub-query with Sales Order as Payment type
(b) Create a select query on Sales Order table and write Cash as criteria for Payment Terms
(c) Create a Group-By query on Payment Terms
(d) None of the above
7. From the database Apex Inventory Shipment, we wish to retrieve a report displaying details of all the
invoices including the payments details (if already made) of the invoices. What type of Join should be used
in Query window to achieve the desired result?
(a) Left outer join
(b) Right outer join
(c) Default join
(d) No joins will be used
8. How can we add a table to the Query Design window?
(a) Select Create -> Add Table
(b) Select Database Tools -> Add Table
(c) Select Design -> Show Table
(d) Select the table from the Navigation Pane
9. If we are creating a Crosstab query, the table we are querying must contain what?
(a) Lots of confusing information
(b) More than 100 records
16. For the database Apex Inventory Shipment, we need to present a graphical view of the sales volume of
products. User should have the liberty to view all the products, or products from a particular category. For
this purpose, a PivotChart is created. Which field should be placed in area Drop Series Fields Here?
(a) Category
(b) Total Sales
(c) Month
(d) Item Number
17. For the above question, the area Drop Filter Fields Here should contain _________ field.
(a) Category
(b) Item Number
(c) Years
(d) Month
18. To view the results in Datasheet view of the query created, do the following _____________.
(a) Press F5 key
(b) Click Run on Design tab
(c) Press CTRL + R
(d) All of the above
19. The option in Design ribbon permits us to create what type of queries?
LEARNING OBJECTIVES
Advanced Form Design
Adding Unbound Controls
Adding Graphics to Form
Adding Calculated Values
Adding Combo Boxes
Make effective use of forms
Displaying a calendar control on a form
Organising information with tab pages
Displaying a summary of data in a form
Advanced Reports
Creating customised headers and footers
Adding calculated values
Sub-reports
Make Reports more effective
Including a chart in a report
Printing data in columns
Cancelling the printing of a blank report
2.1 Introduction
Forms help to display, add, modify, and delete data. Different features available in Access 2010 enable to
create forms such that it becomes easier for the users to handle data. Access 2010 provides various methods
to make forms handier and simpler. Different controls can be added to a form to enhance their working. Access
also provides ActiveX controls which are Microsoft control meant for different purposes. A form can be divided
into pages to increase the readability, or can include a summary section to display grouped data.
Reports can be considered as the static version of forms. Reports are the best way to present data to higher
authority and communicate the information to the people. They can be customized using header and footers,
calculated values, and sub-reports to represent linked data. Access 2010 also provides the facility to create
DATABASE APPLICATIONS USING MS-ACCESS
charts in reports which represents data diagrammatically. Since reports are used for business communication, it
must be available for everyone.
2. Select the Date & Time control from Design ribbon ->Header/Footer tab. The Date and Time window
appears, as shown in Fig. 2.2.3 select the date & time format from this window.
embedded in the form or linked to an external file. If the picture is linked, the graphic displayed on the form
changes any time the external file is edited.
The graphic can be inserted into the form in the following ways:
1. Import a graphic file (clip art, gif, jpeg, bmp, etc.) directly into the form.
2. Attach a link to the graphic that opens a website or other database object.
3. Associate the graphic with an existing macro in the database.
4. The form after the picture is inserted appears, as shown in Fig. 2.2.6.
NOTE: The formatting of the new added textbox can be copied from above cells.
4. Select Form View from Home ribbon -> Views tab to open the form in Form View. Confirm the textbox
displays the calculated value.
4. Select the first option i.e. I want the combo box to look up the values in a table or query and click Next.
5. In the Select Table or Query window, select the table option from View tab and choose table Customer
from the list, as indicated in Fig. 2.2.15. Click Next to continue.
NOTE: Even if the multiple fields are selected to be displayed in Combo Box, the Primary Key will be stored
in table or form.
7. Click Next to continue. In the Sort Order window select Customer Number as 1. This is indicated in Fig.
2.2.17.
NOTE: Hide Key Column hides the Primary Key to be displayed as a value in combo box, though internally
only Primary key is stored.
9. The next window confirms a unique value to be stored in table. Select Customer Number and click Next, as
indicated in Fig. 2.2.19.
often need to refer to a calendar to answer customer questions, such as when they will receive a shipment. A
calendar is necessary so that the customer service employees can take weekends and holidays into account
when they make an estimate as to when orders will be shipped.
NOTE: The Calendar control has many properties that you can set to create a custom appearance.
7. To set other properties of Calendar control, click on button in the Custom property in Other tab. The
Calendar properties appear, as shown in Fig. 2.3.6.
4. Extend the size of the form as required. Click on tab control in Design ribbon -> Controls tab and draw
it into the form. The form appears, as shown in Fig. 2.3.10.
8. In a similar manner, add the fields CompanyName, Company Details and Job Title to the Company Details
tab and also the fields Credit Limit, Payment Terms, Comments, and Document submitted to the Other
Details tab.
9. A tabbed form is prepared. Now the user can navigate between different tabs to view the information
required.
10. Save the form as frmCutomers.
3. Open the plus sign of the field Item Number and drag the field to Drop Row Fields Here. Open the plus sign
of Country and State drag Country and then State to Drop Column Fields Here. Similarly, open the plus
sign for Total Sale and drag the column Total Sale to Drop Totals or Detail Fields Here, and open the plus
sign of Sales Date By Month and drag the fields Years and Quarters to Drop Filter Field Here. The resultant
Pivot Table window is shown in Fig. 2.3.18.
Controls in the Report Header & Footer section are printed only once at the beginning and the end of the report.
A common use of a Report Header section is as a cover page or a cover letter, or for presenting information
that needs to be communicated only once to the user of the report. The Report Footer section can be used to
display the summarized data of whole report, like author of report, date & time, etc.
Controls in the Page Header & Footer section are normally printed at the top and bottom of every page.
Typically, Page Headers serve as column headers in group/total reports; they can also contain a title for the
report. A Group Header section normally displays the name of the group. Group Headers immediately precede
Detail sections. A Group Header is added to the report if any grouping is done in the report.
Each Header& Footer section in reports can be customized from their traditional look to meet user’s
requirement. Different controls can be added to header and footer. The textboxes or labels can be used to
display a user-defined message. Various functions and expression can be used to display summary results and
computed data.
Solution
The Database Developer adds a Page Header & Footer to the report and customizes the Page Header to hold a
label with Report Title, and Page Footer to contain the date & Time using Date Time control.
2. Expand the Page Header section. Select a label control from Design ribbon -> Controls tab and draw
it on the Page Header section, as indicated in Fig. 2.4.3.
3. Type the text Customers into the label and format it according to the requirement, as shown in Fig. 2.4.4.
6. Type text Name in label and format the label accordingly. The Report should appear, as shown in Fig.
2.4.12.
2.4.5 Sub-Reports
Sub-Report is a report that is inserted in another report. A sub-report, a complete report in its own right, is
inserted into another report, called the Main Report. Main Report can be either bound or unbound. A bound
main report is based on a table or query and its sub-reports contain related information. An unbound main
report is not based on a table or query, but can serve as a container for one or more sub-reports. A main report
can include as many sub-reports as necessary. The sub-reports can be added to two hierarchy levels.
Sub-Reports are usually an extension of data in main report. For example, the main report can contain details
about the sales in a year, while the sub-report can show data for sale of each item or charts and graphs
summarising and illustrating the numbers in the main report. If a sub report is inserted in a bounded main
report, it should contain some field to link to main report.
4. Select the option Use Existing Tables and Queries and click Next to proceed further, as shown in Fig.
2.4.15.
6. Click Next to advance. The Link Field window appears. Select Customer Number from Forms/Reports field
and Sale to Customer from Subforms /Sub reports field. The Sub Report Wizard appears, as shown in Fig.
2.4.17.
8. Open the resultant report in Report View by selecting Report View from Home ribbon -> Views tab. Final
report appears, as shown in Figure 2.4.19.
Charts can be included in reports to illustrate the information more clearly. Charts enhance the data presented
in reports by summarising the information and illustrating it in easily understandable ways. The reader can
analyse trends and make comparisons using charting tools. The chart can be linked to a field in the underlying
table or query.
3. Select Chart control from Design ribbon -> Controls tab and draw it on the report. The Chart Wizard
appears, as shown in Fig. 2.5.2.
4. Select the Queries option, and select Query: Sales Data from the list, as indicated in Fig. 2.5.3.
6. Click Next to proceed. In the Choose Chart Type, select the Column Chart and click Next.
7. In Preview Chart window drag field Qtr to Axis, Category to Series and Sales to Data as shown in Fig.
2.5.5. Click Next to advance.
NOTE: The chart object can be modified by right-clicking and selecting Chart Object -> Edit from the dropdown.
Also, the chart object can be embedded with existing data in the report so that the chart changes with each
record display.
To cancel previewing or printing of a blank report when the underlying query has been run with no records
returned, the On No Data event of the report is used.
4. Specify the second action as CancelEvent and click the Close button to close the Macro window. The
confirmation message appears, as indicated in Fig. 2.5.11.
2.6 Summary
Forms and Reports are a crucial part of data representation in Access 2010. Access 2010 provides various
utilities to make Forms and Reports more user-friendly and presentable. Different controls can be added to
forms to display the logo of the company, date and time, and pictures. Forms also permit the inclusion
calculated values and combo boxes which make it much easier to handle the controls and present data to user.
This control helps make data handling easier for the user. Access 2010 provides various ActiveX like calendar
control to make forms more interactive. Sometimes, it is required to display the information on a form in groups.
The tab control available with Access 2010 can be used for this purpose. The popular utility for summarizing
data of Pivot Table to summarize data is also available in Access 2010.
Reports represent static data, but are a useful way of communicating. Reports in Access 2010 can be
customized to user’s requirements including its header and footers. Another crucial feature available with
reports is sub-reports, which enable data linking in several tables. Apart from this, we can add charts and
calculated controls to reports to make them more visible. The properties of reports can be used to avoid printing
of blank reports.
7. The Sales Manager of the Company wishes to launch some sales promotional offers. He requested the
database developer to create a form which should display the summarized count and cost of Orders placed
by each customer on Quarter and month basis. He should also be able to view the same results for a
particular category. Create a form containing Summary of Data.
The developer of Apex Inventory Shipment database needs to create Item Sales report. The report should
be grouped by Category and then Item and should display quantity and price of Item sold. The report is
displayed in Figure below:
12. The details of the Sales of Item were to be presented in the Monthly meeting as a hardcopy. So the
Manager asked the executive to get the report into columnar format so that is more readable. Remove the
Page Headers and the chart, and print the report in two columns.
13. For the Annual review of the sales, the Vice President demanded a report displaying the product sales by
month. The reports should display the products from a particular category, which is given by the user. The
report should represent the data diagrammatically using charts. Create the required Report.
14. The Sales Manager found that there are few categories which are not produced any more by the company
but are not discarded in the report. As a result if such category is entered, a blank report gets printed. As a
report administrator, cancel the printing of the blank report.
Multiple Choice Questions
1. The controls that are not linked to any field of the table or query on the form are known as ________.
(a) ActiveX control
(b) Unbounded Controls
(c) Graphics Control
(d) Bound Controls
2. The Vice President of the Company wishes to add the image of the company vision statement as a
background of all the forms. Which control can be used for the purpose?
(a) Calendar Control
8. The Regional Sales Head demanded a summary report indicating the monthly sales done by each
employee in each zone. Which kind of form is best to display the required data?
(a) Use tabbed browsing
(b) Insert an Image in form
(c) Insert SubForm
(d) Create Pivot Table
9. To print the multi-columnar report, the number of columns can be set through _________ property.
(a) Report property sheet
(b) Page Setup
(c) Report wizard
(d) Grouping
10. The persons from the delivery team found it very annoying that even when the reports contained no data,
they are printed and they have to search for such reports among all the printed data. They requested the
developer to find the solution to this problem. Which property of report can be used to implement the
requirement?
(a) CancelPrint
(b) CancelEvent
(c) Create a macro called On No Data
(d) Create a macro called On Print
11. To display the data of the Products and the orders placed for each product in the current month. The
following feature available in Reports can be used.
(a) Report Wizard
(b) Nested Reports
(c) Grouping
(d) SubReports
12. The Regional Head wishes to view the diagrammatic representation of data indicating the sales made by
each zone in his region. Which feature can help to implement the requirement?
(a) Graphics
(b) ActiveX
(c) Charts
(d) Pivot Table
13. To display the list of employees grouped according to first letter of their name, which type of controls can
be used in reports?
LEARNING OBJECTIVES
Using operands in Criteria Expressions
Using built-in functions
Working with Expression Builder
3.1 Introduction
Expressions in Microsoft Access 2010 can be considered similar to formulae in Microsoft Excel. Expressions
are a combination of operands, operators, functions, and values that are evaluated according to their order of
precedence. Expressions can be used with tables, queries, forms, reports, and macros. In Access, expressions
are used to obtain calculated values, provide criteria, and query or supply constraint to table columns. Access
also provides a powerful user interactive graphical tool to create expressions known as Expression Builder.
In this chapter, we will discuss how to build criteria expressions in Access. We will also look at using various
components of an expression for building query criteria. This chapter will also identify various operators
available in Access 2010. Next, we will discuss the available built-in functions in Access. We will discuss the
different type of functions and their utilisation. Further, this chapter will cover how to use Expression Builder to
create expressions using Objects, Functions, Operators, and Identifiers.
3.2.1 Literals
A literal is value that is not addressed by any name. It can be typed directly into the criteria expression. In
Access, literal can be of type number, text, date, or logical value (i.e. True or False). Literals are also referred
as constants as their values remain static throughout the evaluation of expression.
Examples of literal:
“Hello” + “ “ + “Everyone” , Here Hello and Everyone are Text literals
[Date] > #1/1/2011#, Here 1/1/2011 (1-Jan-2011) is a Date literal
BUILDING CRITERIA EXPRESSIONS
3.2.2 Identifiers
Identifiers are variables. In Access, identifiers represent field name, table name, or control name. Identifiers are
a crucial part of expression building as they specify the column to which an expression represents. While
creating an expression in Access, identifiers are always represented in square brackets [ ].
Examples of identifiers used in an expression:
[Basic Salary] + [Tax]: Where Basic Salary and Tax are identifiers
3.2.3 Functions
Functions provide specialised operations to enhance the working of Access. Functions are built-in expressions
that take an input, perform necessary calculations on it, and return the output. The input accepted by the
function is called arguments; a function may have one or more number of arguments. Access provides us
different functions to work with different type of data, such as Text functions, Date and Time functions, Numeric
functions, and Mathematical functions.
For example, a text function Length takes an input string as an argument and returns the length of the string in
number as:
Length (“MS Access”) will return 9.
3.2.3.1 Problem Scenario
Apex Ltd. is launching a new production unit in “California”, which will also focus on some new products. To
promote these products a detailed list of all existing customers from “California” (state code CA) is required.
Solution
To achieve this, a query displaying Name, Contact Info, and Address of the customers is required. To get only
the customers from “California”, the value CA in the criteria for the state field needs to be specified. Here, CA
is a literal operand and is typed direct in query criteria.
Steps for creating required query
1. Click Create ribbon -> Other -> Query Design to open the Query Design window.
2. Select Customers from Show Table and click Add, as displayed in Fig. 3.2.1.
B Brackets first
O Orders (ie Powers and Square Roots, etc.)
DM Division and Multiplication (left-to-right)
AS Addition and Subtraction (left-to-right)
Operators are first preceded in the order of their category and then within each category each operator has its
own precedence order. Operators precedence according to their category is displayed in Table 3.5, from the
highest to the lowest.
Comparison
Equal = I
Not equal <> II
Less than < III
Greater than > IV
Less than or equal to <= V
Greater than or equal to >= VI
Logical
Not I
And II
Or III
Xor IV
Eqv V
Imp VI
Table 3.6: Operator Precedence within Category
Select all the columns from the Sales Order table and drag them to the Columns tab. The Query window
appears, as shown in Fig. 3.3.4.
4. Click the Run sign in Design ribbon -> Results to view results, as shown in Fig. 3.3.6.
3. Select Item Number, Category, Sub Category, Description, and Model from the Inventory table and drag
them to the Columns tab. Similarly drag Sales Order Number, Quantity, Unit, and Price. The Query
window appears, as shown in Fig. 3.3.8.
5. Click on the toolbar to save the query. Type the name of query as “Inventory Sales”.
Steps for creating the query to obtain the list of products
1. Click Create ribbon -> Queries -> Query Design to open the Query Design window.
2. Select the Inventory and Sales Item Description table from the Show Table window and click Add.
3. Select Item Number, Category, Sub Category, Description, and Model from the Inventory table and drag
them to the Columns tab. Similarly, drag Sales Order Number, Quantity, and Price. The Query window
appears, as shown in Fig. 3.3.10.
6. Click in Design ribbon -> Results to view the results, as shown in Fig. 3.3.12.
6. Click in Design ribbon -> Results to view the results, as shown in Fig. 3.3.15.
3. Click on the toolbar to save the query. Type the name of query as Orders Delayed.
4. Click in Design ribbon -> Results to view the results, as shown in Fig. 3.4.3.
7. Double Click the Len function to include expression in Expression Box, as shown as in Fig. 3.5.6.
11. Click OK to save the expression. Note the written expression appears in criteria of the Sale to Customer
field, as shown in Fig. 3.5.9.
12. Click in Design ribbon -> Results to view the results, as shown in Fig. 3.5.10.
3.6 Summary
This chapter focused on creation of criteria expressions in Access 2010. The different components of the
expression are – operators, operands, and functions. Operands can be considered as values used for
performing operations. Operands can be further distinguished as literals, identifiers, and functions. Further, this
chapter introduced different types of operators as – comparison, arithmetic, logical, and miscellaneous.
Functions are built in code to help us work better with expressions. There are different types of functions
available in Access to work with different data types. Various functions available are - Text Function, Date and
12. The criteria [Sales Date] > #1/1/2011# XOR [Payment Terms] = “Cheque” will return records only when …
(a) [Sales Date] is greater than 1-Jan-2011 And [Payment Terms] is “Cheque”
(b) Either [Sales Date] is greater than 1-Jan-2011 Or [Payment Terms] is “Cheque”, but not both
(c) [Sales Date] is greater than 1-Jan-2011 Or [Payment Terms] is “Cheque”
(d) All of the above
13. Consider the query on the Inventory table:
(a) Math
(b) Financial
(c) Text
(d) Date & Time
16. The expression to combine first three characters of Customer First Name and last four characters of Sales
Order Number placed by customer will be:
(a) [First Name] + [Sales Order Number]
(b) [First Name] & [Sales Order Number]
(c) Left([First Name],3) + Right([Sales Order Number],4)
(d) Left([First Name]) + Right([Sales Order Number])
17. The expression 3\4 will return
(a) 0.75
(b) ¾
(c) 0
(d) None of the above
18. The Instr(4, “XXpXXpXXPXXP" , “P”) function will return
(a) 3
(b) 6
(c) 9
(d) None
19. Which of the following is not a Date Time function?
(a) Today()
(b) Date()
(c) Now()
(d) MonthName()
20. A query with compound criteria, where both the criteria are written on the same row of two different fields.
This will be creating_____________ compound criteria?
(a) OR compound criteria
(b) AND compound criteria
(c) XOR compound criteria
(d) EQV compound criteria
4.1 Introduction
A macro allows you to automate tasks and add functionality to your forms, reports, and controls. Access macros
let you perform defined actions and add functionality to your forms and reports. Macros in Access can be
thought of a graphical and a simpler way to do programming. Every macro has a list of actions and arguments
defined for each action. Macros can be used independently or attached to a form, report, or control events.
Arguments provided in a macro can restrict, validate, or automate data entry. Microsoft Access 2010 has added
new features to macros to eliminate the need to writing VBA code.
Switchboards are forms available in Access 2010 to present data in the form so that users can focus on using
the database as intended. A switchboard form presents the user with a limited number of choices for working
with the application and makes the application easier to use. For example, a switchboard may give choice to
open the tables, forms, and open or print reports.
Actions Catalog: Actions are the basic building blocks of macros. MS Access 2010 provides a Action Catalog
pane that contained large list of actions to be chosen, enabling a wide range of commands that can be
performed. Some of the commonly used actions are: open a report, find a record, display a message box, or
apply a filter to a form or report. A list of some commonly used actions in macro is displayed in Table 4.2.
Action Description
ApplyFilter Applies a filter or query to a table, form, or report.
CancelEvent Cancels the event that caused the macro to run.
Close Closes the specified window or the active window, if none is specified.
CopyObject Copies the specified database object to a different Microsoft Access database or to
the same database with a new name.
DeleteObject Deletes the specified object or the object selected in the Database window, if no
object is specified.
Echo Hides or shows the results of a macro while it runs.
FindNext Finds the next record that meets the criteria specified with the most recent
FindRecord action or the Find dialog box. Use to move successively through
records that meet the same criteria.
FindRecord Finds the first or next record that meets the specified criteria. Records can be found
in the active form or datasheet.
GoToControl Selects the specified field on the active datasheet or form.
GoToPage Selects the first control on the specified page of the active form.
GoToRecord Makes the specified record the current record in a table, form, or query. Use to
move to the first, last, next, or previous record.
Maximize Maximizes the active window.
Minimize Minimizes the active window.
MoveSize Moves and/or changes the size of the active window.
MsgBox Displays a message box containing a warning or informational message.
OpenForm Opens a form in the Form view, Design view, Print Preview, or Datasheet view.
OpenModule Opens the specified Visual Basic module in the Design view.
OpenQuery Opens a query in the Datasheet view, Design view, or Print Preview.
OpenReport Opens a report in the Design view or Print Preview or prints the report immediately.
OpenTable Opens a table in the Datasheet view, Design view, or Print Preview.
OutputTo Exports the specified database object to a Microsoft Excel file (.xls), rich-text file
(.rtf), text file (.txt), or HTML file (.htm).
PrintOut Prints the active database object. You can print datasheets, reports, forms, and
modules.
Quit Quits Microsoft Access.
Fig. 4.2.6 : Box for each argument and type necessary values
Object Type : Table
Object Name : Orders
Output Format : Excel Workbook (*.xlsx)
ADVANCED INFORMATION TECHNOLOGY 285
DATABASE APPLICATIONS USING MS-ACCESS
Macro Builder can use many actions in a single macro or create multiple macros in one macro designer by
using macro names. Macro can also be assigned shortcut keys using the AutoKeys macro.
Now, add a button on the form and attach a macro to the click event of the button. Macro is the same as
created in section 4.2.9 and exports and mails the list.
1. Open the Orders form in the Design view. To do this, right-click the form and select Design View from the
list.
2. To add a button to the form, select Design -> Controls button to be added and draw it on the form, as
shown in Fig. 4.2.10. Cancel the Command Button wizard that appears.
3. Open the control properties by selecting the Command button and press F4. Alternatively, select Property
Sheet from Design -> Tools, as shown in Fig. 4.2.12.
6. In the Event tab of the Property Sheet, set the value of the On Click event. To do this, click to open
the list and select MailCurrentOrders, as shown in Fig. 4.2.15.
Command24
Command24
Multiple macros can be created in a single Macro Designer window by giving each macro a different name and
can be attached to an event of form or control by specifying their name.
9. The created macro gets embedded in the Property window and is shown in the On Click property. The
Property Sheet appears, as shown in Fig. 4.2.26.
Solution
To solve the above problem, a macro will be embedded on the Click event property of the Save Command
Button. This macro will check if the Item Number is blank and will display a message accordingly.
Steps for Validating Item Number
1. Open the frmOrders form in Design View. To do this right-click the frmOrders form under the All Access
Objects tab and select Design View from the list.
2. Add a button to the form by selecting the button from Design -> Controls and draw it on the form. Cancel
the Command Button wizard that appears.
3. Open the control properties by selecting the Command button and pressing F4. Set the value of the
Caption property as Save, as shown in Fig. 4.2.28.
13. To check the macro, open the frmOrders form in Form View and enter a new record with the values, as
shown in Fig. 4.2.38.
Note that the multiple conditions and their post actions can be specified in the same macro; specifying the
validation rule for other fields also.
Solution
A text box as Total Order Cost is added to the form, and a macro is created on the Exit event of price to
compute the total cost of an order. This macro first checks the value of Quantity is not null and then computes
Total Cost.
Steps for creating a macro to automate data entry
1. Open the frmOrders form in the Design view. Add a TextBox to a form, select the TextBox control from
Design -> Controls and draw it on the form, as shown in Fig. 4.2.40.
Note that the TextBox also creates a label on the form so as the label to the Text value can be specified.
2. Double-click the label and write the text Total Cost. Change the format of the label to match it with other
controls. In this case, set the format as “Times New Roman, size 12, Bold”. The Form Design window
appears, as shown in Fig. 4.2.41.
7. In the Condition tab of the Macro Designer type the text [Quantity] Is Not Null, this condition checks if the
Quantity value is blank.
8. In the Action drop down, select the SetLocalVar action from the list. Set the value of Action arguments as:
Name : Name of the local Vatriable
Expression : [Quantity] * [Price]
The Query Designer window appears, as shown in Fig. 4.2.44.
12. As you enter the value for price and move to the next textbox, the On Exit event of the Price control gets
executed and the total cost is calculated, as shown as Fig. 4.2.48.
number of switchboard forms to use. For instance, a manager with a higher level of privileges may be given a
form with more options than a clerical worker would be given.
11. In the Edit Switchboard Item dialog box, in the Text field, type Orders as name of the button. From the
Command list, select Open Form in Add Mode.
12. From the Form list, select frmOrders and click OK. The Edit Switchboard window appears, as shown in
Fig. 4.3.12.
14. The Switchboard Manager window appears. Select User Switchboard and click the Make Default button.
This option will set the User Switchboard as default switchboard. The Switchboard Manager window
appears, as shown in Fig. 4.3.14.
2. Click Design -> Controls -> logo button and browse to the logo image, as shown in Fig. 4.3.17.
6. Edit Switchboard Page appears. Click New to create a button, as shown in Fig. 4.3.24.
4. Go to Application Options, click in the Display form and select Switchboard from the list that appears,
as shown in Fig. 4.3.30.
4.4 Summary
Macros can be created from simple to complex with one or multiple actions. Macro can be executed as a
separate object or can be attached to an event property of form, controls, or reports. The attached macros are
executed when the event occurs. Macro can also be useful in restricting the number of records to retrieve using
the Where clause available with certain actions. Using macro names, can help one macro object hold many
macros. Conditions can also be specified with macros to validate the data entry. Macros can also be embedded
with the control so that it is stored in the control and moves around with the control.
Switchboards can help to navigate between the various database objects easily and manage data more
effectively. The switchboard is essentially a steering wheel for users to find their way through the functions and
forms that are available in the application. The switchboard is used as a navigation form, using buttons to
display other forms. Switchboards are created using Switchboard Manager. A Switchboard Manager creates a
switchboard form and a switchboard items table automatically. Switchboards can be set as database startup
options so they should be displayed as the database is opened and can guide the user through proper options.
Inventory Form
5. Consider the Inventory form created in previous example, create a macro to ensure that Category and Sub
Category of an Item should not be left blank and Quantity on Order should not be less than Reorder
Quantity. Display customized message if the validation is not followed.
6. The operations manager wishes to have the application customized for the users of Operations
department. The operations manager asked the developer to create a switchboard form that should contain
the link to open Inventory table, also it should display the Sales Orders along with their Invoices. Create a
switchboard for the purpose.
7. Modify the above created switchboard so as when users selects inventory option another switchboard must
be opened. This switchboard gives user option to display the entire Inventory, Inventory from a particular
category and Items for which Quantity in Stock is more than 100.
8. Set the Switchboard created in Question No. 6 to the startup option of database so that it opens
automatically as user opens the database.
9. Add a button to the Inventory form created in Question 4. The button should display all the orders from
Sales Order Description table that were placed for the particular item. The item must be the item that is
displayed currently in the form. (Attach a macro to the button for the purpose).
10. Edit the switchboard in Question No. 7. Add a button to the switchboard that should open the Inventory
form.