Pular para o conteúdo

Automação de Processos Movida a IA: Uma Prova de Conceito com a Offshore Reparos Navais

Por Youssef Bouguerra, Fundador e CEO da Newstart, abril de 2025, com agradecimentos ao Bernhard Doering pela confiança, e ao Eugênio Barretto pelo apoio.
5 de abril de 2025 por
Automação de Processos Movida a IA: Uma Prova de Conceito com a Offshore Reparos Navais
Newstart, Youssef Bouguerra

1.    A Offshore Reparos Navais

A Offshore Reparos Navais (ORN), fundada em 1981, é uma empresa internacionalmente reconhecida pela qualidade dos seus serviços (possui certificação ISO 9001 pela DNV, uma das auditoras de qualidade da indústria Offshore mais respeitadas no mundo), e pelo seu foco no cliente. Por isso, os mais importantes players internacionais confiam na ORN para manutenção das suas embarcações quando estão navegando pelas costas do Brasil. A ORN é estrategicamente localizada na Ilha da Conceição em Niterói, Rio de Janeiro.

Ao longo dos anos, cresceu sua base de clientes e aprimorou suas competências técnicas, porém, em contraste com sua excelência em engenharia naval, e como muitas outras empresas do ramo, deixou de lado a questão da digitalização. Como consequência, herdou uma série de processos de negócios manuais, gerando ineficiências. Neste artigo, iremos olhar para o processo de compra da ORN, de ponta a ponta, desde o pedido de compra até o pagamento, e descreveremos a prova de conceito realizada pela Newstart para avançar no caminho da automatização deste processo. Com ajuda da IA, o processo inteiro foi automatizado em apenas 20 horas de trabalho!

2.    O processo de compra

O diagrama abaixo mostra as principais etapas do processo atual de compra utilizado pela ORN. A solicitação de compra é feita por um técnico de produção, normalmente embarcado no navio, a regra sendo que o pedido deve ser feito usando um formulário do tipo Whatsform, convenientemente disponível no celular e que, uma vez enviado, encaminha as informações da solicitação, incluindo o Centro de Custo (internamente chamado LS), para a equipe de Compras da ORN via Whatsapp. O uso do celular é imprescindível, pois os técnicos não têm acesso a notebooks ou computadores a bordo do navio. Na prática, a regra virou exceção: muitas solicitações de compra são urgentes e viram mensagens de áudio enviadas diretamente para a equipe de Compras, ou o técnico está com as mãos engraxadas, o que não permite o manuseio fácil de formulários no celular. Entendemos então que a equipe de Compras esteja sobrecarregada de pedidos, e com dificuldades para gerenciá-los, pois vêm de diversas fontes em diversas formas, e nem sempre com todos os detalhes necessários.

Figura 1: O processo de compra da ORN

A realização da compra envolve o entendimento do pedido (comunicação com o técnico para entender exatamente o que precisa ser adquirido). Por vezes, tratando da reposição de peças de navios antigos (alguns da Segunda Guerra Mundial), o item deve ser fabricado e a equipe de Compras precisa de uma amostra física, ou pelo menos de uma foto. O fato é que a ORN, dadas essas circunstâncias, não pode trabalhar com um catálogo padrão de peças a comprar. Contudo, uma vez esclarecido o pedido e confirmada a LS, a equipe de Compras entra em contato com o (ou os) fornecedor(es) mais indicados para o caso em questão, e a compra é realizada. Dependendo do valor, uma etapa de aprovação pode ser necessária.

Devido ao grande espaço que há para ambiguidade nos passos anteriores, na entrega e recebimento do item, pode haver confusões sobre o local de entrega: pode ser na oficina, pode ser a bordo (de qual navio?). Para quem especificamente a entrega deve ser feita? Já houve situações de peças recebidas na oficina sem que ninguém saiba para onde deveriam ir, enquanto técnicos de produção estavam desesperados a bordo do navio, aguardando aquela peça urgente para completar a obra no prazo.

A equipe de Compras é responsável pela solicitação de aprovação do pagamento. Como os fornecedores costumam enviar Notas Fiscais com múltiplos itens não necessariamente relacionados ao mesmo centro de custo, um formulário em papel precisa ser preenchido com as seguintes informações:

  • LS (Centro de Custo)
  • Referência da Nota Fiscal
  • Descrição do item
  • Valor do item em questão

