Professional Documents
Culture Documents
ACL 9 - Quick Guide
ACL 9 - Quick Guide
V02.4
Contents
Introduction ...................................................................................................................................................................................................................................................3
ACL User Interface Overview .......................................................................................................................................................................................................................4
Common Data Types in ACL ........................................................................................................................................................................................................................5
ACL Command Reference ...........................................................................................................................................................................................................................6
ACL Command Terminology ........................................................................................................................................................................................................................7
Basic Commands: VERIFY, COUNT, TOTAL, & STATISTICS....................................................................................................................................................................8
Explanation of Output for STATISTICS (Numeric field) ...........................................................................................................................................................................8
Explanation of Output for STATISTICS (Date field) .................................................................................................................................................................................9
STATISTICS Shortcuts ............................................................................................................................................................................................................................9
What is Standard Deviation?....................................................................................................................................................................................................................9
Commands: Frequency & Materiality Distributions ....................................................................................................................................................................................10
Explanation of Output for CLASSIFY, STRATIFY, & AGE ....................................................................................................................................................................10
Identifying Outliers..................................................................................................................................................................................................................................11
Commands: Multi-File Combinations, Comparisons, and Associations .....................................................................................................................................................12
EXTRACT...............................................................................................................................................................................................................................................12
JOIN .......................................................................................................................................................................................................................................................13
RELATIONS ...........................................................................................................................................................................................................................................14
ACL Expressions Reference: Expression Builder ......................................................................................................................................................................................15
Expression Builder .................................................................................................................................................................................................................................15
ACL Expressions Reference: Filters and Computed Fields .......................................................................................................................................................................16
Filters......................................................................................................................................................................................................................................................16
Computed Fields ....................................................................................................................................................................................................................................17
Unconditional Computed Fields .............................................................................................................................................................................................................18
Conditional Computed Fields .................................................................................................................................................................................................................18
ACL Expressions Reference: Functions .....................................................................................................................................................................................................19
Functions ................................................................................................................................................................................................................................................19
ACL, the ACL logo and Audit Command Language are trademarks or registered trademarks of ACL Services Ltd. All other trademarks are the property of their respective owners.
Introduction ACL 9 Quick Guide
Introduction
The purpose of the ACL 9 Quick Guide is to provide you with a quick and easy reference on common ACL data types, ACL commands and expressions. For more
information on these topics, please refer to the ACL 9 help: Help >Contents from the main menu of ACL Desktop, or the detailed ACL User Guide, available for
download from the ACL Support Center www.acl.com/supportcenter. The ACL Support Center includes many other resources for the ACL community, including an
extensive searchable knowledge base covering all aspects of ACL usage.
You can also find great resources in our ACL user groups, www.acl.com/usergroup, or join the conversation on Facebook, Twitter and LinkedIn, www.acl.com/social.
It's never been easier to connect with ACL experts - access the latest industry insights and collaborate with a global network of audit, finance and compliance
professionals.
To learn more about online training or available classes visit us at www.acl.com/training.
3
ACL User Interface Overview ACL 9 Quick Guide
The main application window includes the following user interface elements:
1. Title Bar – The title bar displays the name of the active ACL project.
2. Main Menu – The main menu provides access to most ACL features including menu commands for working with ACL projects, performing audit analysis,
and configuring options and connection settings.
3. Toolbar – The buttons in the toolbar are shortcuts to common actions. ACL displays buttons that are relevant to your current activity. You can customize
the buttons displayed in the toolbar.
4. Project Navigator – The Project Navigator displays information in two tabs about the open ACL project:
The Overview tab displays all items that belong to the project. You can right-click any project item to perform an action. To organize items in
the Overview, right-click the project icon and select New > Folder. You can drag any project item into the folders that you create in
the Overview.
The Log tab displays the ACL project log, in which all actions you take associated with the project are recorded and organized chronologically.
Double-click entries to open them and right-click to perform an action.
5. Display Area – In this area, ACL displays three different tabs:
Welcome tab – When you open ACL it initially displays the Welcome tab with links to help you begin your session.
View tab – When you open an ACL table the data is displayed in the View tab. At the top of the tab are a text box and buttons that allow you to
apply filters to the view, and activate existing indexes. If multiple views exist for the same table, buttons at the bottom of the tab let you switch
between views.
Results tab – When you output results of an analytical operation to screen or graph, or view command log entries, they are displayed in the
Results tab. For operations with text and graph output, buttons at the bottom of the tab let you switch back and forth between the two formats.
You can pin the results tab to keep the content visible and cause subsequent results to appear in an additional results tab.
6. Status Bar – The status bar displays information such as the name of the active ACL table, the record count, and the details of any filters currently applied
to the table.
7. Command Line – The command line allows you to enter ACLScript commands. To display the command line, if it is not visible, select Window > Show
Command Line.
4
Common Data Types in ACL ACL 9 Quick Guide
5
ACL Command Reference ACL 9 Quick Guide
6
ACL Command Terminology ACL 9 Quick Guide
Key field
Subtotaled numeric field
Command filter
Output
Output type
Output name
7
Basic Commands: VERIFY, COUNT, TOTAL, & STATISTICS ACL 9 Quick Guide
TOTAL N Totals the selected numeric field and documents the result in the log. The
most recent total result is stored in the variable TOTAL1.
STATISTICS N, D Confirms record counts, control totals (numeric), date bounds, negative and
positive numeric values, means, and bounds. Documents results in the log.
Generates multiple variables (see list below).
* C=Character N=Numeric D=Date
8
Basic Commands: VERIFY, COUNT, TOTAL, & STATISTICS ACL 9 Quick Guide
STATISTICS Shortcuts
To isolate the top ten transactions by value, run STATISTICS on the numeric field with the number of high/low parameter set to 10. Then run the EXTRACT
command with the command filter name of value field>=HIGH1
To isolate the ten oldest transactions, run STATISTICS on the transaction date field with the number of high/low parameter set to 10. Then run the EXTRACT
command with the command filter name of transaction date field>=HIGH1
For example, if you are comparing transaction data from two locations, and one location carries high-value products while the other carries a mix of high-, medium-,
and low-value products, it is possible that both would have the same average transaction size but different standard deviations because of the product mix.
In a normally distributed population, 68% of the values would be ±1 standard deviation from the mean, 95% within 2 standard deviations, and 99.7% within 3
standard deviations.
In the example on the previous page, this would mean that 68% of the values would lie between –5307.88 (4476.84 - 9784.72) and 14261.56 (4476.84 + 9784.72).
9
Commands: Frequency & Materiality Distributions ACL 9 Quick Guide
STRATIFY Numeric fields, one at a time. Financial Auditors: Subtotal amount fields to compare
transaction amounts by category.
CROSS-TABULATE Multiple character fields; creates Operational Auditors: The Count column (see example below)
pivot-table output. will tell you how many transactions meet each criteria.
Percent of Field:
Example of blanks
AMOUNT for the row divided by the
occurring in the
AMOUNT total: 7,941.99/6,898.622.40 =
GL_ACCT_ID
0.12%
column
10
Commands: Frequency & Materiality Distributions ACL 9 Quick Guide
Identifying Outliers
Outliers are transactions that occur outside of reasonable expectations. These expectations are usually, but not always, based on the transaction’s materiality. Other
types of outliers can be based on the age of the transaction, the volume (units), unit value (price), or classification codes such as vendors, product numbers/classes,
or geographic regions. Outliers can also be based on combinations of multiple parameters, such as a very large transaction in a geographic region where the
average transaction is relatively small.
Numeric fields: Run STATISTICS to get an overall picture of the bounds of that field. Then run STRATIFY to see the number and materiality of the transactions
based on size ranges. Drill down from the screen output to isolate the outliers with a view filter.
Date fields: Run STATISTICS to get an overall picture of the period covered by the transaction data. Then run AGE to see the number and materiality of the
transactions based on age ranges. Drill down from the screen output to isolate the outliers with a view filter.
Character fields: Run CLASSIFY against the specific field to identify the number and materiality of the transactions based on that field. If there are any codes that
are not recognizable, drill down from the screen output to isolate the transactions associated with those codes.
Multiple fields: For character and date combinations, use SUMMARIZES. For character field combinations, use SUMMARIZE or CROSS-TABULATE. If you want to
use a command that is designed for character fields against a date or numeric field, use conversion functions such as STRING() or DATE() to create computed
character fields. You can also create filters with multiple conditions to identify outliers with specific characteristics.
11
Commands: Multi-File Combinations, Comparisons, and Associations ACL 9 Quick Guide
New ACL table containing the result of the JOIN command, according to the user’s
JOIN C, N, D
selected JOIN parameters.
None. RELATIONs are applied to the current table. Fields from related tables can be used
RELATIONS C, N, D
in computed fields, filters, and commands in the current table.
EXTRACT
The EXTRACT command allows you to isolate specific records or to combine records from multiple tables into one master table.
Isolating Specific Records
Once you have determined that exceptions or suspicious transactions exist in your data, you can extract those records to a separate table for further analysis to
determine what may have caused them. Analyzing the exceptions in a separate table is more efficient than analyzing them in their source file as the exceptions table
will be much smaller. You can isolate them by running EXTRACT with a command filter where the filter criteria match the criteria for non-compliant transactions. For
example, to check for purchase orders over $5000 that have not received approval, you would run EXTRACT with the following command filter: amount>5000 AND
ISBLANK(Approval).
Combining Records
You may often receive data from multiple time periods or from multiple locations that you wish to combine into one master file. You can do this by selecting the
Append option on the More tab when running the EXTRACT command from each source table to the master table. In the example below, you would combine the
January, February, and March transactions to create the YTD table.
Mar
12
Commands: Multi-File Combinations, Comparisons, and Associations ACL 9 Quick Guide
JOIN
The JOIN command compares two tables (referred to as Primary and Secondary) and results in either matched or unmatched records based on the user’s parameter
selection. The two tables must have at least one field in common, and that common field must be of the same type (CND) and length in both tables. When you join
two tables, ACL automatically harmonizes the key fields in two situations:
You use a character and a numeric key field to join tables
You select character key fields of different lengths
This feature simplifies certain kinds of joins and reduces the associated labor. For example, when using key fields such as social security number or telephone
number, when one key field contains numbers and punctuation formatted as character data (555-44-3322), and the other contains only numbers formatted as
numeric data (555443322), you can perform a standard join without needing to first manually harmonize the fields using functions.
JOIN Examples
In the examples below, we will be comparing a payroll file to an active employee master file for different types of tests.
13
Commands: Multi-File Combinations, Comparisons, and Associations ACL 9 Quick Guide
The first five Join options on the More tab are many-to-0ne in nature. This means that if there are any duplicate instances of the key field in the Secondary table
(such as the employee number), the first match encountered in the Secondary table will be used and the second will be ignored. The sixth Join is many-to-many in
nature and all possible matches will be written to the output file.
RELATIONS
The RELATIONS command links (or relates) multiple tables to a parent table (usually a transaction table) for multiple lookup capability. This allows data columns to
be compared across tables.
In the purchasing example shown below, four tables (Payments, Purchase Orders, Standard Price List and Vendors) have been directly related to the Invoices table,
The Employees table is indirectly related to Invoices via the employee number field in the Purchase Orders table.
These relations will allow the following tests to be executed in the Invoices
table:
Identify invoiced prices variance from standard price and calculate
amount of variance
Identify invoices with unmatched products and quantities compared
to purchase orders and calculate variance
Identify vendor/employee/product profiles of non-compliant
transactions and materiality
Compare vendor-employee addresses, phone numbers, and other
identifiers
Calculate days between purchase order and invoice
Compare all invoices to master vendor list to identify inactive/invalid
vendors
14
ACL Expressions Reference: Expression Builder ACL 9 Quick Guide
15
ACL Expressions Reference: Filters and Computed Fields ACL 9 Quick Guide
16
ACL Expressions Reference: Filters and Computed Fields ACL 9 Quick Guide
Types of
Categories Creation point
expressions
Unconditional
Computed Edit table layout >> Add a New Expression
Fields
Virtual data based on
a formula. Added
permanently to table
layout when named. Conditional
Can be based on
fields within the
current table and in
any related tables.
Result data types: C,
N, D
Commands:
Commands can be
run against computed
fields in the same way
that they can be run
against physical data
fields.
Important: If you are working with a very large number of records (e.g., more than 100,000) you may get a time-out message when imposing a view filter on the data.
This type of filter is known as a thin filter as it is looking for a very small number of records in a very large table. To avoid time-outs, you can:
1. Extract the desired records to a separate table with a local filter in the command dialog IF box.
2. Re-set the Redraw Seconds option to a higher number in the View tab in Tools>Options. This is not considered a best practice as it is less efficient.
17
ACL Expressions Reference: Filters and Computed Fields ACL 9 Quick Guide
Field name
18
ACL Expressions Reference: Functions ACL 9 Quick Guide
Filter Example
Input validation is the process by which a system tests user inputs for appropriateness before being accepted by a system. Legacy systems tend to have weak input
validation, and additional ad hoc testing is often necessary to validate user inputs. One example is an identification number that should follow a consistent pattern
and format, such as a social insurance number or a social security number. The MAP() function can be used to test for content and format and will identify any
records where that field is not consistent with the requirements.
In this example, the required format is Alpha-Number-Slash-Number-Number, such as k3/72. The filter should search for the records where the field does not match
the format:
19