Bots for Finance: como aumentar a eficiência do back-office por meio da automação

Publicados: 2022-07-22

A menção do escritório do futuro pode evocar imagens de máquinas assumindo tarefas repetitivas e trabalhosas. Mas esse futuro é agora. O desenvolvimento de tecnologias como aplicativos baseados em nuvem, bem como plataformas de software e sistemas de planejamento de recursos empresariais que ajudam as empresas a atingir o máximo de eficiência operacional, tornaram os escritórios automatizados uma realidade.

De acordo com a consultoria McKinsey, os departamentos de finanças corporativas reduziram os custos em quase 30% na última década ao implementar soluções de automação em áreas como compras, contabilidade e folha de pagamento. Essas inovações transformaram as funções financeiras e eliminaram muitas ineficiências.

Como analista financeiro e desenvolvedor de software, aproveitei ao máximo a automação configurando bots para tarefas financeiras quando criei e construí minha própria empresa de consultoria, a Pylink. Mas muitos escritórios financeiros ainda não o fizeram, então continuam a gastar uma quantidade excessiva de tempo e recursos realizando tarefas básicas.

Não sou o único a notar o problema. A empresa de consultoria PwC descobriu que os escritórios financeiros precisam aumentar sua produtividade e insights por meio de automação e melhoria de processos, o que pode reduzir os custos em porcentagens de dois dígitos para muitas funções-chave. A pesquisa da PwC indica que a automação pode reduzir 40% do tempo gasto pelas pessoas em relatórios gerenciais, 27% do tempo gasto em contabilidade tributária e 23% das horas dedicadas ao gerenciamento de crédito, contabilidade geral e cobrança.

A Deloitte chegou a conclusões comparáveis: Citando uma pesquisa publicada pela Ayehu, ela relata que a automação inteligente diminui os custos dos processos de negócios em 25 a 40%. E a pesquisa do Gartner revela que uma empresa com 40 funcionários de contabilidade em tempo integral poderia eliminar mais de US$ 870.000 em gastos a cada ano automatizando tarefas e eliminando trabalho extra para corrigir erros humanos.

Neste artigo, gostaria de compartilhar algumas estratégias simples de automação que usei para minha empresa e meus clientes — correções fáceis que podem ser úteis para organizações de qualquer tamanho.

Soluções prontas para uso, como o QuickBooks, podem ser úteis para organizações menores. No entanto, para maximizar a eficiência, aconselho o uso de linguagens de programação como Python para criar soluções personalizadas, incluindo bots para negócios. O Python é muito intuitivo e fornece uma grande biblioteca padrão de ferramentas, além de acesso a bibliotecas específicas de finanças, tornando-o mais versátil que o Excel.

Em meu artigo anterior para Toptal, mostrei como é fácil usar Python para desenvolver modelos de fluxo de caixa sob medida para corporações. Eu encorajo você a ler isso se estiver interessado em aprender o idioma. Neste artigo, no entanto, darei a você uma visão geral de aplicações práticas — desde controle de tempo até folha de pagamento e e-mail — que um desenvolvedor pode implementar rápida e facilmente se você não estiver interessado em se aprofundar no código.

Como minha empresa aproveita os bots para finanças: pagamentos fáceis e eficientes

Deixe-me demonstrar como a automação personalizada pode ser útil, mostrando um exemplo da minha empresa, que pode servir como um estudo de caso. Apesar de ser uma pequena empresa, minha equipe na Pylink e eu enfrentamos uma complexidade considerável que apresenta desafios quando se trata de pagamentos, incluindo o seguinte:

  • Trabalhamos em vários projetos baseados em contratos por hora e temos que acompanhar o tempo de cada uma de nossas tarefas.
  • Nossos clientes são de diferentes países e, portanto, nos pagam em várias moedas.
  • Embora usemos uma equipe interna de engenharia de software em alguns projetos, subcontratamos outros desenvolvedores de diferentes países.
  • Do ponto de vista da otimização fiscal, temos três empresas: uma sediada no Reino Unido, uma sediada na UE e uma freelancer individual sediada na UE.
  • Cada uma de nossas empresas tem contas bancárias separadas em várias moedas, incluindo USD, EUR, GBP e HUF.
  • Temos custos regulares – como impostos, salários e benefícios para funcionários em tempo integral, espaço e suprimentos de escritório e software – em diferentes moedas.

