Skip to content

PDF e impressão

Quando o vendedor gera o PDF

O botão Baixar PDF está na barra lateral direita da tela de pedido (visível em qualquer das três abas: Dados Principais, Itens, Comercial).

Atenção: o pedido precisa estar salvo antes de gerar PDF. Se você acabou de digitar e ainda não clicou em "Salvar Pedido" / "Próximo", o botão fica desabilitado.

Ao clicar:

  • O navegador baixa um arquivo pedido-<numero>.pdf
  • O download fica disponível na pasta padrão de downloads do navegador
  • Em mobile, abre direto no visualizador do sistema (com opções de compartilhar/salvar)

O que aparece no PDF

Layout fixo em A4 retrato, com:

Cabeçalho

  • Nome e CNPJ da empresa (a empresa que está emitindo o pedido — MOB_EMPRESA)
  • Número do pedido e data/hora
  • Tabela de preço usada

Seção do cliente

  • Razão social, nome fantasia, código
  • CPF/CNPJ ou RG
  • Endereço completo (logradouro, número, bairro, cidade/UF, CEP)
  • Telefones e e-mail

Condições comerciais

  • Plano de pagamento
  • Código do título (forma de pagamento)

Itens do pedido

Tabela com:

  • Sequência
  • Código do produto
  • Descrição
  • Quantidade
  • Valor unitário
  • Total do item

Resumo financeiro

  • Total bruto (soma quantidade × valor unitário de todos os itens)
  • Descontos — separa "desconto dos itens" e "desconto do pedido"
  • Acréscimo (se houver)
  • Total líquido (o valor final)

Observações

Texto livre que o vendedor digitou na aba Comercial.

Assinatura

  • Se o cliente assinou no canvas → imagem da assinatura aparece
  • Se não assinou → bloco com texto "Sem assinatura capturada"

A assinatura é baixada do storage (Supabase) na hora de gerar o PDF, então precisa de conexão para puxar (ver Sincronização e offline).

Imprimir

O botão Imprimir dedicado não está exposto na UI atual — o fluxo é:

  1. Gerar PDF
  2. Abrir o PDF no visualizador
  3. Usar Ctrl+P (ou comando equivalente) do visualizador para imprimir

Para o time técnico: existe um template HTML alternativo (pedido-print-template.tsx + pedido-print.ts) que poderia ser plugado em um botão "Imprimir" direto, sem passar por PDF. Está pronto mas não exposto na UI. Solicite ao time se quiserem ativá-lo.

Limitações conhecidas

  • Formato fixo: A4 retrato. Não há opção de paisagem ou outros tamanhos.
  • Logo: usa o logo_unico.png genérico — não é customizável por empresa hoje.
  • Histórico de alterações do pedido não aparece no PDF.
  • Status do pedido (pendente/fechado) também não aparece. Se precisar disso para o cliente, anote nas Observações.
  • Impressora térmica/Bluetooth não é suportada nativamente. O PDF pode ser enviado para impressora térmica via apps de terceiros, mas o layout não é otimizado pra papel pequeno.

Triagem rápida — suporte

SintomaCausa provávelAção
Botão "Baixar PDF" desabilitadoPedido ainda não foi salvoClicar em "Salvar Pedido" ou "Próximo" antes
PDF abre em brancoBug raro de renderização — problema no html2canvasReportar pro time técnico com print do PDF
Assinatura não aparece no PDF mesmo tendo assinadoBucket Supabase indisponível ou usuário offline na hora do PDFConferir conexão; se persistir, reabrir o pedido com conexão para revalidar storage
Logo errado / logo padrãoCustomização por empresa não implementadaEncaminhar como melhoria futura
Total no PDF difere do que vejo na telaGeralmente é diferença de arredondamento ou atualização não salvaConferir se "Salvar Pedido" foi clicado antes do PDF
Cliente diz que não recebeu o PDF (envio externo)Envio por e-mail/WhatsApp é manual via vendedorNão há envio automatizado pelo app

Para o time técnico

  • Geração: pedido-pdf.ts usa jsPDF + html2canvas para renderizar a partir de um template React (pedido-print-template.tsx).
  • A função downloadPedidoPdf({ pedidoId, ... }) recebe os dados já carregados na tela; não busca de novo no banco.
  • Tamanho médio do PDF: 100-300 KB dependendo de assinatura embutida.
  • Bundle do html2canvas é pesado (~200 KB gzip) — é code-split em chunk separado, só carrega ao clicar "Baixar PDF".

Documentação interna · Supersys