Pular para o conteúdo principal

ST_CUPOMFISCAL - Modo de Emissão (Cupom Fiscal / Nota Fiscal)

Tela de configuração: MFI003 — Parâmetros Fiscais Localização: Aba Parâmetros Fiscais → Parâmetros Tabela: PARMFISCAL.ST_CUPOMFISCAL Valor padrão: S (Redução Z / Cupom Fiscal)

Telas impactadas​

TelaRotinaImpacto
MNF001Emissão de NF-e (Modelo 1)Define se imprime em impressora fiscal ou comum
MNF002Emissão de NF-e (Faturamento)Define se busca impressora do usuário para impressão
MNF004Emissão de NF-e (Lote)Repassa o parâmetro ao vetor de notas para decisão de impressão
MNF005Cancelamento de NF-eQuando 'S', bloqueia cancelamento de cupom (ECF não implementado)
MNF007Emissão de NF-e (Devolução)Define se busca impressora do usuário para impressão
MNF008Emissão de NFC-e (PDV)Quando 'S', chama Imprime_Nota com tipo 'C' (cupom); exige NR_CUPOMFISCAL preenchido
RNF001Reimpressão de NFNotas com ST_CUPOMFISCAL = 'S' são ignoradas pelo layout de reimpressão (bypass)

Campos envolvidos​

CampoTabelaDescrição
ST_CUPOMFISCALPARMFISCALParâmetro da empresa: 'S' = Cupom Fiscal (ECF) / 'N' = Nota Fiscal
ST_CUPOMFISCALPARMNOTAMesmo flag por série de nota; default 'N' (configurado em MFA002)
NR_CUPOMFISCALNOTA / NOTACTBNúmero do cupom fiscal gerado pelo ECF

Opções disponíveis​

S - Redução Z (Cupom Fiscal / ECF)​

O que fazDetalhe
Modo de emissãoEmpresa opera com ECF (Emissor de Cupom Fiscal)
ImpressãoNão busca impressora comum do usuário; o cupom é enviado ao ECF
Saldos fiscaisQuando TP_DOCTO = 'C', permite gravar saldo fiscal e de imposto
Integração contábilFiltra notas com NR_CUPOMFISCAL IS NULL na integração; gera contabilização dos cupons via CONTABILIZA_CUPOMFISCAL
Livro fiscalCupons com NR_CUPOMFISCAL preenchido são excluídos do resumo de apuração de substituição tributária
Cancelamento (MNF005)Bloqueia cancelamento — exibe mensagem "ECF não Implementado!"

Simulação passo a passo​

  1. Acesse MFI003 → aba Parâmetros Fiscais.
  2. Selecione a opção Redução Z no campo Parâmetros.
  3. Salve os parâmetros da empresa.
  4. Na emissão de uma nota fiscal (MNF001, MNF002, MNF007, MNF008), o sistema não busca a impressora comum do usuário — o cupom é tratado pelo ECF.
  5. No PDV (MNF008), ao salvar, o sistema chama Imprime_Nota com tipo 'C' e valida se NR_CUPOMFISCAL foi preenchido. Se não, a transação sofre rollback e a nota é cancelada.
  6. Na integração contábil (GERA_INTEGRACAO), os cupons fiscais são contabilizados individualmente via procedure CONTABILIZA_CUPOMFISCAL. Notas com NR_CUPOMFISCAL preenchido são excluídas da query de notas comuns.
  7. No cancelamento (MNF005), se a nota possuir número de cupom fiscal, o sistema exibe erro e impede o cancelamento.

Resultado esperado: A empresa opera no regime de cupom fiscal (ECF), com impressão dedicada ao equipamento fiscal e regras diferenciadas de integração e saldo.

