Pular para o conteúdo principal

VL_FRETEISENTO - Valor de Isenção de Frete por Pedido

Tela de configuração: MFA001 - Parâmetros de Faturamento
Localização: Aba Pedidos / O.S. → seção "Frete por Pedido"
Tabela: PARMFATUR.VL_FRETEISENTO
Tipo: NUMERIC(15,2) — campo editável, valor monetário
Valor padrão: Nenhum (campo vazio)

Telas impactadas​

TelaRotinaEfeito
MNF002 (Notas Fiscais)CalculaFreteAutomaticoDefine se a nota terá frete cobrado automaticamente conforme valor mínimo de isenção
MPD002 (Pedidos de Venda)btnSalvarClickAo salvar o pedido, calcula frete automático usando o mesmo critério de isenção
TFA001 (Frente de Caixa)iniciar / ValidaCNPJCPF / VerificaEnderecosCarrega e exibe campo VL_FRETEISENTO da pessoa; libera edição via autorizador

Campos envolvidos​

CampoTabelaDescrição
VL_FRETEISENTOPARMFATURValor mínimo de isenção de frete (parâmetro global da empresa)
VL_FRETEISENTOPESSOAValor mínimo de isenção de frete (sobrescreve o parâmetro por pessoa)

Parâmetros relacionados​

ParâmetroTelaDescrição
ST_COBRANCAAUTOFRETEMFA001 — aba Pedidos / O.S.Habilita/desabilita a cobrança automática de frete (S = Sim, N = Não)
TP_VALORFRETEMFA001 — aba Pedidos / O.S.Tipo do valor do frete: P = Percentual s/ Faturamento, V = Valor Fixo
VL_FRETEMFA001 — aba Pedidos / O.S.Valor ou percentual do frete a ser cobrado

Opções disponíveis​

Este é um campo numérico (valor monetário), não possui opções de lista. O comportamento depende do valor informado:

O que fazDetalhe
Vazio/não preenchidoSe não houver valor na pessoa (PESSOA.VL_FRETEISENTO), todos os pedidos/notas terão frete cobrado automaticamente (quando ST_COBRANCAAUTOFRETE = S)
Valor preenchido (ex: R$ 100,00)Pedidos/notas cujo valor líquido (sem frete e sem IPI) for menor ou igual a esse valor terão frete cobrado; acima desse valor, o frete é isentado (zerado)
Sobrescrita por pessoaSe PESSOA.VL_FRETEISENTO estiver preenchido, esse valor individual tem precedência sobre o parâmetro global

Atenção: O campo serve como valor de isenção — ou seja, é o valor mínimo do pedido para que o cliente não pague frete. Abaixo desse valor, o frete é cobrado.

Lógica de cálculo​

1. Verifica se ST_COBRANCAAUTOFRETE = 'S'
2. Busca VL_FRETEISENTO (primeiro da PESSOA, depois do PARMFATUR)
3. Se vazio → vlIsentoFrete = -1 (sempre cobra frete)
4. Compara vlIsentoFrete com vlLiqSemFrete (total líquido sem frete e IPI)
5. Se vlIsentoFrete = -1 OU vlIsentoFrete > vlLiqSemFrete → COBRA frete
6. Se vlIsentoFrete <= vlLiqSemFrete → ISENTA frete (zera)

Simulação passo a passo — Cenário 1: Frete isento (valor alto)​

  1. Acesse MFA001 → aba Pedidos / O.S..
  2. Configure ST_COBRANCAAUTOFRETE como Sim.
  3. Informe VL_FRETEISENTO com R$ 100,00.
  4. Informe VL_FRETE com R$ 15,00 e TP_VALORFRETE como Valor Fixo.
  5. Salve os parâmetros.
  6. Abra um pedido de venda (MPD002) para um cliente qualquer.
  7. Adicione itens totalizando R$ 200,00 (líquido sem frete e IPI).
  8. Salve o pedido.

Resultado esperado: O frete será zerado (isento), pois R$ 200,00 é maior que R$ 100,00 (valor de isenção).

