Pular para o conteúdo principal

ST_PERMITENOTAZERADA - Permite Nota Fiscal Zerada

Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série Tabela: PARMNOTA.ST_PERMITENOTAZERADA Tipo: CHAR(1), NOT NULL Valor padrão: N (Não)

Descrição​

Controla se a geração de Nota Fiscal com valor total igual a zero é permitida para a série configurada. O bloqueio/ liberação é avaliado na procedure GERA_NOTAFISCAL no momento da geração da nota.

Telas impactadas​

TelaContexto
MFA002Tela de cadastro do parâmetro (combobox)

Campos envolvidos​

CampoTabelaTipoDescrição
ST_PERMITENOTAZERADAPARMNOTACHAR(1)'S' = permite NF zerada, 'N' = não permite
I_VL_TOTNOTAvariável localNUMERICValor total da nota fiscal em geração
V_QT_COMPLNORMAISvariável localINTEGERQuantidade de itens complementares normais da nota

Opções disponíveis​

N — Não (padrão)​

O que fazDetalhe
Bloqueia NF com valor ≤ 0Quando existem itens complementares normais na nota, a geração é interrompida se I_VL_TOTNOTA <= 0

Simulação passo a passo​

  1. Acesse MFA002 e selecione a série desejada.
  2. No campo Permite Nota Zerada, escolha Não.
  3. Salve o parâmetro (<F9> ou botão Salvar).
  4. Na emissão de NF, gere uma nota cujo valor total seja R$ 0,00 (ou negativo) e que possua ao menos um item complementar normal.
  5. O sistema exibe a mensagem: "GERA_NOTAFISCAL.: O VALOR TOTAL DA NOTA FISCAL NÃO PODE SER MENOR OU IGUAL A ZERO." e interrompe a geração.

Resultado esperado: Notas fiscais com valor total ≤ 0 e com itens complementares normais são rejeitadas; a nota não é gerada.

Exceção / Importante: O bloqueio só se aplica quando V_QT_COMPLNORMAIS >= 1 (há ao menos um item complementar normal na nota). Notas sem itens complementares normais não são afetadas por esta regra.


S — Sim​

O que fazDetalhe
Permite NF com valor = 0Apenas notas com valor total negativo são bloqueadas

Simulação passo a passo​

  1. Acesse MFA002 e selecione a série desejada.
  2. No campo Permite Nota Zerada, escolha Sim.
  3. Salve o parâmetro (<F9> ou botão Salvar).
  4. Na emissão de NF, gere uma nota cujo valor total seja R$ 0,00 — a nota será gerada normalmente.
  5. Se tentar gerar uma nota com valor total negativo (ex.: R$ -5,00), o sistema exibe a mensagem: "GERA_NOTAFISCAL.: O VALOR TOTAL DA NOTA FISCAL NÃO PODE SER MENOR QUE ZERO." e interrompe a geração.

Resultado esperado: Notas com valor total zero são aceitas; apenas notas com valor total negativo são rejeitadas.

Exceção / Importante: Mesmo com S, notas com valor negativo são sempre bloqueadas.

Tabela Comparativa Resumida​

ValorLabelNF valor = 0NF valor < 0NF valor > 0
NNão❌ Bloqueia❌ Bloqueia✅ Permite
SSim✅ Permite❌ Bloqueia✅ Permite

Nota: Com valor N, o bloqueio de NF zerada depende de existirem itens complementares normais (V_QT_COMPLNORMAIS >= 1).

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoEvidência
TdmMFA002.tabPARMNOTAAfterInsertsource/MFA002/UdmMFA002.pasAtribui valor padrão 'N' ao campo ao inserir novo registro

Referências SQL diretas ao campo​

ProcedureArquivoEvidência
GERA_NOTAFISCALScripts/GERA_NOTAFISCAL.sqlDeclara variável V_ST_PERMITENOTAZERADA, faz fetch do campo em SELECT e valida valor total da nota nas linhas 1232 e 1242

Candidatas por uso da tabela (sem referência direta ao campo)​

As procedures abaixo utilizam a tabela PARMNOTA, mas não referenciam diretamente o campo ST_PERMITENOTAZERADA:

ProcedureArquivo
CALCULA_IMPOSTONOTAScripts/CALCULA_IMPOSTONOTA.sql
GERA_CHAVEACESSONFEScripts/GERA_CHAVEACESSONFE.sql
GERA_ESTOQUE_NOTAFISCALScripts/GERA_ESTOQUE_NOTAFISCAL.sql
GERA_IMPOSTONOTAScripts/GERA_IMPOSTONOTA.sql
GERA_IMPOSTONOTA_INDIVIDUALScripts/GERA_IMPOSTONOTA_INDIVIDUAL.sql
GERA_NFEScripts/GERA_NFE.sql
GERA_NOTAPEDIDOScripts/GERA_NOTAPEDIDO.sql
GRAVA_NOTACTEScripts/GRAVA_NOTACTE.sql
RETORNA_IMPMOVScripts/RETORNA_IMPMOV.sql
RETORNA_IMPRESSORAUSUARIOScripts/RETORNA_IMPRESSORAUSUARIO.sql
RETORNA_NFSEQUENCIAScripts/RETORNA_NFSEQUENCIA.sql