Exceção / Importante: No MNF002 o código de validação do ECF e busca do número do cupom está comentado (// if ( dmMNF002.iST_CUPOMFISCAL = 'S' )). A emissão pelo faturamento não executa a validação do ECF ativamente. A série utilizada na nota é lida de PARMNOTA.ST_CUPOMFISCAL (configurado em MFA002), que é independente deste parâmetro global.


N - Nota Fiscal​

O que fazDetalhe
Modo de emissãoEmpresa opera com nota fiscal comum (modelo 1 / NF-e / NFC-e)
ImpressãoBusca a impressora cadastrada para o usuário via Retorna_ImpressoraUsuario
Saldos fiscaisQuando TP_DOCTO = 'C', não grava saldo fiscal (SUSPEND; EXIT)
Integração contábilNão filtra por NR_CUPOMFISCAL; não chama CONTABILIZA_CUPOMFISCAL
Cancelamento (MNF005)Permite cancelamento normalmente

Simulação passo a passo​

  1. Acesse MFI003 → aba Parâmetros Fiscais.
  2. Selecione a opção Nota Fiscal no campo Parâmetros.
  3. Salve os parâmetros da empresa.
  4. Na emissão de uma nota fiscal (MNF001, MNF002, MNF007, MNF008), o sistema busca a impressora comum do usuário via Retorna_ImpressoraUsuario e carrega o layout de impressão normal.
  5. Na integração contábil, o sistema seleciona todas as notas da empresa sem filtro de cupom fiscal.
  6. No cancelamento (MNF005), o cancelamento prossegue normalmente sem restrição de ECF.

Resultado esperado: A empresa opera no regime de nota fiscal comum, com impressão em impressora comum e sem regras especiais de cupom fiscal.

Exceção / Importante: Quando ST_CUPOMFISCAL = 'N' e o tipo de documento passado a GRAVA_SALDOFISCAL ou GRAVA_SALDOIMPOSTO for 'C' (cupom), essas procedures retornam imediatamente sem gravar saldo. Isso significa que cupons fiscais avulsos (fora do ECF) não geram movimentação de saldo fiscal/imposto.

Regra Geral​

O parâmetro ST_CUPOMFISCAL define o regime de emissão da empresa:

  • 'S' (Redução Z): A empresa utiliza equipamento ECF. A impressão é direcionada ao ECF (não busca impressora comum). A integração contábil separa cupons de notas comuns. O cancelamento de cupom é bloqueado no MNF005. Saldos fiscais e de imposto são gravados normalmente para tipo de documento 'C'.

  • 'N' (Nota Fiscal): A empresa utiliza nota fiscal comum. A impressão usa a impressora do usuário. Não há separação de cupom na integração. Cupons (TP_DOCTO = 'C') não geram saldo fiscal/imposto.

O parâmetro é lido globalmente de PARMFISCAL (uma linha por empresa) e também existe por série em PARMNOTA.ST_CUPOMFISCAL (configurado em MFA002), que é o valor efetivamente consultado durante a emissão da nota.

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoComportamento
Imprime_NotaUMNF001.pasSe <> 'S', busca impressora comum do usuário
Imprime_EspelhoNotaUMNF001.pasSe <> 'S', busca impressora comum do usuário
Lista_SerieUMNF001.pasLê ST_CUPOMFISCAL de PARMNOTA ao selecionar série
Imprime_NotaUMNF002.pasSe <> 'S', busca impressora comum do usuário
btnSalvarClickUMNF002.pasValidação ECF comentada (código inativo)
edtCD_SERIEFOCOKeyDownUMNF002.pasLê ST_CUPOMFISCAL na query de série
CalculaFreteAutomaticoUdmMNF002.pasUsa iST_CUPOMFISCAL na lógica de frete
tabNOTACD_SERIENFValidateUdmMNF002.pasLê ST_CUPOMFISCAL ao validar série
tabFocoCD_SERIEValidateUdmMNF002.pasLê ST_CUPOMFISCAL ao validar série do Foco
btnSalvarClickUMNF004.pasRepassa ST_CUPOMFISCAL ao vetor de notas
Busca_ParametrosUdmMNF004.pasSeleciona ST_CUPOMFISCAL de PARMNOTA
btnExcluirClickUMNF005.pasSe 'S', bloqueia cancelamento com "ECF não Implementado!"
Imprime_NotaUMNF007.pasSe <> 'S', busca impressora comum do usuário
Lista_SerieUMNF007.pasLê ST_CUPOMFISCAL ao selecionar série
Imprime_NotaUMNF008.pasSe <> 'S', busca impressora comum do usuário
btnSalvarClickUMNF008.pasSe 'S', chama impressão como cupom e exige NR_CUPOMFISCAL
tabNOTACD_SERIENFValidateUdmMNF008.pasLê ST_CUPOMFISCAL ao validar série

Scripts SQL com referência direta ao campo​

ProcedureArquivoComportamento
GERA_INTEGRACAOGERA_INTEGRACAO.sqlSe 'S', contabiliza cupons via CONTABILIZA_CUPOMFISCAL e filtra NR_CUPOMFISCAL IS NULL nas notas comuns
GERA_INTEGRACAOFISCALGERA_INTEGRACAOFISCAL.sqlSe 'S', filtra NR_CUPOMFISCAL IS NULL na query de notas
GRAVA_SALDOFISCALGRAVA_SALDOFISCAL.sqlSe 'N' e TP_DOCTO = 'C', sai sem gravar saldo
GRAVA_SALDOIMPOSTOGRAVA_SALDOIMPOSTO.sqlSe 'N' e TP_DOCTO = 'C', sai sem gravar saldo
RECALCULA_SALDOFISCALRECALCULA_SALDOFISCAL.sqlMesma lógica de GRAVA_SALDOFISCAL
REPROCESSA_SALDOFISCALREPROCESSA_SALDOFISCAL.sqlLê ST_CUPOMFISCAL de PARMFISCAL
GERA_NOTAFISCALGERA_NOTAFISCAL.sqlSeleciona ST_CUPOMFISCAL de PARMNOTA junto com outros parâmetros
RETORNA_RESUMOAPURACAOSUBSTRETORNA_RESUMOAPURACAOSUBST.sqlExclui cupom fiscal (ST_CUPOMFISCAL = 'S' e NR_CUPOMFISCAL preenchido) do resumo
VIEW_E510VIEW_E510.sqlUsa ST_CUPOMFISCAL na geração do registro E510 do SPED
VIEW_LIVROFISCALVIEW_LIVROFISCAL.sqlUsa ST_CUPOMFISCAL na exibição do livro fiscal