Caminho: Terus Order → Pedido Venda
Portal: Fornecedor
O módulo Pedido Venda centraliza os pedidos recebidos do varejo. Por aqui você importa os pedidos, valida os itens (DE-PARA, preços, IPI, logística), corrige divergências, aprova ou reprova, unitiza cargas, integra ao ERP e acompanha notas fiscais e tracking logístico.
No menu o módulo aparece como Pedido Venda (em Terus Order). Do ponto de vista do fornecedor, são os pedidos de venda recebidos do cliente varejo.
A tela mostra "Gerencie pedidos recebidos de {varejo}".

Imagem ilustrativa — distribuidor, varejo, lojas, vendedores, valores e datas foram borrados; nº do pedido, status, itens e quantidades permanecem visíveis.
Total de Pedidos, Valor Total, Pendentes, Aprovados, Todo cortado e Divergências (este último é clicável e leva à aba de itens sem DE-PARA).
Busca por pedido/fornecedor/vendedor, Status, Vendedor, Período (padrão: últimos 90 dias), além de alternar Todo cortado e Mostrar/Ocultar Originais (pedidos-pai unitizados).
Pedido (com selos de tipo de carga, unitização e depósito), Loja, Emissão, Status, Itens, Valor, Vendedor, Plano de Pagamento e ícones de alerta (divergência, sem DE-PARA, fora de linha). Ações rápidas de Aprovar, Reprovar e Recuperar ficam na própria linha.

Imagem ilustrativa — loja, vendedor, preços/valores e datas foram borrados; produtos, EAN, quantidades e status permanecem visíveis.
No topo: número do pedido, selos de status, tipo de carga, unitização e dados da loja (CNPJ, endereço), emissão e vendedor.
Pedido com status Agrupado: os itens que o varejo mandou naquele número aparecem só para consulta; a operação está no pedido principal (link na faixa teal). No principal do lote, o bloco Origem dos itens no lote mostra o que veio de cada número, separado da tabela operacional já consolidada.
Indicadores do pedido: Itens, Valor Total, Peso, Volume, Divergências, Sem De-Para, Fora de Linha e itens ativos.
Blocos da tela:
Sequência, Código Varejo, Descrição/EAN, Código Fornecedor, Quantidade (com origem/faturado), Preço do Pedido, Preço de Tabela, IPI% e valor com IPI, Valor da linha e Status (DE-PARA, divergências, fora de linha, cortado, ERP).
| Status | Significado |
|---|---|
| Pendente | Aguardando análise |
| Em Análise | Em avaliação (editável) |
| Aprovado | Aprovado pelo fornecedor |
| Reprovado | Reprovado (com motivo) |
| Rejeitado | Rejeitado |
| Unitizado | Dividido por unitização |
| Recuperado | Reaberto para edição |
| Exportado | Enviado ao ERP |
| Faturado | Faturado no ERP |
| Fat. c/ dev. parcial | Faturado com devolução parcial |
| Devolvido | Devolvido |
| Em Separação | Em separação no ERP |
| Cancelado ERP | Cancelado no ERP |
| Integrado e-commerce | Aceito pela plataforma de e-commerce (não passou pelo ERP) |
Pedidos em Pendente, Em Análise e Recuperado podem ser editados. Pedido de e-commerce permanece Pendente até a plataforma aceitar — falha na fila (estoque, login, preço do site maior que o pedido) não muda o status.
A devolução é lida do Winthor (PCMOV): a linha de saída da NF passa a ter NUMNOTADEV, e as linhas CODOPER='ED' dessa nota de devolução trazem quantidade e valor. Só devolução total move o pedido para Devolvido e libera a reimportação; parcial deixa o pedido em Fat. c/ dev. parcial.
Como o número da nota no Winthor só é único dentro da filial (e é reaproveitado ao longo dos anos), o portal descarta qualquer linha ED com data anterior à saída da NF. Sem esse crivo, uma nota homônima de outra filial/outro ano entrava no lugar da devolução real, e a NF totalmente devolvida aparecia como parcial. Se aparecer uma NF com data de devolução anterior à emissão, é esse sintoma: use backend/scripts/remediar_devolucao_data_incoerente.py.
| Ação | Onde | Observação |
|---|---|---|
| Aprovar | Lista e detalhe | Mesmas regras nos dois lugares (ver paridade abaixo). Bloqueado se houver item sem DE-PARA, pedido todo cortado, sem vendedor ou divergências (conforme configuração). Pedido de e-commerce usa o parâmetro Aprovação livre (e-commerce); o clique enfileira a integração e o status só sai de Pendente quando a plataforma aceitar |
| Reprovar | Lista e detalhe | Motivo obrigatório |
| Recuperar | Lista e detalhe | Reabre pedido reprovado/rejeitado/devolvido |
| Alterar plano de pagamento | Lista e detalhe | |
| Editar quantidade/preço do item | Detalhe | Respeita limites de % e de aumento de quantidade |
| Ajustar Preços | Detalhe | Reduz para o preço de tabela |
| Mapear DE-PARA | Aba Sem De-Para / na linha | |
| Unitizar | Detalhe | Quebra a carga por m³/kg/palete |
| Integrar ERP | Detalhe | Quando a integração não é automática |
| Atualizar Status ERP | Lista e detalhe | |
| Salvar Obs. NF | Detalhe |
O 👍 da lista e o botão Aprovar do detalhe devem ter o mesmo comportamento:
forcar: false).forcar: true.Código: portal-terus → frontend/.../fornecedor/pedidos/page.tsx e pedidos/[id]/page.tsx. Regra de agente: .cursor/rules/pedido-aprovacao-paridade.mdc.
Testes (regressão): backend/tests/test_pedido_aprovacao.py (gate) e backend/tests/test_pedido_aprovacao_ui_paridade.py (lista/detalhe não enviam forcar: true na 1ª tentativa).
Disponível para quem tem a permissão de configurar. Agrupa parâmetros por par fornecedor × varejo:
OBS1 / VitSis C7OBS1) vai a tag Ped.cli A+B+…; o NUMPEDCLI/C7PEDCLI continua sendo só o principal.
7777 no JA). Sem cadastro, deixe desligada — o Winthor usa o default da instalação. Detalhe: Config. Pedidos.Enquanto não houver configuração salva, a tela exibe o aviso NÃO CONFIGURADO.
O teto do e-commerce não se configura aqui: se o site estiver mais caro que o preço original de algum item, a fila recusa o carrinho.