SlideShare a Scribd company logo
Audit Commander
User Guide
Data analysis made easier…

                             EZ-R Stats, LLC
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.
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
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
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
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
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
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)
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
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.
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.
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
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
Chapter 3 – Audit Queries

Date




            Figure 3 – date commands



Other




            Figure 4 – Other commands
Chapter 3 – Audit Queries
Patterns




                                        Figure 5 – Pattern commands



Sampling




                                       Figure 6 – Sampling commands




Audit Commander User Guide   Copyright 2009                           Page 15 of 135
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
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
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”.
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
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.
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
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
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
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
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
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
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
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
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
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
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
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).
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
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.
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
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”.
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
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
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
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.
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
Chapter 4 – Electronic work papers

Parm1 = 45
Parm2 = .95
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
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
Chapter 6 Macros


5 Monitoring


5.1 Overview
The term "continuous monitoring" means different things to different auditors.
In Wikipedia, continuous monitoring is defined as:
"Continuous monitoring is the process and technology used to detect compliance and risk
issues associated with an organizations financial and operational environment."
Wikipedia describes some of the benefits as:
"Continuous monitoring systems can examine 100% of transactions and data processed in
different applications and databases. The continuous monitoring systems can test for
inconsistencies, duplication, errors, policy violations, missing approvals, incomplete data, dollar
or volume limit errors, or other possible breakdowns in internal controls. Testing can be done
tests for processes like payroll, sales order processing, purchasing and payables processing
including travel and entertainment expenses and purchasing cards, and inventory transactions."
The process of establishing a continuous monitoring system with Audit Commander consists of
the following steps:
    •   Develop various control tests using the "ad hoc" (general) query facility, logging the
        desired commands to a log file
    •   Organize the ad hoc queries into audits or projects within a log file
    •   Plan a schedule for regular testing of controls, using the defined audits or projects which
        have been established
    •   Implement a schedule for running these control tests
    •   Review the output of the processes and revise/expand the audit procedures accordingly.



Note: The recommended procedure is to perform testing on a 100% basis (rather than
   sample). Because the procedures can be run on an automated basis during non-peak
   hours (evenings and weekends) it becomes feasible to run a variety of audit tests, even
   when transaction volumes are large.
Chapter 5 - Monitoring

5.1.1

5.2 Example usage

5.3 Benefits

5.3.1

5.4 The basic form
The monitoring form consists of two tabs. The first tab is used to locate the file with the
monitoring commands and select the specific monitoring process to be performed. The second
tab contains information regarding the specific processing to be performed. At the bottom of the
form are the various command buttons used to run the commands, view the output chart and
navigate between monitoring commands.
Chapter 5 Monitoring




                                         Figure 17 Monitoring form




Audit Commander User Guide   Copyright 2009                          Page 75 of 135
Chapter 5 - Monitoring



5.5 Charts

5.5.1 The elements of charts

Charts produced by the monitoring procedure consist of three elements. Some of the elements
are optional for certain procedures. The three elements are:
    1. The chart graphic shown at the top
    2. A text area which may contain additional explanatory information
    3. A meter which graphically charts expected versus actual and may classify the character
       of the results.

5.5.2 Chart graphic

Major aspects of the chart are specified using a list of short parameters in a text file with lines of
the format “Object = Value” where object refers to the specific attribute of the chart and value is
the desired setting for the value. As an example, one line could be “Title = Fixed Assets”. This
causes the title shown on the chart to be set to “Fixed Assets”. The names of the objects are not
case sensitive, but must be spelled as indicated below. Each object will contain an example and
a description as to how to specify the values.



5.5.3 Chartfile

Chartfile = filename
The name of the chart file to be produced
ChartFile = "c:testcmReportMont-1.png"

5.5.4 Title

Title = title content
The title to be shown on the chart
Title = "Fixed Assets - Cost and Depreciation by Useful Life"

5.5.5 BGColor
BGColor = dark green
The background color around all the chart elements


BGColor = "dark green", or
Chapter 5 Monitoring
BGColor = &H669966

5.5.6 Chartwidth
Chartwidth = 600
The width of the chart (in pixels)
ChartWidth = 600



5.5.7 Chartheight
Chartheight = 540
The height of the chart (in pixels)


ChartHeight = 540



5.5.8 DataChartColor

DataChartColor = blanched almond
The color to be used for the data chart



5.5.9 YLabel

YLabel = Annual sales ($Thousands)
The label to be used for the vertical axis



5.5.10          ChartPosPct

ChartPosPct = .1
The positioning of the chart on the left, expressed as a percentage



5.5.11          Legend1

Legend1 = Cost
For comparative charts, the legend used for the first data element



5.5.12          Legend2

Audit Commander User Guide   Copyright 2009                           Page 77 of 135
Chapter 5 - Monitoring

Legend2 = Count
For comparative charts, the legend used for the second data element



5.5.13          CType

Ctype = “mb”
The chart type, a critical specification. This parameter specified the type of chart which will be
produced, which may be one of the following:


    •   mb – multibar (comparative)
    •   sb – single bar
    •   cband – linear regression with confidence and precision intervals
    •   trend – linear regression (no confidence or precision intervals)



5.5.14          Barcolor1

Barcolor1 = light yellow
For alternating horizontal bars, the colors to be shown for alternating bars (total of two colors)

5.5.15          Barcolor2

Barcolor2 = light yellow
For alternating horizontal bars, the colors to be shown for alternating bars (total of two colors)



5.5.16          Metertext

MeterText = "Fixed asset life groups"
For charts which have meters, the text to be shown on the meter which describes the type of
measurement being made



5.5.17          MeterPointerColor

MeterPointerColor = brown
The color used for the pointer on the meter to indicate the value obtained
Chapter 5 Monitoring


5.5.18          SetZone1

SetZone1 = 50, 100, light green, "Good"
The meter is divided into three zones. The setzone1 command is used to define the range of
values which fall into zone 1, the color for the zone and the description for the zone. In this
example, a range from 50 to 100 is considered good and is colored light green. The values
specified must be separated by commas.



5.5.19          SetZone2

SetZone2 = 20, 50, light yellow, "Adequate"
The setzone2 command is used to define the range of values which fall into zone 2, the color for
the zone and the description for the zone. In this example, a range from 20 to 50 is considered
adequate and is colored light yellow. The values specified must be separated by commas. Note
that the colors, descriptions and ranges are all entirely under the auditor’s control.



5.5.20          SetZone3

SetZone2 = 0, 20, pink, "Poor"
The setzone3 command is used to define the range of values which fall into zone 3, the color for
the zone and the description for the zone. In this example, a range from 0 to 20 is considered
poor and is colored pink. The values specified must be separated by commas. Note that the
colors, descriptions and ranges are all entirely under the auditor’s control.



5.5.21          Infile

Infile = "c:program filesezsacdataEWP.xls"
For certain charts, the data is obtained directly from a file, which may
either be in Excel or Access format.               This parameter allows the auditor
specify the name of the file where the data to be charted is located.



5.5.22          Outfile

Outfile = "c:testcmReportMont-1.txt"

Audit Commander User Guide   Copyright 2009                                              Page 79 of 135
Chapter 5 - Monitoring

For certain charts, the data is obtained directly from a file, which may
either be in Excel or Access format.           This parameter allows the auditor
specify the name of the file where the data to be charted is located.



5.5.23          SQL

SQL = "Select life, sum(cost) as cst, sum(ad) as accum from [FA$] where
life < 20       group by life order by life;"
For certain charts, the data is obtained directly from a file, which may
either be in Excel or Access format.           This parameter allows the auditor
specify the name of the file where the data to be charted is located.




5.5.24          Text graphic
5.5.25          TextBoxColor

TextBoxColor = light green
The color to be used for the text chart
TextBoxColor = "light green"
ChartBoxColor = "light green"



5.5.26          Meter graphic

5.6 Specifying how the graphics are prepared

5.6.1 Processing parameters
Query procedure
SQL


5.7 Command details tab
Setting Up the monitor procedures
Running the procedures
Chapter 5 Monitoring
5.8 Types of Monitoring


5.8.1 Regression
Many expense (and other) items have a linear relationship, i.e. as one increases in amount, so
does the other. A simple example is payroll taxes. Generally, as the number of employees
increases, so too does the amount of payroll taxes. Note that it may not be possible to compute
an exact predicted value, but the auditor is aware that there should be a linear relationship.
With statistical calculations, it is possible to perform a regression analysis which will indicate
several things of interest to the auditor:

    1. Is there, in fact, a linear relationship and if so how good (strong) is it (correlation)?,

    2. With a confidence level (e.g. 95%) what is the band that the data points should fall within
       (confidence interval)?

    3. If a new data point is to be charted, what range would these points fall within (prediction
       interval)

What is being monitored (indicator) - in this example, payroll tax expense is being mon-
itored

Expected values/ Results - the auditor expects that there will be a linear relationship
and most values will fall within the confidence interval

Control Limits - Set at 95% confidence for this example

Use for indicator - Unusual data points will be investigated. If no unusual data points
are identified, audit testing will be reduced.

Target (optimal) - More than 95% of the data points fall within the confidence interval.
No data points fall outside the prediction interval.

Historical Ranges - Historically there has been a very good fit in this area.

As the number of miles a school bus is driven increases, so too do the maintenance costs. The
chart below is for a hypothetical situation which plots the number of miles a fleet was driven
versus the amount of maintenance expense incurred. The test was performed using a 95%
confidence level (which can be varied). Visually, there appears to be a fairly strong correlation
between mileage and maintenance expense. However, there is one data point that is well above
the amount that would be expected.
Audit Commander User Guide   Copyright 2009                                               Page 81 of 135
Chapter 5 - Monitoring




                                 Figure 18 – Regression chart




The correlation between the data points is poor (57%), largely due to the one
exceptional outlier. The next page shows the parameters used to develop the
analysis and the chart. The monitor process also outputs two text reports:
A log of the data analyzed
A report which contains all the regression detail information.
Chapter 5 Monitoring


5.8.2 Trend Line
Many expense (and other) items have a linear relationship, i.e. as one increases in
amount, so does the other. A simple example is payroll taxes. Generally, as the
number of employees increases, so too does the amount of payroll taxes. Note that
it may not be possible to compute an exact predicted value, but the auditor is aware
that there should be a linear relationship.
With statistical calculations, it is possible to perform a regression analysis which will
indicate several things of interest to the auditor:
Is there, in fact, a linear relationship and if so how good (strong) is it (correlation)?,
With a confidence level (e.g. 95%) what is the band that the data points should fall
within (confidence interval)?
If a new data point is to be charted, what range would these points fall within
(prediction interval)
What is being monitored (indicator) - in this example, payroll tax expense is being
monitored
Expected values/ Results - the auditor expects that there will be a linear relationship
and most values will fall within the confidence interval
Control Limits - Set at 95% confidence for this example
Use for indicator - Unusual data points will be investigated. If no unusual data points
are identified, audit testing will be reduced.
Target (optimal) - More than 95% of the data points fall within the confidence
interval. No data points fall outside the prediction interval.
Historical Ranges - Historically there has been a very good fit in this area.
When the data is plotted, the chart below is obtained. For example, the amount of
maintenance expense for school buses is closely related to the number of miles
driven. Note that there are other factors as well, but generally, as the number of
miles driven increases, so too does the amount of maintenance expense. The chart
below confirms the general trend. This general trend is indicated as the correlation is
fairly good (89% in this case).



Audit Commander User Guide   Copyright 2009                                      Page 83 of 135
Chapter 5 - Monitoring




The charting process also creates a log of the data charted.
If other information regarding the regression analysis is needed, for example
confidence and prediction intervals, that information can be obtained using the
confidence band method.
                                        Figure 19 – Trend Line




5.8.3 Pareto Charts
The Pareto principle can often be applied to accounting data using the "80/20" principle.
Examples include:
Chapter 5 Monitoring
    1. 80% of the invoice value comes from 20% of the suppliers,

    2. 80% of the general journal posting amounts come from 20% of the entries

    3. 80% of the inventory value arises from 20% of the inventory items, etc.
With this information, the auditor is able to focus on just those transactions which have the most
financial impact.
What is being monitored (indicator) - in this example, the auditor wishes to identify which
counties school bus maintenance expenses comprise the majority of all school maintenance
expenses state-wide.
Expected values/ Results - the auditor expects that just a few counties will comprise 80% of
the school bus maintenance costs state-wide.
Control Limits - In this case, 80% is being used.
Use for indicator - To narrow the focus for audit tests and analysis.
Target (optimal) - 20% or fewer of the items constitute 80% (or more) of the value.
Historical Ranges - Historically 15% of the counties have represented 85% of the school bus
maintenance costs.
When the data is plotted, the chart below is obtained. The chart indicates that just three counties
(Wake, Mecklenberg and New Hanover) combined have 80% of the state-wide costs for school
bus maintenance costs (note that this data is made up for illustration only).




Audit Commander User Guide   Copyright 2009                                            Page 85 of 135
Chapter 5 - Monitoring




                                         Figure20 – Pareto Chart




So if the audit focus were on school bus maintenance costs, the auditor could cover 80% of the
costs by looking at the costs incurred in only three counties.
Note the last category on the right ("All Other"). This is a sum of all the remaining counties not
shown and is computed by the system.

5.8.4 Counts
Transaction counts may be monitored for a variety of reasons . Examples include:
Assuring that error counts are within tolerable limits ,
Performing reasonableness tests for counts
Determining that transaction counts are within historical ranges.
Chapter 5 Monitoring
With this information, the auditor is able to focus on just error or unusual
transactions.
What is being monitored (indicator) - in this example, the count of payroll
transactions quarterly is being monitored.
Expected values/ Results - the auditor expects that transaction counts will be within
historical ranges.
Control Limits - In this case, 0 - 60,000 is considered good, 60,000 - 100,000
unusual and over 100,000 is considered to be an error.
Use for indicator - To identify spikes or an unusually low number of transactions
Target (optimal) - In this example, transaction counts between 0 and 60,000 are
considered normal.
Historical Ranges - Historically transaction counts have varied from 0 to 60,000.
When the data is plotted, the chart below is obtained. The chart indicates that the
monitored counts are 59,298 which is within the monitoring range specified. In this
instance the count is for the number of payroll transactions during the quarter.
Counts up to 68,000 are considered normal. Counts between 68,000 and 100,000
indicate that review may be needed. Counts over 100,000 are considered an error
condition.




Audit Commander User Guide   Copyright 2009                                    Page 87 of 135
Chapter 5 - Monitoring




                               Figure 21 – Meter chart with counts




