AuditNet Script Sharing Exchange Library


 
Web AuditNet
This page has been created to provide a place where users can find sections of useful IDEA and ACL script code and where users can share their own scripts.  This is a resource library for auditors who exchanging audit software programs. Those auditors who use audit software, that are willing to share audit software programs that they wrote with the understanding that anyone using a contributed audit software program, accepts all risks on its accuracy in performing its intended function or result. The downloadable scripts posted here are done so as a service to the global audit community and therefore AuditNet cannot make any guarantees regarding running the code.

Therefore please check and understand any script downloaded BEFORE running it. We cannot be held responsible for any issues you encounter.

If you have created any code that you think might be transferable and useful to others please contact us.

Please read the guidelines for the operation of this exchange library. 


SCRIPTS ETC

AuditWare IDEAScript Exchange Area

 

CAATsScripts Tips, Scripts and guidance to IDEA software users. Guidance on control: The ECAR model.

 

IDEA Scripts 12 free shared scripts from Audimation Services

 

IDEA Timesavers from Audimation Services

 

Audit Routine Library Templates of common used audit routines written in ScriptBasic

 

ACL Scripts from the Texas ACL Users Group


FORUMS AND SOLUTIONS

AuditSoftware.net - site maintained by Rich Lanza contains many books and articles on using ACL and IDEA.

Test Sets and Automated Audit Scripts - books by Rich Lanza

101 ACL Applications: A Toolkit for Today's Auditor by Rich Lanza

Digital Analysis Using Benford's Law by Mark Nigrini (Click here for a review)

Fraud Investigation Using IDEA by C. Stephen Turnbull

Payables Test Set for ACL by Richard B. Lanza
Payables Test Set for IDEA by Richard B. Lanza

Using Microsoft Access for Data Analysis and Interrogation by Mark Nigrini (Click here for a review)

SOFTWARE VENDORS

Audimation Services provides solutions using CaseWare-IDEA software.

ACL Services provides case studies using ACL software.

ActiveData from Information Active

 

ACL Scripts

 

The following scripts come from the Texas ACL User Group

 

Type: Duplicate Search

Name: Address Cleanse

Script Writer: Ian Craigen

Brief Description:  This script is designed to take common terms found in addresses such as Street and st, and normalize them in a manner that is conducive to improving the efficiency of a Duplicate Search.  While this is not a Duplicate Search itself, it can be used to help identify commonalities in addresses.


 

Type: Duplicate Search
Name of Script: Fuzzy Duplicates
Script Writer: David Coderre
Brief Description: The Fuzzy dups script sorts the file (ascending and descending) and compares consecutive records to find strings (forwards and backwards) that are close to each other.  


 

Type: Duplicate Search
Name of Script:  Fuzzy Dupes Two Tables 
Script Writer: Porter Broyles
Brief Description: This code is a simple adaptation of David Coderre's Fuzzy Duplicates script.  It was written only to capture potential duplicates if they appeared on different tables.


Type: Duplicate Search
Name of Script: Duplicate Addresses and SSN
Script Writer: Porter Broyles
Brief Description:  This is a script that looks for duplicate SSN and Addresses on two tables.


 

Type: Duplicate Search
Name of Script: Q
-Grams
Script Writer: Porter Broyles
Brief Description: This code is an advanced adaptation of David Coderre's Fuzzy Duplicates script. It is, however, a significant enhancement upon the original as it looks for similar strings within a certain range of the original.   NOTE:  Please be aware of the following.  The code was written as a supplement to a traditional duplicates search.  In order to eliminate true duplicates, a trap was added to the code.  If you want to run the code in a manner that it captures true duplicates, get rid of the marked through section.  It appears twice in the code.

 

EXTRACT %v_dup_field% %v_dup_field%v2 list as "%v_list%" list2 as "%v_list%2" V_Counter threshold if V_Counter>=threshold AND %v_dup_field% <> %v_dup_field%v2 to Fuzzy_Q_Dup_temp OPEN


 