Simulação passo a passo — Cenário 2: Frete cobrado (valor baixo)​

  1. Mantenha a mesma configuração acima (VL_FRETEISENTO = R$ 100,00, VL_FRETE = R$ 15,00).
  2. Abra um pedido de venda (MPD002).
  3. Adicione itens totalizando R$ 80,00 (líquido sem frete e IPI).
  4. Salve o pedido.

Resultado esperado: O frete de R$ 15,00 será cobrado automaticamente, pois R$ 80,00 é menor que R$ 100,00 (valor de isenção).

Simulação passo a passo — Cenário 3: Isenção por pessoa (sobrescrita)​

  1. Na tela TFA001 (Frente de Caixa / Cadastro de Pessoas), abra o cadastro de um cliente específico.
  2. Informe no campo VL_FRETEISENTO da pessoa o valor R$ 50,00 (diferente do parâmetro global).
  3. Salve o cadastro da pessoa.
  4. Abra uma nota fiscal (MNF002) para esse cliente.
  5. Adicione itens totalizando R$ 60,00.
  6. Confirme a nota.

Resultado esperado: O frete será zerado (isento), pois R$ 60,00 é maior que R$ 50,00 (valor de isenção da pessoa, que sobrescreve o parâmetro global). O valor de R$ 100,00 do PARMFATUR será ignorado para este cliente.

Exceção / Importante:

  • O cálculo automático de frete só ocorre quando ST_COBRANCAAUTOFRETE = S (configurado em MFA001, aba Pedidos / O.S.).
  • Na tela de notas fiscais (MNF002), a cobrança automática só se aplica quando o documento vem de um pedido (iPedido = 'S').
  • Se tanto PESSOA.VL_FRETEISENTO quanto PARMFATUR.VL_FRETEISENTO estiverem vazios, o sistema assume vlIsentoFrete = -1, o que significa que o frete sempre será cobrado para todos os clientes.

Tabela Comparativa Resumida​

SituaçãoPESSOA.VL_FRETEISENTOPARMFATUR.VL_FRETEISENTOResultado
Valores preenchidosR$ 50,00R$ 100,00Usa R$ 50,00 da pessoa (precedência)
Só parâmetro globalvazioR$ 100,00Usa R$ 100,00 do parâmetro
Só pessoaR$ 50,00vazioUsa R$ 50,00 da pessoa
Ambos vaziosvaziovaziovlIsentoFrete = -1 → sempre cobra frete

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TdmMNF002.CalculaFreteAutomaticosource/MNF002/UdmMNF002.pasCalcula frete automático na nota fiscal; usa VL_FRETEISENTO para decidir se cobra ou isenta
TdmMNF002.tabNOTACD_PESSOAValidatesource/MNF002/UdmMNF002.pasAo selecionar pessoa na nota, carrega VL_FRETEISENTO da pessoa
TdmMNF002.BuscaParametros_MNF002source/MNF002/UdmMNF002.pasCarrega parâmetros de faturamento incluindo VL_FRETEISENTO
TfrmMPD002.btnSalvarClicksource/MPD002/UMPD002.pasAo salvar pedido, calcula frete automático usando VL_FRETEISENTO
TdmMPD002.tabPEDIDOCD_PESSOAValidatesource/MPD002/UdmMPD002.pasAo selecionar pessoa no pedido, carrega VL_FRETEISENTO da pessoa
TdmMPD002.BuscaParametros_MPD002source/MPD002/UdmMPD002.pasCarrega parâmetros de faturamento incluindo VL_FRETEISENTO
TfrmTFA001.iniciarsource/TFA001/UTFA001.pasOculta label VL_FRETEISENTO na inicialização da tela
ValidaCNPJCPFsource/TFA001/UdmTFA001.pasCarrega VL_FRETEISENTO da pessoa durante validação de CPF/CNPJ
TdmTFA001.bloqueiaCamposAutorizadorsource/TFA001/UdmTFA001.pasLibera campo VL_FRETEISENTO para edição quando usuário tem autorização
TdmTFA001.VerificaEnderecossource/TFA001/UdmTFA001.pasCarrega VL_FRETEISENTO da pessoa ao verificar endereços

Scripts SQL​

Não foi encontrada referência direta ao campo VL_FRETEISENTO em scripts SQL (Scripts/). As procedures listadas na seção de candidatas por uso da tabela acessam PARMFATUR mas não referenciam este campo especificamente.