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
| Tela | Contexto |
|---|---|
| MFI003 — Parâmetros Fiscais | Onde o parâmetro é configurado |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_DEMONSTRAICMS | PARMFISCAL | Parâmetro global de demonstração de ICMS |
ST_DEMONSTRALIVRO | CFO | Sobrescreve o parâmetro por CFO (padrão 'P' = usa parâmetro) |
Interação com CFO: O campo
ST_DEMONSTRALIVROdo CFO (configurado no cadastro de CFO) determina se o sistema usa este parâmetro. QuandoST_DEMONSTRALIVRO = 'P'(padrão), o valor deST_DEMONSTRAICMSé utilizado. Quando o CFO possui outro valor (S,I,TouN), esse valor individual prevalece.
Opções disponíveis
S — Sim (Normal)
| O que faz | Detalhe |
|---|---|
| Demonstra ICMS próprio e substituição tributária | Todos os valores de base, imposto, base ST e valor ST são exibidos normalmente |
Simulação passo a passo
- Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
- No campo Impostos, selecione Sim (Normal).
- Salve os parâmetros.
- Gere o livro fiscal ou arquivo magnético para o período desejado.
- 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 faz | Detalhe |
|---|---|
| Demonstra apenas ICMS próprio; zera valores de substituição tributária | VL_BASESUBST e VL_SUBSTRIB são tratados como zero |
Simulação passo a passo
- Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
- No campo Impostos, selecione Somente ICMS.
- Salve os parâmetros.
- Gere o livro fiscal ou arquivo magnético.
- 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 faz | Detalhe |
|---|---|
| Demonstra apenas substituição tributária; zera valores de ICMS próprio | VL_BASE, VL_IMPOSTO e PC_IMPOSTO são tratados como zero |
Simulação passo a passo
- Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
- No campo Impostos, selecione Somente Substituição.
- Salve os parâmetros.
- Gere o livro fiscal ou arquivo magnético.
- 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 faz | Detalhe |
|---|---|
| Não demonstra nenhum valor de ICMS | Tanto ICMS próprio quanto ST são zerados |
Simulação passo a passo
- Acesse MFI003 — Parâmetros Fiscais, aba Impostos.
- No campo Impostos, selecione Não.
- Salve os parâmetros.
- Gere o livro fiscal ou arquivo magnético.
- 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_DEMONSTRALIVROdiferente de'P', o valor individual do CFO prevalece sobre este parâmetro. Por exemplo, mesmo comST_DEMONSTRAICMS = 'N', um CFO comST_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:
- Para cada nota/item, consulta o CFO associado.
- Executa a regra:
- Se
CFO.ST_DEMONSTRALIVRO = 'P'→ usaPARMFISCAL.ST_DEMONSTRAICMS. - Se
CFO.ST_DEMONSTRALIVRO <> 'P'→ usa o valor do próprio CFO.
- Se
O valor resolvido é então interpretado conforme a tabela abaixo:
| Valor resolvido | ICMS próprio | Substituição Tributária |
|---|---|---|
S | ✓ Exibe | ✓ Exibe |
I | ✓ Exibe | ✗ Zerado |
T | ✗ Zerado | ✓ Exibe |
N | ✗ Zerado | ✗ Zerado |
Procedures impactadas
Rotinas Delphi
| Rotina | Arquivo | Evidência |
|---|---|---|
TdmMFI003.tabPARMFISCALAfterInsert | source/MFI003/UdmMFI003.pas | Atribui valor padrão 'S' ao campo |
Referências SQL diretas ao campo
| Procedure/View | Arquivo | Evidência |
|---|---|---|
GERA_ARQUIVOMAGNETICO | Scripts/GERA_ARQUIVOMAGNETICO.sql | Lê ST_DEMONSTRAICMS de PARMFISCAL e usa como fallback quando CFO.ST_DEMONSTRALIVRO = 'P' |
RETORNA_RESUMOAPURACAOSUBST | Scripts/RETORNA_RESUMOAPURACAOSUBST.sql | Usa P.ST_DEMONSTRAICMS para decidir se VL_SUBSTRIB entra no resumo de apuração |
VIEW_E510 | Scripts/VIEW_E510.sql | Resolve ST_DEMONSTRALIVRO combinando CFO e ST_DEMONSTRAICMS |
VIEW_LIVROFISCAL | Scripts/VIEW_LIVROFISCAL.sql | Resolve 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.