Entendemos a importância de ter a LS correta para não errar no faturamento do cliente, e imaginamos as ineficiências inerentes a este processo manual. As solicitações de aprovação de pagamento são aprovadas manualmente pela Diretoria.

Por fim, o Financeiro é responsável pelo pagamento das Notas Fiscais dos fornecedores. Aqui também um trabalho de formiga é necessário, pois antes de pagar qualquer Nota, o Financeiro precisa verificar se todos os itens foram aprovados para pagamento, sendo que as aprovações, na maioria das vezes, vêm em formulários (em papel) diferentes.

O entendimento do contexto da ORN e o mapeamento do processo de compra foram feitos usando a metodologia “Complex Discovery” desenvolvida pela Newstart (mais detalhes aqui).

3.    A automação do processo

Para cada etapa do processo, foram criadas planilhas do Google Sheets, com permissões de acesso específicas para cada área da empresa (Diretoria, Compras/Almoxarife, Comercial, Produção e Financeiro) e funcionalidades de apoio. O conjunto de planilhas se comunica entre si, favorecendo a comunicação interna da empresa. As planilhas são acessíveis a partir de um portal desenvolvido usando Google Sites e que chamamos de SisORN.

Figura 2: O portal SisORN

A seguir, descrevemos as automações desenvolvidas para cada etapa do processo de compra.

3.1  Solicitação de compra

O Centro de Custo (LS) sendo a chave primária que conecta todos os demais dados do processo, foi necessário criar, em primeiro lugar, uma planilha chamada Relação de LS para manter a lista atualizada de Centros de Custos, com informações correlatas como o nome do navio, as datas de início e fim da obra, se a obra já foi finalizada e observações adicionais.

Como os pedidos de materiais vêm através de Whasform, criamos também uma planilha chamada Pedidos de Materiais, integrada com o Whatsform, e que disponibiliza online para a equipe da ORN todas as informações sobre os pedidos de materiais realizados: nome do solicitante, LS, nome do navio, descrição do material a ser comprado, quantidade, prazo esperado de entrega, etc.

Um benefício importante associado à disponibilidade online da planilha Pedidos de Materiais é que agora as diferentes áreas da ORN sabem o que foi pedido, para qual navio e para quem deve ser entregue, solucionando a questão apontada mais cedo de peças solicitadas, chegando na oficina e sem que ninguém saiba para onde devem ser encaminhadas.

3.2  Realização da compra

Para que a equipe de Compras possa gerenciar os pedidos, campos adicionais foram agregados à planilha Pedidos de Materiais, indicando se foram comprados, de qual fornecedor e a qual preço. Uma versão desta planilha com acesso somente de leitura foi disponibilizada para a equipe Comercial da ORN acompanhar os custos das obras.

3.3  Entrega e recebimento

Nesta etapa, capturamos os dados das Notas Fiscais através da opção Carregar Nota Fiscal, disponível para a área de Compras, que abre a planilha ilustrada abaixo.

Figura 3: Carregar Nota Fiscal

Observe o menu “NF” e a opção “Carregar NF” que, uma vez selecionada, abre uma caixa de seleção onde o usuário pode escolher um arquivo XML de Nota Fiscal. Clicando no tradicional botão OK, os dados da Nota Fiscal e dos respectivos itens são carregados nas primeiras linhas disponíveis da planilha. Falaremos mais adiante do processo, que envolve IA, empregado para criar esta automação (o menu e o subsequente processamento).

Os dados gerais da Nota Fiscal que são carregados são: Nome Fantasia (do fornecedor), Série (da Nota Fiscal), Número da NF, Data de Emissão e Valor Líquido. Os demais campos são referentes aos itens da nota: Código do Produto, Descrição do Produto, Quantidade, Valor Unitário e Valor Total (do item).

Para o benefício da área Comercial, foi disponibilizada a opção Consultar Detalhes de Notas Fiscais que oferece uma visão somente de leitura da planilha descrita acima.

3.4  Solicitação de aprovação de pagamento

