Automatização de carga de dados no SIAFI

3 minute read

Em 2016 eu estava trabalhando no financeiro do Instituto Federal da Paraíba (IFPB) e havia uma série de rotinas passíveis de automatização. O diretor financeiro me solicitou que estudasse os processos de cargas de dados no SIAFI e que desenvolvesse alguma forma de automatizar as tarefas de cadastramento de credores e de geração de listas de pagamentos. Era um processo extremamente custoso em termos de recursos humanos e exigia que várias pessoas se dedicassem à tarefa.

Após estudar os mecanismos de carga batch disponíveis no Sistema Integrado de Administração Financeira (SIAFI) eu desenvolvi uma série de scripts Python e Shell que convertiam planilhas Excel no formato aceito pelo SIAFI. Entretanto, os scripts eram pouco intuitivos, com um código porco e documentação ausente. Isso significava que ninguém era capaz de usá-los a não ser eu mesmo. O trabalho feito em 7 dias por 7 pessoas passou a ser feito por mim em uma manhã. O problema é que apesar de desonerar os meus colegas de trabalho eu acabei onerando a mim mesmo com a tarefa chata =/.

Algum tempo depois o SERPRO atualizou o processo de carga batch e migrou parte do processo para o “novo” SIAFI WEB. O formato de arquivo aceito pelo sistema deixou de ser um Flat File de colunas fixas e passou a ser um XML. Graças a Deus a STN se antecipou e forneceu uma solução para converter os dados para o novo formato XML aceito pelo sistema. A solução não é perfeita, mas estava mais bonita do que a minha.

A solução apresentada pela STN é uma planilha Excel que já traz consigo o “dicionário” do formato XML aceito pelo sistema, o que dá à planilha a capacidade de “se exportar” para o formato correto. Entretanto, com a implementação dos centro de custos nos sistemas de contabilidade aplicada ao setor público, a planilha disponibilizada pela STN não atendia a todas as necessidades do IFPB. Eu fiz algumas modificações no “dicionário” embarcado na planilha da STN de modo a possibilitar a exportação dos dados com os centros de custos utilizados pelo IFPB.

Com a mudança no processo, consegui sair da enrascada em que havia me metido (Rs.) e também passei a ficar desonerado da tarefa chata. Com a realocação do tempo, consegui evoluir também o sistema de conversão dos dados dos credores para cadastro/alteração no SIAFI [o equivalente ao ATUCREDOR em processo batch]. Infelizmente, o processo de carga batch para os dados dos credores continua sendo feito no SIAFI tela preta. No entanto, a planilha da STN me inspirou e eu convertir as rotinas em Python e Shell para Macros VBA em uma planilha no Excel.

Eu cheguei a gravar um vídeo explicando o funcionamento da planilha da STN com as modificações que eu fiz [foi quando eu descobri que não levo o menor jeito para YouTuber, Rs.], entretanto, ao final de 2018 fui convidado para ir para o Ministério do Planejamento para trabalhar com dados - já havia algum tempo que estava querendo me desenvolver nessa área de ciência de dados - e por isso não cheguei a gravar o segundo vídeo mostrando o funcionamento da planilha que exporta os dados dos credores.

Muitas pessoas que viram o primeiro vídeo com a planilha da STN modificada têm me pedido para compartilhar os arquivos. Portanto, abaixo disponibilizo os arquivos para Download. Infelizmente eu não tenho a menor condição [tempo] de prestar suporte e apoio quanto ao funcionamento desses processos de carga de dados no SIAFI, por isso vocês irão precisar descobrir por conta própria.

O caminho das pedras: a carga dos dados no SIAFI tela preta acontece através do portal do Sistema de Transferência de Arquivos. Orientações quanto ao processo batch no SIAFI tela preta podem ser encontradas no manual da STN.

Link para a planilha Batch da STN modificada

Link para a planilha com a macro para exportar os dados dos credores para serem importados/atualizados via batch (ATUCREDOR) no SIAFI tela preta.

Atenção: infelizmente essas planilhas só funcionam com o Microsoft Excel e não funcionam com o LibreOffice ou similares. Eu sei, sendo usuário Linux há mais de 10 anos, isso é triste para mim também =(.

Tags:

Categories:

Updated:

Leave a Comment

Your email address will not be published. Required fields are marked *

Loading...