Como extrair dados de faturas de subcontratados para o Excel
sem modelos, sem redigitação
Seu subcontratado de concreto envia um pedido de pagamento no estilo AIA com retenção calculada em 10% e serviços divididos em três códigos de custo. Seu subcontratado elétrico envia um PDF de uma página com mão de obra e materiais em linhas separadas. Seu subcontratado de HVAC envia uma fatura manuscrita por fax com uma ordem de serviço rabiscada na margem. Todo mês, alguém da sua equipe abre cada uma, encontra os mesmos seis campos e os digita na sua planilha de custos do projeto — porque nenhum subcontratado formata uma conta da mesma forma.
Por que a maioria das ferramentas de extração desistem de faturas de subcontratados
Se você já tentou uma ferramenta padrão de PDF para Excel ou um OCR genérico de faturas em um pedido de pagamento de subcontratado, já sabe o resultado: ela extrai o nome do fornecedor e o total corretamente e depois falha em todo o resto. A linha de retenção aparece como um encargo negativo. O cronograma de valores vira uma grade de números sem rótulos. O número do projeto — se aparecer na página — se perde em um bloco de cabeçalho que a ferramenta não reconheceu como relevante.
Isso não é uma falha do OCR. É uma falha de premissas. Ferramentas de extração genéricas são feitas para faturas comerciais padrão: fornecedor no topo, itens no meio, totais no rodapé. Elas esperam uma estrutura de documento e um conjunto de campos. Uma fatura de subcontratado quebra todas essas premissas:
- Vários detalhamentos de custos em uma única página. Um subcontratado cobrando por serviços de concreto pode listar mão de obra, materiais, equipamentos e retenção como grupos de linhas separados — cada um com seu próprio subtotal — em uma única fatura. Ferramentas genéricas leem isso como "uma tabela com colunas demais" e produzem uma saída confusa.
- Campos específicos da construção que o OCR padrão nunca foi treinado para reconhecer. "Serviços executados neste período", "Materiais estocados", "Retenção retida", "Total ganho menos retenção" — esses termos não estão nos dicionários de campos das ferramentas genéricas de fatura. A ferramenta ou os ignora ou os rotula incorretamente como "Outros encargos".
- Números de projeto e códigos de custo que ficam nas margens. Uma referência de projeto pode aparecer em uma pequena caixa no canto superior direito, na linha de assunto do e-mail de capa do subcontratado ou embutida no nome do projeto — não em um campo rotulado. A extração padrão não procura por isso porque não sabe que deveria procurar.
O problema de extração com faturas de subcontratados não é ler a página. É saber quais campos procurar e reconhecê-los quando aparecem em lugares que um parser genérico de faturas nunca verificaria.
Os Campos Que Importam na Construção (e Por Que a Extração Genérica os Perde)
Uma fatura de subcontratado não é apenas uma conta — é um documento de custo de obra, um registro de conformidade e uma autorização de pagamento em um só. Os campos que você precisa extrair não são os mesmos que você extrairia de uma fatura de fornecedor de materiais de escritório. Veja o que está em cada fatura de subcontratado e por que cada campo importa para muito mais do que apenas emitir um pagamento:
| Campo | Por que importa além do pagamento |
|---|---|
| N.º do projeto / Código do projeto | Sem ele, o custo vai para o P&L do projeto errado. Uma fatura de concreto de $12.000 lançada no projeto errado faz esse projeto parecer acima do orçamento e o projeto real parecer abaixo — ambos estão errados, e você só vai perceber no fechamento do mês. |
| Código de custo (Divisão CSI) | Seu orçamento foi estruturado por divisão CSI — Divisão 03 Concreto, Divisão 08 Esquadrias, Divisão 22 Hidráulica. Se os dados da fatura não trazem o código de custo, alguém precisa atribuí-lo manualmente, lendo a descrição do item e adivinhando a qual linha orçamentária ele pertence. Esse alguém costuma ser um gerente de projeto cobrando $75–120/hora e gastando 15 minutos por fatura em classificação em vez de decisões. |
| Serviços executados + Materiais estocados | São itens separados em uma solicitação de pagamento AIA G702 e na maioria dos formulários de faturamento de subcontratados. Serviços executados geram direito de penhora imediatamente. Materiais estocados (no canteiro vs. fora dele) têm direitos de penhora e implicações de fluxo de caixa diferentes. Agrupá-los em uma única coluna "Total faturado" perde a distinção que determina quando você pode faturar o contratante. |
| Retenção | Normalmente 5–10% de cada pagamento progressivo, retidos até a conclusão substancial, conforme AIA A201 §9.3.1. Se você não acompanha a retenção por fatura, não sabe quanto dinheiro o contratante está retendo de todos os seus subcontratados — e não consegue verificar se a construtora não está retendo mais de você do que o contratante retém dela. |
| Resumo de ordens de serviço | Ordens de serviço aprovadas modificam o valor original do contrato. Se a fatura de um subcontratado inclui trabalho de ordem de serviço, mas sua planilha só registra "Total faturado", você perdeu a trilha documental que explica por que a fatura deste mês está $8.000 maior que a anterior. |
Nenhum desses campos aparece em um modelo padrão de fatura comercial. É por isso que uma ferramenta treinada em "Número da fatura, Data, Fornecedor, Total" retorna células vazias para as colunas que realmente alimentam seu relatório de custos de obra.
Como a Extração de Nomes de Colunas Encontra o Que Você Precisa — Seja Qual For o Formato
A técnica que faz isso funcionar é a extração de nomes de colunas: em vez de dizer à ferramenta onde olhar na página (desenhando retângulos ao redor de cada campo, como faz o OCR baseado em modelos), você diz o que está procurando — e a IA encontra o valor correspondente entendendo o significado. Para um mergulho mais profundo em como essa abordagem funciona com dados de faturas especificamente, veja nosso guia para extrair campos específicos de qualquer formato de fatura.
A entrada é uma lista de nomes de colunas que você digita — exatamente os cabeçalhos que você quer na sua planilha de saída:
Nome do subcontratado | N.º da fatura | Data | N.º do projeto | Código de custo | Serviços executados | Materiais estocados | Retenção | Líquido a pagar | Total da OC
A IA lê cada documento, localiza o valor que corresponde a cada nome de coluna e preenche a linha. "Nome do subcontratado" em uma fatura pode estar em um rótulo "Contratante:" no cabeçalho; em outra, é o texto em negrito centralizado no topo da página, sem rótulo algum. A IA reconhece ambos porque está combinando significado, não posição — da mesma forma que um funcionário de contas a pagar humano examina uma página e encontra o nome do subcontratado em meio segundo, independentemente de onde ele esteja.
Isso é fundamentalmente diferente das ferramentas baseadas em modelos, que funcionam registrando coordenadas de pixels ("o nome do fornecedor está a 2,3 polegadas do topo e 1,1 polegadas da esquerda"). Um modelo quebra no momento em que um subcontratado muda seu software de faturamento ou adiciona um novo campo. A extração de nomes de colunas não quebra — ela procura a informação, não o pixel.
Você está definindo o esquema de saída. A IA se adapta ao formato de entrada de cada documento. Essa inversão — saída primeiro, independente de formato — é o que faz isso funcionar para faturas de subcontratados de uma dúzia de ofícios diferentes.
Passo a Passo: Da Fatura do Subcontratado à Planilha de Custos do Projeto
Este é o fluxo de trabalho real, desde o recebimento de um lote de faturas de subcontratados até uma planilha de custos do projeto preenchida. Cada etapa existe porque a anterior criaria um gargalo sem ela.
1. Defina suas colunas uma vez, reutilize a cada período de medição
Antes de processar qualquer documento, decida quais colunas sua planilha precisa. Para uma construtora geral ou especializada que acompanha custos de subcontratados por projeto, um conjunto prático de colunas inclui:
- Nome do subcontratado — quem está cobrando você
- N.º da fatura — o número de referência deles (essencial para trilha de auditoria)
- Data — data da fatura ou do fim do período
- N.º do projeto — a qual projeto este custo pertence
- Código de custo — divisão CSI ou seu código interno (ex.: 03-3100 para concreto moldado in loco)
- Serviços executados — valor em dólares de mão de obra e materiais instalados neste período
- Materiais estocados — materiais no local, mas ainda não instalados
- Total faturado — Serviços executados + Materiais estocados (a medição bruta)
- Retenção — valor retido (geralmente 5–10%)
- Líquido a pagar — o que você realmente paga neste período
- N.º da ordem de serviço — referencie quaisquer ordens de serviço incluídas nesta medição
Salve essas colunas como um modelo para não precisar redigitá-las todo mês. O mesmo conjunto de colunas funciona para todos os subcontratados — a IA lida com a variação de formato na entrada.
2. Upload — uma fatura ou vinte, mesmo fluxo
Arraste seus PDFs para a área de upload. Faturas de subcontratados chegam como anexos de e-mail (PDF), papel escaneado do trailer da obra ou fotos de celular de uma conta manuscrita. O mecanismo de extração lida com PDF, JPG, PNG e WebP — sem pré-processamento, sem exigência de 300 DPI, sem "peça ao seu sub de concreto para reformatar as faturas".
Se você está processando um mês inteiro de medições, pode enviar todas as faturas de uma vez. A ferramenta as processa em paralelo — extrair uma única página normalmente leva de 5 a 10 segundos — e mescla todos os resultados em uma única planilha.
3. Revise a planilha extraída — não os documentos individuais
Em vez de abrir cada PDF e digitar os campos um a um, você abre uma planilha onde cada linha é uma fatura de subcontratado e cada coluna é um campo que você definiu. Você está revisando os dados no formato em que realmente vai usá-los — não transcrevendo de um formato para outro. Faça uma verificação pontual dos campos de alto valor (Total faturado, Líquido a pagar) comparando com os documentos-fonte das primeiras faturas. A etapa de verificação é discutida em detalhes abaixo.
Os arquivos são processados com segurança e não são armazenados.
4. Exporte e alimente seu sistema de custos de obra
Baixe como Excel (XLSX) ou CSV. A planilha é estruturada com seus cabeçalhos de coluna, uma linha por fatura. A partir daqui, os dados fluem para seu fluxo de trabalho existente — seja uma importação no QuickBooks, um módulo de custos de obra no Sage 300, um razão de custos no Procore ou uma pasta de trabalho Excel compartilhada que acompanha os gastos do projeto contra o orçamento. O ponto é que você agora está movendo dados estruturados entre sistemas, não redigitando números de papel.
A etapa de extração substitui o gargalo da entrada inicial — tirar os dados da página e colocá-los em um formato estruturado. Ela não substitui seu sistema contábil, seu fluxo de aprovação ou o julgamento do seu gerente de projeto. Ela apenas elimina a parte em que alguém digita os mesmos seis campos de cada fatura em uma planilha.
Como lidar com Retenção, Ordens de Serviço e a Trilha de Papel da Renúncia de Direito de Lien
Três aspectos da faturação de subcontratados criam dados que a extração padrão ignora — mas na construção, eles são a diferença entre um pacote de saque limpo e uma aplicação de pagamento contestada.
Retenção. A maioria dos subcontratos retém de 5 a 10% de cada pagamento progressivo. Seu conjunto de colunas deve incluir um campo de Retenção para que a planilha reflita tanto o valor bruto faturado quanto o valor líquido a pagar. Se um sub calcula a retenção de forma diferente do que seu contrato especifica (por exemplo, retendo apenas sobre mão de obra, não sobre materiais estocados), esta coluna torna a discrepância visível na planilha — antes de você aprovar o saque, não depois que o contador do proprietário a detectar.
Ordens de serviço. Uma fatura de subcontratado que inclui trabalho de ordem de serviço deve referenciar o N.º da ordem de serviço e o valor aprovado. Sem essas referências na sua planilha, seis meses depois você estará olhando para um total de fatura que não consegue conciliar com o valor original do subcontrato. Inclua uma coluna de N.º da ordem de serviço. Se a fatura referenciar múltiplas ordens de serviço, a IA capturará todas elas como uma lista separada por vírgulas — você verá de relance se este saque é trabalho de contrato base ou extras aprovados.
Renúncias de direito de lien. Muitas construtoras exigem uma renúncia condicional de direito de lien com cada aplicação de pagamento. Embora a ferramenta de extração não gere renúncias de direito de lien, ter o valor Líquido a pagar extraído e verificado significa que o valor da renúncia corresponde ao pagamento real — eliminando a fonte mais comum de rejeições de renúncia de direito de lien. Se você gerencia 20 ou mais subcontratados por projeto, cruzar manualmente os valores das renúncias contra os valores dos pagamentos é uma tarefa de um dia inteiro. Uma planilha extraída transforma isso em um VLOOKUP.
O Que Você Não Pode Pular: A Etapa de Verificação
A extração por IA substitui a primeira entrada de dados — o ato de ler um campo em uma página e digitá-lo em uma célula. Ela não substitui a verificação, e nenhuma ferramenta de extração, em qualquer faixa de preço, consegue. Para dados impressos em documentos limpos, a precisão da extração chega a mais de 99%. Mas "99% de precisão" em 200 faturas significa que duas faturas podem ter um erro. Essas duas são as que criam dores de cabeça na conciliação e disputas de pagamento.
A abordagem prática é uma etapa de verificação em camadas — não conferindo cada célula de cada fatura, mas mirando nos campos onde erros têm consequências financeiras:
- Camada 1: Verificação rápida de todos os campos de valores em cada fatura. Total faturado, Retenção, Líquido a pagar. Esses são os campos que determinam os valores de pagamento. Confira cada linha com o documento de origem. Um dígito ausente em uma fatura de $48.700 vira $4.870 — e você vai perceber em dois segundos de comparação visual.
- Camada 2: Verifique os N.º do projeto na primeira fatura de cada subcontratado. Se a IA extrair consistentemente o número de projeto correto para o formato de um determinado sub, as faturas seguintes desse sub provavelmente estarão corretas. Se estiver errado na primeira, ajuste a extração e reprocesse.
- Camada 3: Examine os códigos de custo para verificar se fazem sentido. Se a fatura de um sub de encanamento for classificada como Divisão CSI 03 Concreto, você notará porque não corresponde ao ofício. A maioria das classificações incorretas é óbvia no contexto.
Essa abordagem em camadas leva de 2 a 3 minutos para um lote de 20 faturas — em comparação com os 15 a 20 minutos por fatura que a entrada manual exige. O gargalo muda de "inserir dados na planilha" para "verificar os dados que já estão lá". Isso é um compromisso de tempo muito menor.
O objetivo não é zero revisão humana. É reduzir a revisão humana de "cada tecla digitada" para "as teclas que realmente importam".
Perguntas Frequentes
Funciona com faturas de subcontratados escritas à mão?
Sim, com ressalvas. A IA lê texto manuscrito — letra de forma impressa com mais confiabilidade do que cursiva, e letra legível com mais confiabilidade do que rabiscos apressados. Uma fatura manuscrita de um encanador com números e valores em dólar claramente impressos será extraída bem. Uma cópia carbono desbotada com marcas de lápis borradas e texto sobreposto terá menor precisão. Se faturas manuscritas representam uma parte significativa do seu volume, a etapa de verificação descrita acima se torna mais importante — mas mesmo com 85–90% de precisão em caligrafia difícil, você está digitando correções em vez de redigitar documentos inteiros.
E quanto a pedidos de pagamento AIA G702 especificamente?
A abordagem de nomes de colunas funciona em formulários AIA G702 porque os campos que você precisa — Valor do Contrato até a Data, Total Executado & Armazenado até a Data, Retenção, Total Ganho Menos Retenção, Menos Certificados Anteriores, Pagamento Atual Devido — são rotulados com texto no formulário. A IA lê esses rótulos e extrai os valores adjacentes, da mesma forma que faria em qualquer outro documento. Para um guia dedicado sobre formulários AIA, consulte nosso guia de extração de dados AIA G702.
A ferramenta pode calcular o Líquido a Pagar a partir do Total Faturado e da Retenção?
Sim. Usando coluna calculada, você pode definir uma coluna como "Líquido a Pagar (Total Faturado − Retenção)" e a IA realiza a subtração durante a extração. Você obtém o resultado calculado diretamente na planilha — sem necessidade de fórmulas pós-extração. Isso é útil quando subcontratados mostram a retenção como porcentagem, mas não informam o valor líquido a pagar explicitamente na fatura.
Isso integra com Sage 300 / Viewpoint / QuickBooks?
A ferramenta exporta para Excel (XLSX) e CSV — ambos podem ser importados em qualquer sistema de contabilidade de construção que suporte importação de dados baseada em arquivos. Não há integração direta via API com plataformas ERP específicas. O fluxo de trabalho é: extrair para planilha → revisar → importar para seu sistema de contabilidade. Para a maioria das pequenas e médias empreiteiras, isso substitui a etapa de entrada manual sem exigir um projeto de integração ERP. Empresas maiores que usam Procore ou Viewpoint Vista podem querer uma ferramenta que alimente diretamente seu razão de custos — mas essas plataformas normalmente custam $15.000+/ano e exigem implementação dedicada. Se o gargalo é "não conseguimos tirar os dados da página", a abordagem de planilha primeiro resolve isso sem a sobrecarga.
O que acontece se um subcontratado mudar o formato da fatura?
Nada precisa mudar do seu lado. Como a extração corresponde pelo significado do campo, e não pela posição na página, um novo layout de fatura de um subcontratado existente é tratado da mesma forma que uma fatura de um subcontratado novo. Sem atualizações de modelo, sem retreinamento, sem configuração. Essa é a maior diferença operacional entre OCR baseado em modelo e extração por IA com nomes de colunas — e o motivo pelo qual a abordagem escala em dezenas de subcontratados com zero manutenção.
Se você processa faturas de subcontratados em volume — ou espera processar em breve — gerenciar a variação de formato em escala é o problema real. Veja nosso guia sobre como escalar o processamento de faturas sem aumentar a equipe para uma estrutura que aplica a abordagem de nomes de colunas a volumes crescentes.