5.8.5 Amounts
Transaction amounts may be monitored for a variety of reasons . Examples include:
Assuring that amounts are within tolerable limits ,
Performing reasonableness tests for amounts
Chapter 5 Monitoring
Determining that transaction amounts are within historical ranges.
With this information, the auditor is able to focus on just error or unusual
transactions.
What is being monitored (indicator) - in this example, the amount of payroll
transactions quarterly is being monitored.
Expected values/ Results - the auditor expects that transaction amounts will be
within historical ranges.
Control Limits - In this case, 0 - 60,000 is considered good, 60,000 - 100,000
unusual and over 100,000 is considered to be an error.
Use for indicator - To identify spikes or an unusually low number of transactions
Target (optimal) - In this example, transaction counts between 0 and 60,000 are
considered normal.
Historical Ranges - Historically transaction counts have varied from 0 to 60,000.
When the data is plotted, the chart below is obtained. The chart indicates that the
monitored amounts are 23,902,899.64 which is within the monitoring range
specified. In this instance the amount is for the utility expense during the quarter.
Amounts up to $28 million are considered normal. Amounts between $28 and $40
million indicate that review may be needed. Amounts over $40 million are
considered to be an error indicator.




Audit Commander User Guide   Copyright 2009                                    Page 89 of 135
Chapter 5 - Monitoring




                                    Figure 22 – Meter chart with totals




5.8.6 Positive/Negative

Transaction amounts may be monitored for a variety of reasons . Examples include:
   •   Assuring that amounts are within tolerable limits ,
   •   Performing reasonableness tests for amounts
   •   Determining that transaction amounts are within historical ranges.
Chapter 5 Monitoring
With this information, the auditor is able to focus on just error or unusual transactions. The chart
below indicates the results of monitoring the amounts of fixed assets on the books. Negative or
zero amounts are indicative of possible error transactions, as assets can not be negative. In this
instance the net amount of fixed assets is a little over $18 million.




                                  Figure 23 – Chart with counts and amounts




5.8.7 Duplicates
Sometimes it is desirable to monitor counts of transactions which meet certain
(auditor specified) criteria. Examples include:
Error conditions such as "impossible" transactions
Potential duplicate transactions
Audit Commander User Guide   Copyright 2009                                             Page 91 of 135
Chapter 5 - Monitoring

Counts of transactions falling on a holiday
Counts of transactions falling within certain ranges or on specified days of the week
(e.g. weekends)
Other transactions which may serve as indicators of an error conditions
With this information, the auditor is able to focus on unusual or exceptional
conditions.
What is being monitored (indicator) - in this example, the count of potential duplicate
invoices
Expected values/ Results - the auditor knows that there are some apparently
duplicate transactions, but expects that the overall number will be low.
Control Limits - In this case, 0 - 10 is considered acceptable, 11 - 15 raises a caution
flag and numbers over 15 indicate an error condition. (Note that all these numbers
would be specified using auditor judgment).
Use for indicator - To identify possible processing errors in the payables system
Target (optimal) - In this example, a zero count would be the best that can be
achieved.
Historical Ranges - Historically transaction counts have varied from 0 to 150 (150
resulted from a computer processing glitch)
The chart below indicates the results of monitoring the counts of potential duplicate
payments. A total of 34 transactions were identified where a potential duplicate
payment may exist. This number exceeds the auditor's threshold, and therefore the
meter indicates the results as falling in the "red" zone. (Note that the colors of the
zones can be specified by the auditor).
Chapter 5 Monitoring




                                     Figure 24 – Monitoring for duplicates

Note that the analysis process also results in the details of the potential duplicate
transactions written out to a file in text format which can then be imported into Excel
for further analysis and investigation.




5.8.8 Quartiles
The data classification of quartiles expands on the commonly used audit technique
of looking at the minimum, maximum and average values. Quartiles simply split up
the population into four "chunks", each of which has the same count. This provides
the auditor with a visual representation of the population.

Audit Commander User Guide   Copyright 2009                                   Page 93 of 135
Chapter 5 - Monitoring

Sometimes it is desirable to classify transaction amounts by quartile. This can be
done for just those transactions which meet certain (auditor specified) criteria.
Examples include:
   •   Entire populations of transactions being tested to check for reasonableness
   •   Subsets of the population, e.g. just one location or region
   •   Debit or credit amounts only
   •   Other transactions which may be of interest
The chart below indicates the results of monitoring the ranges of asset costs and
accumulated depreciation. The range of cost is shown on the left and the range of
accumulated depreciation is shown on the right. Note that the data file being tested
contains fixed asset records with negative costs (an obvious error) - so the chart
looks unusual. There do not appear to be obvious errors for the accumulated
depreciation amounts.
Chapter 5 Monitoring




                                       Figure 25 – Chart with quartiles




5.8.9 Simple Bar Charts

Often, a simple bar chart can be used to help visualize transactions or other data.
Examples include transaction amounts or counts over a time period, summaries or
counts by location, etc.
Preparing these charts for data being tested is a fairly simple process. The starting
point is the identification of two items:
    1. The identifier for the data being charted. This can be a point in time, vendor
        number, store location, etc.
    2. The numeric amount to be charted. This could be either a count or a total.
Audit Commander User Guide   Copyright 2009                                 Page 95 of 135
Chapter 5 - Monitoring

With this information, the auditor is able to focus on unusual or exceptional
conditions.
What is being monitored (indicator) - in this example, the dollar amounts of asset
cost are being shown and classified as to their useful life.
Expected values/ Results - the auditor expects that the costs for assets with a
longer useful life will be greater than those with a shorter life, due to their nature.
Control Limits - In this case, there are no control limits defined.
Use for indicator - To assist in the planning of a fixed assets audit
Target (optimal) - There is no target in this example
Historical Ranges - Historically the total costs for assets with a longer useful life
has been significantly larger than the total for those with a shorter useful life. The
chart below classifies asset totals by their useful life. A few things appear odd:
   •   There are assets with a useful life of less than two years (error condition), and
   •   There seems to be an arbitrary cutoff at 12 years for asset useful lives, and
   •   The totals for each period of useful life are generally very similar, which would
       not generally be expected.
Chapter 5 Monitoring




                                        Figure 26 – Simple bar chart




Audit Commander User Guide   Copyright 2009                            Page 97 of 135
Chapter 6 Macros


6 Macros


6.1 Overview
Macros are a little used and often misunderstood facility that can be of significant value to the
auditor. Although some technical knowledge is required, the use of “canned” audit queries is a
relatively simple process.


6.2 Benefits
Macros provide a concise and quick way for the auditor to perform an analysis without using
forms. The primary benefits are a repeatable process, reduced time to use (once the process is
understood) and a facility to document the procedures performed.
The primary disadvantages are that macros are somewhat error prone due to misspelled file
names, misspelled commands, etc.


6.3 Setting up the macros
Setting up macros in Excel is done using the visual basic editor and then typing in (or pasting)
the macro code. In addition to setting up the macro, there is a one time procedure to provide a
“reference” to the Audit Commander DLL (file name EWP.dll, DLL name – EWP – Electronic
work papers). The reference will show during the process to establish a reference.


6.4 The EWM Class
The EWP.dll includes a class named cEWM which is used throughout for running the various
types of macros described here.


6.5 “Registering” the Dll
Registering the DLL is doe through the visual basic editor, selecting Tools | References and then
placing a check mark by the reference of interest. A screen shot is shown below.
Chapter 6 Macros




                                       Figure 27 – Registering the DLL




6.6 Running the macros

6.6.1 Macros can be run using a variety of means:

From within the visual basic editor toolbar
From the visual basic menu (“run”)
From an Excel visual basic form by calling a routine (function or subroutine) which invokes the
macro
By the use of a shortcut key which has been established


6.7 Error Handling
For reasons of brevity, the examples below do not include error checking. It is recommended
that if, upon running the macro, the class “Errno” property is not zero, then the error description
(ErrDescription) be displayed or logged.




Audit Commander User Guide   Copyright 2009                                             Page 99 of 135
Chapter 6 - Macros

6.8 Types of commands
Altogether there are 29 audit commands which may be invoked using macros. The commands
may u=include up to a maximum of ten parameters, each of which corresponds with those
shown on the query forms.


The key data elements which are include in almost every macro include the following:


   •   FileIn – the file name of the workbook, Access database or text file directory being ana-
       lyzed
   •   Cmd – the name of the audit command
   •   Fileout – where the data report is to be written
   •   LocalCol – the name of the single column being analyzed
   •   ColString – certain commands require more than once column name for processing.
       The Colstring will include two or more column names separated by commas
   •   Table – the name of the work sheet, Access table or filename in the directory being
       tested

There are other parameters as well which are occasionally used – Parm1, Parm2, Title and
Scheme
Chapter 6 Macros


6.8.1 Numeric
6.8.1.1 Population Statistics
Macro parameters

6.8.1.1.1 Example macro


        The following macro provides population statistics for the column named “invoice
        amount” on the work sheet “CMTest” in the work book specified. A chart is prepared
        using a light green color scheme.
          Dim oEWM as new cEWM
          Dim sMsg As String
          oEWM.FileIn = "c:testcmcmGen.xls"
          oEWM.ChartFile = "c:testcmreportt-1.png"
          oEWM.Cmd = "stat"
          oEWM.FileOut = "c:testcmreportt-1.txt"
          oEWM.LocalCol = "Invoice Amount"
          oEWM.Scheme = "lightgreen"
          oEWM.Title = "test cm - stat"
          oEWM.Table = "CMTest$"
          oEWM.Where = "[invoice amount] > 0 "
          oEWM.RunCmd




Audit Commander User Guide   Copyright 2009                                    Page 101 of 135
Chapter 6 - Macros

6.8.1.2 Benford’s Law
Macro parameters
Example macro

         The following macro applies Benford’s Law to the column “Invoice Amount” on the
         worksheet named “CMTest” for those value greater than zero. A chart of the
         results is output with a light green color scheme.
        Dim oEWM As New cEWM
        Dim sMsg As String
        oEWM.FileIn = "c:testcmcmGen.xls"
        oEWM.ChartFile = "c:testcmreportt-2.png"
        oEWM.Cmd = "ben"
        oEWM.FileOut = "c:testcmreportt-2.txt"
        oEWM.LocalCol = "Invoice Amount"
        oEWM.Scheme = "lightgreen"
        oEWM.Title = "test cm - ben"
        oEWM.Table = "CMTest$"
        oEWM.Where = "[invoice amount] > 0 "
        oEWM.Parm1 = "F1"
        oEWM.RunCmd
Chapter 6 Macros
         Top and Bottom 10

6.8.1.2.1 Macro parameters
The following macro identifies the ten smallest values for the column “Invoice Amount” on the
sheet named CMTest where the invoice amount is between $1,100 and $1,200.

6.8.1.2.2 Example macro
             Dim oEWM As New cEWM
             Dim sMsg As String
             Dim sColstring As String

             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.Cmd = "bottomn" ‘ for topn command is topn
             oEWM.FileOut = "c:testcmreportt-20.txt"
             oEWM.LocalCol = "invoice amount"
             oEWM.Table = "CMTest$"
             oEWM.Where = "[invoice amount] between 1100 and 1200 "
             oEWM.Parm1 = "7"
             oEWM.RunCmd




Audit Commander User Guide   Copyright 2009                                        Page 103 of 135
Chapter 6 - Macros

6.8.1.3 Box Plot

Macro parameters
The following macro provides a box plot chart (i.e. four quartiles) for data in the Excel workbook
sheet named “CMTest” where the invoice amount is greater than -$5,000. A chart is prepared
using a pink background.
Example macro
              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.ChartFile = "c:testcmreportt-5.png"
              oEWM.Cmd = "boxplot"
              oEWM.FileOut = "c:testcmreportt-5.txt"
              oEWM.LocalCol = "Invoice Amount"
              oEWM.Scheme = "pink"
              oEWM.Title = "test cm - histogram"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > -5000 "
              oEWM.RunCmd


6.8.1.4 Round Numbers
Macro parameters
Example macro
The following macro produces a round number report on the amount “Invoice Amount” from the
worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a
credit amount of $5,000 are tested. The output chart uses a pink theme with a title “test cm –
rnreport”. A text report is also output to a file named t-10.txt.


              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.ChartFile = "c:testcmreportt-10.png"
              oEWM.Cmd = "rnreport"
              oEWM.FileOut = "c:testcmreportt-10.txt"
              oEWM.LocalCol = "Invoice Amount"
              oEWM.Scheme = "pink"
              oEWM.Title = "test cm - rnreport"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > -5000 "
              oEWM.RunCmd
Chapter 6 Macros


6.8.1.4.1 ‘Round number extract
The macro below extracts those rows from the sheet named CMTest in the column “Invoice
Amount” where the invoice amount is greater than -$5,000 and the amount is a round number of
order 1,2 or 3 (e.g. $10, $100, $1,000, but not $10,000 or $100,000 or any number which is not
round).



             Dim oEWM As New cEWM
             Dim sMsg As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             'oEWM.ChartFile = "c:testcmreportt-11.png"
             oEWM.Cmd = "rn"
             oEWM.FileOut = "c:testcmreportt-11.txt"
             oEWM.LocalCol = "Invoice Amount"
             oEWM.Scheme = "pink"
             oEWM.Title = "test cm - rnreport"
             oEWM.Table = "CMTest$"
             oEWM.Where = "[invoice amount] > -5000 "
             oEWM.Parm1 = "0111000"
             oEWM.RunCmd




Audit Commander User Guide   Copyright 2009                                        Page 105 of 135
Chapter 6 - Macros

6.8.1.5 Histograms
Macro parameters
The macro below obtains histogram data from the column “Invoice Amount” on the sheet named
“CMTest” where the invoice amount is greater than -$5,000. A chart of the results is output with
a light green format. A text report is written to the file named t-4.txt.

6.8.1.5.1 Example macro
              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.ChartFile = "c:testcmreportt-4.png"
              oEWM.Cmd = "histo"
              oEWM.FileOut = "c:testcmreportt-4.txt"
              oEWM.LocalCol = "Invoice Amount"
              oEWM.Scheme = "lightgreen"
              oEWM.Title = "test cm - histogram"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > -5000 "
              oEWM.RunCmd


6.8.1.6 Gaps in Sequences
Macro parameters
Example macro
The following macro produces a report of gaps in the numeric amount “Invoice Number” for the
worksheet named “CMTest” in the workbook “cmGen.xls”. A report is written as a text file to t-
18.txt.


              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.Cmd = "gap"
              oEWM.FileOut = "c:testcmreportt-18.txt"
              oEWM.Colstring = "[Invoice Number]"
              oEWM.Table = "CMTest$"
              oEWM.RunCmd
