ACL Analytics é uma ferramenta de auditoria muito conhecida para os profissionais de Auditoria Contínua. Trata-se de um software para a auditoria de dados. O ACL permite a análise atualizada e eficiente das informações da estrutura de uma gestão e a automatização de processos.
Todo trainee de BIG4 faz algum tipo de treinamento sobre essa ferramenta ou outra semelhante para compilar grande quantidade de dados. Dependendo das atividades diárias, deixamos de utilizá-la, acabamos esquecendo e perdendo um poderoso aliado de análise.
Mas, o ACL é grande aliado na auditoria de base de dados de todos os processos: fiscal, contábil, TI. Ele é especialmente útil em dados estruturados como relatórios extraídos do SAP ou SQL Server.
Atualmente o ACL é fornecido pela Galvanize e faz parte de uma plataforma maior de Governança Corporativa chamada Highbond.
Principais Comandos do ACL Analytics
Abaixo listei os comandos essenciais para criar um script básico no ACL Analytics:
- COMMENT;
- SET;
- IMPORT;
- OPEN;
- DEFINE;
- EXTRACT;
- SUMMARIZE;
- EXPORT;
Comando COMMENT
O COMMENT cria comentários no script. São trechos que serão ignorados durante a execução. Utilize para explicar o que está sendo feito e com qual objetivo.
Eles permitem que outras pessoas estejam habilitadas a entender, executar e alterar os seus scripts.
COMMENT
** Criado por: Daniel Oyama
** Data: 04/12/2019
** Script: Script Padrão
** Objetivo: Testar o controle XYZ
**
Comando SET
O comando SET define parâmetros globais da ferramenta como: formato numérico, padrão de datas, ligar e desligar a geração de logs.
É interessante começar todo script com os seguintes comandos:
SET SAFETY OFF
SET FOLDER /RESULTADOS
O primeiro comando desliga a “segurança” do ACL. Durante a execução ele não irá confirmar se o as arquivos podem ser excluídos, ou sobrescritos. Isso evita que o script pare no meio e fique aguardando alguém responder a pergunta “Este arquivo já existe. Deseja realmente sobrescrever o arquivo?”
O segundo comando, SET FOLDER, cria uma pasta chamada RESULTADOS, e guarda as tabelas geradas dentro desta pasta. Isto é util para organizar o projeto, principalmente quando você tem muitos scripts e muitas tabelas que não podem ser apagadas.
Comando IMPORT
O Comando IMPORT traz as informações externas para dentro do ACL. Ele faz uma cópia dos dados originais para a pasta do projeto ACL. A tabela importada é salva com a extensão “.fil”.
IMPORT ... NomeDaTabela
Considerando o arquivo de exemplo TabelaProdutos.csv, com as seguintes linhas:
codigo;produto;categoria;preço
1;"Produto A";"Categoria 1";10,00
2;"Produto B";"Categoria 1";10,00
3;"Produto C";"Categoria 1";10,00
4;"Produto D";"Categoria 2";15,00
5;"Produto E";"Categoria 2";15,00
6;"Produto F";"Categoria 3";18,00
7;"Produto G";"Categoria 3";18,00
8;"Produto H";"Categoria 4";20,00
Após a importação no ACL, o comando ficaria assim:
IMPORT DELIMITED TO TabelaProdutos "TabelaProdutos.fil" FROM "C:\ACL_EXEMPLO\TabelaProdutos.csv" 0 SEPARATOR ";" QUALIFIER '"' CONSECUTIVE STARTLINE 1 KEEPTITLE FIELD "codigo" N AT 1 DEC 0 WID 1 PIC "" AS "" FIELD "produto" C AT 2 DEC 0 WID 9 PIC "" AS "" FIELD "categoria" C AT 11 DEC 0 WID 11 PIC "" AS "" FIELD "preço" N AT 22 DEC 2 WID 5 PIC "" AS ""
Comando OPEN
O comando OPEN é o início de tudo. Só é possível executar um comando, se antes você abrir uma tabela pré existente (já importada).
OPEN NomeDaTabela
Comando DEFINE
O comando DEFINE é utilizado para definir parâmetros no layout da tabela. É possível criar um campo calculado – uma nova coluna baseada nos dados originais. O campo calculado utiliza fórmulas semelhantes ao Excel para tratar o dado original, e transformá-lo, facilitando a análise do auditor.
DEFINE FIELD CC_Campo_Calculado_1 COMPUTED
ALLTRIM(NomeDaColuna)
Comando EXTRACT
O EXTRACT serve para criar uma nova tabela. Depois de filtrar algo, você pode separar esse grupo menor em uma nova tabela, para análise posterior.
OPEN NomeDaTabela
EXTRACT RECORD TO TabelaFiltrada IF CC_Campo_Calculado_1 <> "" OPEN
OPEN TabelaFiltrada
Comando SUMMARIZE
O SUMMARIZE é usado para agrupar linhas por categorias. Tem um efeito semelhante ao GROUP BY se você está familiarizado com a linguagem SQL.
OPEN TabelaFiltrada
SUMMARIZE ON CC_Campo_Calculado_1 TO TabelaSumarizada OPEN PRESORT
Comando EXPORT
O comando EXPORT leva os dados para fora do ACL. Use por exemplo para gerar uma planilha Excel com os resultados do teste.
EXPORT FIELDS ALL XLSX TO PlanilhaResultado WORKSHEET Planilha
Criando um Script Padrão do ACL Analytics
Sugestão de script padrão:
COMMENT
** Criado por: Daniel Oyama
** Data: 04/12/2019
** Script: Script Padrão
** Objetivo: Testar o controle XYZ
**
SET SAFETY OFF
SET FOLDER /RESULTADOS
IMPORT ... NomeDaTabela
OPEN NomeDaTabela
DEFINE FIELD CC_Campo_Calculado_1 COMPUTED ALLTRIM(NomeDaColuna)
EXTRACT RECORD TO TabelaFiltrada IF CC_Campo_Calculado_1 <> "" OPEN
OPEN TabelaFiltrada
SUMMARIZE ON CC_Campo_Calculado_1 TO TabelaSumarizada OPEN PRESORT
OPEN TabelaSumarizada
EXPORT FIELDS ALL XLSX TO PlanilhaResultado WORKSHEET Planilha
Altere os trechos em negrito conforme a sua necessidade.
Dicas
É importante seguir uma padronização ao criar scripts, como em qualquer linguagem de programação:
- Procure usar identação para facilitar a leitura;
- Use letras maiúsculas e minúsculas como forma de organização do código: OPEN (upper case), open (lower case), TabelaProdutos (camel case);
- Crie comentários para relembrar o objetivo de cada trecho;
- Separe os scripts por assunto, ou por etapa;
- Use variáveis para coisas que se repetem e podem ser alteradas no futuro;
Scripts ACL agendados no windows podem ser utilizados para a auditoria contínua de riscos e controles. Basta que o script seja estruturado em sequência lógica e padronizada.