Pular para o conteúdo principal

TFI005 — Impostos (enriquecimento)

Menu: Cadastros > Tabelas Fiscais > Impostos

Objetivo​

Cadastro de Impostos (TFI005) usado para definir os tributos que o ERP aplica em compras, vendas e outras movimentações fiscais/financeiras. Nele o usuário configura alíquota e base de cálculo, faixas progressivas, CFOPs vinculados, contabilização (históricos e complementos) e, para alguns tipos, benefício municipal. As regras aqui cadastradas alimentam o cálculo de impostos em notas fiscais e lançamentos financeiros de outros módulos.

Fluxo principal​

  1. Abrir a tela (Cadastros > Tabelas Fiscais > Impostos), localizar um imposto existente (Procurar/F3) ou clicar em Novo (F5) para iniciar um cadastro. (Consulta / Dados do Imposto) — source/TFI005/UTFI005.pas:551-582 (TfrmTFI005.btnNovoClick)
  2. Preencher Código, Descrição, Tipo de Imposto, % Base de Cálculo, % Alíquota e demais parâmetros fiscais da aba Dados do Imposto. (Dados do Imposto) — source/TFI005/UdmTFI005.pas:172-204 (TdmTFI005.tabIMPOSTOAfterInsert)
  3. Se o Tipo de Cálculo for Progressivo, ir à aba Imposto Progressivo e cadastrar as faixas (valor inicial/final, data, alíquota) e os impostos que compõem cada faixa. (Imposto Progressivo) — source/TFI005/UdmTFI005.pas:390-422 (TdmTFI005.tabIMPOSTOPROGBeforePost)
  4. Se necessário, associar CFOPs específicos ao imposto na aba CFOP. (CFOP) — source/TFI005/UdmTFI005.pas:471-484 (TdmTFI005.tabIMPOSTOCFOBeforePost)
  5. Configurar a contabilização: históricos de entrada/saída/provisão (e complementos) e, se aplicável, históricos por movimentação. (Contabilização) — source/TFI005/UdmTFI005.pas:298-362 (TdmTFI005.tabIMPOSTOCD_HISTENTValidate)
  6. Se o imposto for ISSQN e tiver benefício municipal, selecionar o Tipo de Benefício e preencher os campos exigidos (número do benefício, % base ou % alíquota original). (Benefício Municipal) — source/TFI005/UTFI005.pas:1276-1323 (TfrmTFI005.cmbTP_BENEFMUNChange)
  7. Salvar o cadastro (Salvar/F6); o sistema grava as abas pendentes e confirma a transação. (Dados do Imposto) — source/TFI005/UTFI005.pas:496-549 (TfrmTFI005.btnSalvarClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Código do Impostosempre, ao salvarW-0513source/TFI005/UdmTFI005.pas:209-213 (TdmTFI005.tabIMPOSTOBeforePost)
Descriçãosempre, ao salvarW-0514source/TFI005/UdmTFI005.pas:215-219 (TdmTFI005.tabIMPOSTOBeforePost)
% Base de Cálculo (ou % Base do Benefício, se Tipo de Benefício = Redução da BC)sempre, ao salvar; foco muda para a aba Benefício Municipal quando Tipo de Benefício = 2W-1160source/TFI005/UdmTFI005.pas:221-233 (TdmTFI005.tabIMPOSTOBeforePost)
% Alíquotasempre, ao salvarW-1161source/TFI005/UdmTFI005.pas:235-239 (TdmTFI005.tabIMPOSTOBeforePost)
Tipo (Receita Bruta)quando Tipo de Cálculo = ProgressivoW-0849source/TFI005/UdmTFI005.pas:241-245 (TdmTFI005.tabIMPOSTOBeforePost)
Complemento Contábil de Entradaquando Histórico de Entrada estiver preenchidoW-1163source/TFI005/UdmTFI005.pas:254-259 (TdmTFI005.tabIMPOSTOBeforePost)
Complemento Contábil de Saídaquando Histórico de Saída estiver preenchidoW-1164source/TFI005/UdmTFI005.pas:261-266 (TdmTFI005.tabIMPOSTOBeforePost)
Complemento Contábil de Provisãoquando Histórico de Provisão estiver preenchidoW-1165source/TFI005/UdmTFI005.pas:268-273 (TdmTFI005.tabIMPOSTOBeforePost)
Número do Benefício Municipalquando Tipo de Benefício ≠ "0 - Selecionar"W-2100source/TFI005/UdmTFI005.pas:275-283 (TdmTFI005.tabIMPOSTOBeforePost)
% Alíquota Originalquando Tipo de Benefício = "4 - Alíquota Diferenciada"W-2101source/TFI005/UdmTFI005.pas:285-291 (TdmTFI005.tabIMPOSTOBeforePost)
Sequência, Data Inicial, Valor Inicial, Valor Final e Alíquota (grade Imposto Progressivo)ao incluir/salvar uma faixa na aba Imposto ProgressivoW-1168 a W-1172source/TFI005/UdmTFI005.pas:390-422 (TdmTFI005.tabIMPOSTOPROGBeforePost)
CFOPao incluir uma linha na grade de CFOPsW-1174source/TFI005/UdmTFI005.pas:471-484 (TdmTFI005.tabIMPOSTOCFOBeforePost)
Imposto (grade Imposto Base)ao incluir uma linha na aba Imposto BaseW-1159source/TFI005/UdmTFI005.pas:874-883 (TdmTFI005.tabIMPOSTOBASEBeforePost)
Imposto e Alíquota (grade Impostos que compõem a faixa progressiva)ao incluir um componente da faixaW-1159 / W-1161source/TFI005/UdmTFI005.pas:546-556 (TdmTFI005.tabIMPOSTOALIQUOTABeforePost)
Movimentação, Histórico e Complemento (grade Contabilização por Movimentação)ao incluir uma linha na aba ContabilizaçãoW-0328 / W-0644 / W-1188source/TFI005/UdmTFI005.pas:902-925 (TdmTFI005.tabIMPOSTOMOVHISTBeforePost)

Mensagens: causa e ação​

C-0045​

Causa: Usuário clicou em Excluir com um registro selecionado (imposto ou linha de uma das grades).

Ação: Confirmar para excluir definitivamente o registro; cancelar para manter.

Fonte: source/TFI005/UTFI005.pas:439-494 (TfrmTFI005.btnExcluirClick)

C-0048​

Causa: Usuário está fechando a tela com um cadastro em inclusão/edição ainda não salvo.

Ação: Confirmar para salvar as alterações antes de sair, ou descartar.

Fonte: source/TFI005/UTFI005.pas:328-338 (TfrmTFI005.FormClose)

C-2099​

Causa: Usuário alterou o Tipo de Imposto de um registro que já possui Benefício Municipal configurado.

Ação: Confirmar para apagar os dados de benefício municipal e assumir o novo tipo, ou cancelar para manter o tipo original.

Fonte: source/TFI005/UTFI005.pas:1021-1049 (TfrmTFI005.cmbTP_IMPOSTOChange)

E-0290​

Causa: Código de Movimentação informado na aba Contabilização não existe na tabela de Movimentações.

Ação: Verificar/cadastrar a movimentação em TCB001.

Fonte: source/TFI005/UdmTFI005.pas:641-656 (TdmTFI005.tabIMPOSTOMOVHISTCD_MOVIMENTACAOValidate)

E-0295​

Causa: Código de CFOP informado na grade CFOP não existe na tabela CFO.

Ação: Verificar/cadastrar o CFOP em TFI002.

Fonte: source/TFI005/UdmTFI005.pas:504-516 (TdmTFI005.tabIMPOSTOCFOCD_CFOValidate)

W-0213​

Causa: Código de histórico contábil (Entrada, Saída, Provisão ou por Movimentação) informado não existe na tabela HISTORICO.

Ação: Verificar/cadastrar o histórico em TCB003.

Fonte: source/TFI005/UdmTFI005.pas:303-316 (TdmTFI005.tabIMPOSTOCD_HISTENTValidate)

W-0215​

Causa: O histórico contábil informado existe mas está inativo.

Ação: Ativar o histórico em TCB003 ou escolher outro.

Fonte: source/TFI005/UdmTFI005.pas:313-314 (TdmTFI005.tabIMPOSTOCD_HISTENTValidate)

W-0343​

Causa: A Movimentação informada na aba Contabilização existe mas está inativa.

Ação: Ativar a movimentação em TCB001 ou escolher outra.

Fonte: source/TFI005/UdmTFI005.pas:649-652 (TdmTFI005.tabIMPOSTOMOVHISTCD_MOVIMENTACAOValidate)

W-0350​

Causa: O código de Moeda/Índice informado na aba Juros não existe na tabela MOEDA.

Ação: Verificar/cadastrar a moeda em TFC006.

Fonte: source/TFI005/UdmTFI005.pas:524-544 (TdmTFI005.tabIMPOSTOCD_MOEDAValidate)

W-0906​

Causa: Na faixa do Imposto Progressivo, o Valor Final informado é menor ou igual ao Valor Inicial da mesma faixa.

Ação: Informar um Valor Final maior que o Valor Inicial.

Fonte: source/TFI005/UdmTFI005.pas:448-454 (TdmTFI005.tabIMPOSTOPROGVL_FINALValidate)

W-1157​

Causa: O Tipo de Cálculo do imposto é Progressivo, mas nenhuma faixa foi cadastrada na aba Imposto Progressivo.

Ação: Cadastrar ao menos uma faixa na aba Imposto Progressivo antes de salvar.

Fonte: source/TFI005/UTFI005.pas:526-531 (TfrmTFI005.btnSalvarClick)

W-1158​

Causa: A soma das alíquotas dos impostos que compõem a faixa progressiva não é igual à alíquota informada na própria faixa.

Ação: Ajustar as alíquotas dos impostos componentes ou a alíquota da faixa para que os totais coincidam.

Fonte: source/TFI005/UTFI005.pas:767-783 (TfrmTFI005.grpImpostosExit)

W-1162​

Causa: O campo Valor Imposto x Parcelas da Nota foi definido como "1ª Parcela" para um imposto do tipo IPI marcado como Retido.

Ação: Selecionar a opção "Rateio" para impostos IPI retidos.

Fonte: source/TFI005/UdmTFI005.pas:249-252 (TdmTFI005.tabIMPOSTOBeforePost)

W-1163​

Causa: O Histórico de Entrada foi informado, mas o Complemento Contábil de Entrada está vazio.

Ação: Preencher o Complemento Contábil de Entrada.

Fonte: source/TFI005/UdmTFI005.pas:254-259 (TdmTFI005.tabIMPOSTOBeforePost)

W-1164​

Causa: O Histórico de Saída foi informado, mas o Complemento Contábil de Saída está vazio.

Ação: Preencher o Complemento Contábil de Saída.

Fonte: source/TFI005/UdmTFI005.pas:261-266 (TdmTFI005.tabIMPOSTOBeforePost)

W-1165​

Causa: O Histórico de Provisão foi informado, mas o Complemento Contábil de Provisão está vazio.

Ação: Preencher o Complemento Contábil de Provisão.

Fonte: source/TFI005/UdmTFI005.pas:268-273 (TdmTFI005.tabIMPOSTOBeforePost)

W-1166​

Causa: O histórico selecionado no campo Histórico de Entrada não tem natureza Recebimento.

Ação: Selecionar em TCB003 um histórico de natureza Recebimento.

Fonte: source/TFI005/UdmTFI005.pas:315-316 (TdmTFI005.tabIMPOSTOCD_HISTENTValidate)

W-1167​

Causa: O histórico selecionado no campo Histórico de Saída não tem natureza Pagamento.

Ação: Selecionar em TCB003 um histórico de natureza Pagamento.

Fonte: source/TFI005/UdmTFI005.pas:348-349 (TdmTFI005.tabIMPOSTOCD_HISTSAIValidate)

W-1173​

Causa: O Valor Inicial de uma nova faixa é menor ou igual ao Valor Final máximo já cadastrado para a mesma Data Inicial.

Ação: Informar um Valor Inicial maior que o valor indicado na mensagem.

Fonte: source/TFI005/UdmTFI005.pas:433-444 (TdmTFI005.tabIMPOSTOPROGVL_INICIALValidate)

W-1175​

Causa: O CFOP que está sendo associado já consta na lista de CFOPs desse imposto.

Ação: Selecionar outro CFOP ou remover a linha duplicada.

Fonte: source/TFI005/UdmTFI005.pas:494-502 (TdmTFI005.tabIMPOSTOCFOCD_CFOValidate)

W-1176​

Causa: O CFOP selecionado está cadastrado, porém inativo.

Ação: Ativar o CFOP em TFI002 ou escolher outro.

Fonte: source/TFI005/UdmTFI005.pas:515-516 (TdmTFI005.tabIMPOSTOCFOCD_CFOValidate)

W-1177​

Causa: O usuário selecionou o próprio imposto como componente de sua faixa progressiva.

Ação: Selecionar um imposto diferente do imposto principal.

Fonte: source/TFI005/UdmTFI005.pas:566-567 (TdmTFI005.tabIMPOSTOALIQUOTACD_IMPOSTOALIQUOTAValidate)

W-1178​

Causa: O código de imposto informado (como componente da alíquota ou como base de cálculo) não existe na tabela IMPOSTO.

Ação: Verificar/cadastrar o imposto em TFI005.

Fonte: source/TFI005/UdmTFI005.pas:569-576 (TdmTFI005.tabIMPOSTOALIQUOTACD_IMPOSTOALIQUOTAValidate)

W-1179​

Causa: A alíquota do imposto componente é maior que a alíquota informada na faixa progressiva.

Ação: Reduzir a alíquota do componente para não ultrapassar a alíquota da faixa.

Fonte: source/TFI005/UdmTFI005.pas:584-589 (TdmTFI005.tabIMPOSTOALIQUOTAPC_ALIQUOTAValidate)

W-1180​

Causa: Na aba Contabilização, para uma operação de Entrada foi selecionado um histórico de natureza Pagamento.

Ação: Selecionar um histórico de natureza Recebimento para operações de Entrada.

Fonte: source/TFI005/UdmTFI005.pas:617-618 (TdmTFI005.tabIMPOSTOMOVHISTCD_HISTORICOValidate)

W-1181​

Causa: Na aba Contabilização, para uma operação de Saída foi selecionado um histórico de natureza Recebimento.

Ação: Selecionar um histórico de natureza Pagamento para operações de Saída.

Fonte: source/TFI005/UdmTFI005.pas:619-620 (TdmTFI005.tabIMPOSTOMOVHISTCD_HISTORICOValidate)

W-1182​

Causa: O histórico selecionado na aba Contabilização por Movimentação não é do tipo Duplicata.

Ação: Selecionar em TCB003 um histórico do tipo Duplicata.

Fonte: source/TFI005/UdmTFI005.pas:621-622 (TdmTFI005.tabIMPOSTOMOVHISTCD_HISTORICOValidate)

W-1183​

Causa: O usuário tentou selecionar o próprio imposto na aba Imposto Base.

Ação: Selecionar um imposto diferente do imposto principal.

Fonte: source/TFI005/UdmTFI005.pas:828-831 (TdmTFI005.tabIMPOSTOBASECD_IMPOSTOBASEValidate)

W-1184​

Causa: O imposto cadastrado é do tipo Importação e o usuário tentou incluir um imposto na aba Imposto Base.

Ação: Não incluir impostos de base para impostos do tipo Importação; esse tipo não aceita composição de base.

Fonte: source/TFI005/UdmTFI005.pas:839-841 (TdmTFI005.tabIMPOSTOBASECD_IMPOSTOBASEValidate)

W-1185​

Causa: O imposto é do tipo IPI e o imposto selecionado como base não é do tipo Importação.

Ação: Selecionar apenas impostos do tipo Importação como base do IPI.

Fonte: source/TFI005/UdmTFI005.pas:843-846 (TdmTFI005.tabIMPOSTOBASECD_IMPOSTOBASEValidate)

W-1186​

Causa: O imposto é do tipo PIS/COFINS/CSLL (não Importação) e o imposto selecionado como base não é do tipo ICMS.

Ação: Selecionar apenas impostos do tipo ICMS como base nesse caso.

Fonte: source/TFI005/UdmTFI005.pas:848-852 (TdmTFI005.tabIMPOSTOBASECD_IMPOSTOBASEValidate)

W-1187​

Causa: O imposto selecionado já está cadastrado como base de cálculo desse imposto.

Ação: Selecionar outro imposto ou remover a linha duplicada.

Fonte: source/TFI005/UdmTFI005.pas:858-866 (TdmTFI005.tabIMPOSTOBASECD_IMPOSTOBASEValidate)

W-1188​

Causa: Na aba Contabilização por Movimentação, o Histórico foi informado, mas o Complemento da linha está vazio.

Ação: Preencher o Complemento da linha de contabilização por movimentação.

Fonte: source/TFI005/UdmTFI005.pas:919-924 (TdmTFI005.tabIMPOSTOMOVHISTBeforePost)

W-1189​

Causa: O imposto selecionado no campo Imposto sem Retenção está, ele próprio, marcado como Retido.

Ação: Selecionar um imposto que não seja retido.

Fonte: source/TFI005/UdmTFI005.pas:942-948 (TdmTFI005.tabIMPOSTOCD_IMPSEMRETValidate)

W-1190​

Causa: Não existe imposto ativo do mesmo tipo e sem retenção com o código informado no campo Imposto sem Retenção.

Ação: Cadastrar ou selecionar um imposto ativo, do mesmo tipo e sem retenção.

Fonte: source/TFI005/UdmTFI005.pas:951-965 (TdmTFI005.tabIMPOSTOCD_IMPSEMRETValidate)

Regras de negócio​

  • TFI005.R001 (ver regras/TFI005/TFI005.R001.md)
  • TFI005.R002 (ver regras/TFI005/TFI005.R002.md)
  • TFI005.R003 (ver regras/TFI005/TFI005.R003.md)
  • TFI005.R004 (ver regras/TFI005/TFI005.R004.md)
  • TFI005.R005 (ver regras/TFI005/TFI005.R005.md)
  • TFI005.R006 (ver regras/TFI005/TFI005.R006.md)
  • TFI005.R007 (ver regras/TFI005/TFI005.R007.md)
  • TFI005.R008 (ver regras/TFI005/TFI005.R008.md)
  • TFI005.R009 (ver regras/TFI005/TFI005.R009.md)
  • TFI005.R010 (ver regras/TFI005/TFI005.R010.md)
  • TFI005.R011 (ver regras/TFI005/TFI005.R011.md)
  • TFI005.R012 (ver regras/TFI005/TFI005.R012.md)
  • TFI005.R013 (ver regras/TFI005/TFI005.R013.md)
  • TFI005.R014 (ver regras/TFI005/TFI005.R014.md)
  • TFI005.R015 (ver regras/TFI005/TFI005.R015.md)
  • TFI005.R016 (ver regras/TFI005/TFI005.R016.md)
  • TFI005.R017 (ver regras/TFI005/TFI005.R017.md)
  • TFI005.R018 (ver regras/TFI005/TFI005.R018.md)
  • TFI005.R019 (ver regras/TFI005/TFI005.R019.md)
  • TFI005.R020 (ver regras/TFI005/TFI005.R020.md)
  • TFI005.R021 (ver regras/TFI005/TFI005.R021.md)
  • TFI005.R022 (ver regras/TFI005/TFI005.R022.md)

Perguntas frequentes​

P: Por que, ao salvar, aparece "É Obrigatório informar os Dados do Imposto Progressivo"? R: O Tipo de Cálculo do imposto está marcado como Progressivo, mas nenhuma faixa foi cadastrada na aba Imposto Progressivo. Cadastre ao menos uma faixa antes de salvar. Fonte: source/TFI005/UTFI005.pas:526-531 (TfrmTFI005.btnSalvarClick)

P: Por que aparece "A Alíquota do Imposto Progressivo é Diferente da Soma das Alíquotas dos Impostos"? R: A soma das alíquotas dos impostos cadastrados como componentes da faixa não é igual à alíquota informada na própria faixa. Ajuste os componentes ou a alíquota da faixa até que os valores coincidam. Fonte: source/TFI005/UTFI005.pas:767-783 (TfrmTFI005.grpImpostosExit)

P: Por que não consigo associar o mesmo CFOP duas vezes ao mesmo imposto? R: O sistema não permite duplicar CFOP na lista de um mesmo imposto (mensagem W-1175). Escolha outro CFOP ou remova a linha duplicada. Fonte: source/TFI005/UdmTFI005.pas:491-503 (TdmTFI005.tabIMPOSTOCFOCD_CFOValidate)

P: Por que os dados do Benefício Municipal somem ao trocar o Tipo de Imposto? R: Ao alterar o Tipo de Imposto de um registro que já tem Benefício Municipal configurado, o sistema pede confirmação (C-2099); se confirmado, os dados do benefício são apagados. Se cancelar, o Tipo de Imposto volta ao valor original. Fonte: source/TFI005/UTFI005.pas:1021-1049 (TfrmTFI005.cmbTP_IMPOSTOChange)

P: Por que a aba Benefício Municipal só aparece em alguns impostos? R: Essa aba só é exibida quando o Tipo de Imposto é ISSQN. Fonte: source/TFI005/UTFI005.pas:319-322 (iniciar), source/TFI005/UTFI005.pas:1051-1051 (TfrmTFI005.cmbTP_IMPOSTOChange)

P: Por que as abas Progressivo, CFOP, Contabilização, Juros e Imposto Base somem para IBS e CBS? R: Impostos do tipo IBS e CBS usam parametrização própria em outra tela; por isso este cadastro mostra apenas os campos básicos e oculta as demais abas para esses dois tipos. Fonte: source/TFI005/UTFI005.pas:868-918 (TfrmTFI005.cmbTP_IMPOSTOChange)

P: Por que aparece "O Imposto não pode fazer parte de sua Base de Cálculo"? R: O usuário tentou selecionar o próprio imposto como um dos impostos que compõem sua base de cálculo, o que não é permitido. Selecione um imposto diferente. Fonte: source/TFI005/UdmTFI005.pas:828-831 (TdmTFI005.tabIMPOSTOBASECD_IMPOSTOBASEValidate)

P: Por que só consigo usar impostos do tipo Importação como base do IPI? R: Regra de negócio do cadastro: quando o imposto é do tipo IPI, apenas impostos do tipo Importação podem compor sua base de cálculo. Fonte: source/TFI005/UdmTFI005.pas:840-852 (TdmTFI005.tabIMPOSTOBASECD_IMPOSTOBASEValidate)

P: Por que preciso preencher o Complemento Contábil de Entrada/Saída/Provisão? R: Sempre que o respectivo Histórico contábil (Entrada, Saída ou Provisão) é informado, o complemento correspondente passa a ser obrigatório. Fonte: source/TFI005/UdmTFI005.pas:254-273 (TdmTFI005.tabIMPOSTOBeforePost)

P: Por que a alíquota de um imposto componente não pode ser maior que a alíquota da faixa progressiva? R: O sistema valida que a alíquota de cada imposto que compõe a faixa não ultrapasse a alíquota total definida na própria faixa progressiva. Fonte: source/TFI005/UdmTFI005.pas:584-589 (TdmTFI005.tabIMPOSTOALIQUOTAPC_ALIQUOTAValidate)

P: Por que o Histórico que escolhi na Contabilização é rejeitado com "O Histórico deve ter a Natureza Recebimento/Pagamento"? R: Para lançamentos de Entrada o histórico contábil deve ter natureza Recebimento, e para Saída deve ter natureza Pagamento; selecione um histórico compatível em TCB003. Fonte: source/TFI005/UdmTFI005.pas:597-633 (TdmTFI005.tabIMPOSTOMOVHISTCD_HISTORICOValidate)

Dúvidas em aberto (o código não responde)​

  • Existe validação de sobreposição de vigência (DT_INICIAL/DT_FINAL) entre faixas diferentes do Imposto Progressivo, além da checagem de valor inicial/final na mesma data? — tabIMPOSTOPROGVL_INICIALValidate (UdmTFI005.pas:424-446) só compara o valor inicial contra o valor final máximo já cadastrado para a mesma DT_INICIAL; não achei checagem cruzando datas diferentes.
  • Onde ficam as regras/telas específicas de parametrização de IBS e CBS (Tipo de Imposto = B/Y), já que este módulo esconde a maioria dos campos para esses tipos? — UTFI005.pas:864-918 e UdmTFI005.pas:673-722 apenas ocultam campos e não indicam qual tela assume a parametrização completa.
  • Qual o efeito exato de campos como TP_INTEGRACAO, ST_BASEDESPESA, ST_DESCONTOBASE e ST_USARBASEICMS no cálculo do imposto? — Esses campos só têm valores default (UdmTFI005.pas:172-204) e mudanças de visibilidade (UTFI005.pas), mas nenhuma validação ou cálculo foi lido neste módulo que explique seu efeito de negócio.