Chapter 6 Macros
6.8.1.7 Stratification
Macro parameters
Example macro
The following macro stratifies invoice amount data from the worksheet “CMTest” in the
workbook cmgen.xls. Only those invoice amounts greater than a credit amount of $5,000 are
tested. The output chart uses a light green theme with a title “test cm – stratify”. A text report is
also output to a file named t-3.txt. The stratification bins range from -100 through 3,000. Note
that invoice amounts both above and below these amounts will be separately classified.


             Dim oEWM As New cEWM
             Dim sMsg As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.ChartFile = "c:testcmreportt-3.png"
             oEWM.Cmd = "stratify"
             oEWM.FileOut = "c:testcmreportt-3.txt"
             oEWM.LocalCol = "Invoice Amount"
             oEWM.Scheme = "lightgreen"
             oEWM.Title = "test cm - stratify"
             oEWM.Table = "CMTest$"
             oEWM.Where = "[invoice amount] > -5000 "
             oEWM.Parm1 = "-100 0 200 500 1000 2000 3000"
             oEWM.RunCmd


6.8.1.8 Summarization
Macro parameters
Example macro
The following macro summarizes invoice amounts by store using the amount “Invoice Amount”
from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater
than zero are summarized. The output report is written to a file named t-12.txt. This report will
also contain information other than sub-totals, such as minimum and maximum values,
averages, standard deviations, etc. Because only one column (store) is being used for
summarization, the first parameter (Parm1) is set to 1. Had the summarization been by state
and by store, then this parameter would have been “2”.


             Dim oEWM As New cEWM
             Dim sMsg As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.Cmd = "summary"
             oEWM.FileOut = "c:testcmreportt-12.txt"


Audit Commander User Guide   Copyright 2009                                             Page 107 of 135
Chapter 6 - Macros

oEWM.LocalCol = "Invoice Amount"
oEWM.Colstring = "[Store]"
oEWM.Table = "CMTest$"
oEWM.Where = "[invoice amount] > 0 "
oEWM.Parm1 = "1"
oEWM.RunCmd
Chapter 6 Macros
        Date
Day of week
Macro parameters
Example macro
The following macro produces a weekday report using the date “Invoice Date” from the
worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a
credit amount of $5,000 are tested. The output chart uses a yellow theme with a title “test cm –
wd”. A text report is also output to a file named t-6.txt. These reports will show transaction
counts by day of week


              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.ChartFile = "c:testcmreportt-6.png"
              oEWM.Cmd = "wdReport"
              oEWM.FileOut = "c:testcmreportt-6.txt"
              oEWM.Colstring = "[Invoice Date]"
              oEWM.Scheme = "yellow"
              oEWM.Title = "test cm - wd"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > -5000 "
              oEWM.RunCmd



Extract by day of week
The following macro produces a round number report on the amount “Invoice Amount” from the
worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a
credit amount of $5,000 are tested. The output chart uses a pink theme with a title “test cm –
rnreport”. A text report is also output to a file named t-10.txt.


              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.Cmd = "wd"
              oEWM.FileOut = "c:testcmreportt-7.txt"
              oEWM.LocalCol = "Invoice Date"
              oEWM.Scheme = "yellow"
              oEWM.Title = "test cm - wd"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > -5000 "
              oEWM.Parm1 = "1000001"



Audit Commander User Guide   Copyright 2009                                            Page 109 of 135
Chapter 6 - Macros

oEWM.RunCmd
Chapter 6 Macros
          Holidays
Macro parameters
Example macro
The following macro produces a holiday report using the date “Invoice Date” from the
worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a
credit amount of $5,000 are tested. The output chart uses a yellow theme with a title “test cm –
Holiday Report”. A text report is also output to a file named t-8.txt. These reports and charts
provide a count and display of the number of invoices with a date falling on a federal holiday.


              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.ChartFile = "c:testcmreportt-8.png"
              oEWM.Cmd = "holidayReport"
              oEWM.FileOut = "c:testcmreportt-8.txt"
              oEWM.LocalCol = "Invoice Date"
              oEWM.Scheme = "yellow"
              oEWM.Title = "Test cm - Holiday Report"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > -5000 "
              oEWM.Parm1 = "mdy"
              oEWM.Parm2 = "US"
              oEWM.RunCmd



Holiday extract and chart


The following macro extracts those transactions whose date falls on a Federal holiday. The
extract is based upon the date “Invoice Date” from the worksheet “CMTest” in the workbook
cmgen.xls. Only those invoice dates on invoices with amounts greater than a credit amount of
$5,000 are tested. The output chart uses a yellow theme with a title “test cm – Holiday”. A text
report is also output to a file named t-9.txt.


              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.ChartFile = "c:testcmreportt-9.png"
              oEWM.Cmd = "holiday"
              oEWM.FileOut = "c:testcmreportt-9.txt"
              oEWM.LocalCol = "Invoice Date"

Audit Commander User Guide   Copyright 2009                                           Page 111 of 135
Chapter 6 - Macros

oEWM.Scheme = "yellow"
oEWM.Title = "test cm - Holiday"
oEWM.Table = "CMTest$"
oEWM.Where = "[invoice amount] > -5000 "
oEWM.Parm1 = "mdy"
oEWM.Parm2 = "US"
oEWM.RunCmd
Chapter 6 Macros
6.8.1.9 Date Near
Macro parameters
Example macro
The following macro extracts those transactions which are within five days of 2/10/2009, i.e.
2/5/2009 – 2/15/2009. Only invoices with an invoice amount greater than zero are tested. The
extract is based on the date “Invoice Date” from the worksheet “CMTest” in the workbook
cmgen.xls. A text report is written to a file named t-15.txt. This file can readily be imported back
into excel for further analysis.




              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.Cmd = "datenear"
              oEWM.FileOut = "c:testcmreportt-15.txt"
              oEWM.LocalCol = "Invoice Date"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > 0 "
              oEWM.Parm1 = "2/10/2009"
              oEWM.Parm2 = "5"
              oEWM.RunCmd

Date Range
The following macro extracts transactions based on the date range provided, in this case
2/10/2009 through 3/10/2009. The extract file is written to a text report named t-14.txt which can
readily be imported back into excel. The work sheet used is named CMTest from the workbook
cmGen.xls.


              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.Cmd = "daterange"
              oEWM.FileOut = "c:testcmreportt-14.txt"
              oEWM.LocalCol = "Invoice Date"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] > 0 "
              oEWM.Parm1 = "2/10/2009"
              oEWM.Parm2 = "3/10/2009"
              oEWM.RunCmd



Audit Commander User Guide   Copyright 2009                                           Page 113 of 135
Chapter 6 - Macros


6.8.2 Other
6.8.2.1 Ageing
Macro parameters
The macro below ages the numeric amount “invoice amount” on the worksheet CMTest in the
workbook cmGen.xls. Ageing is done as of 6/30/2008 using an ageing width of 30 days. An
output text report is written to the file t-10.txt and a chart is written to t-10.png which is colored
with a light green. Ageing is based upon the date in the column “Ageing date”
Example macro
              Dim oewm As New cEWM
              Dim sMsg As String
              Dim sColstring As String
              oewm.Filein = "c:testcmcmGen.xls"
              oewm.Cmd = "age"
              oewm.FileOut = "c:testcmreportt-10.txt"
              sColstring = "[invoice date],[invoice amount]"
              oewm.Colstring = sColstring
              oewm.LocalCol = "invoice amount"
              oewm.Title = "Ageing of Invoices"
              oewm.ChartFile = "c:testcmreportt-10.png"
              oewm.Scheme = "lightgreen"
              oewm.Table = "CMTest$"
              oewm.Parm1 = "6/30/2008"
              ' ageing width
              oewm.Parm2 = "30"
              oewm.RunCmd
Chapter 6 Macros
Calculated Values
Macro parameters
Example macro
The following macro produces a calculated value named “monthamt” which is computed by
dividing the column named “invoice amount” by 12. Arbitrarily, only those invoices with an
amount between $1,00 and $1,200 are extracted. The extract file is written to a text file named
t-32.txt which can readily be imported back into Excel.


In this example only a single calculated value is computed. Had additional calculated values
been needed, the could be specified, but must be separated by commas. For example:
“[Invoice Amount]/12 as monthamt, (cost – ad) / life as [Net Depreciation]” etc.
             Dim oewm As New cEWM
             Dim sMsg As String
             oewm.Filein = "c:testcmcmGen.xls"
             oewm.Cmd = "calc"
             oewm.FileOut = "c:testcmreportt-32.txt"
             oewm.Table = "CMTest$"
             oewm.Where = "[invoice amount] between 1100 and 1200 "
             oewm.Parm1 = " [Invoice Amount] / 12 as monthamt"
             oewm.RunCmd

Duplicates
Macro parameters
Example macro
The following macro extracts those rows which have exact duplicates which are defined as two
or more rows with the identical store and invoice number. Data is taken from the work book
named cmGen.xls on the sheet CMtest. Only those invoices with an invoice amount greater
than zero are subject to testing. In this example, duplicates were defined based upon the values
in two columns – i.e. Store and Invoice amount.
Other tests for duplicates might consider only a single column, three or more columns, etc. The
specification is completely under the control of the auditor performing the test.



             Dim oEWM As New cEWM
             Dim sMsg As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.Cmd = "duplicates"
             oEWM.FileOut = "c:testcmreportt-13.txt"
             oEWM.Colstring = "[Store],[invoice number]"

Audit Commander User Guide   Copyright 2009                                         Page 115 of 135
Chapter 6 - Macros

oEWM.Table = "CMTest$"
oEWM.Where = "[invoice amount] > 0 "
oEWM.Parm2 = "2"
oEWM.RunCmd
Chapter 6 Macros
Same, Same, Different
Macro parameters

           The purpose of the macro below is to identify any two invoices on the work sheet
           named CMTest in the workbook cmGen.xls which have the same invoice number
           but different vendor numbers. Output is to be written to a file named t-19.txt for
           further analysis.


6.8.2.1.1 Example macro
             Dim oEWM As New cEWM
             Dim sMsg As String
             Dim sColstring As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.Cmd = "ssd"
             oEWM.FileOut = "c:testcmreportt-19.txt"
             sColstring = "[invoice number]"
             sColstring = sColstring & ",[vendor number]"
             oEWM.Colstring = sColstring
             oEWM.Table = "CMTest$"
             oEWM.Parm2 = "2"
             oEWM.RunCmd




Warning:    The correct number of columns used (in this case 2) must be specified, otherwise the
            results may not be correct.




Audit Commander User Guide   Copyright 2009                                           Page 117 of 135
Chapter 6 - Macros

           Data Extraction
Macro parameters

            The macro below is a very basic extract procedure where the auditor wishes to
            prepare a schedule from the work sheet named CMTest in the workbook named
            cmGen.xls. The criteria for selection is where the column named invoice amount
            is between $1,100 and $1,200. Output will be written to a text file named t-16.txt
            which can then readily be imported back into Excel for further analysis.


6.8.2.1.2 Example macro



              Dim oEWM As New cEWM
              Dim sMsg As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.Cmd = "extractwhere"
              oEWM.FileOut = "c:testcmreportt-16.txt"
              oEWM.LocalCol = "Invoice Date"
              oEWM.Table = "CMTest$"
              oEWM.Where = "[invoice amount] between 1100 and 1200 "
              oEWM.RunCmd




Warning:     Any column names such as “Invoice Amount” which contain embedded spaces must
             have their name enclosed in brackets, otherwise the column name will be considered
             two columns – invoice and amount.



Warning:     Numeric amounts specified should not include any comma separators.


Fuzzy Match (LD)
Macro parameters
Example macro
The following macro extracts rows from a worksheet named CMtest in the workbook cmgen.xls.
All rows are tested for having a value in the vendor number column that is either an exact match
on “20172” or has a Levenshtein distance of 1. This would occur when either the only difference
is a single digit, or else a missing or extra digit. A text report is also output to a file named t-
23.txt. This text file can readily be imported back into Excel for further analysis.
Chapter 6 Macros

             Dim oEWM As New cEWM
             Dim sMsg As String
             Dim sColstring As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.Cmd = "fuzzyld"
             oEWM.FileOut = "c:testcmreportt-23.txt"
             sColstring = "[vendor number], *"
             oEWM.Colstring = sColstring
             oEWM.Table = "CMTest$"
             oEWM.Parm1 = "1"
             oEWM.Parm2 = "20172"
             oEWM.RunCmd

Fuzzy Match (Regular Expression)
Macro parameters
Example macro
The following macro does a “fuzzy match” on the vendor number using a regular expression “[2-
5]1?*”. All rows on the worksheet CMTest in the workbook cmGen.xls are tested. The regular
expression [2-5]1?* will match any vendor number whose first digit is either a 2,3,4 or 5. The
second digit must be 1. The following digit can be any character or digit and the remaining
characters (zero or more) can consists of any values. An extract report is output to a file named
t-22.txt, which can readily be imported back into Excel for further analysis.



             Dim oEWM As New cEWM
             Dim sMsg As String
             Dim sColstring As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.Cmd = "fuzzymatch"
             oEWM.FileOut = "c:testcmreportt-22.txt"
             sColstring = "[vendor number], *"
             oEWM.Colstring = sColstring
             oEWM.Table = "CMTest$"
             oEWM.Parm1 = "[2-5]1?*"
             oEWM.RunCmd




Audit Commander User Guide   Copyright 2009                                          Page 119 of 135
Chapter 6 - Macros

6.8.2.2 Near Miss

6.8.2.2.1 Macro parameters
The following macro checks for a “near miss” between two invoices which are not exact
duplicates, but are close. “Close” is defined by the auditor based upon two criteria –


   1. The invoice dates must be within a specified number of days of each other (30 in this
       example), and
   2. The invoice numbers must have a degree of similarity as measured by the Levenshtein
       distance.


In addition, the numeric amounts must be within two cents of each other and the vendor
numbers must match. The test uses the worksheet “CMTest” in the workbook cmgen.xls. Only
those invoice amounts greater than a credit amount of $5,000 are tested. A text report is also
output to a file named t-24.txt which can then readily be imported back into Excel.



        ……. Dim oEWM as new cEWM
            Dim sMsg As String
            Dim sColstring As String
            oEWM.FileIn = "c:testdataEWP.xls"
            oEWM.Cmd = "invne"
            oEWM.FileOut = "c:testcmreportt-24.txt"
            ' column sequence is critical - must match exact
            sColstring = "[invoice date] "
            sColstring = sColstring & ",[invoice amount]"
            sColstring = sColstring & ",[invoice number]"
            sColstring = sColstring & ",[vendor number]"
            oEWM.Colstring = sColstring
            oEWM.Table = "Duplicate Invoices$"
            oEWM.Parm1 = "30" ' date tolerance
            oEWM.Parm2 = "5" ' invoice number tolerance
            oEWM.RunCmd




Warning:    The comparison process is computationally intensive. Because of this, only several
            hundred rows are examined at any one time. Although there is a “good chance” that
            “near misses” will be identified, there is no guarantee that this process will do so.
Chapter 6 Macros
6.8.2.3 Split Invoices
Macro parameters
Example macro
The following macro checks for “split invoices” which is defined as follows:
One invoice in the amount of $X exists from vendor V.
    3. Vendor V also has two to four more invoices which, when combined as to amount, total
        to $X. All of these invoices are within a specified number of days from each other. In the
        example provided, invoices are must exist within 30 days of each other in order to be
        considered “split”.


In addition, the numeric amounts must be within two cents of each other and the vendor
numbers must match. The test uses the worksheet “CMTest” in the workbook cmgen.xls. All
rows in the worksheet were tested. A text report is output to a file named t-25.txt which can then
readily be imported back into Excel.



             Dim oEWM As New cEWM
             Dim sMsg As String
             Dim sColstring As String
             oEWM.FileIn = "c:testdataEWP.xls"
             oEWM.Cmd = "invsp"
             oEWM.FileOut = "c:testcmreportt-25.txt"
             ' column sequence is critical - must match exact
             sColstring = "[invoice date] "
             sColstring = sColstring & ",[invoice amount]"
             sColstring = sColstring & ",[invoice number]"
             sColstring = sColstring & ",[vendor number]"
             oEWM.Colstring = sColstring
             oEWM.Table = "Duplicate Invoices$"
             oEWM.Parm1 = "30" ' date tolerance
             oEWM.RunCmd




Warning:    The comparison process is computationally intensive. Because of this, only a certain
            number of rows are examined at any one time. Although there is a “good chance” that
            “split invoices” will be identified, there is no guarantee that this process will do so. Tests
            for a split invoice of two items uses approximately 200 rows, three invoices about 80
            rows and four invoices about 30 rows.


Audit Commander User Guide    Copyright 2009                                                Page 121 of 135
Chapter 6 - Macros



6.8.3 Pattern Testing
Benford’s Law
Macro parameters
Example macro

         The following macro performs a pattern test, using benford’s Law for invoice
         amounts by store. The process is as follows:


         For each store, all invoice amounts are tested using the benford’s law test
         specified, in this case “F1” – first digit. The results of the observed values are
         compared with that expected theoretically. Any differences are quantified using
         both the Chi Square test and the Kolmogorov-Smirnov test. Once the tests have
         been run for all stores, the results are shown in descending order, i.e. those
         stores having the greatest difference between the theoretical expected amount
         and observed are shown first. In this example all the rows on the worksheet
         named CMTest in thw orkbook cmGen.xls were tested, even though criteria could
         have been specified to limit testing to just certain rows.
            Dim oEWM As New cEWM
            Dim sMsg As String
            Dim sColstring As String
            oEWM.FileIn = "c:testcmcmGen.xls"
            oEWM.Cmd = "patternben"
            oEWM.FileOut = "c:testcmreportt-26.txt"
            sColstring = "[store],[invoice amount]"
            oEWM.Colstring = sColstring
            oEWM.Table = "CMTest$"
            oEWM.Parm1 = "F1"
            oEWM.RunCmd
Chapter 6 Macros
Holidays
Macro parameters
Example macro

           The following macro performs a pattern test, using frequency of transactions
           found on federal holidays. The analysis is dates by store. The process is as
           follows:


           For each store, all invoice dates are tested if they fall on a holiday. The counts
           are tallied.The counts for each store are then compared with that for all stores.
           Any differences are quantified using both the Chi Square test and the
           Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results
           are shown in descending order, i.e. those stores having the greatest difference
           between the overall population counts and the observed values for the store are
           shown first. In this example all the rows on the worksheet named CMTest in the
           workbook cmGen.xls were tested, even though criteria could have been specified
           to limit testing to just certain rows.




              Dim oEWM As New cEWM
              Dim sMsg As String
              Dim sColstring As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.Cmd = "patternhol"
              oEWM.FileOut = "c:testcmreportt-27.txt"
              sColstring = "[store],[invoice date]"
              oEWM.Colstring = sColstring
              oEWM.Table = "CMTest$"
              oEWM.Parm1 = "mdy"
              oEWM.Parm2 = "US"
              oEWM.RunCmd




Audit Commander User Guide   Copyright 2009                                        Page 123 of 135
Chapter 6 - Macros

Weekdays
Macro parameters
Example macro

           The following macro performs a pattern test, using frequency of transactions
           found by day of the week. The analysis is dates by store. The process is as
           follows:


           For each store, all invoice dates are tabulated based upon the da of the week
           they fall on. The counts for each store are then compared with that for all stores.
           Any differences are quantified using both the Chi Square test and the
           Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results
           are shown in descending order, i.e. those stores having the greatest difference
           between the overall population counts and the observed values for the store are
           shown first. In this example all the rows on the worksheet named CMTest in the
           workbook cmGen.xls were tested, even though criteria could have been specified
           to limit testing to just certain rows.




             Dim oEWM As New cEWM
             Dim sMsg As String
             Dim sColstring As String
             oEWM.FileIn = "c:testcmcmGen.xls"
             oEWM.Cmd = "patternwd"
             oEWM.FileOut = "c:testcmreportt-28.txt"
             sColstring = "[store],[invoice date]"
             oEWM.Colstring = sColstring
             oEWM.Table = "CMTest$"
             oEWM.RunCmd
Chapter 6 Macros
Data Stratification
Macro parameters
Example macro

           The following macro performs a pattern test, using stratified transaction amounts.
           The analysis is dollar amounts by store. The process is as follows:


           For each store, all invoice amounts are stratified based upon the stratification
           parameters provided by the auditor. The counts for each store are then compared
           with that for all stores. Any differences are quantified using both the Chi Square
           test and the Kolmogorov-Smirnov test. Once the tests have been run for all
           stores, the results are shown in descending order, i.e. those stores having the
           greatest difference between the overall population stratification and the observed
           values for the store are shown first. In this example all the rows on the worksheet
           named CMTest in the workbook cmGen.xls were tested, even though criteria
           could have been specified to limit testing to just certain rows.




              Dim oEWM As New cEWM
              Dim sMsg As String
              Dim sColstring As String
              oEWM.FileIn = "c:testcmcmGen.xls"
              oEWM.Cmd = "patternstrat"
              oEWM.FileOut = "c:testcmreportt-30.txt"
              sColstring = "[store],[invoice amount]"
              oEWM.Colstring = sColstring
              oEWM.Table = "CMTest$"
              oEWM.Parm1 = "-100 0 200 500 1000 5000 10000 20000"
              oEWM.RunCmd




Audit Commander User Guide   Copyright 2009                                        Page 125 of 135
Chapter 6 - Macros

Round numbers
Macro parameters
Example macro

          The following macro performs a pattern test, using frequency of round numbers.
          The analysis is dollar amounts by store. The process is as follows:


          For each store, all invoice amounts are checked for being “round” and the counts
          are tabulated by type. The counts for each store are then compared with that for
          all stores. Any differences are quantified using both the Chi Square test and the
          Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results
          are shown in descending order, i.e. those stores having the greatest difference
          between the overall population counts and the observed values for the store are
          shown first. In this example all the rows on the worksheet named CMTest in the
          workbook cmGen.xls were tested, even though criteria could have been specified
          to limit testing to just certain rows.



            Dim oEWM As New cEWM
            Dim sMsg As String
            Dim sColstring As String
            oEWM.FileIn = "c:testcmcmGen.xls"
            oEWM.Cmd = "patternrn"
            oEWM.FileOut = "c:testcmreportt-29.txt"
            sColstring = "[store],[invoice amount]"
            oEWM.Colstring = sColstring
            oEWM.Table = "CMTest$"
            oEWM.RunCmd


6.8.4 Sampling
Stratified Attribute Sampling Assessment
Macro parameters
Example macro

          The following macro performs a pattern test, using frequency of transactions
          found by day of the week. The analysis is dates by store. The process is as
          follows:
Chapter 6 Macros
           For each store, all invoice dates are tabulated based upon the da of the week
           they fall on. The counts for each store are then compared with that for all stores.
           Any differences are quantified using both the Chi Square test and the
           Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results
           are shown in descending order, i.e. those stores having the greatest difference
           between the overall population counts and the observed values for the store are
           shown first. In this example all the rows on the worksheet named CMTest in the
           workbook cmGen.xls were tested, even though criteria could have been specified
           to limit testing to just certain rows.




              Dim oewm As New cEWM
              Dim sMsg As String
              Dim sColstring As String
              oewm.Filein = "c:testewpNeyman v3.xls"
              oewm.Cmd = "saacc"
              oewm.FileOut = "c:testcmreportt-35.txt"
              sColstring = "[audited]"
              sColstring = sColstring & ",[stratum]"
              sColstring = sColstring & ",[selected]"
              oewm.Colstring = sColstring
              oewm.LocalCol = "stratum"
              'oEWM.Title = "Stratified Variable Population"
              'oEWM.ChartFile = "c:testcmreportt-32.png"
              'oEWM.Scheme = "lightgreen"
              oewm.Table = "Attrib$"
              'number of columns
              'oEWM.Parm1 = "45"
              oewm.Parm2 = ".95"
              oewm.RunCmd




Audit Commander User Guide   Copyright 2009                                        Page 127 of 135
Chapter 6 - Macros

Stratified Attribute Sampling Population
Macro parameters
Example macro
           Dim oewm As New cEWM
             Dim sMsg As String
             Dim sColstring As String
             oewm.Filein = "c:testewpNeyman v3.xls"
             oewm.Cmd = "sapop"
             oewm.FileOut = "c:testcmreportt-34.txt"
             sColstring = "[audited]"
             sColstring = sColstring & ",[stratum]"
             sColstring = sColstring & ",[selected]"
             oewm.Colstring = sColstring
             oewm.LocalCol = "stratum"
             oewm.Table = "Attrib$"
             ‘ precision
             oewm.Parm2 = ".95"
             oewm.RunCmd
Chapter 6 Macros
Stratified Variable Sampling Assessment
Macro parameters
Example macro



              Dim oewm As New cEWM
              Dim sMsg As String
              Dim sColstring As String
              oewm.Filein = "c:testewpNeyman v3.xls.xls"
              oewm.Cmd = "svpop"
              oewm.FileOut = "c:testcmreportt-32.txt"
              sColstring = "[examined]"
              sColstring = sColstring & ",[stratum]"
              sColstring = sColstring & ",[selected]"
              oewm.Colstring = sColstring
              oewm.LocalCol = "stratum"
              oewm.Table = "Neyman$"
              'number of samples
              oewm.Parm1 = "35"
              ' precision
              oewm.Parm2 = ".95"
              oewm.RunCmd

Stratified Variable Sampling Population
Macro parameters
              Dim oewm As New cEWM
              Dim sMsg As String
              Dim sColstring As String
              oewm.Filein = "c:testewpNeyman v3.xls"
              oewm.Cmd = "svacc"
              oewm.FileOut = "c:testcmreportt-33.txt"
              sColstring = "[examined]"
              sColstring = sColstring & ",[stratum]"
              sColstring = sColstring & ",[selected]"
              oewm.Colstring = sColstring
              oewm.LocalCol = "stratum"
              oewm.Parm1 = "45"
              oewm.Parm2 = ".95"
              oewm.RunCmd



Audit Commander User Guide   Copyright 2009                   Page 129 of 135
Chapter 7 - Installation


7 Installation


7.1 Overview
Installation of the software is done using a standard “setup.exe”. The setup file may be
downloaded from http://ezrstats.com/online/inno/ACSetup.exe. There are two general
techniques for installation:

        •   Standard – double click the “setup.exe” and answer the questions, or

        •   Silent – accept all the installation defaults without any prompting



7.2 Silent vs. “Regular” install
The advantage of a “silent” install is that it is faster and easier. Disadvantages are that any non-
default installation options cannot be selected.


7.3 Registering the software
The software is free and does not require a license or registration key.


7.4 Installation options
Installation options include the name of the directory where the software is installed. The default
values is “c:program filesezsac”, but may be changed during the installation process.


7.5 Installation trouble Shooting

7.6 If there are problems during the installation, consider
        the following points:
    •   Close all other applications which are running
Chapter 7 - Installation
    •   If a previous version of the software has been installed, first remove that version using
        either the uninstall program provided or else the Control Panel add and remove pro-
        grams
    •   Make sure that the installation drive contains at least 40 MB of free space.

7.7 Files/data that are installed
The files and data that are installed include the program executables, test data files, license
information and some miscellaneous data files. All files installed are located in the application
installation directory (default c:program filesezsac”).


7.8 Registry entries that are created
A number of registry entries are created, all under the user key “Software/EZS/AC”. Three root
folders are created under this registry entry. The values stored here are to assist in navigation
and use of the software. The registry entries also track the license number and other licensing
information.




Audit Commander User Guide   Copyright 2009                                            Page 131 of 135
Appendix A – Electronic Work Papers


8 Appendix A – Example Electronic work
  papers


Below is an example portion of the file “Query.ini” which is used for the production of electronic
work papers. The entire file is included with the software distribution.
        [1089-0]
        Title = Purchases and Payments
        AuditPeriod = Fiscal Year Ending 11-30-2008
        Folder = c:testtemp
        [1089-1]
        Select = OK
        DataSource = c:program filesezsacdataEWP.xls
        Objective = Age invoices by supplier
        Command = age
        Table = PPTest$
        Where =
        Column =
        ColString = [invoice date],[invoice amount]
        Parm1 = 3/31/2007
        Parm2 = mdy
        Scheme = summer
        Title = Ageing of supplier invoices
        [1089-2]
        Select = OK
        DataSource = c:program filesezsacdataEWP.xls
        Objective = Summarize invoices by supplier and agree to
        ledger
        Command = summary
        Table = PPTest$
        Where =
        Column = amount paid
        ColString = [vendor number]
        Parm1 =
        Parm2 = 1
        Scheme =
        Title =
Appendix B – Monitoring Files




Audit Commander User Guide   Copyright 2009                     Page 133 of 135
Appendix B – Example monitoring files



9 Appendix B – Example Monitoring Files


Below is an example section of a monitoring file for the preparation of a linear regression test
with confidence and prediction intervals.


        [Bus Maintenance Expense - Pareto]
        ChartFile = "c:program filesezsacreportt-8.png"
        Title = "Bus Maintenance Expense - FYE 6/30/2007"
        BGColor = gold
        ChartWidth = 600
        ChartHeight = 540
        DataChartColor = yellow
        ChartBoxColor = "light yellow"
        TextBoxColor = "tan"
        YLabel = "Bus Maintenance expense"
        XLabel = "County"
        DataTitle = "Major School Systems"
        ChartPosPct = 0.1
        CType = "pareto"
        BarColor1 = brown
        BarColor2 = tan
        Infile = "c:program filesezsacdataData.xls"
        Outfile = "c:program filesezsacreportt-8.txt"
        SQL = "Select county, mileage, expense from [Pareto$] order
        by mileage desc;"
Appendix A – Electronic Work Papers



                         Comment form



     Please send any comments, suggestions or items identified as errors to:

                           Mike.Blakley@ezrstats.com

Although I am not able to respond to all such comments and suggestions, I will try
to do so as feasible. Registered users of Audit Commander will be notified as
revised versions of the manual are released.

More Related Content

PDF
Case 570 mxt loader landscaper operator manual
PDF
Case 570 mxt series 3 loader landscaper operator manual
PDF
E2027 a8v e-se
PDF
Best practices-for-handling-it-equipment-in-a-data-center-server lift-corpora...
PDF
Toyota 6 hbw20 4000lb powered pallet walkie service repair manual
PDF
Case ih magnum 340 powershift transmission (pst) tractor service repair manua...
PDF
Case cx245 d sr crawler excavator service repair manual
PDF
E1911 a8n e
Case 570 mxt loader landscaper operator manual
Case 570 mxt series 3 loader landscaper operator manual
E2027 a8v e-se
Best practices-for-handling-it-equipment-in-a-data-center-server lift-corpora...
Toyota 6 hbw20 4000lb powered pallet walkie service repair manual
Case ih magnum 340 powershift transmission (pst) tractor service repair manua...
Case cx245 d sr crawler excavator service repair manual
E1911 a8n e

Similar to Audit Commander User Guide (20)

PDF
Trend Line Guide
PPTX
Enerit ISO 50001 Audit Management Presentation
PDF
Audit Commander Worksheet Analyzer
PDF
Audit Commander Worksheet analyzer
PDF
Command Center User's Guide for ESM 6.5c
PDF
UniVerse11.2 Audit Logging
PDF
ESM 6.5c SP1 Command Center User's Guide
PDF
Power gui 3.5_userguide. Powershell for windows
PDF
Whats New In Change Auditor - 5.5
PDF
Whats New In Change Auditor - 5.5
PDF
It management audits it management templates
PDF
Minitab 090226133035 Phpapp01
PPT
BCMS-Internal-Auditor-Course-ppt [Autosaved].ppt
PPT
Fundamentals of Auditing PTC
PDF
Microsoft PowerPoint 2010.pdf
PDF
Meet Minitab 15 User's Guide ( PDFDrive ).pdf
PDF
Internal audit
PDF
Xi3 ds administrators_guide_en
PDF
Session Auditor - Transparent Network Behavior Recorder
PDF
Macro schedulermanual9
Trend Line Guide
Enerit ISO 50001 Audit Management Presentation
Audit Commander Worksheet Analyzer
Audit Commander Worksheet analyzer
Command Center User's Guide for ESM 6.5c
UniVerse11.2 Audit Logging
ESM 6.5c SP1 Command Center User's Guide
Power gui 3.5_userguide. Powershell for windows
Whats New In Change Auditor - 5.5
Whats New In Change Auditor - 5.5
It management audits it management templates
Minitab 090226133035 Phpapp01
BCMS-Internal-Auditor-Course-ppt [Autosaved].ppt
Fundamentals of Auditing PTC
Microsoft PowerPoint 2010.pdf
Meet Minitab 15 User's Guide ( PDFDrive ).pdf
Internal audit
Xi3 ds administrators_guide_en
Session Auditor - Transparent Network Behavior Recorder
Macro schedulermanual9
Ad

Recently uploaded (20)

DOCX
unit 1 COST ACCOUNTING AND COST SHEET
PDF
DOC-20250806-WA0002._20250806_112011_0000.pdf
PDF
Laughter Yoga Basic Learning Workshop Manual
PDF
Nidhal Samdaie CV - International Business Consultant
PPTX
ICG2025_ICG 6th steering committee 30-8-24.pptx
DOCX
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
DOCX
Business Management - unit 1 and 2
DOCX
Euro SEO Services 1st 3 General Updates.docx
PDF
Training And Development of Employee .pdf
PPT
Data mining for business intelligence ch04 sharda
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
PPT
Chapter four Project-Preparation material
PDF
Chapter 5_Foreign Exchange Market in .pdf
PPTX
Principles of Marketing, Industrial, Consumers,
PPTX
5 Stages of group development guide.pptx
PPTX
Amazon (Business Studies) management studies
PDF
Business model innovation report 2022.pdf
PDF
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
unit 1 COST ACCOUNTING AND COST SHEET
DOC-20250806-WA0002._20250806_112011_0000.pdf
Laughter Yoga Basic Learning Workshop Manual
Nidhal Samdaie CV - International Business Consultant
ICG2025_ICG 6th steering committee 30-8-24.pptx
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
Business Management - unit 1 and 2
Euro SEO Services 1st 3 General Updates.docx
Training And Development of Employee .pdf
Data mining for business intelligence ch04 sharda
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
Chapter four Project-Preparation material
Chapter 5_Foreign Exchange Market in .pdf
Principles of Marketing, Industrial, Consumers,
5 Stages of group development guide.pptx
Amazon (Business Studies) management studies
Business model innovation report 2022.pdf
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
Ad

