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
- 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) - 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) - 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) - Se necessário, associar CFOPs específicos ao imposto na aba CFOP. (CFOP) —
source/TFI005/UdmTFI005.pas:471-484 (TdmTFI005.tabIMPOSTOCFOBeforePost) - 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) - 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) - 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
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| Código do Imposto | sempre, ao salvar | W-0513 | source/TFI005/UdmTFI005.pas:209-213 (TdmTFI005.tabIMPOSTOBeforePost) |
| Descrição | sempre, ao salvar | W-0514 | source/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 = 2 | W-1160 | source/TFI005/UdmTFI005.pas:221-233 (TdmTFI005.tabIMPOSTOBeforePost) |
| % Alíquota | sempre, ao salvar | W-1161 | source/TFI005/UdmTFI005.pas:235-239 (TdmTFI005.tabIMPOSTOBeforePost) |
| Tipo (Receita Bruta) | quando Tipo de Cálculo = Progressivo | W-0849 | source/TFI005/UdmTFI005.pas:241-245 (TdmTFI005.tabIMPOSTOBeforePost) |
| Complemento Contábil de Entrada | quando Histórico de Entrada estiver preenchido | W-1163 | source/TFI005/UdmTFI005.pas:254-259 (TdmTFI005.tabIMPOSTOBeforePost) |
| Complemento Contábil de Saída | quando Histórico de Saída estiver preenchido | W-1164 | source/TFI005/UdmTFI005.pas:261-266 (TdmTFI005.tabIMPOSTOBeforePost) |
| Complemento Contábil de Provisão | quando Histórico de Provisão estiver preenchido | W-1165 | source/TFI005/UdmTFI005.pas:268-273 (TdmTFI005.tabIMPOSTOBeforePost) |
| Número do Benefício Municipal | quando Tipo de Benefício ≠ "0 - Selecionar" | W-2100 | source/TFI005/UdmTFI005.pas:275-283 (TdmTFI005.tabIMPOSTOBeforePost) |
| % Alíquota Original | quando Tipo de Benefício = "4 - Alíquota Diferenciada" | W-2101 | source/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 Progressivo | W-1168 a W-1172 | source/TFI005/UdmTFI005.pas:390-422 (TdmTFI005.tabIMPOSTOPROGBeforePost) |
| CFOP | ao incluir uma linha na grade de CFOPs | W-1174 | source/TFI005/UdmTFI005.pas:471-484 (TdmTFI005.tabIMPOSTOCFOBeforePost) |
| Imposto (grade Imposto Base) | ao incluir uma linha na aba Imposto Base | W-1159 | source/TFI005/UdmTFI005.pas:874-883 (TdmTFI005.tabIMPOSTOBASEBeforePost) |
| Imposto e Alíquota (grade Impostos que compõem a faixa progressiva) | ao incluir um componente da faixa | W-1159 / W-1161 | source/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ção | W-0328 / W-0644 / W-1188 | source/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(verregras/TFI005/TFI005.R001.md)TFI005.R002(verregras/TFI005/TFI005.R002.md)TFI005.R003(verregras/TFI005/TFI005.R003.md)TFI005.R004(verregras/TFI005/TFI005.R004.md)TFI005.R005(verregras/TFI005/TFI005.R005.md)TFI005.R006(verregras/TFI005/TFI005.R006.md)TFI005.R007(verregras/TFI005/TFI005.R007.md)TFI005.R008(verregras/TFI005/TFI005.R008.md)TFI005.R009(verregras/TFI005/TFI005.R009.md)TFI005.R010(verregras/TFI005/TFI005.R010.md)TFI005.R011(verregras/TFI005/TFI005.R011.md)TFI005.R012(verregras/TFI005/TFI005.R012.md)TFI005.R013(verregras/TFI005/TFI005.R013.md)TFI005.R014(verregras/TFI005/TFI005.R014.md)TFI005.R015(verregras/TFI005/TFI005.R015.md)TFI005.R016(verregras/TFI005/TFI005.R016.md)TFI005.R017(verregras/TFI005/TFI005.R017.md)TFI005.R018(verregras/TFI005/TFI005.R018.md)TFI005.R019(verregras/TFI005/TFI005.R019.md)TFI005.R020(verregras/TFI005/TFI005.R020.md)TFI005.R021(verregras/TFI005/TFI005.R021.md)TFI005.R022(verregras/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.