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_CUPOMFISCALValor padrão:S(Redução Z / Cupom Fiscal)
Telas impactadas
| Tela | Rotina | Impacto |
|---|---|---|
| MNF001 | Emissão de NF-e (Modelo 1) | Define se imprime em impressora fiscal ou comum |
| MNF002 | Emissão de NF-e (Faturamento) | Define se busca impressora do usuário para impressão |
| MNF004 | Emissão de NF-e (Lote) | Repassa o parâmetro ao vetor de notas para decisão de impressão |
| MNF005 | Cancelamento de NF-e | Quando 'S', bloqueia cancelamento de cupom (ECF não implementado) |
| MNF007 | Emissão de NF-e (Devolução) | Define se busca impressora do usuário para impressão |
| MNF008 | Emissão de NFC-e (PDV) | Quando 'S', chama Imprime_Nota com tipo 'C' (cupom); exige NR_CUPOMFISCAL preenchido |
| RNF001 | Reimpressão de NF | Notas com ST_CUPOMFISCAL = 'S' são ignoradas pelo layout de reimpressão (bypass) |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_CUPOMFISCAL | PARMFISCAL | Parâmetro da empresa: 'S' = Cupom Fiscal (ECF) / 'N' = Nota Fiscal |
ST_CUPOMFISCAL | PARMNOTA | Mesmo flag por série de nota; default 'N' (configurado em MFA002) |
NR_CUPOMFISCAL | NOTA / NOTACTB | Número do cupom fiscal gerado pelo ECF |
Opções disponíveis
S - Redução Z (Cupom Fiscal / ECF)
| O que faz | Detalhe |
|---|---|
| Modo de emissão | Empresa opera com ECF (Emissor de Cupom Fiscal) |
| Impressão | Não busca impressora comum do usuário; o cupom é enviado ao ECF |
| Saldos fiscais | Quando TP_DOCTO = 'C', permite gravar saldo fiscal e de imposto |
| Integração contábil | Filtra notas com NR_CUPOMFISCAL IS NULL na integração; gera contabilização dos cupons via CONTABILIZA_CUPOMFISCAL |
| Livro fiscal | Cupons 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
- Acesse MFI003 → aba Parâmetros Fiscais.
- Selecione a opção Redução Z no campo Parâmetros.
- Salve os parâmetros da empresa.
- 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.
- No PDV (MNF008), ao salvar, o sistema chama
Imprime_Notacom tipo'C'e valida seNR_CUPOMFISCALfoi preenchido. Se não, a transação sofre rollback e a nota é cancelada. - Na integração contábil (
GERA_INTEGRACAO), os cupons fiscais são contabilizados individualmente via procedureCONTABILIZA_CUPOMFISCAL. Notas comNR_CUPOMFISCALpreenchido são excluídas da query de notas comuns. - 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 dePARMNOTA.ST_CUPOMFISCAL(configurado em MFA002), que é independente deste parâmetro global.
N - Nota Fiscal
| O que faz | Detalhe |
|---|---|
| Modo de emissão | Empresa opera com nota fiscal comum (modelo 1 / NF-e / NFC-e) |
| Impressão | Busca a impressora cadastrada para o usuário via Retorna_ImpressoraUsuario |
| Saldos fiscais | Quando TP_DOCTO = 'C', não grava saldo fiscal (SUSPEND; EXIT) |
| Integração contábil | Não filtra por NR_CUPOMFISCAL; não chama CONTABILIZA_CUPOMFISCAL |
| Cancelamento (MNF005) | Permite cancelamento normalmente |
Simulação passo a passo
- Acesse MFI003 → aba Parâmetros Fiscais.
- Selecione a opção Nota Fiscal no campo Parâmetros.
- Salve os parâmetros da empresa.
- Na emissão de uma nota fiscal (MNF001, MNF002, MNF007, MNF008), o sistema busca a impressora comum do usuário via
Retorna_ImpressoraUsuarioe carrega o layout de impressão normal. - Na integração contábil, o sistema seleciona todas as notas da empresa sem filtro de cupom fiscal.
- 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 aGRAVA_SALDOFISCALouGRAVA_SALDOIMPOSTOfor'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
| Rotina | Arquivo | Comportamento |
|---|---|---|
Imprime_Nota | UMNF001.pas | Se <> 'S', busca impressora comum do usuário |
Imprime_EspelhoNota | UMNF001.pas | Se <> 'S', busca impressora comum do usuário |
Lista_Serie | UMNF001.pas | Lê ST_CUPOMFISCAL de PARMNOTA ao selecionar série |
Imprime_Nota | UMNF002.pas | Se <> 'S', busca impressora comum do usuário |
btnSalvarClick | UMNF002.pas | Validação ECF comentada (código inativo) |
edtCD_SERIEFOCOKeyDown | UMNF002.pas | Lê ST_CUPOMFISCAL na query de série |
CalculaFreteAutomatico | UdmMNF002.pas | Usa iST_CUPOMFISCAL na lógica de frete |
tabNOTACD_SERIENFValidate | UdmMNF002.pas | Lê ST_CUPOMFISCAL ao validar série |
tabFocoCD_SERIEValidate | UdmMNF002.pas | Lê ST_CUPOMFISCAL ao validar série do Foco |
btnSalvarClick | UMNF004.pas | Repassa ST_CUPOMFISCAL ao vetor de notas |
Busca_Parametros | UdmMNF004.pas | Seleciona ST_CUPOMFISCAL de PARMNOTA |
btnExcluirClick | UMNF005.pas | Se 'S', bloqueia cancelamento com "ECF não Implementado!" |
Imprime_Nota | UMNF007.pas | Se <> 'S', busca impressora comum do usuário |
Lista_Serie | UMNF007.pas | Lê ST_CUPOMFISCAL ao selecionar série |
Imprime_Nota | UMNF008.pas | Se <> 'S', busca impressora comum do usuário |
btnSalvarClick | UMNF008.pas | Se 'S', chama impressão como cupom e exige NR_CUPOMFISCAL |
tabNOTACD_SERIENFValidate | UdmMNF008.pas | Lê ST_CUPOMFISCAL ao validar série |
Scripts SQL com referência direta ao campo
| Procedure | Arquivo | Comportamento |
|---|---|---|
GERA_INTEGRACAO | GERA_INTEGRACAO.sql | Se 'S', contabiliza cupons via CONTABILIZA_CUPOMFISCAL e filtra NR_CUPOMFISCAL IS NULL nas notas comuns |
GERA_INTEGRACAOFISCAL | GERA_INTEGRACAOFISCAL.sql | Se 'S', filtra NR_CUPOMFISCAL IS NULL na query de notas |
GRAVA_SALDOFISCAL | GRAVA_SALDOFISCAL.sql | Se 'N' e TP_DOCTO = 'C', sai sem gravar saldo |
GRAVA_SALDOIMPOSTO | GRAVA_SALDOIMPOSTO.sql | Se 'N' e TP_DOCTO = 'C', sai sem gravar saldo |
RECALCULA_SALDOFISCAL | RECALCULA_SALDOFISCAL.sql | Mesma lógica de GRAVA_SALDOFISCAL |
REPROCESSA_SALDOFISCAL | REPROCESSA_SALDOFISCAL.sql | Lê ST_CUPOMFISCAL de PARMFISCAL |
GERA_NOTAFISCAL | GERA_NOTAFISCAL.sql | Seleciona ST_CUPOMFISCAL de PARMNOTA junto com outros parâmetros |
RETORNA_RESUMOAPURACAOSUBST | RETORNA_RESUMOAPURACAOSUBST.sql | Exclui cupom fiscal (ST_CUPOMFISCAL = 'S' e NR_CUPOMFISCAL preenchido) do resumo |
VIEW_E510 | VIEW_E510.sql | Usa ST_CUPOMFISCAL na geração do registro E510 do SPED |
VIEW_LIVROFISCAL | VIEW_LIVROFISCAL.sql | Usa ST_CUPOMFISCAL na exibição do livro fiscal |