Pedido de compra em PDF
Ferramenta para extrair dados de pedido de compra: o PDF ou a foto do pedido que o cliente mandou vira campos estruturados — número do pedido, itens, quantidades, preços, prazo e condições de entrega. Para fornecedores e indústrias que recebem pedidos em dezenas de formatos diferentes e precisam lançar tudo no sistema. Em beta.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Cada cliente manda o pedido de um jeito
Quem vende para outras empresas conhece a cena: a rede grande manda pedido gerado pelo ERP dela, o cliente médio manda uma planilha exportada em PDF, o pequeno manda foto de um formulário preenchido. Nenhum formato conversa com o seu sistema, e alguém do comercial passa o dia redigitando itens e quantidades — com o risco clássico de trocar 120 por 210 e só descobrir na expedição. A leitura visual elimina essa etapa: qualquer que seja o leiaute do pedido, os dados saem estruturados do mesmo jeito.
O que vira campo estruturado
Número do pedido, dados do comprador (razão social, CNPJ quando impresso), data de emissão, relação de itens com código, descrição, quantidade e preço unitário, totais, condição de pagamento e prazo ou endereço de entrega — o que o documento mostrar, a extração devolve organizado. A saída em formato estruturado entra direto no fluxo de quem processa pedidos: confirmar disponibilidade, gerar a ordem de separação, emitir a nota. Aceita PDF e imagem até 25 MB, com processamento de até 10 páginas por chamada para os pedidos quilométricos.
Ligando a extração ao seu ERP
A resposta estruturada foi pensada para integração: seu sistema chama a API quando o pedido chega, recebe os campos e cria o registro automaticamente, deixando para o humano só a aprovação. Uma prática que recomendamos no início: rode em paralelo por algumas semanas — extração automática de um lado, lançamento manual do outro — e compare. É a forma mais rápida de calibrar confiança no fluxo antes de desligar a digitação de vez, e de identificar os clientes cujos pedidos merecem uma regra de conferência extra.
Status beta e preço publicado
Esta capacidade está em beta: funciona e já processa pedidos reais, mas leiautes muito fora do comum ainda passam por calibragem contínua, e o retorno de quem usa acelera esse ajuste. O preço não tem letra miúda: US$ 0,010 por chamada mais US$ 0,0575 por página, em dólares americanos, pagos somente quando você processa. Um fornecedor que recebe 150 pedidos de duas páginas por mês gasta em torno de US$ 18,75 — contra horas de redigitação que hoje custam bem mais caro em gente e em erro.
Casos de uso
Pedidos por e-mail na prestadora de serviços
A TecnoSul Soluções Digitais ME recebe pedidos de compra em PDF por e-mail, cada cliente com seu modelo. O anexo passa pela extração e entra no sistema de faturamento com itens e valores prontos para conferência.
Indústria fornecendo para grandes redes
Uma fábrica em Caxias do Sul atende redes varejistas que emitem pedidos em leiautes próprios. A extração unifica tudo em um formato único, e a equipe comercial parou de manter uma planilha de tradução por cliente.
Conferência pedido × nota antes do faturamento
Uma distribuidora extrai os itens do pedido de compra do cliente e compara automaticamente com a nota que vai emitir, pegando divergência de quantidade e preço antes de a mercadoria sair — não depois da devolução.
Perguntas frequentes
O pedido veio em inglês ou espanhol. A leitura entende?
Entende: a extração lê o texto no idioma em que o documento estiver e devolve os campos da mesma forma. Para fornecedores que exportam, isso significa um único fluxo para pedidos nacionais e internacionais.
O que exatamente significa esta capacidade estar em beta?
Que a taxa de acerto em leiautes incomuns ainda está sendo refinada. O uso normal já é confiável, mas recomendamos manter conferência humana nos primeiros lotes e reportar casos estranhos — cada pedido esquisito reportado melhora o motor para todo mundo.
Dá para o pedido cair direto do e-mail na extração?
O encaminhamento automático de e-mail não faz parte desta capacidade: o seu sistema precisa enviar o anexo pela API. A boa notícia é que isso são poucas linhas de integração — e se você não tem equipe técnica, fale com a gente por e-mail ou WhatsApp que orientamos o caminho.
Itens com código do cliente diferente do meu código são tratados?
A extração devolve o código e a descrição exatamente como estão no pedido; o mapeamento entre o código do cliente e o seu catálogo (o famoso de-para) acontece no seu sistema, com os dados já limpos e estruturados para isso.
Quanto vou pagar num mês de movimento fraco?
Quase nada — a cobrança é 100% por uso: US$ 0,010 por chamada mais US$ 0,0575 por página processada, em dólares americanos. Sem mínimo mensal, sem assinatura, sem cadastro. Dez pedidos no mês custam menos de US$ 1,30.
Pedidos revelam preços e volumes do meu negócio. Que garantia tenho?
Os documentos são processados exclusivamente para gerar a extração que você recebe e não alimentam nenhum outro uso. As informações comerciais continuam suas; o serviço atua como operador do tratamento por sua instrução, em conformidade com a LGPD.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/ocr/purchase-order \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/purchase-order", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/purchase-order",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/purchase-order", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/purchase-order", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"input": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.purchase_order",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
max_pages | 10 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
413 | input_too_large | A entrada passou do tamanho máximo desta tarefa. Confira os limites publicados. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |