ST_CUPOMFISCAL - Série para Cupom Fiscal (ECF)
Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série Tabela:
PARMNOTA.ST_CUPOMFISCAL(CHAR(1) NOT NULL) Valor padrão:N(Não)
Define se a série de nota fiscal é destinada a cupom fiscal (ECF). Quando marcado, o sistema altera o comportamento de impressão, cálculo de saldo fiscal e exibição em livros/relatórios fiscais.
Relação com outro parâmetro: Existe o mesmo flag em nível de empresa em
PARMFISCAL.ST_CUPOMFISCAL(configurado em MFI003 — Parâmetros Fiscais). O valor dePARMNOTA(por série) é o efetivamente consultado durante a emissão da nota.
Telas impactadas
| Tela | Rotina | Efeito |
|---|---|---|
| MNF001 | Emissão de NF | Quando 'S', não busca impressora comum — usa rotina de cupom |
| MNF002 | Emissão de NF (Faturamento) | Lê ao selecionar série; código ECF comentado (inativo) |
| MNF004 | Emissão de NF em lote | Repassa ao vetor de notas para impressão |
| MNF005 | Exclusão de NF | Verifica ST_CUPOMFISCAL antes de excluir |
| MNF007 | Emissão de NF (outra variação) | Quando 'S', não busca impressora comum |
| MNF008 | Emissão de NFC-e (PDV) | Quando 'S', chama Imprime_Nota tipo 'C' e exige NR_CUPOMFISCAL |
| RNF001 | Reimpressão de NF | Notas com 'S' são ignoradas (bypass do layout) |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_CUPOMFISCAL | PARMNOTA | Flag por série de nota; 'S' = cupom fiscal, 'N' = nota fiscal |
ST_CUPOMFISCAL | PARMFISCAL | Flag global da empresa (MFI003) |
ST_DATABLOQUEADA | PARMNOTA | Automaticamente setado para 'S' quando ST_CUPOMFISCAL = 'S' |
Opções disponíveis
N - Não (Nota Fiscal padrão)
| O que faz | Detalhe |
|---|---|
| Série funciona como nota fiscal comum | Impressão em impressora comum do usuário; saldo fiscal gravado normalmente |
Simulação passo a passo
- Abra a tela MFA002 e selecione a série desejada.
- No campo Cupom Fiscal, escolha Não (
N). - Salve o registro.
- Ao emitir uma nota com essa série (MNF001, MNF002, MNF007 etc.), o sistema busca a impressora comum cadastrada para o usuário.
- O saldo fiscal e os impostos são gravados normalmente pelas procedures
GRAVA_SALDOFISCALeGRAVA_SALDOIMPOSTO.
Resultado esperado: A série se comporta como nota fiscal padrão — impressão em impressora comum e apuração fiscal normal.
S - Sim (Cupom Fiscal / ECF)
| O que faz | Detalhe |
|---|---|
| Série destinada a cupom fiscal (ECF) | Altera ST_DATABLOQUEADA para 'S' automaticamente; impressão via rotina de cupom; notas ignoradas na reimpressão (RNF001) |
Simulação passo a passo
- Abra a tela MFA002 e selecione a série desejada.
- No campo Cupom Fiscal, escolha Sim (
S). - O sistema automaticamente marca Data Bloqueada como
'S'(campoST_DATABLOQUEADA). - Salve o registro.
- Ao emitir uma nota com essa série pelo PDV (MNF008), o sistema chama
Imprime_Notacom tipo'C'(cupom) e exige queNR_CUPOMFISCALesteja preenchido. - Na reimpressão (RNF001), a nota é ignorada pelo layout (bypass — não carrega o layout de reimpressão).
- No resumo de apuração de substituição tributária (
RETORNA_RESUMOAPURACAOSUBST), notas comST_CUPOMFISCAL = 'S'eNR_CUPOMFISCALpreenchido são excluídas. - Na geração do registro E510 do SPED (
VIEW_E510) e no livro fiscal (VIEW_LIVROFISCAL), o sistema trata a nota como cupom fiscal.
Resultado esperado: A série é tratada como cupom fiscal — impressão via ECF/PDV, data bloqueada, notas excluídas de reimpressão e apuração fiscal diferenciada.
Exceção / Importante: No MNF002 (emissão pelo faturamento), 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 — esse fluxo é utilizado principalmente pelo PDV (MNF008).
Exceção / Importante: Quando
ST_CUPOMFISCAL = 'N'e o tipo de documento passado aGRAVA_SALDOFISCALouGRAVA_SALDOIMPOSTOfor'C'(cupom), essas procedures retornam imediatamente sem gravar saldo. Isso significa que cupons fiscais não geram movimento no saldo fiscal quando o parâmetro da série indica nota fiscal.
Regra Geral
| Valor | Comportamento na emissão | Data Bloqueada | Reimpressão (RNF001) | Apuração fiscal |
|---|---|---|---|---|
N | Impressora comum do usuário | Não altera | Normal | Saldo gravado normalmente |
S | Rotina de cupom (ECF/PDV) | Automaticamente 'S' | Ignorada (bypass) | Excluída de resumos de ST; tratada como cupom no SPED/Livro |
Procedures impactadas
Rotinas Delphi
| Rotina | Arquivo | Efeito |
|---|---|---|
tabPARMNOTAST_CUPOMFISCALValidate | UdmMFA002.pas | Ao setar 'S', automaticamente marca ST_DATABLOQUEADA = 'S' |
tabPARMNOTAAfterInsert | UdmMFA002.pas | Default 'N' ao inserir novo registro |
Imprime_Nota | UMNF001.pas | Se <> 'S', busca impressora comum |
Lista_Serie | UMNF001.pas | Lê ST_CUPOMFISCAL ao selecionar série |
Busca_Parametros | UdmMNF001.pas | Seleciona ST_CUPOMFISCAL de PARMNOTA |
Imprime_Nota | UMNF002.pas | Se <> 'S', busca impressora comum |
Lista_Serie | UMNF002.pas | Lê ao selecionar série |
btnSalvarClick | UMNF002.pas | Validação ECF comentada (inativo) |
CalculaFreteAutomatico | UdmMNF002.pas | Usa na lógica de frete |
tabNOTACD_SERIENFValidate | UdmMNF002.pas | Lê ao validar série |
tabFocoCD_SERIEValidate | UdmMNF002.pas | Lê ao validar série do Foco |
btnSalvarClick | UMNF004.pas | Repassa ao vetor de notas |
Busca_Parametros | UdmMNF004.pas | Seleciona de PARMNOTA |
btnExcluirClick | UMNF005.pas | Verifica antes de excluir |
Imprime_Nota | UMNF007.pas | Se <> 'S', busca impressora comum |
Lista_Serie | UMNF007.pas | Lê ao selecionar série |
Busca_Parametros | UdmMNF007.pas | Seleciona de PARMNOTA |
Imprime_Nota | UMNF008.pas | Se <> 'S', busca impressora comum |
btnSalvarClick | UMNF008.pas | Se 'S', chama impressão como cupom e exige NR_CUPOMFISCAL |
tabNOTACD_SERIENFValidate | UdmMNF008.pas | Lê ao validar série |
Scripts SQL (referência direta ao campo)
| Procedure/View | Arquivo | Efeito |
|---|---|---|
GERA_NOTAFISCAL | GERA_NOTAFISCAL.sql | Seleciona ST_CUPOMFISCAL de PARMNOTA junto com outros parâmetros |
GERA_INTEGRACAO | GERA_INTEGRACAO.sql | Declara variável para integração |
GERA_INTEGRACAOFISCAL | GERA_INTEGRACAOFISCAL.sql | Declara variável para integração fiscal |
GRAVA_SALDOFISCAL | GRAVA_SALDOFISCAL.sql | Se 'N' e tipo doc 'C', retorna sem gravar saldo |
GRAVA_SALDOIMPOSTO | GRAVA_SALDOIMPOSTO.sql | Mesma lógica de GRAVA_SALDOFISCAL |
RECALCULA_SALDOFISCAL | RECALCULA_SALDOFISCAL.sql | Mesma lógica de GRAVA_SALDOFISCAL |
REPROCESSA_SALDOFISCAL | REPROCESSA_SALDOFISCAL.sql | Lê ST_CUPOMFISCAL de PARMFISCAL |
RETORNA_RESUMOAPURACAOSUBST | RETORNA_RESUMOAPURACAOSUBST.sql | Exclui cupom fiscal do resumo |
VIEW_E510 | VIEW_E510.sql | Usa na geração do registro E510 do SPED |
VIEW_LIVROFISCAL | VIEW_LIVROFISCAL.sql | Usa na exibição do livro fiscal |
Candidatas por uso da tabela (sem referência direta ao campo)
As procedures abaixo usam PARMNOTA mas não referenciam ST_CUPOMFISCAL literalmente: ATUALIZA_NOTACTB, CALCULA_IMPOSTONOTA, EXPORTACAO_SOVIS_COMPLEMENTO, FECHA_CONTRATOLEITE, FECHA_CONTRATOLEITE_V2, GERA_CHAVEACESSONFE, GERA_ESTOQUE_NOTAFISCAL, GERA_IMPOSTONOTA, GERA_IMPOSTONOTA_INDIVIDUAL, GERA_NFE, GERA_NOTAPEDIDO, GRAVA_AVISOS, GRAVA_NOTACTE, RETORNA_IMPMOV, RETORNA_IMPRESSORAUSUARIO, RETORNA_NFSEQUENCIA.