Pular para o conteúdo principal

ST_DEMONSTRAICMS - Demonstração de ICMS nos Livros Fiscais

Tela de configuração: MFI003 — Parâmetros Fiscais Localização: aba Impostos → campo Impostos Tabela: PARMFISCAL.ST_DEMONSTRAICMS (CHAR(1), NOT NULL) Valor padrão: S (Sim — Normal)

Resumo​

Controla quais valores de ICMS (próprio e/ou substituição tributária) são demonstrados nos livros fiscais e arquivos magnéticos gerados pelo sistema. O parâmetro funciona como valor fallback: cada CFO (Código Fiscal de Operação) possui um campo ST_DEMONSTRALIVRO na tabela CFO (padrão 'P'). Quando o CFO está com 'P', o sistema usa este parâmetro; caso contrário, usa o valor individual do CFO.

Telas impactadas​

TelaContexto
MFI003 — Parâmetros FiscaisOnde o parâmetro é configurado

Campos envolvidos​

CampoTabelaDescrição
ST_DEMONSTRAICMSPARMFISCALParâmetro global de demonstração de ICMS
ST_DEMONSTRALIVROCFOSobrescreve o parâmetro por CFO (padrão 'P' = usa parâmetro)

Interação com CFO: O campo ST_DEMONSTRALIVRO do CFO (configurado no cadastro de CFO) determina se o sistema usa este parâmetro. Quando ST_DEMONSTRALIVRO = 'P' (padrão), o valor de ST_DEMONSTRAICMS é utilizado. Quando o CFO possui outro valor (S, I, T ou N), esse valor individual prevalece.

Opções disponíveis​

S — Sim (Normal)​

O que fazDetalhe
Demonstra ICMS próprio e substituição tributáriaTodos os valores de base, imposto, base ST e valor ST são exibidos normalmente

Simulação passo a passo​

  1. Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
  2. No campo Impostos, selecione Sim (Normal).
  3. Salve os parâmetros.
  4. Gere o livro fiscal ou arquivo magnético para o período desejado.
  5. Verifique que tanto os valores de ICMS próprio (base e imposto) quanto os de substituição tributária (base ST e valor ST) constam nos registros.

Resultado esperado: Todos os valores de ICMS e ST são demonstrados integralmente nos livros fiscais e arquivos magnéticos.


I — Somente ICMS​

O que fazDetalhe
Demonstra apenas ICMS próprio; zera valores de substituição tributáriaVL_BASESUBST e VL_SUBSTRIB são tratados como zero

Simulação passo a passo​

  1. Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
  2. No campo Impostos, selecione Somente ICMS.
  3. Salve os parâmetros.
  4. Gere o livro fiscal ou arquivo magnético.
  5. Confira que os valores de base e imposto ICMS são exibidos, mas base ST e valor ST não aparecem (zerados).

Resultado esperado: Apenas ICMS próprio é demonstrado. Valores de substituição tributária são suprimidos dos livros e arquivos.


T — Somente Substituição​

O que fazDetalhe
Demonstra apenas substituição tributária; zera valores de ICMS próprioVL_BASE, VL_IMPOSTO e PC_IMPOSTO são tratados como zero

Simulação passo a passo​

  1. Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
  2. No campo Impostos, selecione Somente Substituição.
  3. Salve os parâmetros.
  4. Gere o livro fiscal ou arquivo magnético.
  5. Confira que apenas base ST e valor ST são exibidos; ICMS próprio não aparece (zerado).

Resultado esperado: Apenas valores de substituição tributária são demonstrados. ICMS próprio é suprimido dos livros e arquivos.


N — Não​

O que fazDetalhe
Não demonstra nenhum valor de ICMSTanto ICMS próprio quanto ST são zerados

Simulação passo a passo​

  1. Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
  2. No campo Impostos, selecione Não.
  3. Salve os parâmetros.
  4. Gere o livro fiscal ou arquivo magnético.
  5. Confira que nenhum valor de ICMS (próprio ou ST) é demonstrado.

Resultado esperado: Nenhum valor de ICMS aparece nos livros fiscais e arquivos magnéticos gerados.

Exceção / Importante: A regra acima pode ser sobrescrita CFO a CFO. Se um CFO específico possuir ST_DEMONSTRALIVRO diferente de 'P', o valor individual do CFO prevalece sobre este parâmetro. Por exemplo, mesmo com ST_DEMONSTRAICMS = 'N', um CFO com ST_DEMONSTRALIVRO = 'S' continuará demonstrando todos os valores.

Regra de Resolução (Parâmetro vs CFO)​

O sistema resolve a demonstração de ICMS em duas etapas:

  1. Para cada nota/item, consulta o CFO associado.
  2. Executa a regra:
    • Se CFO.ST_DEMONSTRALIVRO = 'P' → usa PARMFISCAL.ST_DEMONSTRAICMS.
    • Se CFO.ST_DEMONSTRALIVRO <> 'P' → usa o valor do próprio CFO.

O valor resolvido é então interpretado conforme a tabela abaixo:

Valor resolvidoICMS próprioSubstituição Tributária
S✓ Exibe✓ Exibe
I✓ Exibe✗ Zerado
T✗ Zerado✓ Exibe
N✗ Zerado✗ Zerado

Procedures impactadas​

Rotinas Delphi​

RotinaArquivoEvidência
TdmMFI003.tabPARMFISCALAfterInsertsource/MFI003/UdmMFI003.pasAtribui valor padrão 'S' ao campo

Referências SQL diretas ao campo​

Procedure/ViewArquivoEvidência
GERA_ARQUIVOMAGNETICOScripts/GERA_ARQUIVOMAGNETICO.sqlLê ST_DEMONSTRAICMS de PARMFISCAL e usa como fallback quando CFO.ST_DEMONSTRALIVRO = 'P'
RETORNA_RESUMOAPURACAOSUBSTScripts/RETORNA_RESUMOAPURACAOSUBST.sqlUsa P.ST_DEMONSTRAICMS para decidir se VL_SUBSTRIB entra no resumo de apuração
VIEW_E510Scripts/VIEW_E510.sqlResolve ST_DEMONSTRALIVRO combinando CFO e ST_DEMONSTRAICMS
VIEW_LIVROFISCALScripts/VIEW_LIVROFISCAL.sqlResolve ST_DEMONSTRALIVRO combinando CFO e ST_DEMONSTRAICMS para o livro fiscal

Candidatas por uso da tabela​

As procedures abaixo utilizam PARMFISCAL mas não referenciam ST_DEMONSTRAICMS diretamente em seus scripts:

ATUALIZA_PESSOA, CALCULA_CENTRORESULT, CONTABILIZA_IMPOSTONOTACTB, GERA_ARQUIODIMOF, GERA_DARF, GERA_GIA, GERA_INTEGRACAO, GERA_INTEGRACAOFISCAL, GERA_INTEGRACAOIMPOSTO, GERA_MOVTOCONTABIL, GERA_SPEDCONTABIL_0000, GERA_SPEDECF, GERA_SPEDPISCOFINS, GRAVA_CREDITOMENSALGERALV2, GRAVA_CREDITOMENSALV2, GRAVA_DEPRECIACAOGERALV2, GRAVA_DEPRECIACAOV2, GRAVA_MOVTOFISCALCTE, GRAVA_MOVTOFISCALNOTA, GRAVA_SALDOFISCAL.