Name of Script: Q-Gram improved

This was a more advanced version of the above script.   You should double check to see if it has the same problem mentioned above.


 

Type: Duplicate Search
Name of Script: 
Levenshtein Distance
Script Writer: David Coderre
Brief Description: David Coderre wrote on the ACL User Forum: "Levenshtein Distances script uses a fantastic algorithm (developed by Levenschtein) for determining how close two strings are to being the same (distance of 0 is identical; distance of 1 is one keystroke - either one missing or one different character); however, it is very slow - about 2 seconds per record."  This script was Dave's 1000th post on the ACL User Forum. 


 

Type: General Application
Name of Script: Append ALL
Script Writer: Porter Broyles
Brief Description: This script is designed to append any number of files into one file.  It will normalize that data including field type and field length.  This script was Porter's 1000th post on the ACL User Forum.


 

 Type: General Application
Name of Script: Append All New
Script Writer: Porter Broyles
Brief Description: This script is designed to append any number of files into one file.  It will normalize that data including field type and field length.  This script is much shorter and more user friendly than the older version.  It is also quicker than the original version, but can still be time consuming when dealing with numerous files.


 

Type: General Application

Name of Script: Creating Combinations

Script Writer : David Coderre

Brief Description: This code was written to create various possible combinations of data.  In other words, suppose you have 30 items for sale at a store.  You are going to purchase 4 items, but you don't know which four.  There are 30*30*30*30 possible combinations of items you can purchase.  This code will create all 810,000 possible combinations.


 

Type: General Application

Name of Script: Mapping Analysis
Script Writer: Porter Broyles
Brief Description: This is an interactive script that will prompt you for the table you wish to analyze and then ask you for three fields:  Invoice, PO, and Voucher. The code will then "map" each of those fields and identify which map variants are necessary to account for 99% of the total transactions.  The code will then export the exceptions to 3 different files.

NOTE:  While the code asks for Invoice, PO, Voucher you can select any 3 fields so long as they are character fields.


 

Type: General Application
Name of Script: Preserve Variables
Script Writer: Porter Broyles
Brief Description:  This script is a proof of concept script.  It was written as an alternative to using global variables.  The script is designed to preserve variables from one session to another.  By using this script, one can utilize the best practice of "DELETE ALL OK" at the start of scripts.


Type: General Application

 

Name of Script: Table Lookup

Script Writer: David Coderre

Brief Description:  This script is designed to take a list of key words from one table to find those key words in another table.


 

Type: General Application
Name of Script: 
Transpose

Script Writer: David Coderre
Brief Description: David Coderre provided this script for creating a cross tab for character fields.  In other words, this script will unbucket fields without using recoffset.  Similar to the concept of a cross tab.


Type: General Application
Name of Script: Ultimate Table Compare

 

Script Writer: Porter Broyles
Brief Description:  This script was written to compare a legacy system with a new system.  Two tables, the legacy and new, were supposed to be identical.  This script compares every cell in one table with every cell in another table and highlights differences.


 

Type: General Application

Name of Script:Verify.Fil

Script Writer: Porter Broyles
Brief description: Suppose you have written a large script that loads a number of files directly into ACL.  As part of your validating the results, you want to create an ACL file to verify the validity of the data in each of the tables.  This code was written to create a .fil table that contains the table that was being reviewed, the number of errors identified, the record on which the error occurred, and the field name identified.


 Type: General Application

Name of Script: Version Check

Script Writer: Porter Broyles
Brief description: This script is designed to be usable to check the version of ACL being used as compared to the version of ACL project the script was written on.  If the version is use is older than the version the script was written on a warning will be provided to the user that some commands may not be compatible.  This script will also verify that the version is greater than 9.1 if the project will be loading a pdf file (an option only available on version 9.1 or greater.