Como Eliminar o Trabalho Manual na Emissão de Notas Fiscais com n8n e Google Gemini (Guia Prático com Schemas)

Aprenda a estruturar uma esteira automatizada no n8n que extrai dados desestruturados de vendas com o Google Gemini e emite notas fiscais automaticamente via API.

Prof. Alexandre Dias
Prof. Alexandre Dias
2 de setembro de 2026
6 min de leitura
Automação de notas fiscais com n8n e Google Gemini

Quem administra um negócio em crescimento conhece bem o gargalo: a cada venda realizada, alguém da equipe precisa parar o que está fazendo, abrir o sistema de faturamento da prefeitura ou do ERP, copiar manualmente o nome do cliente, conferir o CPF ou CNPJ, preencher o endereço, calcular a retenção e emitir a nota fiscal. Esse processo, repetido dezenas de vezes por semana, drena facilmente mais de 25 a 30 horas mensais de trabalho improdutivo — além de abrir brechas para multas tributárias por erros de digitação.

Neste guia passo a passo da Escola SINC, vou te mostrar a arquitetura exata que utilizamos em nossos projetos de automação para transformar dados brutos e desestruturados de vendas em notas fiscais emitidas instantaneamente, unindo o poder da orquestração no-code do n8n com a inteligência de extração estruturada do Google Gemini.

1. A Arquitetura do Fluxo: Do Caos à Emissão em 3 Segundos

Antes de arrastar qualquer nó no n8n, é fundamental entender o fluxo de dados. A emissão automatizada se divide em quatro etapas sequenciais:

  • Gatilho (Trigger): O n8n escuta uma notificação de venda confirmada (via Webhook do Mercado Pago, Stripe, WooCommerce ou nova linha no Google Sheets).
  • Interpretação Semântica (Google Gemini): Quando os dados vêm incompletos ou em texto corrido (como uma mensagem de WhatsApp ou e-mail), o Gemini interpreta o texto e extrai os campos obrigatórios em formato JSON rígido.
  • Sanitização e Validação (Code Node): Tratamento de pontuação de CPF/CNPJ, validação de campos vazios e conversão de moeda (R$ para centavos ou vice-versa).
  • Despacho HTTP (API do Emissor): O n8n dispara uma requisição POST autenticada para o sistema de emissão (ex: Focus NFe, e-Notas, Tiny, Bling ou API municipal) e notifica o cliente.

💡 Dica de Ouro do Mentor Alexandre Dias

Nunca envie dados de valores monetários para a IA fazer contas matemáticas complexas de tributos. Use o Google Gemini estritamente para extração e estruturação semântica. O cálculo de alíquotas (ISS, PIS, COFINS) deve ser delegado para o seu ERP emissor ou resolvido de forma determinística em um nó de código JavaScript no n8n.

2. Passo 1: Configurando o Trigger e Recebendo os Dados Brutos

No seu painel do n8n, crie um novo workflow e inicie com o nó Webhook (se suas vendas chegam de gateways de pagamento) ou Google Sheets Trigger (se você mantém uma planilha de pedidos).

Configure o método HTTP como POST e defina o caminho como /webhook/nova-venda-nf. Sempre teste a requisição no ambiente de desenvolvimento do n8n utilizando um payload simulado, como este exemplo:

{
  "pedido_id": "PED-2026-9812",
  "data": "2026-09-02T14:30:00Z",
  "valor_total": 450.00,
  "mensagem_cliente": "Olá! Gostaria de fechar o serviço de automação para a Clínica Sorriso Seguro LTDA, CNPJ 12.345.678/0001-90, endereço Av. Central 450, Centro, Itaitinga - CE, CEP 61880-000. E-mail para envio da NF: [email protected]"
}

3. Passo 2: O Prompt Mestre de Extração Estruturada no Google Gemini

Adicione o nó Google Gemini (ou o nó HTTP Request apontando para a API do Gemini 2.5 Flash / 1.5 Pro). O segredo para 100% de precisão é utilizar o recurso de System Instruction com um esquema JSON obrigatório.

Abaixo está o prompt oficial calibrado para extração contábil:

Você é um assistente contábil especializado em triagem de documentos fiscais.
Sua única tarefa é analisar a mensagem ou os dados brutos de entrada e extrair os dados necessários para emissão da NFS-e.