Para desenvolver um sistema de pagamento que atenda a esses desafios, uso (e recomendo) as seguintes tecnologias para criar um bot Python executado na infraestrutura de nuvem da Amazon Web Services (AWS).

  • Base de código: Python (download gratuito)
  • Serviço no qual o código está sendo executado: AWS Lambda
    • O Lambda torna conveniente dimensionar nossa execução de código conforme necessário.
    • Este serviço entra em vigor apenas quando é acionado. Você coloca seu código Python em uma função do Lambda e configura um evento acionador — qualquer coisa, desde um comando de voz do Alexa até um horário agendado no calendário.
    • Como o Lambda não tem servidor, é uma solução econômica que exige que paguemos apenas pelo tempo de computação que realmente usamos.
  • Ferramenta de operações bancárias: API Wise
    • Uma API (interface de programação de aplicativos) é um intermediário de software que permite que dois aplicativos se comuniquem entre si. A API Wise permite que eu e minha equipe obtenhamos informações de extrato e dados históricos de transações com facilidade, além de efetuar pagamentos automaticamente. Também nos permite rastrear as taxas de câmbio e fazer conversões automatizadas.
  • Rastreador de tempo: Everhour + Everhour API
    • Este software oferece rastreamento de tempo preciso e recursos flexíveis de faturamento e orçamento. Além disso, ele se integra perfeitamente a ferramentas de gerenciamento de projetos, como Asana, Trello, Jira e GitHub.
  • Remetente do e-mail: Amazon Simple Email Service
    • Com o Amazon SES, temos uma maneira adaptável e segura de enviar e-mails HTML de qualquer aplicativo, juntamente com análise de dados para monitorar entregas e devoluções.
    • O nível de uso gratuito da SES permite enviar até 62.000 mensagens por mês sem custo se você ativar o serviço de um aplicativo hospedado no Amazon EC2 ou por meio do AWS Lambda.
  • Agendador: AWS EventBridge
    • Usando essa ferramenta, podemos facilmente acionar nosso bot Python para executar funções financeiras programadas mensalmente ou quinzenalmente.
    • Como o EventBridge, como o Lambda, não requer um servidor para operação, ele reduz significativamente nossa sobrecarga.
  • Notificação do Slack: API do Slack
    • Essa API envia alertas em tempo real para nos informar sobre o horário de nossos contratados e nos informar se os clientes nos pagaram.
  • Comunicação do Slack com o bot: Slack API + Amazon API Gateway
    • A API do Slack permite que o bot Python nos envie solicitações de pagamento para aprovação.
    • Com um único clique, nosso bot pode usar o API Gateway para concluir cada pagamento automaticamente.
    • O API Gateway oferece um nível gratuito que dá acesso a mais de um milhão de chamadas de API e um milhão de mensagens por mês durante um ano.

Veja como usei essas ferramentas para automatizar um caso de uso multitarefa: pagando funcionários, contratados e eu. Mostrarei todo o processo em alto nível antes de mergulhar nas práticas de automação mais comuns.

Um fluxograma com ícones mostra o processo de nove etapas que Miklos segue para pagar funcionários, desenvolvedores e a si mesmo. Os detalhes completos são fornecidos no texto a seguir.

Agora vamos seguir os passos:

  1. No primeiro dia de cada mês, usamos o AWS EventBridge para acionar o bot Python armazenado no AWS Lambda.
  2. Usando a API Everhour, o bot extrai planilhas de horas para todos os funcionários, contratados (desenvolvedores, no caso do Pylink) e para mim.
  3. Em seguida, o bot agrega as horas trabalhadas para cada projeto e cria um quadro de horários e uma fatura (ambos PDFs). Em seguida, ele envia esses documentos para os clientes por e-mail.
  4. Além disso, o bot notifica a equipe da Pylink via Slack sobre o horário dos contratados. Também pede permissão para pagá-los apresentando os botões “aprovar” e “negar”.
  5. Se alguém da equipe de gerenciamento do Pylink aprovar a solicitação, o bot envia uma mensagem para nossa própria API (um URL público sempre disponível) por meio do AWS API Gateway, que executa outro código em uma função do Lambda para fazer a transferência.
  6. A segunda função do Lambda usa a API Wise para efetuar o pagamento.
  7. No dia 14 de cada mês, usamos novamente o EventBridge para agendar outra execução de funções de acompanhamento. Mas desta vez, o EventBridge aciona um código diferente salvo em outra função do Lambda.
  8. Este código usa a API Wise para rastrear as transações das últimas duas semanas e verificar se o cliente pagou.
  9. Se houve um pagamento do cliente, o bot envia uma confirmação do Slack para a equipe do Pylink por meio da API do Slack. Se não houver pagamento, o bot envia um e-mail para o cliente usando o serviço Amazon SES.

