Ir para o conteúdo
Ztract

Como extrair dados de faturas para o Excel — seja qual for o layout

Cada fornecedor envia faturas num layout diferente, e é exatamente isso que torna tão penoso passá-las para uma planilha. Veja como extrair número da fatura, datas, totais e itens de linha para Excel, CSV ou JSON limpos — em qualquer layout, sem precisar criar um modelo para cada fornecedor.

A equipe Ztract 7 min read
  • tutorial
  • invoices
Uma fatura sobre uma mesa ao lado de um laptop e de uma calculadora — a papelada de contas a pagar que acaba sendo redigitada à mão numa planilha.

Se a sua caixa de entrada se enche de faturas de fornecedores todos os meses, você já conhece a rotina: abrir cada PDF, encontrar o número da fatura, a data, o total, copiar cada item de linha e digitar tudo numa planilha. E depois fazer tudo de novo para o próximo fornecedor — cuja fatura não tem nada a ver com a anterior.

Essa última parte é o verdadeiro problema. Não é o volume de faturas; é que não há dois fornecedores que as formatem da mesma maneira. O total fica num lugar diferente, as datas usam um estilo diferente, a tabela de itens de linha tem colunas diferentes. Um ser humano se adapta a cada uma sem pensar. A maioria dos softwares, não — e é por isso que tantas equipes desistem e simplesmente redigitam tudo à mão.

Este artigo mostra como extrair os dados das faturas para Excel, CSV ou JSON limpos — em qualquer layout — sem ter que criar e manter um modelo separado para cada fornecedor.

Por que as faturas são mais difíceis de extrair do que parecem

Um único modelo de fatura fixo é fácil. O problema é que você quase nunca tem só um. Algumas razões pelas quais as faturas resistem a uma extração limpa:

  • O layout de cada fornecedor é diferente. Não existe um padrão do setor para onde colocar o número da fatura, o endereço de cobrança ou os totais. O modelo que você configurou para um fornecedor quebra no momento em que um novo fornecedor envia a primeira fatura.
  • “O valor” é ambíguo. Uma única fatura carrega um subtotal, impostos, frete, um total antes do desconto e um valor final a pagar — muitas vezes empilhados bem ao lado uns dos outros. Extraia “o valor” sem dizer qual, e você vai obter aquele que o mecanismo adivinhou.
  • Itens de linha são uma lista, não um valor. Cada fatura tem um número de fatura, mas vários itens de linha, cada um com sua própria descrição, quantidade, preço unitário e total da linha. Achate isso da forma errada e você fica com uma confusão onde queria linhas limpas.
  • PDF, digitalização ou foto. Uma fatura enviada por e-mail como PDF é texto limpo. A mesma fatura digitalizada na recepção ou fotografada num celular é uma imagem — e agora você precisa de OCR antes de conseguir extrair qualquer coisa, e o OCR traz seus próprios erros.

Qualquer ferramenta que afirme “simplesmente extrair faturas” precisa ter uma resposta para tudo isso. A frustração manual mora nessa variedade, não em nenhuma fatura isolada.

As abordagens comuns, e onde cada uma deixa de funcionar

Não existe uma única ferramenta certa — tudo depende de quantos fornecedores você tem e de quão consistentes são os layouts deles.

Digitar à mão. Configuração zero, preciso se você for cuidadoso e completamente impossível de escalar. Tudo bem para uns poucos por mês; inviável quando você está processando dezenas de muitos fornecedores diferentes.

Parsers baseados em modelos. Você define, uma vez, onde cada campo fica na página. Rápido e barato se todas as faturas tiverem a mesma aparência. Mas como cada fornecedor é diferente, você acaba criando e mantendo um modelo por fornecedor — e refazendo-o no dia em que um fornecedor ajusta o layout. Com três ou quatro fornecedores estáveis, isso funciona. Com uma lista longa e mutável de fornecedores, o custo de configuração devora a economia de tempo.

Extração em linguagem natural. Em vez de marcar posições, você descreve os campos que quer em linguagem comum e o mecanismo se adapta a cada layout. Isso resolve diretamente o problema de “cada fornecedor é diferente” e é muito mais tolerante a digitalizações e formatações esquisitas. A contrapartida é que você quer uma ferramenta que permita verificar o resultado — porque você está confiando num modelo para ler a página em vez de numa coordenada fixa.

É nessa última categoria que o Ztract se encaixa, então vamos vê-la na prática.

Passo a passo: da fatura ao Excel no Ztract

Aqui está o fluxo completo — o mesmo, quer você esteja processando uma única fatura ou uma pasta com cinquenta de uma dúzia de fornecedores diferentes.

1. Crie um projeto e descreva o que você quer