Audit Commander User Guide

  • 1. Audit Commander User Guide Data analysis made easier… EZ-R Stats, LLC
  • 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
  • 15. Chapter 3 – Audit Queries Patterns Figure 5 – Pattern commands Sampling Figure 6 – Sampling commands Audit Commander User Guide Copyright 2009 Page 15 of 135
  • 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
  • 70. Chapter 4 – Electronic work papers Parm1 = 45 Parm2 = .95
  • 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
  • 73. Chapter 6 Macros 5 Monitoring 5.1 Overview The term "continuous monitoring" means different things to different auditors. In Wikipedia, continuous monitoring is defined as: "Continuous monitoring is the process and technology used to detect compliance and risk issues associated with an organizations financial and operational environment." Wikipedia describes some of the benefits as: "Continuous monitoring systems can examine 100% of transactions and data processed in different applications and databases. The continuous monitoring systems can test for inconsistencies, duplication, errors, policy violations, missing approvals, incomplete data, dollar or volume limit errors, or other possible breakdowns in internal controls. Testing can be done tests for processes like payroll, sales order processing, purchasing and payables processing including travel and entertainment expenses and purchasing cards, and inventory transactions." The process of establishing a continuous monitoring system with Audit Commander consists of the following steps: • Develop various control tests using the "ad hoc" (general) query facility, logging the desired commands to a log file • Organize the ad hoc queries into audits or projects within a log file • Plan a schedule for regular testing of controls, using the defined audits or projects which have been established • Implement a schedule for running these control tests • Review the output of the processes and revise/expand the audit procedures accordingly. Note: The recommended procedure is to perform testing on a 100% basis (rather than sample). Because the procedures can be run on an automated basis during non-peak hours (evenings and weekends) it becomes feasible to run a variety of audit tests, even when transaction volumes are large.
  • 74. Chapter 5 - Monitoring 5.1.1 5.2 Example usage 5.3 Benefits 5.3.1 5.4 The basic form The monitoring form consists of two tabs. The first tab is used to locate the file with the monitoring commands and select the specific monitoring process to be performed. The second tab contains information regarding the specific processing to be performed. At the bottom of the form are the various command buttons used to run the commands, view the output chart and navigate between monitoring commands.
  • 75. Chapter 5 Monitoring Figure 17 Monitoring form Audit Commander User Guide Copyright 2009 Page 75 of 135
  • 76. Chapter 5 - Monitoring 5.5 Charts 5.5.1 The elements of charts Charts produced by the monitoring procedure consist of three elements. Some of the elements are optional for certain procedures. The three elements are: 1. The chart graphic shown at the top 2. A text area which may contain additional explanatory information 3. A meter which graphically charts expected versus actual and may classify the character of the results. 5.5.2 Chart graphic Major aspects of the chart are specified using a list of short parameters in a text file with lines of the format “Object = Value” where object refers to the specific attribute of the chart and value is the desired setting for the value. As an example, one line could be “Title = Fixed Assets”. This causes the title shown on the chart to be set to “Fixed Assets”. The names of the objects are not case sensitive, but must be spelled as indicated below. Each object will contain an example and a description as to how to specify the values. 5.5.3 Chartfile Chartfile = filename The name of the chart file to be produced ChartFile = "c:testcmReportMont-1.png" 5.5.4 Title Title = title content The title to be shown on the chart Title = "Fixed Assets - Cost and Depreciation by Useful Life" 5.5.5 BGColor BGColor = dark green The background color around all the chart elements BGColor = "dark green", or
  • 77. Chapter 5 Monitoring BGColor = &H669966 5.5.6 Chartwidth Chartwidth = 600 The width of the chart (in pixels) ChartWidth = 600 5.5.7 Chartheight Chartheight = 540 The height of the chart (in pixels) ChartHeight = 540 5.5.8 DataChartColor DataChartColor = blanched almond The color to be used for the data chart 5.5.9 YLabel YLabel = Annual sales ($Thousands) The label to be used for the vertical axis 5.5.10 ChartPosPct ChartPosPct = .1 The positioning of the chart on the left, expressed as a percentage 5.5.11 Legend1 Legend1 = Cost For comparative charts, the legend used for the first data element 5.5.12 Legend2 Audit Commander User Guide Copyright 2009 Page 77 of 135
  • 78. Chapter 5 - Monitoring Legend2 = Count For comparative charts, the legend used for the second data element 5.5.13 CType Ctype = “mb” The chart type, a critical specification. This parameter specified the type of chart which will be produced, which may be one of the following: • mb – multibar (comparative) • sb – single bar • cband – linear regression with confidence and precision intervals • trend – linear regression (no confidence or precision intervals) 5.5.14 Barcolor1 Barcolor1 = light yellow For alternating horizontal bars, the colors to be shown for alternating bars (total of two colors) 5.5.15 Barcolor2 Barcolor2 = light yellow For alternating horizontal bars, the colors to be shown for alternating bars (total of two colors) 5.5.16 Metertext MeterText = "Fixed asset life groups" For charts which have meters, the text to be shown on the meter which describes the type of measurement being made 5.5.17 MeterPointerColor MeterPointerColor = brown The color used for the pointer on the meter to indicate the value obtained
  • 79. Chapter 5 Monitoring 5.5.18 SetZone1 SetZone1 = 50, 100, light green, "Good" The meter is divided into three zones. The setzone1 command is used to define the range of values which fall into zone 1, the color for the zone and the description for the zone. In this example, a range from 50 to 100 is considered good and is colored light green. The values specified must be separated by commas. 5.5.19 SetZone2 SetZone2 = 20, 50, light yellow, "Adequate" The setzone2 command is used to define the range of values which fall into zone 2, the color for the zone and the description for the zone. In this example, a range from 20 to 50 is considered adequate and is colored light yellow. The values specified must be separated by commas. Note that the colors, descriptions and ranges are all entirely under the auditor’s control. 5.5.20 SetZone3 SetZone2 = 0, 20, pink, "Poor" The setzone3 command is used to define the range of values which fall into zone 3, the color for the zone and the description for the zone. In this example, a range from 0 to 20 is considered poor and is colored pink. The values specified must be separated by commas. Note that the colors, descriptions and ranges are all entirely under the auditor’s control. 5.5.21 Infile Infile = "c:program filesezsacdataEWP.xls" For certain charts, the data is obtained directly from a file, which may either be in Excel or Access format. This parameter allows the auditor specify the name of the file where the data to be charted is located. 5.5.22 Outfile Outfile = "c:testcmReportMont-1.txt" Audit Commander User Guide Copyright 2009 Page 79 of 135
  • 80. Chapter 5 - Monitoring For certain charts, the data is obtained directly from a file, which may either be in Excel or Access format. This parameter allows the auditor specify the name of the file where the data to be charted is located. 5.5.23 SQL SQL = "Select life, sum(cost) as cst, sum(ad) as accum from [FA$] where life < 20 group by life order by life;" For certain charts, the data is obtained directly from a file, which may either be in Excel or Access format. This parameter allows the auditor specify the name of the file where the data to be charted is located. 5.5.24 Text graphic 5.5.25 TextBoxColor TextBoxColor = light green The color to be used for the text chart TextBoxColor = "light green" ChartBoxColor = "light green" 5.5.26 Meter graphic 5.6 Specifying how the graphics are prepared 5.6.1 Processing parameters Query procedure SQL 5.7 Command details tab Setting Up the monitor procedures Running the procedures
  • 81. Chapter 5 Monitoring 5.8 Types of Monitoring 5.8.1 Regression Many expense (and other) items have a linear relationship, i.e. as one increases in amount, so does the other. A simple example is payroll taxes. Generally, as the number of employees increases, so too does the amount of payroll taxes. Note that it may not be possible to compute an exact predicted value, but the auditor is aware that there should be a linear relationship. With statistical calculations, it is possible to perform a regression analysis which will indicate several things of interest to the auditor: 1. Is there, in fact, a linear relationship and if so how good (strong) is it (correlation)?, 2. With a confidence level (e.g. 95%) what is the band that the data points should fall within (confidence interval)? 3. If a new data point is to be charted, what range would these points fall within (prediction interval) What is being monitored (indicator) - in this example, payroll tax expense is being mon- itored Expected values/ Results - the auditor expects that there will be a linear relationship and most values will fall within the confidence interval Control Limits - Set at 95% confidence for this example Use for indicator - Unusual data points will be investigated. If no unusual data points are identified, audit testing will be reduced. Target (optimal) - More than 95% of the data points fall within the confidence interval. No data points fall outside the prediction interval. Historical Ranges - Historically there has been a very good fit in this area. As the number of miles a school bus is driven increases, so too do the maintenance costs. The chart below is for a hypothetical situation which plots the number of miles a fleet was driven versus the amount of maintenance expense incurred. The test was performed using a 95% confidence level (which can be varied). Visually, there appears to be a fairly strong correlation between mileage and maintenance expense. However, there is one data point that is well above the amount that would be expected. Audit Commander User Guide Copyright 2009 Page 81 of 135
  • 82. Chapter 5 - Monitoring Figure 18 – Regression chart The correlation between the data points is poor (57%), largely due to the one exceptional outlier. The next page shows the parameters used to develop the analysis and the chart. The monitor process also outputs two text reports: A log of the data analyzed A report which contains all the regression detail information.
  • 83. Chapter 5 Monitoring 5.8.2 Trend Line Many expense (and other) items have a linear relationship, i.e. as one increases in amount, so does the other. A simple example is payroll taxes. Generally, as the number of employees increases, so too does the amount of payroll taxes. Note that it may not be possible to compute an exact predicted value, but the auditor is aware that there should be a linear relationship. With statistical calculations, it is possible to perform a regression analysis which will indicate several things of interest to the auditor: Is there, in fact, a linear relationship and if so how good (strong) is it (correlation)?, With a confidence level (e.g. 95%) what is the band that the data points should fall within (confidence interval)? If a new data point is to be charted, what range would these points fall within (prediction interval) What is being monitored (indicator) - in this example, payroll tax expense is being monitored Expected values/ Results - the auditor expects that there will be a linear relationship and most values will fall within the confidence interval Control Limits - Set at 95% confidence for this example Use for indicator - Unusual data points will be investigated. If no unusual data points are identified, audit testing will be reduced. Target (optimal) - More than 95% of the data points fall within the confidence interval. No data points fall outside the prediction interval. Historical Ranges - Historically there has been a very good fit in this area. When the data is plotted, the chart below is obtained. For example, the amount of maintenance expense for school buses is closely related to the number of miles driven. Note that there are other factors as well, but generally, as the number of miles driven increases, so too does the amount of maintenance expense. The chart below confirms the general trend. This general trend is indicated as the correlation is fairly good (89% in this case). Audit Commander User Guide Copyright 2009 Page 83 of 135
  • 84. Chapter 5 - Monitoring The charting process also creates a log of the data charted. If other information regarding the regression analysis is needed, for example confidence and prediction intervals, that information can be obtained using the confidence band method. Figure 19 – Trend Line 5.8.3 Pareto Charts The Pareto principle can often be applied to accounting data using the "80/20" principle. Examples include:
  • 85. Chapter 5 Monitoring 1. 80% of the invoice value comes from 20% of the suppliers, 2. 80% of the general journal posting amounts come from 20% of the entries 3. 80% of the inventory value arises from 20% of the inventory items, etc. With this information, the auditor is able to focus on just those transactions which have the most financial impact. What is being monitored (indicator) - in this example, the auditor wishes to identify which counties school bus maintenance expenses comprise the majority of all school maintenance expenses state-wide. Expected values/ Results - the auditor expects that just a few counties will comprise 80% of the school bus maintenance costs state-wide. Control Limits - In this case, 80% is being used. Use for indicator - To narrow the focus for audit tests and analysis. Target (optimal) - 20% or fewer of the items constitute 80% (or more) of the value. Historical Ranges - Historically 15% of the counties have represented 85% of the school bus maintenance costs. When the data is plotted, the chart below is obtained. The chart indicates that just three counties (Wake, Mecklenberg and New Hanover) combined have 80% of the state-wide costs for school bus maintenance costs (note that this data is made up for illustration only). Audit Commander User Guide Copyright 2009 Page 85 of 135
  • 86. Chapter 5 - Monitoring Figure20 – Pareto Chart So if the audit focus were on school bus maintenance costs, the auditor could cover 80% of the costs by looking at the costs incurred in only three counties. Note the last category on the right ("All Other"). This is a sum of all the remaining counties not shown and is computed by the system. 5.8.4 Counts Transaction counts may be monitored for a variety of reasons . Examples include: Assuring that error counts are within tolerable limits , Performing reasonableness tests for counts Determining that transaction counts are within historical ranges.
  • 87. Chapter 5 Monitoring With this information, the auditor is able to focus on just error or unusual transactions. What is being monitored (indicator) - in this example, the count of payroll transactions quarterly is being monitored. Expected values/ Results - the auditor expects that transaction counts will be within historical ranges. Control Limits - In this case, 0 - 60,000 is considered good, 60,000 - 100,000 unusual and over 100,000 is considered to be an error. Use for indicator - To identify spikes or an unusually low number of transactions Target (optimal) - In this example, transaction counts between 0 and 60,000 are considered normal. Historical Ranges - Historically transaction counts have varied from 0 to 60,000. When the data is plotted, the chart below is obtained. The chart indicates that the monitored counts are 59,298 which is within the monitoring range specified. In this instance the count is for the number of payroll transactions during the quarter. Counts up to 68,000 are considered normal. Counts between 68,000 and 100,000 indicate that review may be needed. Counts over 100,000 are considered an error condition. Audit Commander User Guide Copyright 2009 Page 87 of 135
  • 88. Chapter 5 - Monitoring Figure 21 – Meter chart with counts 5.8.5 Amounts Transaction amounts may be monitored for a variety of reasons . Examples include: Assuring that amounts are within tolerable limits , Performing reasonableness tests for amounts
  • 89. Chapter 5 Monitoring Determining that transaction amounts are within historical ranges. With this information, the auditor is able to focus on just error or unusual transactions. What is being monitored (indicator) - in this example, the amount of payroll transactions quarterly is being monitored. Expected values/ Results - the auditor expects that transaction amounts will be within historical ranges. Control Limits - In this case, 0 - 60,000 is considered good, 60,000 - 100,000 unusual and over 100,000 is considered to be an error. Use for indicator - To identify spikes or an unusually low number of transactions Target (optimal) - In this example, transaction counts between 0 and 60,000 are considered normal. Historical Ranges - Historically transaction counts have varied from 0 to 60,000. When the data is plotted, the chart below is obtained. The chart indicates that the monitored amounts are 23,902,899.64 which is within the monitoring range specified. In this instance the amount is for the utility expense during the quarter. Amounts up to $28 million are considered normal. Amounts between $28 and $40 million indicate that review may be needed. Amounts over $40 million are considered to be an error indicator. Audit Commander User Guide Copyright 2009 Page 89 of 135
  • 90. Chapter 5 - Monitoring Figure 22 – Meter chart with totals 5.8.6 Positive/Negative Transaction amounts may be monitored for a variety of reasons . Examples include: • Assuring that amounts are within tolerable limits , • Performing reasonableness tests for amounts • Determining that transaction amounts are within historical ranges.
  • 91. Chapter 5 Monitoring With this information, the auditor is able to focus on just error or unusual transactions. The chart below indicates the results of monitoring the amounts of fixed assets on the books. Negative or zero amounts are indicative of possible error transactions, as assets can not be negative. In this instance the net amount of fixed assets is a little over $18 million. Figure 23 – Chart with counts and amounts 5.8.7 Duplicates Sometimes it is desirable to monitor counts of transactions which meet certain (auditor specified) criteria. Examples include: Error conditions such as "impossible" transactions Potential duplicate transactions Audit Commander User Guide Copyright 2009 Page 91 of 135
  • 92. Chapter 5 - Monitoring Counts of transactions falling on a holiday Counts of transactions falling within certain ranges or on specified days of the week (e.g. weekends) Other transactions which may serve as indicators of an error conditions With this information, the auditor is able to focus on unusual or exceptional conditions. What is being monitored (indicator) - in this example, the count of potential duplicate invoices Expected values/ Results - the auditor knows that there are some apparently duplicate transactions, but expects that the overall number will be low. Control Limits - In this case, 0 - 10 is considered acceptable, 11 - 15 raises a caution flag and numbers over 15 indicate an error condition. (Note that all these numbers would be specified using auditor judgment). Use for indicator - To identify possible processing errors in the payables system Target (optimal) - In this example, a zero count would be the best that can be achieved. Historical Ranges - Historically transaction counts have varied from 0 to 150 (150 resulted from a computer processing glitch) The chart below indicates the results of monitoring the counts of potential duplicate payments. A total of 34 transactions were identified where a potential duplicate payment may exist. This number exceeds the auditor's threshold, and therefore the meter indicates the results as falling in the "red" zone. (Note that the colors of the zones can be specified by the auditor).
  • 93. Chapter 5 Monitoring Figure 24 – Monitoring for duplicates Note that the analysis process also results in the details of the potential duplicate transactions written out to a file in text format which can then be imported into Excel for further analysis and investigation. 5.8.8 Quartiles The data classification of quartiles expands on the commonly used audit technique of looking at the minimum, maximum and average values. Quartiles simply split up the population into four "chunks", each of which has the same count. This provides the auditor with a visual representation of the population. Audit Commander User Guide Copyright 2009 Page 93 of 135
  • 94. Chapter 5 - Monitoring Sometimes it is desirable to classify transaction amounts by quartile. This can be done for just those transactions which meet certain (auditor specified) criteria. Examples include: • Entire populations of transactions being tested to check for reasonableness • Subsets of the population, e.g. just one location or region • Debit or credit amounts only • Other transactions which may be of interest The chart below indicates the results of monitoring the ranges of asset costs and accumulated depreciation. The range of cost is shown on the left and the range of accumulated depreciation is shown on the right. Note that the data file being tested contains fixed asset records with negative costs (an obvious error) - so the chart looks unusual. There do not appear to be obvious errors for the accumulated depreciation amounts.
  • 95. Chapter 5 Monitoring Figure 25 – Chart with quartiles 5.8.9 Simple Bar Charts Often, a simple bar chart can be used to help visualize transactions or other data. Examples include transaction amounts or counts over a time period, summaries or counts by location, etc. Preparing these charts for data being tested is a fairly simple process. The starting point is the identification of two items: 1. The identifier for the data being charted. This can be a point in time, vendor number, store location, etc. 2. The numeric amount to be charted. This could be either a count or a total. Audit Commander User Guide Copyright 2009 Page 95 of 135
  • 96. Chapter 5 - Monitoring With this information, the auditor is able to focus on unusual or exceptional conditions. What is being monitored (indicator) - in this example, the dollar amounts of asset cost are being shown and classified as to their useful life. Expected values/ Results - the auditor expects that the costs for assets with a longer useful life will be greater than those with a shorter life, due to their nature. Control Limits - In this case, there are no control limits defined. Use for indicator - To assist in the planning of a fixed assets audit Target (optimal) - There is no target in this example Historical Ranges - Historically the total costs for assets with a longer useful life has been significantly larger than the total for those with a shorter useful life. The chart below classifies asset totals by their useful life. A few things appear odd: • There are assets with a useful life of less than two years (error condition), and • There seems to be an arbitrary cutoff at 12 years for asset useful lives, and • The totals for each period of useful life are generally very similar, which would not generally be expected.
  • 97. Chapter 5 Monitoring Figure 26 – Simple bar chart Audit Commander User Guide Copyright 2009 Page 97 of 135
  • 98. Chapter 6 Macros 6 Macros 6.1 Overview Macros are a little used and often misunderstood facility that can be of significant value to the auditor. Although some technical knowledge is required, the use of “canned” audit queries is a relatively simple process. 6.2 Benefits Macros provide a concise and quick way for the auditor to perform an analysis without using forms. The primary benefits are a repeatable process, reduced time to use (once the process is understood) and a facility to document the procedures performed. The primary disadvantages are that macros are somewhat error prone due to misspelled file names, misspelled commands, etc. 6.3 Setting up the macros Setting up macros in Excel is done using the visual basic editor and then typing in (or pasting) the macro code. In addition to setting up the macro, there is a one time procedure to provide a “reference” to the Audit Commander DLL (file name EWP.dll, DLL name – EWP – Electronic work papers). The reference will show during the process to establish a reference. 6.4 The EWM Class The EWP.dll includes a class named cEWM which is used throughout for running the various types of macros described here. 6.5 “Registering” the Dll Registering the DLL is doe through the visual basic editor, selecting Tools | References and then placing a check mark by the reference of interest. A screen shot is shown below.
  • 99. Chapter 6 Macros Figure 27 – Registering the DLL 6.6 Running the macros 6.6.1 Macros can be run using a variety of means: From within the visual basic editor toolbar From the visual basic menu (“run”) From an Excel visual basic form by calling a routine (function or subroutine) which invokes the macro By the use of a shortcut key which has been established 6.7 Error Handling For reasons of brevity, the examples below do not include error checking. It is recommended that if, upon running the macro, the class “Errno” property is not zero, then the error description (ErrDescription) be displayed or logged. Audit Commander User Guide Copyright 2009 Page 99 of 135
  • 100. Chapter 6 - Macros 6.8 Types of commands Altogether there are 29 audit commands which may be invoked using macros. The commands may u=include up to a maximum of ten parameters, each of which corresponds with those shown on the query forms. The key data elements which are include in almost every macro include the following: • FileIn – the file name of the workbook, Access database or text file directory being ana- lyzed • Cmd – the name of the audit command • Fileout – where the data report is to be written • LocalCol – the name of the single column being analyzed • ColString – certain commands require more than once column name for processing. The Colstring will include two or more column names separated by commas • Table – the name of the work sheet, Access table or filename in the directory being tested There are other parameters as well which are occasionally used – Parm1, Parm2, Title and Scheme
  • 101. Chapter 6 Macros 6.8.1 Numeric 6.8.1.1 Population Statistics Macro parameters 6.8.1.1.1 Example macro The following macro provides population statistics for the column named “invoice amount” on the work sheet “CMTest” in the work book specified. A chart is prepared using a light green color scheme. Dim oEWM as new cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-1.png" oEWM.Cmd = "stat" oEWM.FileOut = "c:testcmreportt-1.txt" oEWM.LocalCol = "Invoice Amount" oEWM.Scheme = "lightgreen" oEWM.Title = "test cm - stat" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > 0 " oEWM.RunCmd Audit Commander User Guide Copyright 2009 Page 101 of 135
  • 102. Chapter 6 - Macros 6.8.1.2 Benford’s Law Macro parameters Example macro The following macro applies Benford’s Law to the column “Invoice Amount” on the worksheet named “CMTest” for those value greater than zero. A chart of the results is output with a light green color scheme. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-2.png" oEWM.Cmd = "ben" oEWM.FileOut = "c:testcmreportt-2.txt" oEWM.LocalCol = "Invoice Amount" oEWM.Scheme = "lightgreen" oEWM.Title = "test cm - ben" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > 0 " oEWM.Parm1 = "F1" oEWM.RunCmd
  • 103. Chapter 6 Macros Top and Bottom 10 6.8.1.2.1 Macro parameters The following macro identifies the ten smallest values for the column “Invoice Amount” on the sheet named CMTest where the invoice amount is between $1,100 and $1,200. 6.8.1.2.2 Example macro Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "bottomn" ‘ for topn command is topn oEWM.FileOut = "c:testcmreportt-20.txt" oEWM.LocalCol = "invoice amount" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] between 1100 and 1200 " oEWM.Parm1 = "7" oEWM.RunCmd Audit Commander User Guide Copyright 2009 Page 103 of 135
  • 104. Chapter 6 - Macros 6.8.1.3 Box Plot Macro parameters The following macro provides a box plot chart (i.e. four quartiles) for data in the Excel workbook sheet named “CMTest” where the invoice amount is greater than -$5,000. A chart is prepared using a pink background. Example macro Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-5.png" oEWM.Cmd = "boxplot" oEWM.FileOut = "c:testcmreportt-5.txt" oEWM.LocalCol = "Invoice Amount" oEWM.Scheme = "pink" oEWM.Title = "test cm - histogram" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.RunCmd 6.8.1.4 Round Numbers Macro parameters Example macro The following macro produces a round number report on the amount “Invoice Amount” from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a credit amount of $5,000 are tested. The output chart uses a pink theme with a title “test cm – rnreport”. A text report is also output to a file named t-10.txt. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-10.png" oEWM.Cmd = "rnreport" oEWM.FileOut = "c:testcmreportt-10.txt" oEWM.LocalCol = "Invoice Amount" oEWM.Scheme = "pink" oEWM.Title = "test cm - rnreport" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.RunCmd
  • 105. Chapter 6 Macros 6.8.1.4.1 ‘Round number extract The macro below extracts those rows from the sheet named CMTest in the column “Invoice Amount” where the invoice amount is greater than -$5,000 and the amount is a round number of order 1,2 or 3 (e.g. $10, $100, $1,000, but not $10,000 or $100,000 or any number which is not round). Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" 'oEWM.ChartFile = "c:testcmreportt-11.png" oEWM.Cmd = "rn" oEWM.FileOut = "c:testcmreportt-11.txt" oEWM.LocalCol = "Invoice Amount" oEWM.Scheme = "pink" oEWM.Title = "test cm - rnreport" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.Parm1 = "0111000" oEWM.RunCmd Audit Commander User Guide Copyright 2009 Page 105 of 135
  • 106. Chapter 6 - Macros 6.8.1.5 Histograms Macro parameters The macro below obtains histogram data from the column “Invoice Amount” on the sheet named “CMTest” where the invoice amount is greater than -$5,000. A chart of the results is output with a light green format. A text report is written to the file named t-4.txt. 6.8.1.5.1 Example macro Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-4.png" oEWM.Cmd = "histo" oEWM.FileOut = "c:testcmreportt-4.txt" oEWM.LocalCol = "Invoice Amount" oEWM.Scheme = "lightgreen" oEWM.Title = "test cm - histogram" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.RunCmd 6.8.1.6 Gaps in Sequences Macro parameters Example macro The following macro produces a report of gaps in the numeric amount “Invoice Number” for the worksheet named “CMTest” in the workbook “cmGen.xls”. A report is written as a text file to t- 18.txt. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "gap" oEWM.FileOut = "c:testcmreportt-18.txt" oEWM.Colstring = "[Invoice Number]" oEWM.Table = "CMTest$" oEWM.RunCmd
  • 107. Chapter 6 Macros 6.8.1.7 Stratification Macro parameters Example macro The following macro stratifies invoice amount data from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a credit amount of $5,000 are tested. The output chart uses a light green theme with a title “test cm – stratify”. A text report is also output to a file named t-3.txt. The stratification bins range from -100 through 3,000. Note that invoice amounts both above and below these amounts will be separately classified. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-3.png" oEWM.Cmd = "stratify" oEWM.FileOut = "c:testcmreportt-3.txt" oEWM.LocalCol = "Invoice Amount" oEWM.Scheme = "lightgreen" oEWM.Title = "test cm - stratify" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.Parm1 = "-100 0 200 500 1000 2000 3000" oEWM.RunCmd 6.8.1.8 Summarization Macro parameters Example macro The following macro summarizes invoice amounts by store using the amount “Invoice Amount” from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than zero are summarized. The output report is written to a file named t-12.txt. This report will also contain information other than sub-totals, such as minimum and maximum values, averages, standard deviations, etc. Because only one column (store) is being used for summarization, the first parameter (Parm1) is set to 1. Had the summarization been by state and by store, then this parameter would have been “2”. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "summary" oEWM.FileOut = "c:testcmreportt-12.txt" Audit Commander User Guide Copyright 2009 Page 107 of 135
  • 108. Chapter 6 - Macros oEWM.LocalCol = "Invoice Amount" oEWM.Colstring = "[Store]" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > 0 " oEWM.Parm1 = "1" oEWM.RunCmd
  • 109. Chapter 6 Macros Date Day of week Macro parameters Example macro The following macro produces a weekday report using the date “Invoice Date” from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a credit amount of $5,000 are tested. The output chart uses a yellow theme with a title “test cm – wd”. A text report is also output to a file named t-6.txt. These reports will show transaction counts by day of week oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-6.png" oEWM.Cmd = "wdReport" oEWM.FileOut = "c:testcmreportt-6.txt" oEWM.Colstring = "[Invoice Date]" oEWM.Scheme = "yellow" oEWM.Title = "test cm - wd" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.RunCmd Extract by day of week The following macro produces a round number report on the amount “Invoice Amount” from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a credit amount of $5,000 are tested. The output chart uses a pink theme with a title “test cm – rnreport”. A text report is also output to a file named t-10.txt. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "wd" oEWM.FileOut = "c:testcmreportt-7.txt" oEWM.LocalCol = "Invoice Date" oEWM.Scheme = "yellow" oEWM.Title = "test cm - wd" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.Parm1 = "1000001" Audit Commander User Guide Copyright 2009 Page 109 of 135
  • 110. Chapter 6 - Macros oEWM.RunCmd
  • 111. Chapter 6 Macros Holidays Macro parameters Example macro The following macro produces a holiday report using the date “Invoice Date” from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a credit amount of $5,000 are tested. The output chart uses a yellow theme with a title “test cm – Holiday Report”. A text report is also output to a file named t-8.txt. These reports and charts provide a count and display of the number of invoices with a date falling on a federal holiday. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-8.png" oEWM.Cmd = "holidayReport" oEWM.FileOut = "c:testcmreportt-8.txt" oEWM.LocalCol = "Invoice Date" oEWM.Scheme = "yellow" oEWM.Title = "Test cm - Holiday Report" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.Parm1 = "mdy" oEWM.Parm2 = "US" oEWM.RunCmd Holiday extract and chart The following macro extracts those transactions whose date falls on a Federal holiday. The extract is based upon the date “Invoice Date” from the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice dates on invoices with amounts greater than a credit amount of $5,000 are tested. The output chart uses a yellow theme with a title “test cm – Holiday”. A text report is also output to a file named t-9.txt. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.ChartFile = "c:testcmreportt-9.png" oEWM.Cmd = "holiday" oEWM.FileOut = "c:testcmreportt-9.txt" oEWM.LocalCol = "Invoice Date" Audit Commander User Guide Copyright 2009 Page 111 of 135
  • 112. Chapter 6 - Macros oEWM.Scheme = "yellow" oEWM.Title = "test cm - Holiday" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > -5000 " oEWM.Parm1 = "mdy" oEWM.Parm2 = "US" oEWM.RunCmd
  • 113. Chapter 6 Macros 6.8.1.9 Date Near Macro parameters Example macro The following macro extracts those transactions which are within five days of 2/10/2009, i.e. 2/5/2009 – 2/15/2009. Only invoices with an invoice amount greater than zero are tested. The extract is based on the date “Invoice Date” from the worksheet “CMTest” in the workbook cmgen.xls. A text report is written to a file named t-15.txt. This file can readily be imported back into excel for further analysis. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "datenear" oEWM.FileOut = "c:testcmreportt-15.txt" oEWM.LocalCol = "Invoice Date" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > 0 " oEWM.Parm1 = "2/10/2009" oEWM.Parm2 = "5" oEWM.RunCmd Date Range The following macro extracts transactions based on the date range provided, in this case 2/10/2009 through 3/10/2009. The extract file is written to a text report named t-14.txt which can readily be imported back into excel. The work sheet used is named CMTest from the workbook cmGen.xls. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "daterange" oEWM.FileOut = "c:testcmreportt-14.txt" oEWM.LocalCol = "Invoice Date" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > 0 " oEWM.Parm1 = "2/10/2009" oEWM.Parm2 = "3/10/2009" oEWM.RunCmd Audit Commander User Guide Copyright 2009 Page 113 of 135
  • 114. Chapter 6 - Macros 6.8.2 Other 6.8.2.1 Ageing Macro parameters The macro below ages the numeric amount “invoice amount” on the worksheet CMTest in the workbook cmGen.xls. Ageing is done as of 6/30/2008 using an ageing width of 30 days. An output text report is written to the file t-10.txt and a chart is written to t-10.png which is colored with a light green. Ageing is based upon the date in the column “Ageing date” Example macro Dim oewm As New cEWM Dim sMsg As String Dim sColstring As String oewm.Filein = "c:testcmcmGen.xls" oewm.Cmd = "age" oewm.FileOut = "c:testcmreportt-10.txt" sColstring = "[invoice date],[invoice amount]" oewm.Colstring = sColstring oewm.LocalCol = "invoice amount" oewm.Title = "Ageing of Invoices" oewm.ChartFile = "c:testcmreportt-10.png" oewm.Scheme = "lightgreen" oewm.Table = "CMTest$" oewm.Parm1 = "6/30/2008" ' ageing width oewm.Parm2 = "30" oewm.RunCmd
  • 115. Chapter 6 Macros Calculated Values Macro parameters Example macro The following macro produces a calculated value named “monthamt” which is computed by dividing the column named “invoice amount” by 12. Arbitrarily, only those invoices with an amount between $1,00 and $1,200 are extracted. The extract file is written to a text file named t-32.txt which can readily be imported back into Excel. In this example only a single calculated value is computed. Had additional calculated values been needed, the could be specified, but must be separated by commas. For example: “[Invoice Amount]/12 as monthamt, (cost – ad) / life as [Net Depreciation]” etc. Dim oewm As New cEWM Dim sMsg As String oewm.Filein = "c:testcmcmGen.xls" oewm.Cmd = "calc" oewm.FileOut = "c:testcmreportt-32.txt" oewm.Table = "CMTest$" oewm.Where = "[invoice amount] between 1100 and 1200 " oewm.Parm1 = " [Invoice Amount] / 12 as monthamt" oewm.RunCmd Duplicates Macro parameters Example macro The following macro extracts those rows which have exact duplicates which are defined as two or more rows with the identical store and invoice number. Data is taken from the work book named cmGen.xls on the sheet CMtest. Only those invoices with an invoice amount greater than zero are subject to testing. In this example, duplicates were defined based upon the values in two columns – i.e. Store and Invoice amount. Other tests for duplicates might consider only a single column, three or more columns, etc. The specification is completely under the control of the auditor performing the test. Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "duplicates" oEWM.FileOut = "c:testcmreportt-13.txt" oEWM.Colstring = "[Store],[invoice number]" Audit Commander User Guide Copyright 2009 Page 115 of 135
  • 116. Chapter 6 - Macros oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] > 0 " oEWM.Parm2 = "2" oEWM.RunCmd
  • 117. Chapter 6 Macros Same, Same, Different Macro parameters The purpose of the macro below is to identify any two invoices on the work sheet named CMTest in the workbook cmGen.xls which have the same invoice number but different vendor numbers. Output is to be written to a file named t-19.txt for further analysis. 6.8.2.1.1 Example macro Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "ssd" oEWM.FileOut = "c:testcmreportt-19.txt" sColstring = "[invoice number]" sColstring = sColstring & ",[vendor number]" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.Parm2 = "2" oEWM.RunCmd Warning: The correct number of columns used (in this case 2) must be specified, otherwise the results may not be correct. Audit Commander User Guide Copyright 2009 Page 117 of 135
  • 118. Chapter 6 - Macros Data Extraction Macro parameters The macro below is a very basic extract procedure where the auditor wishes to prepare a schedule from the work sheet named CMTest in the workbook named cmGen.xls. The criteria for selection is where the column named invoice amount is between $1,100 and $1,200. Output will be written to a text file named t-16.txt which can then readily be imported back into Excel for further analysis. 6.8.2.1.2 Example macro Dim oEWM As New cEWM Dim sMsg As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "extractwhere" oEWM.FileOut = "c:testcmreportt-16.txt" oEWM.LocalCol = "Invoice Date" oEWM.Table = "CMTest$" oEWM.Where = "[invoice amount] between 1100 and 1200 " oEWM.RunCmd Warning: Any column names such as “Invoice Amount” which contain embedded spaces must have their name enclosed in brackets, otherwise the column name will be considered two columns – invoice and amount. Warning: Numeric amounts specified should not include any comma separators. Fuzzy Match (LD) Macro parameters Example macro The following macro extracts rows from a worksheet named CMtest in the workbook cmgen.xls. All rows are tested for having a value in the vendor number column that is either an exact match on “20172” or has a Levenshtein distance of 1. This would occur when either the only difference is a single digit, or else a missing or extra digit. A text report is also output to a file named t- 23.txt. This text file can readily be imported back into Excel for further analysis.
  • 119. Chapter 6 Macros Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "fuzzyld" oEWM.FileOut = "c:testcmreportt-23.txt" sColstring = "[vendor number], *" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.Parm1 = "1" oEWM.Parm2 = "20172" oEWM.RunCmd Fuzzy Match (Regular Expression) Macro parameters Example macro The following macro does a “fuzzy match” on the vendor number using a regular expression “[2- 5]1?*”. All rows on the worksheet CMTest in the workbook cmGen.xls are tested. The regular expression [2-5]1?* will match any vendor number whose first digit is either a 2,3,4 or 5. The second digit must be 1. The following digit can be any character or digit and the remaining characters (zero or more) can consists of any values. An extract report is output to a file named t-22.txt, which can readily be imported back into Excel for further analysis. Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "fuzzymatch" oEWM.FileOut = "c:testcmreportt-22.txt" sColstring = "[vendor number], *" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.Parm1 = "[2-5]1?*" oEWM.RunCmd Audit Commander User Guide Copyright 2009 Page 119 of 135
  • 120. Chapter 6 - Macros 6.8.2.2 Near Miss 6.8.2.2.1 Macro parameters The following macro checks for a “near miss” between two invoices which are not exact duplicates, but are close. “Close” is defined by the auditor based upon two criteria – 1. The invoice dates must be within a specified number of days of each other (30 in this example), and 2. The invoice numbers must have a degree of similarity as measured by the Levenshtein distance. In addition, the numeric amounts must be within two cents of each other and the vendor numbers must match. The test uses the worksheet “CMTest” in the workbook cmgen.xls. Only those invoice amounts greater than a credit amount of $5,000 are tested. A text report is also output to a file named t-24.txt which can then readily be imported back into Excel. ……. Dim oEWM as new cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testdataEWP.xls" oEWM.Cmd = "invne" oEWM.FileOut = "c:testcmreportt-24.txt" ' column sequence is critical - must match exact sColstring = "[invoice date] " sColstring = sColstring & ",[invoice amount]" sColstring = sColstring & ",[invoice number]" sColstring = sColstring & ",[vendor number]" oEWM.Colstring = sColstring oEWM.Table = "Duplicate Invoices$" oEWM.Parm1 = "30" ' date tolerance oEWM.Parm2 = "5" ' invoice number tolerance oEWM.RunCmd Warning: The comparison process is computationally intensive. Because of this, only several hundred rows are examined at any one time. Although there is a “good chance” that “near misses” will be identified, there is no guarantee that this process will do so.
  • 121. Chapter 6 Macros 6.8.2.3 Split Invoices Macro parameters Example macro The following macro checks for “split invoices” which is defined as follows: One invoice in the amount of $X exists from vendor V. 3. Vendor V also has two to four more invoices which, when combined as to amount, total to $X. All of these invoices are within a specified number of days from each other. In the example provided, invoices are must exist within 30 days of each other in order to be considered “split”. In addition, the numeric amounts must be within two cents of each other and the vendor numbers must match. The test uses the worksheet “CMTest” in the workbook cmgen.xls. All rows in the worksheet were tested. A text report is output to a file named t-25.txt which can then readily be imported back into Excel. Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testdataEWP.xls" oEWM.Cmd = "invsp" oEWM.FileOut = "c:testcmreportt-25.txt" ' column sequence is critical - must match exact sColstring = "[invoice date] " sColstring = sColstring & ",[invoice amount]" sColstring = sColstring & ",[invoice number]" sColstring = sColstring & ",[vendor number]" oEWM.Colstring = sColstring oEWM.Table = "Duplicate Invoices$" oEWM.Parm1 = "30" ' date tolerance oEWM.RunCmd Warning: The comparison process is computationally intensive. Because of this, only a certain number of rows are examined at any one time. Although there is a “good chance” that “split invoices” will be identified, there is no guarantee that this process will do so. Tests for a split invoice of two items uses approximately 200 rows, three invoices about 80 rows and four invoices about 30 rows. Audit Commander User Guide Copyright 2009 Page 121 of 135
  • 122. Chapter 6 - Macros 6.8.3 Pattern Testing Benford’s Law Macro parameters Example macro The following macro performs a pattern test, using benford’s Law for invoice amounts by store. The process is as follows: For each store, all invoice amounts are tested using the benford’s law test specified, in this case “F1” – first digit. The results of the observed values are compared with that expected theoretically. Any differences are quantified using both the Chi Square test and the Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results are shown in descending order, i.e. those stores having the greatest difference between the theoretical expected amount and observed are shown first. In this example all the rows on the worksheet named CMTest in thw orkbook cmGen.xls were tested, even though criteria could have been specified to limit testing to just certain rows. Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "patternben" oEWM.FileOut = "c:testcmreportt-26.txt" sColstring = "[store],[invoice amount]" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.Parm1 = "F1" oEWM.RunCmd
  • 123. Chapter 6 Macros Holidays Macro parameters Example macro The following macro performs a pattern test, using frequency of transactions found on federal holidays. The analysis is dates by store. The process is as follows: For each store, all invoice dates are tested if they fall on a holiday. The counts are tallied.The counts for each store are then compared with that for all stores. Any differences are quantified using both the Chi Square test and the Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results are shown in descending order, i.e. those stores having the greatest difference between the overall population counts and the observed values for the store are shown first. In this example all the rows on the worksheet named CMTest in the workbook cmGen.xls were tested, even though criteria could have been specified to limit testing to just certain rows. Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "patternhol" oEWM.FileOut = "c:testcmreportt-27.txt" sColstring = "[store],[invoice date]" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.Parm1 = "mdy" oEWM.Parm2 = "US" oEWM.RunCmd Audit Commander User Guide Copyright 2009 Page 123 of 135
  • 124. Chapter 6 - Macros Weekdays Macro parameters Example macro The following macro performs a pattern test, using frequency of transactions found by day of the week. The analysis is dates by store. The process is as follows: For each store, all invoice dates are tabulated based upon the da of the week they fall on. The counts for each store are then compared with that for all stores. Any differences are quantified using both the Chi Square test and the Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results are shown in descending order, i.e. those stores having the greatest difference between the overall population counts and the observed values for the store are shown first. In this example all the rows on the worksheet named CMTest in the workbook cmGen.xls were tested, even though criteria could have been specified to limit testing to just certain rows. Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "patternwd" oEWM.FileOut = "c:testcmreportt-28.txt" sColstring = "[store],[invoice date]" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.RunCmd
  • 125. Chapter 6 Macros Data Stratification Macro parameters Example macro The following macro performs a pattern test, using stratified transaction amounts. The analysis is dollar amounts by store. The process is as follows: For each store, all invoice amounts are stratified based upon the stratification parameters provided by the auditor. The counts for each store are then compared with that for all stores. Any differences are quantified using both the Chi Square test and the Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results are shown in descending order, i.e. those stores having the greatest difference between the overall population stratification and the observed values for the store are shown first. In this example all the rows on the worksheet named CMTest in the workbook cmGen.xls were tested, even though criteria could have been specified to limit testing to just certain rows. Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "patternstrat" oEWM.FileOut = "c:testcmreportt-30.txt" sColstring = "[store],[invoice amount]" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.Parm1 = "-100 0 200 500 1000 5000 10000 20000" oEWM.RunCmd Audit Commander User Guide Copyright 2009 Page 125 of 135
  • 126. Chapter 6 - Macros Round numbers Macro parameters Example macro The following macro performs a pattern test, using frequency of round numbers. The analysis is dollar amounts by store. The process is as follows: For each store, all invoice amounts are checked for being “round” and the counts are tabulated by type. The counts for each store are then compared with that for all stores. Any differences are quantified using both the Chi Square test and the Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results are shown in descending order, i.e. those stores having the greatest difference between the overall population counts and the observed values for the store are shown first. In this example all the rows on the worksheet named CMTest in the workbook cmGen.xls were tested, even though criteria could have been specified to limit testing to just certain rows. Dim oEWM As New cEWM Dim sMsg As String Dim sColstring As String oEWM.FileIn = "c:testcmcmGen.xls" oEWM.Cmd = "patternrn" oEWM.FileOut = "c:testcmreportt-29.txt" sColstring = "[store],[invoice amount]" oEWM.Colstring = sColstring oEWM.Table = "CMTest$" oEWM.RunCmd 6.8.4 Sampling Stratified Attribute Sampling Assessment Macro parameters Example macro The following macro performs a pattern test, using frequency of transactions found by day of the week. The analysis is dates by store. The process is as follows:
  • 127. Chapter 6 Macros For each store, all invoice dates are tabulated based upon the da of the week they fall on. The counts for each store are then compared with that for all stores. Any differences are quantified using both the Chi Square test and the Kolmogorov-Smirnov test. Once the tests have been run for all stores, the results are shown in descending order, i.e. those stores having the greatest difference between the overall population counts and the observed values for the store are shown first. In this example all the rows on the worksheet named CMTest in the workbook cmGen.xls were tested, even though criteria could have been specified to limit testing to just certain rows. Dim oewm As New cEWM Dim sMsg As String Dim sColstring As String oewm.Filein = "c:testewpNeyman v3.xls" oewm.Cmd = "saacc" oewm.FileOut = "c:testcmreportt-35.txt" sColstring = "[audited]" sColstring = sColstring & ",[stratum]" sColstring = sColstring & ",[selected]" oewm.Colstring = sColstring oewm.LocalCol = "stratum" 'oEWM.Title = "Stratified Variable Population" 'oEWM.ChartFile = "c:testcmreportt-32.png" 'oEWM.Scheme = "lightgreen" oewm.Table = "Attrib$" 'number of columns 'oEWM.Parm1 = "45" oewm.Parm2 = ".95" oewm.RunCmd Audit Commander User Guide Copyright 2009 Page 127 of 135
  • 128. Chapter 6 - Macros Stratified Attribute Sampling Population Macro parameters Example macro Dim oewm As New cEWM Dim sMsg As String Dim sColstring As String oewm.Filein = "c:testewpNeyman v3.xls" oewm.Cmd = "sapop" oewm.FileOut = "c:testcmreportt-34.txt" sColstring = "[audited]" sColstring = sColstring & ",[stratum]" sColstring = sColstring & ",[selected]" oewm.Colstring = sColstring oewm.LocalCol = "stratum" oewm.Table = "Attrib$" ‘ precision oewm.Parm2 = ".95" oewm.RunCmd
  • 129. Chapter 6 Macros Stratified Variable Sampling Assessment Macro parameters Example macro Dim oewm As New cEWM Dim sMsg As String Dim sColstring As String oewm.Filein = "c:testewpNeyman v3.xls.xls" oewm.Cmd = "svpop" oewm.FileOut = "c:testcmreportt-32.txt" sColstring = "[examined]" sColstring = sColstring & ",[stratum]" sColstring = sColstring & ",[selected]" oewm.Colstring = sColstring oewm.LocalCol = "stratum" oewm.Table = "Neyman$" 'number of samples oewm.Parm1 = "35" ' precision oewm.Parm2 = ".95" oewm.RunCmd Stratified Variable Sampling Population Macro parameters Dim oewm As New cEWM Dim sMsg As String Dim sColstring As String oewm.Filein = "c:testewpNeyman v3.xls" oewm.Cmd = "svacc" oewm.FileOut = "c:testcmreportt-33.txt" sColstring = "[examined]" sColstring = sColstring & ",[stratum]" sColstring = sColstring & ",[selected]" oewm.Colstring = sColstring oewm.LocalCol = "stratum" oewm.Parm1 = "45" oewm.Parm2 = ".95" oewm.RunCmd Audit Commander User Guide Copyright 2009 Page 129 of 135
  • 130. Chapter 7 - Installation 7 Installation 7.1 Overview Installation of the software is done using a standard “setup.exe”. The setup file may be downloaded from http://ezrstats.com/online/inno/ACSetup.exe. There are two general techniques for installation: • Standard – double click the “setup.exe” and answer the questions, or • Silent – accept all the installation defaults without any prompting 7.2 Silent vs. “Regular” install The advantage of a “silent” install is that it is faster and easier. Disadvantages are that any non- default installation options cannot be selected. 7.3 Registering the software The software is free and does not require a license or registration key. 7.4 Installation options Installation options include the name of the directory where the software is installed. The default values is “c:program filesezsac”, but may be changed during the installation process. 7.5 Installation trouble Shooting 7.6 If there are problems during the installation, consider the following points: • Close all other applications which are running
  • 131. Chapter 7 - Installation • If a previous version of the software has been installed, first remove that version using either the uninstall program provided or else the Control Panel add and remove pro- grams • Make sure that the installation drive contains at least 40 MB of free space. 7.7 Files/data that are installed The files and data that are installed include the program executables, test data files, license information and some miscellaneous data files. All files installed are located in the application installation directory (default c:program filesezsac”). 7.8 Registry entries that are created A number of registry entries are created, all under the user key “Software/EZS/AC”. Three root folders are created under this registry entry. The values stored here are to assist in navigation and use of the software. The registry entries also track the license number and other licensing information. Audit Commander User Guide Copyright 2009 Page 131 of 135
  • 132. Appendix A – Electronic Work Papers 8 Appendix A – Example Electronic work papers Below is an example portion of the file “Query.ini” which is used for the production of electronic work papers. The entire file is included with the software distribution. [1089-0] Title = Purchases and Payments AuditPeriod = Fiscal Year Ending 11-30-2008 Folder = c:testtemp [1089-1] Select = OK DataSource = c:program filesezsacdataEWP.xls Objective = Age invoices by supplier Command = age Table = PPTest$ Where = Column = ColString = [invoice date],[invoice amount] Parm1 = 3/31/2007 Parm2 = mdy Scheme = summer Title = Ageing of supplier invoices [1089-2] Select = OK DataSource = c:program filesezsacdataEWP.xls Objective = Summarize invoices by supplier and agree to ledger Command = summary Table = PPTest$ Where = Column = amount paid ColString = [vendor number] Parm1 = Parm2 = 1 Scheme = Title =
  • 133. Appendix B – Monitoring Files Audit Commander User Guide Copyright 2009 Page 133 of 135
  • 134. Appendix B – Example monitoring files 9 Appendix B – Example Monitoring Files Below is an example section of a monitoring file for the preparation of a linear regression test with confidence and prediction intervals. [Bus Maintenance Expense - Pareto] ChartFile = "c:program filesezsacreportt-8.png" Title = "Bus Maintenance Expense - FYE 6/30/2007" BGColor = gold ChartWidth = 600 ChartHeight = 540 DataChartColor = yellow ChartBoxColor = "light yellow" TextBoxColor = "tan" YLabel = "Bus Maintenance expense" XLabel = "County" DataTitle = "Major School Systems" ChartPosPct = 0.1 CType = "pareto" BarColor1 = brown BarColor2 = tan Infile = "c:program filesezsacdataData.xls" Outfile = "c:program filesezsacreportt-8.txt" SQL = "Select county, mileage, expense from [Pareto$] order by mileage desc;"
  • 135. Appendix A – Electronic Work Papers Comment form Please send any comments, suggestions or items identified as errors to: Mike.Blakley@ezrstats.com Although I am not able to respond to all such comments and suggestions, I will try to do so as feasible. Registered users of Audit Commander will be notified as revised versions of the manual are released.