Cadastro de Tabela de Preço
Módulo: Comercial Caminho na aplicação: Menu > Comercial > Tabelas de Preço > "Nova Tabela" ou ícone Editar na lista Última atualização: 20/04/2026
Para que serve
Cria e edita tabelas de preço. Cada tabela contém parâmetros comerciais (margem, comissão, método de formação) e uma lista de itens com preço base, preço mínimo, desconto máximo e comissão por produto. Tabelas podem herdar de outra tabela via "Tabela Base" e aplicar um ajuste global percentual.
Quem pode usar
Usuários com acesso ao módulo Comercial.
Como usar (passo a passo)
- Para criar, clique em "Nova Tabela" na Lista de Tabelas de Preço.
- Preencha os campos obrigatórios: Descrição, Tipo e Vigência Início.
- Opcionalmente vincule a uma Filial (necessário para recalcular preços a partir do custo).
- Clique em "Criar Tabela". O sistema redireciona para a tela de edição com o ID recém-criado.
- Na edição, a seção "Itens da Tabela" é exibida. Clique em "Adicionar Item" para incluir produtos.
- Para recalcular preços de todos os itens a partir do custo atual, clique em "Recalcular preços" (disponível somente quando a tabela está vinculada a uma filial).
- Clique em "Salvar Alterações" para gravar. A tela permanece aberta; o registro é recarregado da API.
Campos da tela
Seção: Dados da Tabela
| Campo | Obrigatório | O que preencher | Observações |
|---|---|---|---|
| ID | — | Gerado automaticamente | Exibido somente na edição; sequencial por tenant |
| Descrição | Sim | Nome da tabela | Máximo 255 caracteres |
| Tipo | Sim | Venda, Custo, Pauta ou Promoção | Define a finalidade da tabela |
| Situação | Não | Rascunho, Ativa ou Inativa | Default: Rascunho |
| Moeda | Não | BRL, USD ou EUR | Default: BRL |
| Vigência Início | Sim | Data no formato DD/MM/AAAA | Data a partir da qual a tabela entra em vigor |
| Vigência Fim | Não | Data no formato DD/MM/AAAA | Vazio = vigência indeterminada |
| Filial | Não | Filial da empresa | Quando vazio, a tabela é tenant-wide. Necessário para "Recalcular preços" |
| Tabela Base (herança) | Não | Outra tabela de preço | Preços ausentes nesta tabela herdam da tabela base |
| Ajuste Global (%) | Não | Percentual positivo ou negativo | Aplicado sobre os preços da tabela base; precisão 4 casas decimais |
| Observações | Não | Texto livre | Campo aberto |
Seção: Formação de Preço (opcional)
| Campo | Obrigatório | O que preencher | Observações |
|---|---|---|---|
| Método de formação | Não | Markup Divisor, Markup Multiplicador, Margem de Contribuição ou Preço-Alvo | Quando vazio, usa o default da simulação |
| Margem desejada | Não | Percentual (0–100) | Percentual de lucro embutido; precisão 2 casas |
| Comissão padrão | Não | Percentual (0–100) | Comissão de vendedor desta tabela; precisão 2 casas |
Seção: Itens da Tabela (somente na edição)
Exibida após a criação da tabela. Cada linha representa um produto com preço nesta tabela.
| Campo | Obrigatório | O que preencher | Observações |
|---|---|---|---|
| Produto | Sim | Produto do cadastro | Busca por SKU ou nome; não pode repetir dentro da mesma tabela |
| Unidade | Não | Unidade padrão do produto | Somente leitura (preenchida automaticamente a partir do produto). O preço da tabela é sempre expresso em unidade padrão; o preço das unidades transacionais (fardo, palete) é derivado em tempo real pela fórmula preco_venda_unidade = preco_unitario × fator_preco |
| Preço Base | Sim | Valor em R$ | Precisão 4 casas decimais |
| Desc. Máximo (%) | Não | Percentual (0–100) | Limite de desconto que o vendedor pode conceder |
| Preço Mínimo | Não | Valor em R$ | Piso de preço; calculado automaticamente pelo recálculo |
| Comissão (%) | Não | Percentual (0–100) | Substitui a comissão padrão da tabela para este produto |
| Situação | Não | Ativo ou Inativo | Default: Ativo |
Colunas da tabela de itens
| Coluna | Descrição |
|---|---|
| ID | id_interno do produto |
| Produto | Nome do produto |
| Unidade | Unidade padrão do produto (preço da tabela é referenciado nesta unidade) |
| Preço Base | Preço formatado em BRL |
| Desc. Máx. | Percentual ou "—" |
| Preço Mín. | Valor ou "—" |
| Comissão | Percentual ou "—" |
| Faixas | Quantidade de faixas de escalonamento cadastradas |
| Situação | Tag Ativo/Inativo |
| Ações | Editar (lápis) e Remover (lixeira) |
Validações e regras
- "Criar Tabela" exige Descrição, Tipo e Vigência Início.
- Itens só aparecem depois que a tabela é salva pela primeira vez.
- "Recalcular preços" fica desabilitado se a tabela não tiver filial vinculada ou não tiver itens.
- O recálculo exibe um preview com quantidade de itens recalculáveis e pulados antes de confirmar. Itens pulados são aqueles sem custo calculado ou com parâmetros inválidos.
- Confirmar o recálculo sobrescreve "Preço Base" e "Preço Mínimo" de todos os itens recalculáveis.
- Ao salvar em criação, o sistema navega para
/comercial/tabelas-preco/:id/editar(replace: true). - Ao salvar em edição, o registro é recarregado da API sem fechar a tela.
Mensagens de erro e o que fazer
| Mensagem | Causa | Como resolver |
|---|---|---|
| "Informe a descrição" | Campo Descrição vazio | Preencha o nome da tabela |
| "Selecione o tipo" | Tipo não selecionado | Escolha um dos tipos disponíveis |
| "Informe a data" | Vigência Início vazia | Informe a data de início |
| "Erro ao carregar tabela de preço" | ID inválido ou erro na API | Volte para a lista e tente novamente |
| "Erro ao salvar tabela de preço" | Erro de validação ou conflito no backend | ⚠️ CONFIRMAR mensagem exata do backend |
| "Selecione o produto" | Nenhum produto escolhido no modal de item | Selecione um produto antes de salvar o item |
| "Informe o preço" | Preço Base vazio no modal de item | Preencha o preço base |
| "Erro ao recalcular preços" | Tabela sem filial ou erro na API | Vincule a tabela a uma filial e salve antes de recalcular |
Integrações e dependências
- Serviço:
tabelasPrecoService(tabelas-preco.service) - Serviço auxiliar:
filiaisService(lista de filiais para o seletor) - Serviço auxiliar:
produtosService(lista de produtos para adicionar itens) - Parâmetros de formação de preço da filial (configurados em Parâmetros de Formação de Preço) são usados no recálculo
Dúvidas frequentes
Por que o botão "Recalcular preços" está desabilitado? A tabela precisa estar vinculada a uma filial específica e ter ao menos um item. Vincule a filial e salve a tabela antes de recalcular.
O que é "Tabela Base"? Quando um produto não tem preço nesta tabela, o sistema pode buscar o preço na tabela base com o ajuste global aplicado. Funcionalidade de herança entre tabelas.
Posso ter faixas de escalonamento por item? Sim. A coluna "Faixas" mostra a quantidade. A edição de faixas
Histórico de alterações
| Data | Alteração |
|---|---|
| 20/04/2026 | Documento inicial criado. |