This document provides a user guide for the Audit Commander software. It describes the main functions of the software including audit queries, electronic work papers, monitoring, and macros. The guide explains how to perform ad hoc queries on data to support audit tasks, set up electronic work papers to document procedures, monitor data for unusual transactions, and automate tasks using macros. It also covers installation of the software and includes example work papers and monitoring files.
2. Audit Commander User Guide
Audit Commander
The software described in this document may be freely downloaded
and used without restriction. Additional information about the audit
software is available at the web site http://ezrstats.com.
The EZ-R Stats, LLC name and EZ-R Stats, LLC logo are
trademarks or registered trademarks of EZ-R Stats, LLC.
All other trademarks are the property of their respective owners.
All comments and suggestions are welcome.
3. Audit Commander User Guide
Document History
Revision History
Revision Revision Date Summary of Changes Author
Number
1.0 7-30-2009 Initial Version M. Blakley
1.1 9-4-2009 Minor edits M. Blakley
1.2 9-14-2009 Monitoring update version 1.88 M. Blakley
Audit Commander User Guide Copyright 2009 Page 3 of 135
4. Audit Commander User Guide
Table of Contents
1 ABOUT THIS GUIDE..........................................................................................................................6
1.1 W HO SHOULD USE IT........................................................................................................................6
1.2 TYPOGRAPHICAL CONVENTIONS ...........................................................................................................7
1.3 PURPOSE........................................................................................................................................7
1.4 SCOPE...........................................................................................................................................8
1.5 INTENDED AUDIENCE...........................................................................................................................8
1.6 HARDWARE REQUIREMENTS..................................................................................................................8
1.7 SOFTWARE REQUIREMENTS..................................................................................................................8
2 GETTING STARTED..........................................................................................................................9
2.1 SUGGESTIONS..................................................................................................................................9
2.2 DATA EXERCISES...............................................................................................................................9
2.3 HOW TO USE THE SOFTWARE................................................................................................................9
2.4 PRIMARY MEANS TO USE THE SOFTWARE..................................................................................................9
3 AUDIT QUERIES..............................................................................................................................11
3.1 OVERVIEW.....................................................................................................................................11
3.2 BENEFITS......................................................................................................................................11
3.3 THE BASIC FORM.............................................................................................................................12
3.4 THE BASIC ELEMENTS.......................................................................................................................16
3.5 ADDITIONAL INFORMATION FIELDS.........................................................................................................20
3.6 STATUS BAR..................................................................................................................................20
3.7 REFINING THE QUERY.......................................................................................................................20
3.8 TYPES OF QUERIES..........................................................................................................................24
4 ELECTRONIC WORK PAPERS.......................................................................................................45
4.1 OVERVIEW.....................................................................................................................................45
4.2 EXAMPLE USAGE.............................................................................................................................45
4.3 BENEFITS......................................................................................................................................45
4.4 THE BASIC FORM.............................................................................................................................46
4.5 REPORT TAB..................................................................................................................................48
4.6 DEFINING THE AUDIT PROCEDURES.......................................................................................................49
4.7 RUNNING THE COMMANDS..................................................................................................................49
5 MONITORING..................................................................................................................................73
5. Audit Commander User Guide
5.1 OVERVIEW.....................................................................................................................................73
5.2 EXAMPLE USAGE.............................................................................................................................74
5.3 BENEFITS......................................................................................................................................74
5.4 THE BASIC FORM.............................................................................................................................74
5.5 CHARTS .......................................................................................................................................76
5.6 SPECIFYING HOW THE GRAPHICS ARE PREPARED......................................................................................80
5.7 COMMAND DETAILS TAB.....................................................................................................................80
5.8 TYPES OF MONITORING....................................................................................................................81
6 MACROS.........................................................................................................................................98
6.1 OVERVIEW.....................................................................................................................................98
6.2 BENEFITS......................................................................................................................................98
6.3 SETTING UP THE MACROS..................................................................................................................98
6.4 THE EWM CLASS..........................................................................................................................98
6.5 “REGISTERING” THE DLL...................................................................................................................98
6.6 RUNNING THE MACROS.....................................................................................................................99
6.7 ERROR HANDLING...........................................................................................................................99
6.8 TYPES OF COMMANDS.....................................................................................................................100
7 INSTALLATION..............................................................................................................................130
7.1 OVERVIEW...................................................................................................................................130
7.2 SILENT VS. “REGULAR” INSTALL........................................................................................................130
7.3 REGISTERING THE SOFTWARE...........................................................................................................130
7.4 INSTALLATION OPTIONS....................................................................................................................130
7.5 INSTALLATION TROUBLE SHOOTING.....................................................................................................130
7.6 IF THERE ARE PROBLEMS DURING THE INSTALLATION, CONSIDER THE FOLLOWING POINTS:..................................130
7.7 FILES/DATA THAT ARE INSTALLED........................................................................................................131
7.8 REGISTRY ENTRIES THAT ARE CREATED................................................................................................131
8 APPENDIX A – EXAMPLE ELECTRONIC WORK PAPERS..........................................................132
9 APPENDIX B – EXAMPLE MONITORING FILES..........................................................................134
Audit Commander User Guide Copyright 2009 Page 5 of 135
6. Audit Commander User Guide
1 About this guide
This document is divided into the following chapters:
• Chapter 1 - Overview
• Chapter 2 - Getting Started – a brief introduction using example data and audit tests
• Chapter 3 - Audit Queries – obtaining useful audit information using queries
• Chapter 4 - Electronic work papers
• Chapter 5 - Setting up monitoring systems
• Chapter 6 - The macro facility
• Chapter 7 - The software installation process
• Appendix A – Example Electronic work papers
• Appendix B – Example Monitoring Files
1.1 Who Should Use It
Auditors, researchers, business analysts and academics who use data analytics to perform their
jobs.
• Auditors: can use the software to support their audit tasks
• Researchers: use the software for:
• Data analysis
• Data mining
• Statistical reports and charts
7. Audit Commander User Guide
1.2 Typographical Conventions
This document uses the following typographical conventions:
• Command and option names appear in bold type in definitions and examples.
• Screen output and code samples appear in monospace type.
1.3 Purpose
The purpose of the software is to simplify and streamline the audit process as it relates to data
analysis. By making data analysis procedures easier, more auditors will be able to use the
software and apply it to their audit tasks.
Used for the most commonly performed audit tests. Includes 30+ commonly performed audit
procedures. The software is designed to work with data that is already in a format familiar to the
auditor, i.e. Microsoft Excel or Microsoft Access. The software also works with data which has
been “exported” from other systems and is in text format.
The auditor does not need special computer skills in order to be able to analyze existing data
and apply a variety of “canned” audit procedures using a menu driven system. Output from the
system can be easily imported into Excel for documentation or further analysis. In many cases
the software outputs the results in chart format as well, to help provide a visual representation of
the results of the audit tests performed.
Development of the software began in August 2005 when the author searched fruitlessly for a
relatively easy to use, economical software package for common data analysis routines needed
by auditors. During its development, suggestions and improvements were made by a variety of
audit practitioners.
More information about the system is available from the website, http://ezrstats.com.
Audit Commander User Guide Copyright 2009 Page 7 of 135
8. Audit Commander User Guide
1.4 Scope
The purpose of this guide is to explain how the software can be used. As future versions are
released, registered users can obtain updates to this document in electronic format.
1.5 Intended audience
The software is intended for use by both internal and external auditors, researchers, students
learning auditing and data mining, business analysts and anyone else interested in data
analytics.
1.6 Hardware requirements
At least 512 MB of memory (more if possible). Minimum disk space is 27 MB.
1.7 Software requirements
Works only in Windows XP, Vista or Windows 7. Requires ActiveX Data Objects which is part of
SP1. (ActiveX Data Objects can be downloaded from the Microsoft web site at no charge)
9. Audit Commander User Guide
2 Getting Started
2.1 Suggestions
Below are the suggested steps for getting started with the Audit Commander.
1. Installation is a standard "setup.exe". For detail instructions, please visit the instruction
page at http://ezrstats/com/General/Install.html.
2. You may wish to register for the electronic bulletin board. Instructions to do so are
provided at http://ezrstats.com/Forums.html.
3. Query files are included as part of the standard software installation and are named
Query.ini and Monitor.ini.
4. The tutorials page on the website has links to both videos and slide shows. Tutorials
page is at http://ezrstats.com/tut.html.
5. If you register for the electronic bulletin board (no cost) you may post questions and
search for answers to your questions. Note that the forum is publicly available.
6. A monthly newsletter of various audit topics is available free (must register). Signup form
is available under "Newsletter". at http://ezrstats.biz.
2.2 Data exercises
To obtain a working overview of the system, walk through an example audit of fixed assets using
the electronic work paper examples already set up. Step by step instructions are provided at
http://ezrstats.com/Tutorial1.html.
2.3 How to use the software
2.4 Primary means to use the software.
There are four primary methods to use the software:
Ad Hoc Queries
Electronic work papers
Audit Commander User Guide Copyright 2009 Page 9 of 135
10. Audit Commander User Guide
Monitoring
Macros
Generally, use of the software begins with the Ad Hoc query facility. This enables the auditor to
perform various “exploratory” type queries in order to perform specific audit tests and also to
possibly begin the foundation for developing electronic work papers or establishing a monitoring
system.
An option of the ad hoc query system is to “log” the queries. This results in a log file which may
then be incorporated into or used with both the electronic work paper facility as well as the
monitoring facility. This file may also be constructed (or edited) manually using any standard text
editor such as Word Pad. The electronic work paper facility is designed to provide a repeatable
process, e.g. audits and audit procedures that are performed on a recurring basis. Advantages
are that the audit procedures developed may be shared and re-used, reducing audit time in
certain instances.
The monitoring facility adds on to the ad hoc query facility and the electronic work papers. The
intent is to develop automated procedures which can alert the auditor when unusual or out of the
ordinary transactions occur. This facility is developed based upon the auditors knowledge and
experience with the systems being audited. Although there is currently no procedure to have
these monitoring processes performed automatically, such procedures are currently being tested
with the intent of release by January 2010.
11. Chapter 3 – Audit Queries
3 Audit Queries
Ad-hoc data queries are commonly required during audits, but all too often time consuming to
perform. However, many auditors are comfortable using menus and forms with “fill in the
blanks”. This chapter describes a method for auditors who need to perform common audit
procedures on data stored in Microsoft excel or Access databases, or who need to work with
data that has been imported/exported from/to other systems (e.g. databases) and is available in
text file format.
3.1 Overview
The audit query facility consists of 30+ commonly performed data analytics which can be used to
perform audit steps or provide a support function. Each of these query facilities are menu
driven, work with data in both Excel, Access and text file format and output the results as charts
and electronic work papers.
In addition, each query has certain “drill down” capabilities which enable the auditor to focus on
specific transactions or other data of specific audit interest. For example, the auditor may be
interested in specific date ranges, specific geographic locations, amounts etc. An optional
logging facility provides a means to capture the queries as they are performed so that they may
be re-performed, shared or included with an electronic work paper or monitoring system.
3.2 Benefits
The primary benefits of an ad hoc query system are the reduction of audit and training time to
enable to the auditor to perform data analytics and other procedures in support of the audit
function. Additional benefits are the preparation of audit documents used to explain and define
the audit procedures that were performed, the results obtained and the conclusions that the
auditor arrived at.
Note: The system uses standard Windows type menus in order to reduce the amount of
time required to be productive.
12. Chapter 3 – Audit Queries
3.3 The basic form
The ad hoc query process begins by selecting the menu item "Audit Tests" | "General". This
results in the opening form displayed below.
Figure 1 – Opening form
13. Chapter 3 – Audit Queries
The key driver of the form is the “Analytical Function” menu item in the upper left hand corner of
the form. This menu items groups the audit commands into five categories, depending upon the
type of audit procedure being performed:
Numeric:
The nine functions below perform various analyses on numeric data.
Figure 2 Numeric commands
Audit Commander User Guide Copyright 2009 Page 13 of 135
14. Chapter 3 – Audit Queries
Date
Figure 3 – date commands
Other
Figure 4 – Other commands
16. Chapter 3 – Audit Queries
Every menu item selected will present the same basic form for data collection.
This opening form contains six tabs.
This is the main form where the specifics of the query are provided. This form is also used to run
the query.
Figure 7 – The Query form
3.4 The basic elements
3.4.1 Data source
The data being audited may exist in various file formats. Audit Commander can analyze data in
Excel format (Office 2003 and 2007), Access format (Access 2002 and 2007), or text files (e.g.
comma separated values (CSV) format, tab separated value (TSV), fixed columns and DBASE
17. Chapter 3 – Audit Queries
IV. The example illustrated uses the commonly used data format - Excel. This data source format
(Excel) is selected as the first item shown in the drop down list Diagram 1.
Figure 8 – Data source
Audit Commander User Guide Copyright 2009 Page 17 of 135
18. Chapter 3 – Audit Queries
3.4.2 Command
Version 1.84 of the software supports 30+ common audit procedures or functions, each of which
may be selected from a menu as shown in the figure below: In this example the statistics
function will be used which provides a variety of information about the population statistics for
the transactions being analyzed.
Figure 9 – Audit commands
3.4.3 Location of data file
The next form element is the button labeled “Data File Source”. Clicking on this button brings up
an “Explorer” type form where the file or directory may be selected. For Excel and Access, a
work book or database file is selected. For text files (including Dbase IV), a directory is selected.
3.4.4 Sheet/Table
The next data element to be specified depends upon the type of data source selected. If Excel
has been selected as the data source, it will be labeled “Work Sheet”. If Access has been
selected, it will be labeled “Table”. If a text data source has been specified it will be “Directory”.
19. Chapter 3 – Audit Queries
This information will be made available using a drop-down list. The values in the drop down list
will depend upon the type of data source.
• For Excel, the list will include all work sheets within the selected workbook as well as any
“named ranges” if any have been defined.
• For Access, the list will include all tables within the database, as well as any queries, if
any have been established.
• For text files, the list will include all files within the directory specified. Note that in order
to process text files, a specially formatted file name “schema.ini” must have been set up.
(More information on this topic is available at ).
3.4.5 Column
Most (but not all) of the audit procedures base their analysis on values contained in a column of
information. For example, in Excel, a worksheet containing invoice payment information may
have a column labeled “Invoice Amount”. In Access, a table may exist for invoice payments, one
column of which is named “Invoice Amount”. For text files, one of the columns of information
may also be labeled “Invoice amount” on the first row, with details in the following rows. The
particular column of interest is selected using a drop-down list of possible values.
3.4.6 Refining the query
The next element of information is labeled “Criteria”. Here the auditor can specify how the
analysis is to be narrowed to just certain rows of interest. For example, in an audit of accounts
payable, a particular audit step may wish limit the analysis to just invoices for a particular state
or other location, time period, dollar amount, etc. Simple examples would include “amount >
100”, “State = ‘NE’”, etc. (There is a detailed discussion of how to compose criteria in section
3.7). If the criteria value is left blank, then all rows are analyzed (i.e. no exclusions of data from
the analysis).
3.4.7 Other information
There is a comment area where the auditor can explain the purpose of the procedure being
performed. This information will then be made available in the work paper documents produced
for this audit step. Although it is preferable to complete this information to better explain and
document the work performed, no explanation is required.
3.4.8 Form buttons
Audit Commander User Guide Copyright 2009 Page 19 of 135
20. Chapter 3 – Audit Queries
At the bottom of the form are two buttons “OK” and “Exit”. The “OK” button is used to run the
audit command. The “Exit” button is used to close the form and return to the main Audit
Commander menu.
For those procedures which produce a chart, when the “OK” button is clicked and the procedure
is performed, a “View Chart” button will be displayed in case the auditor wishes to view the
results as a chart. (The chart is produced regardless, the button is just a means to easily view
it).
3.5 Additional information fields
Some commands will require certain additional information. For example, for an ageing
analysis, the ageing date, width of the ageing bucket, name of the amount column, etc. will be
required. In all these cases, additional information gathering fields will be displayed when the
command is selected.
3.6 Status Bar
The bottom part of the form contains a status bar. This area is used to display information such
as error summaries, names of files produced, system status, etc.
3.7 Refining the query
Overview.
If the criteria box for a query is left blank, then all records in the data source are selected.
However, it is possible to “drill down” to just selected records of interest by specifying “criteria”
which must be met in order to be selected. Use of criteria is a very commonly performed audit
task. Examples include selecting a subset of records for testing, identification of potential error
conditions and obtaining data for further analytical review purposes.
Criteria are specified using:
• Column names defined at the top of the Excel Sheet or in the Access database,
• Symbols or mathematical operators such as “+”, “-“, “<”, etc.
• Function names such as “weekday”, “hour”, “left”, “right”, etc.
• Literals such as a specific vendor number, store location, state code, etc.
21. Chapter 3 – Audit Queries
• Logical operators such as “OR”, “AND”, “NOT”
Column Names
Generally most column names can be used for processing. However, there are some
restrictions which apply:
1. If a column name contains embedded blanks, then it must be enclosed in brackets, e.g.
[Asset Cost]
2. A column name cannot contain special characters such as apostrophes, commas, quota-
tion markets, brackets or parentheses.
3. Some column names are “reserved words”. Examples include “select”, “from”, “as”,
“table”, “into”, “between”, “like”, “where”, etc. A complete list of such names is being de-
veloped and will be posted on the web site – search “reserved words” on the home page.
Possible Errors
The system attempts to detect any possible errors in the criteria specified before processing
them. However, the system can not detect all possible errors. Examples of the types of errors
which are detected include the following:
1. Column name not found (misspelled or doesn’t exist)
2. Unbalanced parentheses – must have same number of left and right parentheses
3. Unbalanced brackets – must have the same number of left and right brackets
4. Unbalanced apostrophes – must be evenly divisible by two
5. Unbalanced quotes – must be evenly divisible by two
6. Commas not allowed as separators in numeric values
Audit Commander User Guide Copyright 2009 Page 21 of 135
22. Chapter 3 – Audit Queries
Compound (complex) conditions
It is possible to test for fairly complex conditions by using the “AND”, “OR” and “NOT”. For
example:
1. Condition-1 AND Condition-2 will only be selected if both conditions are true.
2. Condition-1 OR Condition-2 will only be selected if one or both conditions are true.
3. Not Condition-1 will only be selected if coniditon-1 is FALSE.
Conditions may also be further enclosed and grouped within parentheses for more complex
conditions. For example:
Condition-1 OR (Condition-2 AND Condition-3)
Comparison Operators
There are six comparison operators which may be used either for text, numbers or dates:
1. < Is less than
2. > Is greater than
3. = Is equal to
4. <= Is less than or equal to
5. >= is greater than or equal to
6. <> is not equal to
23. Chapter 3 – Audit Queries
Text Operators
Text can be tested using the following criteria
1. Left(text, text length) takes the leftmost number of characters
2. Right(text, text length) takes the rightmost number of characters
3. Mid(text,start position, length) takes characters from the middle
4. Like(text) for comparison tests (*, ?, % as wildcards)
5. Instr(text) tests for existence of a character
6. LCase(text) changes to lower case
7. UCase(text) changes to upper case
Examples
Description Example
Left two characters of the store code are ‘AB’ left(storecode,2) = ‘AB’
Rightmost two characters on the store code are ‘AB’ Right(storecode,2) = ‘AB’
Character in position 2 and 3 of store code is ‘AB’ Mid(storecode,2,2) = ‘AB’
Store code begins with A Storecode like ‘A%’
Text contains the specific characters ‘ABC’ Instr(storecode,’ABC’) > 0
Location code expressed as lower case is ‘ab’ Lcase(location) = ‘ab’
Location code expressed as upper case is ‘AB’ Ucase(location) = ‘AB’
Store code starts with A, then followed by F-Z then Storecode like ‘A[F-Z]%’
anything
Figure 10 – Opening form
Date Operations
Date literals must be enclosed with #. For example, acquisition_date > #6/30/2005# tests for
acquisition date greater than June 30, 2005. To test a range, use the ‘BETWEEN’ operator. For
example dates within the fiscal year ended May 31, 2008 could be extracted using the statement
[date of interest] between #6/1/2007# and #5/31/2008# where [date of interest] is a date column.
The following date operators are supported:
• Weekday
• Hour
• Minute
Audit Commander User Guide Copyright 2009 Page 23 of 135
24. Chapter 3 – Audit Queries
• Second
Examples
Description Example
Date is on a Sunday Weekday(acqdate) = 1
Date is on a weekend Weekday(acqdate)
between 1 and 2
Time is between midnight and 5:59 Hour(acqdate) between 0
and 5
Figure 11 – Opening form
Math Functions
Math functions include the following:
Description Example
Absolute value Abs(cost) > 100
Logarithm Log(cost) > 3
Round Round(cost,2) > 98
Random Rnd()
Integer portion is 500 Int(cost) = 500
Figure 12 – Opening form
3.8 Types of queries
There are some 30+ queries or audit commands which can be selected for processing. These
commands are grouped into five classes based upon the type of function performed – 1)
numeric, 2) date, 3) other, 4) patterns and 5) sampling. For each command, a brief explanation
of the purpose and use of the command is provided, an explanation of the meaning of any “other
information” which must be provided. For each command, there are further examples and
example output contained on the CD which is distributed with the software.
3.8.1 Numeric
25. Chapter 3 – Audit Queries
Population Statistics
Description / Use
The statistics command can be used for a variety of purposes, including:
• Obtaining counts of transactions meeting a condition or criteria
• Obtaining transaction totals
• Obtaining univariate statistics for the reasonableness tests, sample planning, etc.
• Obtaining histogram information
• Obtaining percentile information
Other information required (if any)
Note: There is no other information required for the statistic command
Round Numbers
Description / Use
Every numeric amount can be classified as either being a round number or not. A round number
is one which has no pennies to the right of the decimal point and contains one or more
consecutive zeros immediately to the left of the decimal point.
The purpose of the round number test is to classify and quantify all numbers to identify potential
estimated amounts, and prepare a report summary as to their status and type.
Other information required (if any)
Note: There is no other information required for the statistic command
Audit Commander User Guide Copyright 2009 Page 25 of 135
26. Chapter 3 – Audit Queries
Benford’s Law
Description / Use
The Benford’s Law command is generally used as part of a fraud or other forensic investigation.
The purpose will be to determine if numeric values on a schedule conform with that which is
expected using Benford’s Law.
Other information required (if any)
Tests using Benford’s law must specify the type of test being
performed:
F1 – Test of the first digit
F2 – Test of the first two digits
F3 – Test of the first three digits
D2 – Test of the second digit only
L1 – Test of the last digit
L2 – test of the last two digits
Figure 13 – Opening form
Stratify
Description / Use
The data stratification procedure classifies numeric amounts into “buckets” or value ranges
specified by the auditor. The purpose is to classify numeric amounts in order to determine the
most frequently occurring values, largest and smallest values, etc. Stratification is often used for
sample planning (stratified sampling, reasonableness tests) as well as audit planning in general.
Other information required (if any)
The values to be used for the strata (specified in ascending order
and separated by spaces). An example strata specification is “-
1000 -500 0 300 2000 4000 6000”. Note that the strata values do
not need to be evenly spaced. If any values are found outside the
end of the strata specified, those values are reported separately.
Warning: If strata values are not numeric, or not in ascending order, invalid results may be
obtained.
Summarization
27. Chapter 3 – Audit Queries
Description / Use
The summarization function obtains not only totals by each control break that is specified, but
also other information such as minimum and maximum values, averages and standard deviation.
There is no limit as to the number of columns which make up the control break. A control break
may consist of a single column, e.g. sub-totals by vendor would be specified as just a single
column name – “vendor”. If subtotals were needed by region by vendor, then the control break
specification would be “region, vendor”.
Note: The information being summarized does not need to be “pre-sorted”.
Other information required (if any)
The column names making up the control break, and the number of
such columns.
Warning: If the number of columns is missing or improper, errors or invalid results may occur.
Top and Bottom 10
Description / Use
The Top and Bottom 10 command is used to identify the largest (or smallest) numeric values
from a population (and criteria can be applied). The number of items required can be specified
as any value. Generally the command is used to identify unusually large (or small) items,
possible outliers or to focus on just the most significant dollar items.
Other information required (if any)
The number of items required, e.g. 10, 20, 50 etc.
Histograms
Description / Use
Three reports are produced:
1. Basic statistics
2. Histogram data
3. Percentile report
Basic statistics include information such as counts, totals, minimum and maximum values, etc.
This information alone can be used to perform certain audit steps such as agreeing transaction
Audit Commander User Guide Copyright 2009 Page 27 of 135
28. Chapter 3 – Audit Queries
supporting details to ledger amounts, testing for procedural compliance, etc. Examples of basic
statistics reports can be found in the work papers referenced below:
Other information required (if any)
Note: There is no other information required for the histogram command
Box Plot
Description / Use
The Box Plot command is used to separate a population of numeric values into quartiles in order
to see the values and to also envision how the population is distributed. This provides a little
more information than just the minimum, maximum and median.
Other information required (if any)
Note: There is no other information required for the statistic command
3.8.2 Date
Holidays
Description / Use
Often it is desirable to check if any transaction dates fall on a federal holiday such as the
Independence Day, etc. Although it may be possible to visually check for these dates, it
becomes more complicated when the date falls on a weekend and is therefore celebrated on the
preceding Friday (or the following Monday). This function can analyze all the dates within a
specified range and quantify the number that fall on each of the holiday dates. There are two
functions related to holidays. One prepares a summary of counts of holiday dates and the other
extracts transactions whose dates fall on federal holidays.
Other information required (if any)
Date format – “mdy” for mm/dd/yyyy or “dmy” – dd/mm/yyyy
Country code – “US” or “CA”.
Note: The default values: US and mdy will be used if nothing is specified.
Week days
Description / Use
29. Chapter 3 – Audit Queries
In many instances the auditor wishes to extract just certain data within Excel based upon days of
the week. In this instance one column or row will contain dates which the auditor wishes to
examine.
Other information required (if any)
Days of the week are extracted based upon a command string
composed of seven zeros or ones. The ones indicate that the
day is to be extracted, a zero indicates that it should be
skipped. Numbering begins with Sunday and goes left to
right. So for example, to extract just Sunday and Monday the
command string would be “1100000”. To extract just Tuesday,
Wednesday and Friday, the command string would be “0011010”.
Perhaps the most common extract is for weekends, which is
denoted by “1000001”.
Holiday extract
Description / Use
In certain instances it is desirable to extract just those transactions in a file which fall on a federal
holiday. These transactions can then be reviewed separately. The holiday extract command
can be used in conjunction with date ranges, location codes or any other criteria which should be
applied as part of the extract.
Other information required (if any)
Date format – “mdy” for mm/dd/yyyy or “dmy” – dd/mm/yyyy
Country code – “US” or “CA”.
Note: The default values: US and mdy will be used if nothing is specified.
Ageing
Description / Use
During a review of applications which use both dates and amounts, it is very common to "age"
the data for various purposes - e.g. reasonableness testing, checking for stale or obsolete items,
data classification, etc. The procedure to age data is straightforward:
Other information required (if any)
The date to be used for ageing “Ageing Date”
The width of the ageing range, e.g. 30 days
The name of the column with the date to be aged, e.g. “Due Date”
Audit Commander User Guide Copyright 2009 Page 29 of 135
30. Chapter 3 – Audit Queries
The name of the column with the amount to be aged, e.g. “Balance
Due”
Date Near
Description / Use
Selection of a range of transactions based upon date value is a very common data extraction
procedure. Examples include cut-off testing, re-testing balances for a specified period, etc.
There are two equivalent procedures for doing such an extraction -
1. DateRange - the auditor specifies a starting and ending date, and
2. DateNear - the auditor specifies a date and the maximum number of days from the date
(e.g. three days before or after July 4th)
Other information required (if any)
The target date value, and
The maximum number of days before or after this date
Date Range
Description / Use
Similar test to date range, except a specific dates are provided.
Other information required (if any)
Starting and ending dates for the range.
Week days Report
Description / Use
The week days report summarizes the count of transactions by day of week. This test may be
used for reasonableness tests, audit planning, etc. The report consist of both text and a chart.
Other information required (if any)
Note: There is no other information required for the weekday command
3.8.3 Other
Gaps in Sequences
Description / Use
31. Chapter 3 – Audit Queries
A prime indicator of missing documents is a "gap" in a numeric sequence, such as check
numbers, purchase orders, sales invoices, petty cash slips, receiving reports, etc. The "gaps"
command is used to check a range of data to determine if there are any "gaps" within a range of
numbers.
Other information required (if any)
Note: There is no other information required for the gaps command
Data Extraction
Description / Use
Many audit procedures require that the records or transactions reviewed be limited to just those
that meet a specified criteria. The process of obtaining this information is termed “data
extraction”. The key to the process is the “criteria” used for the extract. Section 3.7 goes into
the details.
Other information required (if any)
The extraction criteria, e.g. “Amount > 100 and [invoice date]
between #7/1/2007# and #6/30/2008#”.
Warning: Dates must be enclosed within pound signs (#). If the pound signs are omitted, invalid
results may be obtained.
Example output
Output will be just those rows (if any) which meet the criteria specified. At a minimum a header
row will be provided.
Duplicates
Description / Use
Often it is desirable to check if any transactions are exact duplicates. The auditor specifies what
constitutes a duplicate, as ordinarily this will depend upon the values in several columns. As an
example, a duplicate invoice might be defined as the same vendor number, same invoice date
and same invoice number. Note that one or more columns can be used in the search for
duplicate transactions. There is no limit as to the number of columns which may be involved.
Other information required (if any)
The names of each column to be tested for duplicates, separated by
commas. For example, if a duplicate invoice is defined as same
vendor number, same invoice number, same invoice date and same
Audit Commander User Guide Copyright 2009 Page 31 of 135
32. Chapter 3 – Audit Queries
invoice amount, then the information required would be as follows:
“[Vendor Number],[Invoice Number],[Invoice date],[Invoice Amount]”
(without the quotes).
33. Chapter 3 – Audit Queries
Same, Same, Different
Description / Use
Unusual or error conditions may be detected using the “same, same, different” test. An example
during a review of invoice transactions would be two invoice payments which had the same
vendor, same invoice number, same date, but different amounts. Similarly, during a review of
the employee master file, two records might be identified which have the same employee last
name, same employee first name, same city, same street, but different social security numbers.
The purpose of the same, same, different procedure is to identify any such records, if they exist.
Other information required (if any)
The names of each column to be tested for same, same different,
separated by commas. The last column specified is that which is
tested for being different. For example, in the invoice example
above, the testing specification would be “[Vendor Number],[Invoice
Number],[Invoice date],[Invoice Amount]” (without the quotes).
Confidence Band
Description / Use
The purpose of the confidence band procedure is to perform a linear regression test on
transaction data, and then calculate both confidence intervals and prediction intervals in order to
determine if any amounts might lie outside these bounds. Any such amounts might be tested by
the auditor to ensure that they do not represent errors.
Other information required (if any)
The dependent variable (Y-axis), the independent variable (X-Axis)
and the confidence level need to be specified.
Invoice Near Miss
Description / Use
The purpose of the confidence band procedure is to perform a linear regression test on
transaction data, and then calculate both confidence intervals and prediction intervals in order to
determine if any amounts might lie outside these bounds. Any such amounts might be tested by
the auditor to ensure that they do not represent errors.
Other information required (if any)
The dependent variable (Y-axis), the independent variable (X-Axis)
and the confidence level need to be specified.
Audit Commander User Guide Copyright 2009 Page 33 of 135
34. Chapter 3 – Audit Queries
Split Invoices
Description / Use
The purpose of the split invoice test is to determine if an invoice may have been paid as a single
amount and then also paid with multiple payments totaling the invoice amount. As an example,
an invoice in the amount of $2,700 consisting of three line items of $1,000, $900 and $800 may
have been paid once as $2,700 and then three additional payments made of $1,000, $900 and
$800. The test for split invoices uses certain auditor parameters to determine whether an
invoice amount should be considered, namely the length of time between amounts.
Other information required (if any)
The maximum number of days apart two payments are in order to be considered. For example,
the auditor may wish to consider only those payments to a vendor that are within 10 days of
each other as part of the test for split invoices. Any payment amounts made more than ten days
apart would then not be considered as part of the split invoice test.
Check SSN
Description / Use
The purpose of testing for Social Security number validity is to identify any social security
numbers which would be considered invalid according to the criteria published on the site of the
Social security Administration. The test considers several factors:
Ranges of numbers issued
Certain digits or ranges which are automatically invalid
The highest number assigned for an area
Note: The social security number ranges are published monthly by the Social Security
Administration.
Warning: Social security numbers of deceased persons will not be identified.
Other information required (if any)
There is no other information required.
35. Chapter 3 – Audit Queries
Check PO Box
Description / Use
The purpose of the check P.O. Box command is to examine addresses for an indication that it is
a Post Office Box. Because there are many ways in which a Post Office Box address can be
coded, a procedure devoted to just this type of test is provided. For example, the address may
contain “PO Box”, “POB”, “P.O. Box”, etc.
Other information required (if any)
There is no other information required.
Calculated Values
Description / Use
In many instances the auditor wishes to add a column of data, e.g. a calculated amount, based
upon values contained in other columns. This can be accomplished using at least two methods:
Other information required (if any)
How the calculated field is determined, e.g. “(Cost – [accumulated
depreciation]) / [useful life)”.
3.8.4 Patterns
Round Numbers
Description / Use
An example will best illustrate the concept of pattern testing for round numbers. Consider a
case where journal entries are prepared at the end of each month. Generally, journal entry
postings will contain some round numbers. Although somewhat tedious, the auditor could
determine the count of round numbers posted for the year. For example, there might be a total
of 2,000individual journal entry postings for the year. Of those, 100 (or 5%) were round
numbers, possibly indicating an estimate. If the round number postings were fairly evenly
spread throughout the year, this would indicate that possibly nothing unusual exists, based upon
a comparative test of round numbers. However, if the concentration is in the last month of the
fiscal year (or the first month of the next fiscal period), then this could be a different situation.
Pattern testing is based upon the overall concept outlined above. The procedure first obtains
counts or totals for the entire transaction population. Then the procedure separates the
population based upon criteria specified by the auditor (in the example above posting month)
and then systematically compares each subgroup with the overall population. The system then
Audit Commander User Guide Copyright 2009 Page 35 of 135
36. Chapter 3 – Audit Queries
reports each group based upon how different it is from the overall population as measured by
the statistical test “Chi Square”.
This same test can also be applied using metrics other than round numbers – e.g. counts by day
of week, counts by holidays, counts by data stratification, etc.
Other information required (if any)
The name of the column used to divide the population into groups,
e.g. store number, month, etc. (This is the name of a single
column).
Note: The transactions do not need to be “pre-sorted”.
Example output
A report which shows the results in descending order, i.e. the most significant differences first.
Data Stratification
Description / Use
An example will best illustrate the concept of pattern testing using stratification. Consider a case
where inventory is being taken at the end of each month at separate warehouse locations.
Unless the warehouses have a significantly different “mix” of items, a stratification of the
inventory values by item will generally follow the same pattern of counts and values. Although
somewhat tedious, the auditor could stratify the amounts manually and then visually compare
the results. For example, one warehouse might have a much larger number of low (or high)
value items than the others. Certainly this could be a valid situation, but it might also represent
an error as well.
Pattern testing is based upon the overall concept outlined above. The procedure first obtains
counts or totals for the entire transaction population. Then the procedure separates the
population based upon criteria specified by the auditor (in the example above warehouse) and
then systematically compares each subgroup with the overall population. The system then
reports each group based upon how different it is from the overall population as measured by
the statistical test “Chi Square”.
Other information required (if any)
The name of the column used to divide the population into groups,
e.g. store number, month, etc. (This is the name of a single
column).
The values to be used for the stratification.
Note that the transactions tested do not need to be “pre-sorted”.
37. Chapter 3 – Audit Queries
Example output
Day of Week
Description / Use
An example will best illustrate the concept of pattern testing by day of week. Consider a case for
the retail environment. Generally, sales tend to be concentrated on Fridays, Saturdays and
Sundays, with much lesser amounts on say Monday and Tuesday. If the auditor is looking at a
group of locations (stores), then this test can identify which stores have sales patterns that are
the most statistically different, as measured using standard statistical tests. Although differences
in patterns may be explainable, they may also result from errors. Alternative tests can be
performed using month of year instead of store location, etc.
Other information required (if any)
The name of the column used to divide the population into groups,
e.g. store number, month, etc. (This is the name of a single
column).
The name of the column containing the date value to be tested.
Note that the transactions do not need to be “pre-sorted”.
Example output
Holidays
Description / Use
An example will best illustrate the concept of pattern testing by day of week. Consider a case for
the retail environment. Generally, sales on holidays may be different than those on non-
holidays. If the auditor is looking at a group of locations (stores), then this test can identify which
stores have sales patterns that are the most statistically different, as measured using standard
statistical tests. Although differences in patterns may be explainable, they may also result from
errors. Alternative tests can be performed using month of year instead of store location, etc.
Other information required (if any)
The name of the column used to divide the population into groups,
e.g. store number, month, etc. (This is the name of a single
column). Note that the transactions do not need to be “pre-
sorted”.
Audit Commander User Guide Copyright 2009 Page 37 of 135
38. Chapter 3 – Audit Queries
Example output
A report which shows the results in descending order, i.e. the most significant differences first.
Benford’s Law
Description / Use
Many accounting transaction amounts will tend to follow that expected using Benford’s law
unless there is a compelling reason that they should not (e.g. upper or lower transaction limits,
recurring amounts, etc.).
The pattern test for Benford’s law separates the population into groups and then computes the
expected and observed values using Benford’s law for that group. An example might be
inventory counts taken at various warehouses. Inventory counts should conform with that
expected using Benford’s Law. By applying a pattern test by warehouse, it is possible to identify
which warehouse had inventory counts that differed the most from that expected using Benford’s
law.
Other information required (if any)
The name of the column used to divide the population into groups,
e.g. store number, month, etc. (This is the name of a single
column).
The name of the column containing the numeric value to be tested.
The type of test to be performed (F1, F2, F3, L1, L2, D2).
Note that the transactions do not need to be “pre-sorted”.
Example output
A report which shows the results in descending order, i.e. the most significant differences first.
Fuzzy Match (LD)
Description / Use
The technique of measuring the difference between text values based upon Levenshtein
distance was developed by a Russian mathematician. The technique measures the number of
steps required to make two character values match based upon additions, changes and
deletions of text. It is particularly useful in identifying transpositions or other instances in which
the difference between two text strings is minimal. The number of steps required to make the
change is referred to as the "Levenshtein distance".
Other information required (if any)
The pattern to be matched against, e.g. employee last name
39. Chapter 3 – Audit Queries
The maximum “distance” that will be considered to be a fuzzy match,
e.g. 3.
Example output
Output will be those records, if any, which meet the matching criteria.
Fuzzy Match (Regular Expression)
Description / Use
Selection of subsets of data within a worksheet based upon more complex matching patterns is
possible using the "fuzzy match" command. As an example, the auditor may wish to select all
records for asset tag numbers that begin with "98", followed by any character or digit and then
contain the digit "5". Other examples include all store locations beginning with the letters "A'
through "C", followed by two digits and then one or more of any characters. All of these matches
can be done using the technique of "regular expressions".
There is fairly extensive documentation on how regular expressions work, but they generally
consist of one or more special search characters with the following meanings -
• ? - match any single character
• * - match any one or more characters
• [A-H] - match any single letter between "A" and "H"
• [!A-H] - match any single character, except the letters "A" through "H"
In order to do fuzzy matching, the auditor sets
Other information required (if any)
The fuzzy match criteria (as explained above).
Example output
Output will be those records, if any, which meet the matching criteria.
3.8.5 Stop And Go Sampling
Attributes
Description / Use
Compliance testing often relies on attribute sampling when a test is to be based upon a random
sample. If segments of a population are expected to have significantly different rates of
Audit Commander User Guide Copyright 2009 Page 39 of 135
40. Chapter 3 – Audit Queries
compliance for a tested procedure, then stratified attribute sampling maybe appropriate. If not,
then unrestricted sampling will be better.
If the supporting documents for data being audited are contained in a central location, e.g. no
travel or other logistics are involved, then stop and go sampling may be a more efficient and
effective method for random sampling for the following reasons:
1. There is no need to compute a required sample size,
2. There is no need to perform a preliminary analysis of
the population attributes such as expected error
rate, and
3. There is little or no risk in "over sampling", i.e.
testing more samples than required and therefore
spending excess audit time doing the testing.
Stop and Go sampling is a statistically valid process which involves the following steps:
1. Assign a random number to each item in the population
(e.g. using "Mersenne Twister" or other statistically
valid random number generator)
2. Sort the population by assigned random number, either
ascending or descending
3. Select the first 10 - 20 items (auditor judgment as
to number), test them and put the results into an
Excel spreadsheet.
4. Run a "stop and go" sample report and review the
results (see example below)
5. If the resulting sample precision is too large, then
select another group of transactions by sorted
assigned random number (auditor judgment as to
number)
6. Test the samples and record the results in the same
Excel spreadsheet.
7. Run another "stop and go" sample an review the
results.
8. Repeat steps 5 through 7 until satisfactory results
have been obtained.
41. Chapter 3 – Audit Queries
The report from the Stop and Go Sample will show the intermediate results, sample
statistics as well as calculate the estimate of the population at four confidence levels -
80%, 90%, 95% and 98%. The results will also be charted for easy review. The charts
show the upper and lower bounds, as well as the point estimate for each calculation.
Output is in three formats:
1. Electronic work paper (see example)
2. Chart (below)
3. Text report
An example of the chart output is shown below (attribute test for signature on
documents as tested in 25 samples):
Figure 14 – Attribute sampling
The chart above presents the results of the attribute sample test visually for four confidence
levels as follows:
Audit Commander User Guide Copyright 2009 Page 41 of 135
42. Chapter 3 – Audit Queries
1. 80% confidence the rate is between approximately .015 and .021
2. 90% confidence the rate is between approximately .014 and .022
3. 95% confidence the rate is between approximately .013 and .025
4. 98% confidence the rate is between approximately .0125 and .024
Note: As the confidence level increases, the bands widen.
Other information required (if any)
Two data elements are required:
1. The name of the column which indicates if the attribute was
tested on that row, and
2. The name of the column which contains the results, i.e. has
an “X” if the attribute was identified or blank if it was
not.
Stop and Go Variable Sampling
Description / Use
Monetary amounts can be estimated using stratified sampling, especially if the population can be
divided into strata which have less variability. There are techniques for optimizing the selection of
sample size, such as Neyman's allocation method.
If the supporting documents for data being audited are contained in a central location, e.g. no
travel or other logistics are involved, then stop and go sampling may be a more efficient and
effective method for random sampling for the following reasons:
1. There is no need to compute a required sample size,
2. There is no need to perform a preliminary analysis of the population attributes such as
expected error rate, and
3. There is little or no risk in "over sampling", i.e. testing more samples than required and
therefore spending excess audit time doing the testing.
Stop and Go sampling is a statistically valid process which involves the following steps (but note
that it does not comply with the proposed SAS 39):
1. Assign a random number to each item in the population (e.g. using "Mersenne Twister"
or other statistically valid random number generator)
2. Sort the population by assigned random number, either ascending or descending
43. Chapter 3 – Audit Queries
3. Assign a strata number to each transaction in the population (typically based upon a
numeric range of values).
4. Obtain a suggested sample allocation based upon Neyman's allocation (or other method
logy)
5. Select the first 10 - 20 items (auditor judgment as to number), test them and put the
results into an Excel spreadsheet.
6. Run a "stop and go" sample report and review the results (see example below)
7. If the resulting sample precision is too large, then select another group of transactions by
sorted assigned random number (auditor judgment as to number)
8. Test the samples and record the results in the same Excel spreadsheet.
9. Run another "stop and go" sample an review the results.
10. Repeat steps 5 through 7 until satisfactory results have been obtained.
The report from the Stop and Go Sample will show the intermediate results, sample statistics as
well as calculate the estimate of the population at four confidence levels - 80%, 90%, 95% and
98%. The results will also be charted for easy review. The charts show the upper and lower
bounds, as well as the point estimate for each calculation.
Output is in three formats:
1. Electronic work paper (see example)
2. Chart (below)
3. Text report
An example of the chart output is shown below (variable test of 25 samples):
Audit Commander User Guide Copyright 2009 Page 43 of 135
44. Chapter 3 – Audit Queries
Figure 15 – Variable sampling
The chart above presents the results of the variable sample test visually for four confidence
levels as follows:
1. 80% confidence the true population amount is between approximately $110,000 and
$218,000
2. 90% confidence the true population amount is between approximately $95,000 and
$230,000
3. 95% confidence the true population amount is between approximately $81,000 and
$241,000
4. 98% confidence the true population amount is between approximately $67,000 and
$259,000
45. Chapter 4– Electronic Work Papers
4 Electronic Work papers
4.1 Overview
The purpose of the electronic work papers module is to organize a set of audit steps and provide
a means to perform these audit steps on a repeatable basis, documenting the results in an
electronic work paper format.
4.2 Example usage
A file named “Query.ini” is provided with the installation. This file contains individual audit steps
for approximately ten audits. Selecting the module named “Electronic work papers” from the
main menu will enable running any or all of these program steps and producing the work papers
in electronic work paper format.
Note: The command file “Query.ini” assumes that the installation default directory has
been selected. If not, it will be necessary to use a text editor such as WordPad to
replace all the file names with the directory name where the software was installed.
The file names included assume that the test files reside in the default installation directory. If
not, the file Queri.ini will need to be edited (e.g. using WordPad) and specify a “replace all” with
the name of the location where the data being tested resides.
4.3 Benefits
The primary benefits include:
• “Repeatable” process, which reduces audit effort on audit engagements which perform
the same types of analysis
• Documented output produced automatically
• Reduced learning curve for the performance of certain audit procedures
When queries are made using the general query form, the procedural steps can be logged into a
command file. The advantages of doing so include the ability to:
46. Chapter 4 – Electronic work papers
• re-perform the steps at a future date
• adapt the audit procedures to other audits by changing the parameters
• share the procedural information between auditors
• assemble a "knowledge basis" for future audits
Such audit steps are logged into an audit command file which may contain the procedures for
one or more audits. Each audit, in turn, will consist of one or more procedural steps. The starting
point for reviewing, changing or running these commands is to open the log file using the main
menu form shown below and select "Electronic work papers".
4.4 The basic form
The main form consists of two sections:
1. General information about the audit, and
2. Specific information about the audit procedure to be performed.
This information can be viewed, changed and the procedural steps can be run using the form.
The audit procedures can be performed one at a time, or all together in a single step. The results
for each processing step are written out in three formats:
1. As a work paper (in web page format for browsing with a browser), and
2. As a plain text file (which may be processed again as data), and
3. As a chart for visual review
47. Chapter 4– Electronic work papers
Figure 16 Electronic work papers main form
4.4.1 Using the electronic work papers form
Selecting the command file
The command file used for processing electronic work papers must be organized into a special
format. This command file is generally prepared as a result of running queries using the Query
form described in Chapter 3. However, it is also possible to construct the file using a text editor
such as Word Pad.
Audit Commander User Guide Copyright 2009 Page 47 of 135
48. Chapter 4 – Electronic work papers
The command file contains information about the audit as well as detail processing procedures
for each step. This command file may consist of one or more audits, each of which is identified
by a unique identifier (“audit number”). The audit information will be further divided into a series
of audit steps to be performed.
There is an example of the contents of an electronic work paper command file contained in
Appendix B. A complete file is also included with the software installation.
The command file is selected using the “Cmd File” button in the upper left hand corner of the
form. Note that the command file must have an extension of “.ini” and is located using the
standard Windows “explorer” type menu.
4.4.2 Selecting the audit
Once an audit command file has been selected, any of the audits contained within the command
file can be selected for processing from the drop down list.
4.4.3 Selecting the audit steps to be run
When the audit has been selected, then a list of all available audit steps can be displayed using
the drop down list. If a particular audit step is needed, it can be selected from the list for
processing.
Note: If all the audit steps are to be run, then it is not necessary to select a particular step.
Instead, the “RunAll” button should be selected.
4.5 Report Tab
The report tab displays the results of the last audit step performed. Note that the audit results
will be written to a total of four locations:
• An electronic work paper in HTML format,
• A plain text file
• Optionally, a chart
• The report tab of the form
49. Chapter 4– Electronic work papers
4.6 Defining the audit procedures
The audit procedures are defined as a series of entries contained within an audit step. Detail
examples of a set of audit commands are shown in Appendix A. The steps consist of a series of
rows of text, each of the format Parameter = Value where “Parameter” is one of ten possible text
values and “Value” is the specific details for the parameter specified.
As an example, suppose that for a particular audit step, the input data is contained in an Excel
work book named “c:testdataAudit6025EWP.xls”. A line on the audit step section might read
as follows:
Infile = c:testdataAudit6025EWP.xls
4.7 Running the commands
At the bottom of the form are seven click buttons which perform the following actions:
• Save – Saves any changes made on the form to reflect processing requirements going
forward or to incorporate any new or changed audit needs.
• Run – Runs the current audit procedure specified using the parameters shown on the
current page
• Prev – Moves back to the former audit step to display the audit procedure information
• Next – Advances to the next audit step to display the audit procedure information.
• Delete – Deletes the audit procedure information displayed for the current step. (Note
that this information can not be recovered without re-typing it in).
• Exit – Close the form and return to the main menu
• RunAll – Runs all the steps in the audit command file.
There are five major groups of commands:
1. Numeric
2. Date
3. Patterns
4. Sampling
5. Other
Audit Commander User Guide Copyright 2009 Page 49 of 135
50. Chapter 4 – Electronic work papers
Details on the commands within each group are shown below, as they are contained in an
example section of a query file. Each of these sections are organized into an audit or project
based upon the number assigned to the step. As previously mentioned, the commands may
either be run separately or as a group for all the steps in the audit.
Numeric Commands
Population Statistics
Round Numbers
Benford’s Law
Stratify
Summarize
Top 10
Bottom 10
Histogram
Box Plot
4.7.1 Date Commands
Holidays
Weekdays
Holiday Extract
Ageing
Date Near
Date Range
Week Day Report
4.7.2 Other
Gaps
Extract
Duplicates
Same, Same, Different
Confidence Band
Invoice Near Miss
Split Invoices
Check SSN
51. Chapter 4– Electronic work papers
Check PO Box
Calculated Value
4.7.3 Patterns
Benford’s Law
Round Numbers
Stratify
Holidays
Week Days
Fuzzy Match
Fuzzy LD
4.7.4 Sampling
Stop N Go Variable
Stop N Go Attribute
Audit Commander User Guide Copyright 2009 Page 51 of 135
52. Chapter 4 – Electronic work papers
Statistics
Population Statistics
The statements below take the column named “Paid Amount” on the worksheet “Payroll”
and prepare a chart, a text report and a work paper in html format which shows debit,
credit and zero balances and counts.
[1023-2]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Foot salary payment amounts, and classify the
total by debit, credit and zero balances.
Command = stat
Table = Payroll$
Where =
Column = Paid Amount
Scheme = fall
Title = Salary payments at location ABC
Round Numbers
The statements below take the column named “Amount” on the worksheet “JE” and
extract those amounts which are round numbers of type 2,3 or 6 – e.g. $10, $100, and
$1,000,000.
[1015-15]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Prepare a schedule of round numbers of order 2, 3 and 6
round numbers in Journal entries
Command = rn
Table = je$
Where =
Column = amount
Parm1 = 0011001
53. Chapter 4– Electronic work papers
Benford’s Law
The statements below take the column named “cost” on the file named fa.txt in the
directory “c:testdata” ” and prepare a test of Benford’s law for the first two digits. A chart
is prepared with a summer color theme and title “Asset Cost Amounts – Benford’s law’
[1089-27]
Select = OK
DataSource = c:testdata
Objective = Perform Benford's law testing on cost amounts
Command = benford
Table = fa#txt
Parm1 = F2
Column = cost
Scheme = summer
Title = Asset Cost amounts - Benford's law
Stratify
The statements below take the column named “amount paid” on the work sheet named
“PPTest” in the work book EWP.xls and stratify the data into the following “bins”:
0 – 100 , 100- 200, 200 – 500, 500 – 1,000, 1,000 – 2,000 and 2,000 – 3000. Amounts
above or below the extremes are classified separately. A chart is prepared using the “fall”
color theme
[1089-5]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Stratify invoices by amount paid
Command = stratify
Table = PPTest$
Where =
Column = amount paid
ColString =
Parm1 = 0 100 200 500 1000 2000 3000
Scheme = Fall
Title = Invoice Payments
Audit Commander User Guide Copyright 2009 Page 53 of 135
54. Chapter 4 – Electronic work papers
Summarize
The statements below summarize the column invoice amount by terms percent offered.
Data is in the Excel work book EWP.xls on the sheet PPTest
[1089-6]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Quantify posted invoices by terms percent offered
Command = summary
Table = PPTest$
Where =
Column = invoice amount
ColString = [terms percent]
Top 10
The statements below take the column named “cost” on the work sheet named “FA” in the
work book EWP.xls and list the 10 largest values in descending order
[1074-11]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Prepare a schedule of the ten largest asset costs, in
descending order
Command = topn
Table = fa$
Where =
Column = cost
Parm1 = 10
55. Chapter 4– Electronic work papers
Bottom 10
The statements below take the column named “cost” on the work sheet named “FA” in the
work book EWP.xls and list the 5 least values in ascending order
[1074-12]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Prepare a schedule of the five assets with the least
cost, in ascending order
Command = bottomn
Table = fa$
Where =
Column = cost
ColString =
Parm1 = 5
Histogram
The statements below take the column named “units” on the work sheet named “Inventory
Data” in the work book EWP.xls and prepare a histogram of the counts. Note that only
those rows where the unit cost exceeds 20 are analyzed. A chart is output with a fall color
scheme.
[1097-1]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Using a histogram, plot quantities of high value
inventory items (i.e. unit cost > $20)
Command = histo
Table = Inventory Data$
Where = [unit cost] > 20
Column = units
Scheme = Fall
Title = High Value inventory items
Audit Commander User Guide Copyright 2009 Page 55 of 135
56. Chapter 4 – Electronic work papers
Box Plot
The statements below take the column named “units” on the work sheet named “Inventory
Data” in the work book EWP.xls and prepare a box whisker chart which shows the ranges
as four quartiles. Note that only those rows where the unit cost exceeds 20 are analyzed.
A chart is output with a green color scheme.
[1097-3]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Using a boxplot, plot quantities of high value
inventory items (i.e. unit cost > $20)
Command = boxplot
Table = Inventory Data$
Where = [unit cost] > 20
Column = units
Scheme = Green
Title = High Value inventory items
Date Commands
Holiday Extract
The statements below take the date column named “inventory date” on the work sheet
named “Inventory Data” in the work book EWP.xls and extract those records where an
inventory was taken on a US holiday.
[1097-23]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Prepare a schedule of inventories performed on a
holiday
Command = holiday
Table = Inventory Data$
Where =
Column = inventory date
ColString =
Parm1 = mdy
Parm2 = US
57. Chapter 4– Electronic work papers
Weekdays
The statements below take the date column named “inventory date” on the work sheet
named “Inventory Data” in the work book EWP.xls and prepare a report and a chart
summarizing transactions on a holiday
[1097-22]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Extract inventories taken on a Tuesday
Command = wd
Table = Inventory Data$
Where =
Column = inventory date
Parm1 = 0010000
Parm2 = US
Holidays
The statements below take the date column named “inventory date” on the work sheet
named “Inventory Data” in the work book EWP.xls and prepare a report and a chart
summarizing transactions on a holiday.
[1097-22]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Analyze dates inventories taken on holidays
Command = holidayReport
Table = Inventory Data$
Where =
Column = inventory date
ColString =
Parm1 = mdy
Parm2 = US
Scheme = spring
Title = Inventories taken on holidays
Audit Commander User Guide Copyright 2009 Page 57 of 135
58. Chapter 4 – Electronic work papers
Ageing
The statements below age the amount “invoice amount” based upon the date column
“invoice date”. Ageing is as of 3/31/2007. A chart is produced using a summer color
scheme (in addition to a text and html format report)
[1103-1]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Perform an overall ageing of invoices
Command = age
Table = Trans$
Where =
Column =
ColString = [invoice date],[invoice amount]
Parm1 = 3/31/2007
Parm2 = mdy
Scheme = summer
Title = Ageing of customer invoices
Date Near
The statements below extract those dates within 5 days of 7-31-2008, i.e. 7-26-2008
through August 5, 2008.Work sheet is named JE in the workbook named EWP.xls. Date
column tested is named “tran date”
[1015-18]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Extract transactions posted within 5 days of 7-31-2008
Command = datenear
Table = je$
Where =
Column = tran date
ColString =
Parm1 = 7-31-2008
Parm2 = 5
59. Chapter 4– Electronic work papers
Date Range
The statements below extract those dates between 11-1-2008 and 11-15-2008. Work
sheet is named ER in the workbook named EWP.xls. Date column tested is named
“Report date” Note that the same results could be obtained using the “extract´comand
and specifying criteria “[Report date] between #11-1-2008# and #11-15-2008#”
[1037-16]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Extract those transactions with dates between 11-1-2008
and 11-15-2008
Command = daterange
Table = ER$
Where =
Column = Report Date
ColString =
Parm1 = 11-1-2008
Parm2 = 11-15-2008
Week Day Report
The statements below prepare a chart and text report of the counts of sales by day of
week. Work sheet is named “Revenue Data” in the workbook named EWP.xls. Date
column tested is named “Sales date”
[1045-12]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Prepare a summary report of sales by day of week
Command = wdreport
Table = Revenue Data$
Where =
ColString = [sales date]
Parm1 = mdy
Parm2 =
Scheme = green
Title = Sales by Day of week
Audit Commander User Guide Copyright 2009 Page 59 of 135
60. Chapter 4 – Electronic work papers
Other
Gaps
The statements below prepare a chart and text report of the counts of sales by day of
week. Work sheet is named “Revenue Data” in the workbook named EWP.xls. Date
column tested is named “Sales date”
[1079-29]
Select = OK
DataSource = c:program filesezsacdataEWP.mdb
Objective = Check for numeric sequence gaps in tag numbers
Command = gap
Table = FA
Where =
Column =
ColString = tagno
Parm1 =
Parm2 = 1
Title =
Extract
The statements below extract all the rows from the table named “FA” where the time in
the column named “adate” is between the hours of 3 and 5, i.e. the time period from 3:00
a.m. through 5:59 a.m. Data source is an Access database named EWP.mdb.
[1079-38]
Select = OK
DataSource = c:program filesezsacdataEWP.mdb
Objective = Test for transactions made between 3 and 6 a.m.
Command = extractwhere
Table = FA
Where = hour(adate) between 3 and 5
61. Chapter 4– Electronic work papers
Duplicates
The statements below identify duplicate rows in a text file named fa.txt in the directory
c:testdata. A duplicate is considered any two rows which have the identical column
vales for tango and location. In this instance a duplicate is determined based upon the
values in two columns. However, duplicates may be defined as two rows of data having
any one or more column values identical.
[1089-28]
Select = OK
DataSource = c:testdata
Objective = Test for duplicate tag numbers
Command = duplicates
Table = fa#txt
Where =
Column = tagno
ColString = location, tagno
Parm1 =
Parm2 = 2
Warning: In order to function properly, two conditions need to exist:
Warning: The first row in the data should have column names
Warning: A special file named “schema.ini” must reside in the directory and specify the details
about each text file in the directory.
Same, Same, Different
The statements below check for what is considered to be an unusual situation for invoice
payments – two (or more) rows with the same vendor number, same invoice number but a
different amount. The worksheet is PPTest in the workbook EWP.xls. All rows are tested.
[1089-20]
Select = OK
Audit Commander User Guide Copyright 2009 Page 61 of 135
62. Chapter 4 – Electronic work papers
DataSource = c:program filesezsacdataEWP.xls
Objective = Check for unusual situation - same vendor, same invoice
number, different amount
Command = ssd
Table = PPTest$
Where =
Column =
ColString = [vendor number], [invoice number], [invoice amount]
Parm1 =
Parm2 = 3
Scheme =
Title =
Confidence Band
[to be developed]
Invoice Near Miss
The statements below check for what invoices that are very similar, but not exactly alike
The database table is “Duplicate Invoices” in the Access database EWP.mdb. All rows
are tested.
[1074-30]
Datasource = c:testdataEWP.mdb
Command = invne
FileOut = c:testcmreportt-24.txt
Colstring = sColstring
Table = Duplicate Invoices
Parm1 = 30 ' date tolerance
Parm2 = 5 ' invoice number tolerance
63. Chapter 4– Electronic Work Papers
Split Invoices
The statements below check for split invoices. The database table is “Duplicate Invoices”
in the Access database EWP.mdb. All rows are tested.
[1074-31]
Datasource = c:testdataEWP.mdb
Command = invsp
FileOut = c:testcmreportt-25.txt
Colstring = sColstring
Table = Duplicate Invoices
Parm1 = 30 ' date tolerance
Parm2 = 5 ' invoice number tolerance
Check SSN
The statements below check for invalid social security numbers. The table is “Empshort”
in the Access database EWP.mdb. All rows are tested.
[1074-33]
Datasource = c:testdataEWP.mdb
Command = ssn
FileOut = c:testcmreportt-42a.txt
Colstring = sColstring
Table = EmpShort
64. Chapter 4 – Electronic work papers
Check PO Box
The statements below check for post office boxes in the address. The table is “Empshort”
in the Access database EWP.mdb. All rows are tested.
[1074-32]
Datasource = c:testdataEWP.mdb
Command = pobox
FileOut = c:testcmreportt-32.txt
Colstring = sColstring
Table = EmpShort
Calculated Value
The statements below illustrate the use of the calc command to create an additional
column. In this case the column is the length of the PO number. This value will be used
in later audit tests. The table is “PPTest” in the Excel workbook EWP.xls. All rows are
tested.
[1089-31]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Determine the length of the Purchase order number
in each record
Command = calc
Table = PPTest$
Where =
Column = PO Number
ColString =
Parm1 = len([PO Number]) as [Purchase Order Number length]
Parm2 =
Patterns
Benford’s Law
65. Chapter 4– Electronic work papers
The statements below are used to perform a pattern test using Benford’s Law on each
vendor’s invoices. The table is “PPTest” in the Access database cmGen.mdb. All rows
are tested.
[1074-24]
Datasource = c:testcmcmGen.mdb
Command = patternben
FileOut = c:testcmreportt-26.txt
Colstring = [vendor number], [invoice amount]
Table = CMTest
Parm1 = F1
Round Numbers
The statements below are used to perform a pattern test using Round numbers on each
vendor’s invoices. The table is “CMTest” in the Access database cmGen.mdb. All rows
are tested.
[1074-27]
Datasource = c:testcmcmGen.mdb
Command = patternrn
FileOut = c:testcmreportt-29.txt
Colstring = [vendor number], [invoice amount]
Table = CMTest
Stratify
The statements below are used to perform a pattern test using data stratification on each
vendor’s invoices. The table is “CMTest” in the Access database cmGen.mdb. All rows
are tested.
[1074-28]
Datasource = c:testcmcmGen.mdb
Command = patternstrat
FileOut = c:testcmreportt-30.txt
Audit Commander User Guide Copyright 2009 Page 65 of 135
66. Chapter 4 – Electronic work papers
Colstring = [vendor number], [invoice amount]
Table = CMTest
Parm1 = -100 0 200 500 1000 5000 10000 20000
Holidays
The statements below are used to perform a pattern test using Federal holidays on each
vendor’s invoices. The table is “CMTest” in the Access database cmGen.mdb. All rows
are tested.
[1074-25]
Datasource = c:testcmcmGen.mdb
Command = patternhol
FileOut = c:testcmreportt-27.txt
Colstring = [location], [invoice date]
Table = CMTest
Parm1 = mdy
Parm2 = US
Week Days
The statements below are used to perform a pattern test using day of the week on each
vendor’s invoices. The table is “CMTest” in the Access database cmGen.mdb. All rows
are tested.
[1074-26]
Datasource = c:testcmcmGen.mdb
Command = patternwd
FileOut = c:testcmreportt-28.txt
Colstring = [location], [invoice date]
Table = CMTest
Fuzzy Match
The statements below are used to perform a fuzzy match for locations which match the
search text. The sheet is “FA” in the Excel workbook EWP.xls. All rows are tested.
67. Chapter 4– Electronic work papers
[1074-34]
Select =
DataSource = c:program filesezsacdataEWP.xls
Objective = Identify any assets at location codes which start with
AB
Command = fuzzymatch
Table = fa$
Where =
Column = location
ColString =
Parm1 = AB?
Audit Commander User Guide Copyright 2009 Page 67 of 135
68. Chapter 4 – Electronic work papers
Fuzzy LD
The statements below are used to perform a fuzzy match for tag numbers using the
Levenshtein distance algorithm,. The sheet is “FA” in the Excel workbook EWP.xls. All
rows are tested
[1074-34]
Select =
DataSource = c:program filesezsacdataEWP.xls
Objective = Identify any tag numbers similar to 1027
Command = fuzzyld
Table = fa$
Where =
Column = tagno
Parm1 = 1027
Parm2 = 2
Sampling
Stop N Go Variable
The statements below are used to perform a stop and go variable sample assessment for
worksheet SV4 in the workbook EWP.xls. All rows are tested.
[1173-3]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Perform a stop and go variable sample for invoice
totals (30 samples)
Command = stopgov
Table = SV4$
Where =
Column =
ColString = [sampled], [audited value]
Parm1 =
Parm2 =
Scheme = Blue
69. Chapter 4– Electronic work papers
Title = Stop and Go Sampling 30 items
Stop N Go Attribute
The statements below are used to perform a stop and go attribute sample assessment for
worksheet SV4 in the workbook EWP.xls. All rows are tested.
[1173-4]
Select = OK
DataSource = c:program filesezsacdataEWP.xls
Objective = Perform a stop and go attribute sample for
"signature" (sample size 10)
Command = stopgoa
Table = Sample Attribute$
Where =
Column =
ColString = [sampled], [signature]
Parm1 =
Parm2 =
Scheme = Spring
Title = Stop and Go Sampling 10 items - Signature
Stratified Variable Assessment
The statements below are used to perform a stratified variable sample assessment for
table Neyman in the Access database cmGen.mdb. A 95% confidence level is used. All
rows are tested.
[1074-21]
Datasource = c:testcmcmGen.mdb
Command = svacc
FileOut = c:testcmreportt-33.txt
Colstring = sColstring
Column = stratum
Table = Neyman
Audit Commander User Guide Copyright 2009 Page 69 of 135
71. Chapter 4– Electronic work papers
Stratified Variable Population
The statements below are used to provided a stratified variable sample report for table
Neyman in the Access database cmGen.mdb. A 95% confidence level is used. All rows
are tested.
[1074-20]
Datasource = c:testcmcmGen.mdb
Command = svpop
FileOut = c:testcmreportt-32.txt
Colstring = sColstring
Column = stratum
Table = Neyman
Parm1 = 35
Parm2 = .95
Stratified Attribute Assessment
The statements below are used to provided a stratified variable assessment report for
table Neyman in the Access database cmGen.mdb. A 95% confidence level is used. All
rows are tested.
[1074-23]
Datasource = c:testcmcmGen.mdb
Command = saacc
FileOut = c:testcmreportt-35.txt
Colstring = sColstring
Column = stratum
Table = Attrib
Parm2 = .95
Audit Commander User Guide Copyright 2009 Page 71 of 135
72. Chapter 4 – Electronic work papers
Stratified Attribute Population
The statements below are used to provided a stratified attribute sample report for table
Attrib in the Access database cmGen.mdb. A 95% confidence level is used. All rows are
tested.
[1074-22]
Datasource = c:testcmcmGen.mdb
Command = sapop
FileOut = c:testcmreportt-34.txt
Colstring = sColstring
Column = stratum
Table = Attrib
Parm2 = .95