Nesta etapa, automatizamos o processo manual usado pela equipe de Compras para pedir aprovação para pagamento das mercadorias compradas. Selecionando a opção Solicitar Aprovação de Nota Fiscal, a equipe de Compras tem acesso a uma planilha cujas primeiras colunas são exatamente as mesmas da planilha de detalhes de Notas Fiscais vista no parágrafo anterior, e que conta com algumas colunas adicionais que iremos explicitar a seguir: Nome do Navio, LS Sugerida, Confirmar LS, Selecionar e Status de Aprovação. A planilha conta também com um menu “Aprovação” com a opção “Solicitar Aprovação”:

Figura 4: Solicitar Aprovação de Nota Fiscal

O objetivo aqui é vincular cada item de Nota Fiscal com o Centro de Custo correto. Como, para o pessoal da ORN, o Nome do Navio é mais intuitivo que a LS, o Analista de Compras começa preenchendo a coluna Nome do Navio. Com base nas informações contidas na planilha Relação de LS, o Google Sheets sugere uma LS na coluna LS Sugerida. É de suma importância que o Analista de Compras confirme a LS na coluna Confirmar LS, pois várias LS podem estar ativas ao mesmo tempo e vinculadas ao mesmo navio. Na sequência, o Analista de Compras seleciona as linhas que quer enviar para aprovação clicando nas caixinhas da coluna Selecionar. Na Figura abaixo, mostramos a planilha com esta parte do trabalho feita. Observe que a coluna Status de Aprovação não está preenchida ainda.

Figura 5: Itens de Notas Fiscais prontos para serem enviados para aprovação

Neste momento, o Analista de Compras pode clicar no menu “Aprovação” e selecionar “Solicitar Aprovação”. Isso irá enviar à Diretoria um pedido de aprovação para pagamento dos itens de Notas Fiscais selecionados: na prática, a Diretoria recebe um e-mail como mostrado a seguir.

Figura 6: E-mail automático solicitando aprovação de itens de Notas Fiscais

Ao clicar em “Ir para a planilha de aprovação”, a Diretoria da ORN é direcionada para a planilha Aprovação de Itens de Notas Fiscais onde é possível aprovar ou rejeitar cada item individualmente ou, alternativamente, aprovar ou rejeitar todos os itens em lote usando o menu “Aprovar ou rejeitar” destacado abaixo.

Figura 7: Planilha de aprovação de itens de Noas Fiscais

As aprovações/rejeições são reproduzidas automaticamente na planilha da opção Solicitar Aprovação de Nota Fiscal (Figura 4: Solicitar Aprovação de Nota Fiscal), na coluna Status de Aprovação que estava anteriormente vazia:

Figura 8: Itens de Notas Fiscais aprovados ou rejeitados

Para o benefício da Diretoria da ORN, disponibilizamos também a planilha Status de Aprovação das NFs que lista o histórico completo de aprovações e rejeições.

3.5  Pagamento

Por fim, o Financeiro da ORN tem acesso à planilha Notas Fiscais Aprovadas para Pagamento que lista as Notas Fiscais cujos itens têm sido aprovados na sua totalidade, ou seja, as Notas Fiscais aprovadas de fato, com base nas aprovações individuais de cada um de seus itens. Esta planilha encerra por completo a automação ponta a ponta do processo de Compra da empresa, eliminando a necessidade das tramitações existentes, morosas e onerosas, de documentos físicos, escritos e aprovados à mão.

4.    Automação movida a IA

As automações descritas na seção anterior foram possibilitadas pelo uso de um framework baseado em Google Sheets, Google Apps Script e ChatGPT:

  • Google Sheets fornece toda a infraestrutura necessária de planilhas, fórmulas e comandos para interconectar documentos diferentes, além de gerenciar a autenticação dos usuários e os direitos de acesso.
  • Google Apps Script é uma linguagem baseada em JavaScript que permite automatizar, estender e integrar os produtos do Google Workspace, incluindo Google Sheets. Nesta Prova de Conceito, foi usada para criar os menus customizados que vimos nas diferentes planilhas desenvolvidas (como por exemplo o menu “Aprovar ou rejeitar” na planilha Aprovação de Itens de Notas Fiscais), assim como as opções de menu e o processamento correspondente.
  • ChatGPT foi de fato o desenvolvedor nesta prova de conceito. A partir de nossos prompts, gerou todo o código Google Apps Script necessário para alcançar os resultados almejados.