Um projeto é apenas um contêiner para documentos relacionados e o schema que você vai aplicar a eles. Para faturas, você tem três maneiras de definir esse schema:

  • Comece a partir do schema de fatura pronto e ajuste-o. Esse é o começo mais rápido — ele já conhece números de fatura, datas, dados do fornecedor, totais e itens de linha.

  • Descreva os campos em linguagem comum. Por exemplo:

    “Para cada fatura, extraia o número da fatura, a data de emissão, o nome do fornecedor e o valor total a pagar (após impostos e descontos). Depois, para cada item de linha, extraia a descrição, a quantidade, o preço unitário e o total da linha. Se um campo não estiver presente, deixe-o em branco em vez de adivinhar.”

    Repare em duas coisas aí. “O valor total a pagar (após impostos e descontos)” diz ao mecanismo exatamente qual dos vários valores você quer. E “para cada item de linha” marca os itens de linha como uma lista repetida, então você recebe linhas limpas de volta em vez de tudo amassado numa única célula. Esses dois hábitos são quase tudo o que separa um resultado confiável de faturas de uma bagunça.

  • Inferir a partir de uma amostra. Solte uma fatura representativa e deixe o Ztract propor um schema a partir dela. Útil quando a fatura de um novo fornecedor tem campos que você não esperava.

A principal vantagem: o mesmo schema funciona em todos os fornecedores. Você está descrevendo os dados que quer, não a posição em que eles ficam — então um layout que você nunca viu antes é tratado da mesma forma que um que você já viu. Sem modelo por fornecedor.

2. Faça o upload das faturas

Arraste seus arquivos — PDF, Word, Excel, digitalizações ou fotos de celular, até 500 MB por arquivo. PDFs baseados em texto e digitalizações baseadas em imagem funcionam igualmente; as digitalizações simplesmente passam por OCR primeiro. Se as faturas de um mês chegarem como arquivos separados de fornecedores diferentes, faça o upload de todas juntas e o mesmo schema se aplica a cada uma.

3. Revise e corrija — a parte que realmente economiza tempo

Aqui está o que as pessoas subestimam: com faturas, a extração não é o que consome tempo — a conferência é. Se você não puder confiar no resultado, acaba relendo cada fatura contra a planilha de qualquer forma, e não economizou nada.

O Ztract foi construído em torno disso. Cada valor extraído é ancorado à sua posição exata no documento de origem: clique num número nos resultados e ele destaca de onde, na fatura, veio. Essa visão lado a lado é o que torna a revisão rápida. Em vez de reconferir cada campo, você procura os que parecem errados — um total que pegou o subtotal por engano, um item de linha que mesclou duas linhas — e os corrige com um clique.

E como só cobramos pela extração, corrigir um valor não custa nada. A edição posterior é gratuita; somente as páginas que você extrai contam no seu pacote, não a limpeza.

4. Exporte

Quando estiver certo, exporte para Excel, CSV ou JSON — uma única fatura ou o projeto inteiro de uma vez. A partir daí, vai direto para o seu fluxo de contas a pagar, para a importação do seu software de contabilidade ou para onde quer que os números precisem ir em seguida.

Os casos que ainda exigem um olhar humano

Preferimos contar onde isso fica complicado a fingir que não fica. Algumas situações a observar:

  • Notas de crédito e reembolsos. Uma nota de crédito parece uma fatura, mas os valores vão no sentido contrário. Seja explícito no seu schema sobre como tratar valores negativos e confira o sinal na etapa de revisão.
  • Fornecedores em múltiplas moedas. Se você compra de fornecedores em moedas diferentes, capture a moeda como um campo próprio em cada fatura em vez de presumir uma única moeda para todo o lote — caso contrário, um total de “1.000” não diz nada.
  • Digitalizações muito degradadas. Uma fatura enviada por fax e depois redigitalizada, com impressão apagada, é difícil de ler para qualquer um, inclusive o OCR. Se a origem está ilegível para o seu olho, espere ter que verificar com mais cuidado — uma digitalização mais limpa vale mais do que qualquer quantidade de correção feita depois.

Se um layout que deveríamos lidar voltar errado, queremos genuinamente vê-lo — envie uma amostra (anonimizada se precisar) para support@ztract.com e vamos investigar. Os documentos que as pessoas nos enviam são como o mecanismo melhora.

Uma observação sobre os dados dos fornecedores

As faturas carregam informações comerciais sensíveis — de quem você compra, o que paga, seus números de conta — então vale ser claro: não treinamos modelos com os documentos que você envia. Nem o nosso próprio mecanismo, nem os LLMs de terceiros pelos quais roteamos; as APIs comerciais que usamos proíbem o treinamento com dados enviados, e nós nos apoiamos nesses compromissos. Quando você exclui uma fatura, ela desaparece imediatamente do armazenamento ativo e em até 14 dias dos backups. O quadro completo está na nossa Política de Privacidade e no Acordo de Processamento de Dados.

Experimente com suas próprias faturas

A maneira mais rápida de saber se isso se encaixa no seu fluxo de trabalho é testar com algumas faturas reais que você de outra forma estaria digitando à mão — de preferência de alguns fornecedores diferentes, para que você veja o mesmo schema lidar com layouts diferentes. Contas novas recebem 30 páginas grátis, sem cartão de crédito — mais que suficiente para extrair um lote de ponta a ponta e conferir os totais você mesmo.

E se você processa faturas em grande volume e estaria disposto a compartilhar um feedback honesto sobre o que funcionou e o que não funcionou, entre em contato — estamos integrando os primeiros usuários e moldando o que vamos construir a seguir em torno dos documentos com os quais as pessoas realmente têm dificuldade. As faturas estão bem no topo dessa lista.

Confira nossa página de caso de uso para saber mais sobre extração de dados de faturas.

← Back to all posts