REGRAS DE RESPOSTA OBRIGATÓRIAS:
1. Responda ESTRITAMENTE em formato JSON válido, sem tags markdown (```json), sem explicações ou saudações.
2. Limpe pontuações de CPF e CNPJ (retorne apenas números).
3. Se algum campo opcional não for identificado, preencha com null.
4. Identifique automaticamente se o documento é "CPF" ou "CNPJ".

SCHEMA JSON OBRIGATÓRIO:
{
  "tomador_tipo": "PJ ou PF",
  "documento_numero": "apenas dígitos",
  "razao_social": "nome completo ou razão social",
  "email": "e-mail válido",
  "cep": "apenas dígitos",
  "endereco": "logradouro completo",
  "numero": "número do imóvel ou S/N",
  "cidade": "nome da cidade",
  "uf": "sigla de 2 letras",
  "descricao_servico": "resumo claro do serviço prestado"
}

⚠️ Ponto de Atenção em Produção

Nunca grave a sua chave de API (GEMINI_API_KEY) em texto puro dentro do nó. Utilize sempre o gerenciador nativo de Credenciais do n8n ou variáveis de ambiente declaradas no seu docker-compose.yml. Isso protege sua conta contra vazamento acidental ao exportar workflows.

4. Passo 3: Sanitização de Dados com o Code Node (JavaScript)

Para garantir que a API municipal não rejeite o payload por causa de um CEP sem zero à esquerda ou uma string mal formatada, conectamos um nó Code logo após o Gemini:

// Nó de Sanitização Contábil SINC
const item = .first().json;
const geminiRaw = item.candidates?.[0]?.content?.parts?.[0]?.text || item.text;

let dadosFiscais;
try {
  dadosFiscais = typeof geminiRaw === 'string' ? JSON.parse(geminiRaw.trim()) : geminiRaw;
} catch (err) {
  throw new Error('Falha no parse do JSON gerado pelo Gemini: ' + err.message);
}

// Sanitização estrita de documentos
const docLimpo = (dadosFiscais.documento_numero || '').replace(/D/g, '');
const cepLimpo = (dadosFiscais.cep || '').replace(/D/g, '').padStart(8, '0');

return [{
  json: {
    pedido_id: $('Webhook').first().json.pedido_id,
    valor_servico: Number($('Webhook').first().json.valor_total).toFixed(2),
    tomador: {
      tipo: docLimpo.length > 11 ? 'PJ' : 'PF',
      documento: docLimpo,
      nome: dadosFiscais.razao_social,
      email: dadosFiscais.email,
      endereco: {
        logradouro: dadosFiscais.endereco,
        numero: dadosFiscais.numero || 'S/N',
        cep: cepLimpo,
        cidade: dadosFiscais.cidade,
        uf: dadosFiscais.uf?.toUpperCase()
      }
    },
    descricao: dadosFiscais.descricao_servico || 'Serviços de consultoria e ferramentas digitais'
  }
}];

5. Passo 4: Disparo para a API do Emissor e Tratamento de Resiliência

No nó final HTTP Request, configure a chamada POST para o seu integrador de notas fiscais (como Focus NFe, PlugNotas, Tiny ou Prefeitura).

  • Method: POST
  • URL: https://api.emissor.com.br/v2/nfse
  • Authentication: Header Auth / Bearer Token
  • Body: JSON mapeado a partir da saída do nó anterior ()

A Regra dos 99,9% de Uptime: Vá nas opções do nó HTTP Request e ative Retry on Fail com 3 tentativas e intervalo de 5000ms. Além disso, configure o gatilho de erro (Error Trigger) do n8n para enviar um alerta imediato no seu WhatsApp (via WAHA) caso o sistema da prefeitura esteja fora do ar. Dessa forma, você nunca perde um faturamento de vista.

Conclusão e Próximos Passos

Com essa esteira operando, seu negócio deixa de ser refém da digitação mecânica. O tempo que a sua equipe gastava com burocracia tributária passa a ser investido no que realmente traz faturamento: prospecção de novos clientes, melhoria de processos e atendimento consultivo.

Essa é a essência do que ensinamos na Formação Prática de 40 Horas da Escola SINC: automação de ponta a ponta que gera impacto financeiro real no primeiro mês de operação.

Prof. Alexandre Dias
Material Gratuito

Quer aprofundar na prática com apoio do Prof. Alexandre?

Baixe modelos prontos, planilhas práticas e tire dúvidas diretamente pelo nosso canal oficial de suporte no WhatsApp ou explore as aulas completas na nossa plataforma EAD.

Blueprint Oficial da Automação

Quer o fluxo pronto do n8n para importar no seu servidor?

Receba o arquivo JSON configurado com todos os nós, schemas de extração do Google Gemini e instruções de instalação diretamente no seu WhatsApp e e-mail.

🔒 Seus dados estão 100% seguros. Zero spam.
Prof. Alexandre Dias

Prof. Alexandre Dias

Mentor & Fundador

Escola SINC — Escola de Profissões e Tecnologias Digitais

Especialista em Automações de Processos, Inteligência Artificial Aplicada a Negócios e Desenvolvimento de Soluções No-Code/Code. Mentor do Método SINC de capacitação prática para o mercado profissional.