Para ilustrar, vamos reproduzir aqui o passo-a-passo para criar um menu dentro de uma planilha do Google Sheets, com uma opção para importar alguns dados de itens de Notas Fiscais a partir de arquivos XML (similar à opção Carregar Nota Fiscal vista na seção 3.3).

Começamos com uma planilha em branco do Google Sheets. Como na seção 3.3, queremos carregar os seguintes dados: Nome Fantasia (do fornecedor), Série (da Nota Fiscal), Número da NF, Data de Emissão e Valor Líquido, além dos campos referentes aos itens individuais da nota: Código do Produto, Descrição do Produto, Quantidade, Valor Unitário e Valor Total (do item). Preenchemos a primeira linha da planilha com os rótulos das colunas nesta ordem: Nome Fantasia, Série, Número NF, Data de Emissão, Valor Líquido, Código do Produto, Descrição do Produto, Quantidade, Valor Unitário, Valor Total.

O primeiro prompt que precisamos é para criar o menu “NF” e a opção “Carregar NF” na planilha. Cuidaremos do processamento na sequência.

Tenho uma planilha do Google Sheets. Quero, por favor, que gere código Google Apps Script para incluir um menu chamado "NF" com a opção "Carregar NF".

O “por favor” é opcional! O código fonte gerado por este prompt pode ser colado na planilha no espaço reservado para código que aparece selecionando o menu “Extensões”, opção “Apps Script”. O próximo passo consiste em abrir uma janela de seleção de arquivos (tipo file picker) quando a opção “Carregar NF” foi acionada, para que o usuário possa selecionar o arquivo XML da Nota Fiscal a ser carregada.

Ao selecionar "Carregar NF", o usuário deve ser apresentado com uma janela de seleção de arquivos para que possa selecionar o arquivo XML de uma Nota Fiscal que será carregada posteriormente na planilha.

O ChatGPT gera o código e responde:

Agora, ao selecionar "Carregar NF", será exibida uma janela modal para seleção do arquivo XML. Você precisará criar um arquivo HTML chamado "FilePicker" para essa interface. Deseja que eu gere esse código para você?

Quero!

O arquivo HTML gerado precisa ser agregado ao projeto do Apps Script. Observe que ao testar o menu, o Google irá pedir autorização para rodar o script.

Figura 9: Janela de seleção de arquivo XML

Agora precisamos de só mais um prompt para ler os dados da Nota Fiscal e escrevê-los no lugar certo na planilha.

Quando o usuário clicar em "Carregar", os seguintes dados devem ser escritos
na planilha a partir da primeira linha vazia:
(1) Dados da Nota Fiscal:
-Coluna A: Nome fantasia do emitente
-Coluna B: Série da Nota Fiscal
-Coluna C: Número da Nota Fiscal
-Coluna D: Data de emissão
-Coluna E: Valor líquido
(2) Dados de cada item discriminado na Nota Fiscal:
-Coluna F: Código do produto
-Coluna G: Descrição do produto
-Coluna H: Quantidade
-Coluna I: Valor unitário
-Coluna J: Valor total

Et voilà! Quatro prompts e o trabalho está feito! O ChatGPT presumivelmente já foi treinado para processar arquivos XML de Notas Fiscais. Na prova de conceito da ORN, usamos prompts adicionais para fazer algumas otimizações, tratar erros e impedir o carregamento de Notas Fiscais duplicadas, mas, para não sobrecarregar o texto, não iremos elaborar aqui.

5.    Conclusões e lições aprendidas

  • O framework Google Sheets/Google Apps Script/ChatGPT pode ser usado de maneira efetiva para prototipação rápida de telas e automações de processos.
  • A prova de conceito descrita aqui envolvendo um dos processos de negócios mais críticos da ORN levou apenas 20 horas, trazendo assim mais segurança do retorno sobre um investimento posterior em automatização.
  • A ORN espera ganhos significativos em eficiência com a automatização de seus processos mais críticos, eliminando dores agudas tais como a falta de informação sobre o destino de certos itens comprados, ou o processo manual e extremamente penoso de aprovação de pagamento de Nota Fiscal.
  • Escrever o prompt certo no ChatGPT é um processo de tentativa e erro. Em alguns momentos, é necessário voltar alguns passos para trás e depurar erros através de logs. O próprio ChatGPT pode ser usado para analisar os logs.