Anteriormente, todas essas tarefas eram feitas manualmente, consumindo tempo e energia valiosos que agora podem ser gastos em outro lugar. O melhor de tudo é que conseguimos montar esse processo sem um grande investimento de tempo ou dinheiro.

O que você pode fazer com a automação

Agora vamos ver algumas das aplicações mais práticas para automação, usando as ferramentas que já discuti. Para sua referência, incluirei alguns exemplos de codificação como um recurso para seus desenvolvedores internos, contratados ou freelance – ou para você mesmo, caso opte por aprender Python para ajudar no trabalho de sua empresa ou cliente.

Acompanhamento de horas de trabalho e projetos

No final de cada mês, o bot (usando Everhour) executa a função “close_the_month” que coleta todas as horas que foram gastas em diferentes atribuições:

  • Minhas horas em meus projetos de consultoria (receita)
  • As horas dos desenvolvedores nos projetos do cliente (receita e custo)
  • As horas dos desenvolvedores em nosso próprio desenvolvimento de software (custo)

O que se segue é uma função simples que retorna um DataFrame do Pandas, ou seja, uma tabela com linhas e colunas, incluindo todas as horas e projetos de um período de tempo para um determinado usuário. Observe que, como mencionado anteriormente, este e todos os trechos de codificação subsequentes são apenas destaques de toda a base de código, não um tutorial passo a passo para criar nosso bot.

Uma captura de tela mostrando uma amostra do código Python escrito para executar a função "close_the_month". Ele exibe a linguagem e a sintaxe que o autor usou linha por linha.

Criando um quadro de horários e fatura em PDF

Com as horas de projeto de cada trabalhador rastreadas automaticamente, a próxima tarefa é criar planilhas de horas e faturas. Existem muitos pacotes Python que permitem criar arquivos PDF. Usamos o PyFPDF, uma biblioteca compacta de geração de documentos que oferece simplicidade e flexibilidade para desenhar formas e adicionar imagens e texto. Como você pode ver no exemplo a seguir, ele gera uma fatura limpa e profissional:

Uma fatura da Pylink é mostrada. Lê-se "Billed to Watchclever Ltd", o cliente, e fornece a data da fatura, a data de vencimento, o período faturado e o tipo de pagamento (transferência bancária). Ele também exibe as horas para cada um dos quatro consultores e o total combinado de 45,7 horas.

Embora existam métodos mais avançados para criar relatórios, o PDF é uma boa opção porque é um formato universal usado em todos os setores e é fácil de gerar. Ele também permite o envio de arquivos para qualquer pessoa, garantindo que todas as fontes, imagens, tabelas e formatação sejam transferidas. Além disso, ele funciona independentemente do hardware e do sistema operacional do seu computador e pode ser usado offline.

Enviar e-mails

O Amazon Simple Email Service é uma ferramenta econômica e escalável para criar e implantar e-mails HTML bem formatados. Além disso, a análise de dados da SES rastreia e compartilha informações sobre os resultados do ciclo de feedback para notificá-lo se algum destinatário relatar sua mensagem como spam, seja por engano ou porque o e-mail foi enviado para o endereço errado. A análise também mede a eficácia de cada comunicação em termos de engajamento, incluindo taxas de abertura e cliques. Esse recurso é particularmente útil para e-mails de marketing.

Aqui está um exemplo do código Python usado para gerar um e-mail com uma fatura anexada e enviá-la a um cliente:

Uma captura de tela mostra um trecho de codificação com a linguagem e a sintaxe Python que o autor usou para criar um e-mail, anexar uma fatura e enviá-la ao cliente para pagamento.

E aqui está o e-mail que ele produz:

Uma captura de tela do e-mail criado pelo código. Um PDF da fatura está anexado. A mensagem diz:

Automatizando atividades bancárias

Escolhemos a Wise para contas bancárias particulares e empresariais, pois temos receitas e custos em várias moedas, e essa empresa de tecnologia financeira possui taxas de câmbio favoráveis, uma interface de usuário intuitiva e uma API flexível com documentação detalhada.

Usamos essa API para realizar as seguintes tarefas:

  • Colete informações de extrato para cada empresa e moeda, para que eu possa ver rapidamente a liquidez agregada e real.
  • Extrair informações históricas de transações, para que eu possa identificar tendências em diferentes itens de custo, bem como verificar se o cliente pagou a fatura do mês anterior. Se não tiverem, a API enviará um e-mail de lembrete.
  • Faça transferências de dinheiro automaticamente.

Abaixo está o código que programamos para concluir a primeira dessas tarefas (coletar informações da instrução):

Uma captura de tela exibe uma amostra do código Python que o autor usa para obter informações de saldo para cada uma das empresas da Pylink.

Para custos fixos regulares (salário, impostos, custos de escritório, etc.), você não precisa escrever código para fazer transferências automáticas; O Wise possui um recurso de pagamento agendado. No entanto, se o valor não for fixo, mas baseado em uma fórmula que um algoritmo pode calcular, a API Wise é útil. No meu caso, o salário do consultor de negócios é um exemplo notável, pois é uma função da receita mensal. Ao verificar as horas rastreadas, o bot sabe exatamente quanta receita temos e, portanto, quanto pagar ao consultor.

Mitigar riscos por meio de uma conversa bilateral com o bot

É crucial estar ciente da atividade do bot, pois pode haver bugs de codificação que não são revelados durante o teste. Recebemos notificações em tempo real no Slack, para que possamos corrigir qualquer código quebrado imediatamente. Aqui estão alguns exemplos de notificação que nos informam que o bot está funcionando corretamente:

Essa imagem pequena e simples captura uma mensagem do Slack do bot Pylink que diz: "O pagamento foi bem-sucedido!"

A próxima imagem é outra notificação do Slack do bot Pylink. O texto diz: "Fechando o mês anterior 2022-01-01 -- 2022-01-31" e mostra o custo total do trabalho realizado para a Watchclever Ltd. durante esse período, seguido de um detalhamento desse custo com base em horas para cada consultor.

Também permitimos que o bot envie perguntas de confirmação para a equipe do Pylink antes de cada transferência bancária. Isso nos ajuda a evitar erros devido a erro humano. Imagine que um desenvolvedor cometa um erro de digitação e insira 825 horas em vez de 8,25 horas para um ticket. Uma etapa de aprovação no Slack garante que não transferimos cem vezes mais dinheiro do que devemos. O processo mantém o elemento de verificação humana, mas oferece uma experiência perfeita.

Captura de tela de uma notificação do Slack "Confirmação de pagamento" do bot Pylink. Ele diz: "Yurii trabalhou 43,5 horas no mês passado; portanto, [em branco] USD é devido. Posso pagá-lo?" (O valor em dólares é editado.) As opções "Aprovar" e "negar" são apresentadas.

Há muitas outras funcionalidades que você também pode obter com a API do Slack.

O escritório do amanhã

A automação de negócios pode ajudar as organizações a prosperar. As ferramentas que discuti podem transformar empresas que precisam de maior eficiência e controle, especialmente quando se trata de funções transacionais como contas a pagar, contas a receber e outras áreas contábeis centrais.

Mas este não é o fim da história. De acordo com a McKinsey, o desafio para os líderes corporativos é lançar uma rede ainda mais ampla para novas eficiências. A empresa apoia a reimaginação de toda a operação financeira, indo além de apenas tarefas transacionais, liderando áreas como análise de dados – consolidando, simplificando e controlando informações em toda a corporação. Eu não poderia concordar mais. Eu recomendo que você explore soluções de codificação que ajudem sua organização a possuir suas respostas e promover sua cultura orientada a resultados. Enquanto isso, a adoção das táticas que descrevi aqui pode ajudar sua empresa a se tornar mais eficiente hoje — ao mesmo tempo que dá a você um gostinho das possibilidades de amanhã.