Pular para o conteúdo principal

ST_BASESUBST - Modelo de Base de Substituição Tributária

Tela de configuração: ADM010 - Parâmetros do Sistema Tabela: PARMSISTEMA.ST_BASESUBST Tipo: CHAR(1) — Domínio DOM_CHAR1 Valor padrão: N

Descrição​

Define o modelo de tratamento do valor de base de substituição tributária nas operações fiscais. Quando ativado (S), o sistema separa o valor de "Outras" para o campo VL_BASESUBST em operações cujo CFOP contenha "SUBST". Isso afeta a importação de arquivos magnéticos, a contabilização de impostos e a geração de notas fiscais.

Telas impactadas​

Tela / RotinaImpacto
ADM010 - Parâmetros do SistemaConfiguração do parâmetro
TFI005 - Cadastro de ImpostosDefault de ST_BASESUBSTITUICAO = 'N' na inserção de novo imposto
MNF013 - Nota FiscalCálculo de totais (exclui base ST quando V_ST_BASESUBST = 'S')

Campos envolvidos​

CampoTabelaDescrição
ST_BASESUBSTPARMSISTEMAParâmetro global — separa valor de base ST
ST_BASESUBSTITUICAOIMPOSTOFlag por imposto — inclui valor da base ST na base de cálculo (configurado em TFI005 — Cadastro de Impostos)
VL_BASESUBSTIMPOSTONOTACTBValor gravado como base de substituição
VL_OUTRASIMPOSTONOTACTBValor de "Outras" — pode receber a base ST quando ST_BASESUBST = 'N'

Nota: Os campos ST_BASESUBST (PARMSISTEMA) e ST_BASESUBSTITUICAO (IMPOSTO) atuam em conjunto. O primeiro controla a separação global do valor; o segundo controla se o valor da base ST compõe a base de cálculo de cada imposto individualmente.

Opções disponíveis​

N - Não separa base de substituição (padrão)​

O que fazDetalhe
Não gera valor em VL_BASESUBSTO valor permanece em "Outras" ou "Isento" conforme regra de alíquota
Sem restriçãoComportamento padrão do sistema

Simulação passo a passo​

  1. Acesse ADM010 - Parâmetros do Sistema.
  2. Verifique que ST_BASESUBST está com valor N.
  3. Importe um arquivo magnético com CFOP de substituição tributária (ex.: CFOP "1.401 SUBST TRIBUTARIA").
  4. Confira o registro gerado em IMPOSTONOTACTB — o campo VL_BASESUBST estará zerado (0,00).
  5. O valor correspondente será registrado em VL_OUTRAS ou VL_ISENTO.

Resultado esperado: O valor da base de substituição tributária NÃO é separado — fica agrupado nos campos de Outras/Isento.

Exceção / Importante: Mesmo com ST_BASESUBST = 'N', o campo IMPOSTO.ST_BASESUBSTITUICAO (configurado por imposto na TFI005) ainda controla se o valor da base ST é adicionado à base de cálculo de cada imposto na rotina CALCULA_IMPOSTOS.

S - Separa base de substituição tributária​

O que fazDetalhe
Gera valor em VL_BASESUBSTQuando o CFOP contém "SUBST", o valor de Outras é redirecionado
Exige CFOP com "SUBST"A separação só ocorre se a descrição do CFO contiver a palavra "SUBST"
Zera alíquota na contabilizaçãoNa inclusão de impostos contábeis, PC_ALIQUOTA é zerada e o valor vai para VL_BASESUBST

Simulação passo a passo​

  1. Acesse ADM010 - Parâmetros do Sistema.
  2. Altere ST_BASESUBST para S.
  3. Salve o parâmetro.
  4. Importe um arquivo magnético com CFOP de substituição (ex.: CFOP "2.403 SUBST TRIB").
  5. Confira o registro em IMPOSTONOTACTB — o campo VL_BASESUBST receberá o valor que seria de VL_OUTRAS.
  6. Na geração de notas fiscais, os impostos com V_ST_BASESUBST = 'S' são excluídos do totalizador geral de base.

Resultado esperado: O valor da base de substituição tributária é separado e gravado no campo VL_BASESUBST, enquanto a alíquota é zerada na contabilização do imposto.

Exceção / Importante: Na rotina INCLUI_IMPOSTONOTACTB, a separação só acontece quando o tipo do imposto é I (ICMS), o CFOP contém "SUBST" e o campo ST_SUBSTITUICAO do imposto é N. Se ST_SUBSTITUICAO = 'S', o sistema já trata como substituição integral, independentemente deste parâmetro.

Regra geral de separação​

O parâmetro atua em duas frentes principais:

  1. Importação e Contabilização (IMPORTA_ARQUIVOMAGNETICO, INCLUI_IMPOSTONOTACTB): lê PARMSISTEMA.ST_BASESUBST. Quando S e o CFOP contém "SUBST", redireciona o valor para VL_BASESUBST.

  2. Cálculo de Impostos (CALCULA_IMPOSTOS): lê IMPOSTO.ST_BASESUBSTITUICAO (flag por imposto). Quando S, adiciona o valor da base ST à base de cálculo do imposto. Quando N, adiciona ao campo de Outras/Isento.

  3. Geração de Nota Fiscal (GERA_NOTAFISCAL, rotinas Delphi PersistenciaDao.pas, UdmMNF013.pas): usa V_ST_BASESUBST como filtro para excluir impostos de base ST dos totalizadores gerais.

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoEvidência
PedidoPneuDAO.GerarPedidosNotassource/JunsoftServiceFatApp/PersistenciaDao.pasFiltra V_ST_BASESUBST <> 'S' no totalizador
PedidoPneuDAO.GerarPedidosNotasSaidasource/JunsoftServiceFatApp/PersistenciaDao.pasFiltra V_ST_BASESUBST <> 'S' no totalizador
Calcula_Totaissource/MNF013/UdmMNF013.pasFiltra V_ST_BASESUBST <> 'S' no totalizador
TdmTFI005.tabIMPOSTOAfterInsertsource/TFI005/UdmTFI005.pasDefault ST_BASESUBSTITUICAO := 'N' na inserção

Procedures SQL com referência direta ao campo​

ProcedureArquivoEvidência
CALCULA_IMPOSTOSScripts/CALCULA_IMPOSTOS.sqlLê IMPOSTO.ST_BASESUBSTITUICAO para compor base de cálculo
GERA_NOTAFISCALScripts/GERA_NOTAFISCAL.sqlFiltra V_ST_BASESUBST <> 'S' no totalizador
IMPORTA_ARQUIVOMAGNETICOScripts/IMPORTA_ARQUIVOMAGNETICO.sqlLê PARMSISTEMA.ST_BASESUBST para gerar VL_BASESUBST
INCLUI_IMPOSTONOTACTBScripts/INCLUI_IMPOSTONOTACTB.sqlLê PARMSISTEMA.ST_BASESUBST para separar base ST
VALOR_IMPOSTOScripts/VALOR_IMPOSTO.sqlRecebe V_ST_BASESUBST como parâmetro de filtro

Tabela comparativa resumida​

ValorNomeBase ST separada?Efeito na contabilizaçãoEfeito no cálculo de impostos
NNão separaNão — valor fica em Outras/IsentoComportamento padrãoIMPOSTO.ST_BASESUBSTITUICAO controla composição da base
SSeparaSim — valor vai para VL_BASESUBSTAlíquota zerada, valor redirecionadoExcluído dos totalizadores gerais