Jefacil Jefacil

O PDV é a tela principal de quem vende. Desenhado pra ser usado de teclado (busca rápida, tab entre campos) — sem mouse você fecha uma venda em ~10 segundos.

Antes de começar

Você precisa de caixa aberto. Se não tem, o PDV mostra aviso “Abra o caixa antes de registrar vendas” com atalho pra tela de caixa.

Buscar e adicionar produto

  • Digite nome, SKU ou escaneie código de barras no campo de busca.
  • Enter adiciona o primeiro produto da lista ao carrinho com quantidade 1.
  • Se quiser qtd > 1, aumente no carrinho (botão + ou digite direto).
  • Se quiser quantidade grande pro atacado, digite a quantidade no campo e Enter.

Preço aplicado

O sistema escolhe automaticamente o menor preço válido entre:

  1. Preço varejo (cadastro da loja).
  2. Promoção ativa (se houver).
  3. Faixa de atacado (10+, 50+, 100+ — conforme cadastro e o modo de atacado da loja).
  4. Tabela de preço do cliente (se o cliente tiver uma).

Exceção: quando a tabela do cliente tem um preço específico pro produto, esse valor é estrito (vence tudo, mesmo promo mais barata). É o preço de contrato negociado.

Atacado manual (botão por linha)

Se a loja está com modo de atacado = Manual (em Configurações → Lojas), cada linha do carrinho ganha um botão Atacado. Clicar aplica a menor faixa cadastrada do produto. Bom pra negociação balcão: cliente pediu desconto, vendedora bate o botão e o preço cai.

  • Funciona só com produtos que têm faixas de preço cadastradas. Sem faixa, o botão fica desabilitado com tooltip explicando.
  • Os outros modos (Por produto, Por carrinho) seguem disparando automaticamente — o botão Manual só aparece no modo MANUAL.

Detalhes em Tabelas de preço e atacado B2B.

Cliente

  • Sem cliente → venda anônima (consumidor final).
  • Com cliente → pode ser vinculado antes ou depois do pagamento. Serve pra:
    • Emitir NFC-e com destinatário.
    • Usar a tabela de preço negociada dele.
    • Registrar fiado (vira conta a receber no nome do cliente).
    • Aparecer no histórico de compras e curva ABC.

Formas de pagamento

Na tela de pagamento:

  • Dinheiro — mostra troco se pagou mais que o total.
  • Cartão crédito / débito — só registra (não integra com maquininha ainda).
  • PIX — registra como recebido (integração com Asaas prevista).
  • Fiado — gera uma conta a receber. Exige cliente identificado.

Você pode dividir em N métodos clicando em ”+ Dividir pagamento”. Ex.: R$ 150 em dinheiro + R$ 200 em cartão.

Após a venda

O dialog pós-venda mostra a venda criada e permite:

  • Emitir NFC-e (requer certificado A1 configurado e loja registrada).
  • Emitir NF-e modelo 55 (requer cliente PJ com CNPJ + IE + endereço completo).
  • Cancelar (devolve estoque, reverte receivables, zera comissão).

Modo focus (tela cheia)

O botão Maximizar no header do PDV esconde a sidebar e a topbar — o operador trabalha em tela cheia, sem distração. Ideal pra terminal dedicado de venda. Botão Minimizar volta o layout normal. Estado dura só a sessão (não persiste entre logins).

Mobile

Adicionar item ao carrinho não muda mais pra tab “Carrinho” automaticamente — você segue marcando produtos seguidos antes de revisar. Para revisar, toque no badge “Carrinho” no rodapé.

Excluir venda (somente dono)

Apenas o dono da empresa (TenantRole OWNER) vê um botão Excluir definitivamente dentro do dialog de detalhes da venda. Pensado pra limpar dados de teste:

  • Se a venda ainda está paga, devolve o estoque automaticamente antes de apagar.
  • Itens, pagamentos e comissão somem dos relatórios.
  • Documentos fiscais ficam preservados no histórico (sem vínculo com a venda).

Use só pra remover lixo de período de testes. Pra cancelar uma venda real, prefira o Cancelar venda — preserva o histórico contábil.

Modo offline

Se a internet cair durante a venda, o PDV salva na fila local (IndexedDB) e mostra “Sem conexão — venda salva localmente”. Assim que reconectar, a fila sincroniza automaticamente.

Limite: enquanto offline, você não consegue emitir NFC-e (exige SEFAZ online). A venda fica registrada; a nota sai depois de reconectar.