O n8n tornou-se a plataforma de referência para equipas que querem criar fluxos de trabalho poderosos sem escrever muito código. É open source, tem custos reduzidos, permite alojamento próprio e traz um conjunto sólido de ferramentas para trabalhar com LLMs e agentes de IA.

Na Lynxmind, percebemos rapidamente o seu potencial e lançámos várias iniciativas para levar a automação aos processos do dia a dia. Um dos primeiros casos em que esta combinação se revelou particularmente valiosa foi o controlo de despesas e o reconhecimento de faturas, uma tarefa que praticamente todas as empresas enfrentam.


O problema: controlo de despesas feito à mão

O nosso processo de controlo de despesas começou como tantos outros. Os colaboradores entregavam os recibos, alguém introduzia os dados manualmente num sistema e a administração tratava das aprovações. Funcionava, mas trazia os problemas habituais: dados introduzidos de forma inconsistente, erros de escrita, aprovações demoradas e nenhuma visibilidade para quem submetia.

Decidimos automatizar o processo para reduzir o erro humano, acelerar as aprovações e tornar o controlo de despesas mais transparente.

Exemplo de imagem de uma fatura

A arquitetura do sistema

Para o resolver, montámos uma arquitetura simples mas eficaz: uma aplicação web responsiva em Next.js, um backend em Supabase (PostgreSQL), a orquestração através de fluxos n8n e modelos de IA alojados localmente com o Ollama, usando o gtp-oss e o qwen2.5vl.

O fluxo funciona assim:

  • Um colaborador carrega uma fatura (PDF ou imagem) através da aplicação web.
  • O Supabase insere uma nova linha na tabela de faturas.
  • Um trigger da base de dados chama um webhook do n8n, que processa os dados e devolve os resultados ao Supabase.
  • Um administrador revê e resolve as divergências assinaladas.
Diagrama da stack tecnológica

Como o fluxo foi implementado

A automação arranca com um trigger na base de dados Supabase, ativado sempre que uma nova fatura é submetida. Esse trigger chama um webhook do n8n, enviando os dados da nova linha e a localização do ficheiro.

A partir daí, o n8n:

  • Obtém o documento carregado.
  • Determina se é um PDF ou uma imagem.
  • Encaminha o ficheiro para o modelo de IA adequado (gtp-oss para PDFs, após extração do texto; qwen2.5vl para imagens).
  • Extrai os dados essenciais, como o nome da loja ou da empresa, a descrição dos artigos e os valores de IVA.

Os valores extraídos são depois comparados com o que o utilizador introduziu, usando o gtp-oss. Se houver divergências, ficam assinaladas num campo próprio da tabela de faturas para validação pela administração. Se tudo corresponder, os dados são verificados automaticamente.

O n8n é uma plataforma poderosa, mas a versão community com alojamento próprio tem limitações. Encontrámos vários obstáculos, entre eles a impossibilidade de partilhar fluxos ou credenciais, a ausência de versionamento nativo e a pouca visibilidade sobre os erros.

Algumas destas funcionalidades existem na versão paga, mas queríamos manter a stack leve e com custos controlados. Para contornar as limitações, passámos a exportar os fluxos para um repositório GitHub, garantindo controlo de versões, e acrescentámos monitorização com Checkmk para acompanhar melhor o desempenho e os erros.

Enfrentámos também desafios técnicos, como lidar com faturas mal formatadas, resultados inconsistentes dos modelos em imagens de baixa qualidade e a construção de uma lógica de tratamento de erros suficientemente robusta.

Diagrama do fluxo de trabalho n8n

Segurança e privacidade

Como trabalhamos com documentos financeiros, a segurança foi uma prioridade desde o início. Alojar a stack de IA nas nossas próprias máquinas garante que os dados das faturas nunca saem da nossa infraestrutura. Mantemos controlo total sobre a autenticação e os acessos, e todas as operações ficam registadas e auditáveis.


O que vem a seguir

Este projeto é apenas o início do nosso caminho na automação. Os próximos passos incluem:

  • Automação total da inserção de dados, sem qualquer introdução manual.
  • Um sistema RAG (geração aumentada por recuperação) com n8n e Ollama.
  • Melhorias na monitorização, no versionamento e no reporte de erros.
  • Capacidades de geração de leads e enriquecimento de dados.
  • Campanhas de marketing automatizadas.
Colaboração entre a Lynxmind e o n8n

Conclusão

Para a Lynxmind, juntar o n8n a modelos de IA locais provou ser uma forma eficaz de levar a automação a processos reais de negócio, sem depender de serviços cloud dispendiosos.

O nosso fluxo de reconhecimento de faturas é apenas um exemplo de como a IA pode simplificar operações rotineiras e libertar as equipas para trabalho com mais valor. Vamos continuar a explorar o potencial da IA local e do n8n, e esperamos que isto inspire outros a fazer o mesmo.

A Lynxmind presta também serviços de consultoria em n8n, para ajudar as organizações a conceber, implementar e escalar as suas soluções de automação. Se pretende integrar o n8n com IA no seu negócio ou desenvolver soluções de ponta a ponta, podemos ajudá-lo a fazê-lo de forma eficiente e segura.

Marco Gonçalves
Marco Gonçalves

Como Diretor de Experiência Digital na Lynxmind, lidera a visão e a estratégia para o desenvolvimento web e mobile, combinando profunda competência técnica com uma abordagem centrada em quem usa. Com bases sólidas em desenvolvimento frontend e um olhar criativo para o design, impulsiona a inovação nas plataformas digitais, assegurando experiências intuitivas e de elevada qualidade. Acompanha de perto as tecnologias web mais recentes e alimenta na equipa uma cultura de exigência e de aprendizagem contínua, contribuindo para o crescimento e o impacto digital da empresa.