Pular para o conteúdo principal

CD_MOVIMENTACAO - Movimentação para Crédito do Imobilizado

Tela de configuração: MFI003 — Parâmetros Fiscais Localização: Aba Parâmetros Fiscais → sub-aba Crédito Imobilizado → grupo Movimentações Tabela: PARMFISCALMOVIMPOSTO.CD_MOVIMENTACAO Valor padrão: Sem padrão (campo de preenchimento obrigatório)

Resumo​

Define quais movimentações fiscais (códigos de MOVIMENTACAO) participam do cálculo de crédito do imobilizado (CIAP). Cada registro na tabela PARMFISCALMOVIMPOSTO vincula uma movimentação à empresa, e a procedure RETORNA_MOVCREDITOIMOB utiliza essa lista para determinar as movimentações elegíveis ao crédito.

Telas impactadas​

TelaContexto
MFI003 — Parâmetros FiscaisAba Parâmetros Fiscais → sub-aba Crédito Imobilizado → grid Movimentações
CNF001 — Nota FiscalCálculo de impostos utiliza CD_MOVIMENTACAO via CALCULA_IMPOSTOS

Campos envolvidos​

CampoTabelaDescrição
CD_MOVIMENTACAOPARMFISCALMOVIMPOSTOCódigo da movimentação fiscal (PK, FK → MOVIMENTACAO)
CD_EMPRESAPARMFISCALMOVIMPOSTOEmpresa vinculada (PK)
DS_MOVIMENTACAOMOVIMENTACAODescrição exibida no grid (somente leitura)
TP_OPERACAOMOVIMENTACAOTipo de operação (S = Saída, E = Entrada)
ST_DEVOLUCAOMOVIMENTACAOIndicador de devolução (D = Devolução)

Opções disponíveis​

O campo aceita qualquer código de movimentação cadastrado em MOVIMENTACAO (TCB001), com validação condicional conforme o parâmetro ST_PERMITEDEDUZIRDEVOLUCAO.

Inserção de Movimentação de Saída (TP_OPERACAO = 'S')​

O que fazDetalhe
Permite qualquer movimentação de saídaIndependente de ST_PERMITEDEDUZIRDEVOLUCAO

Simulação passo a passo​

  1. Acesse a tela MFI003 — Parâmetros Fiscais.
  2. Selecione a aba Parâmetros Fiscais.
  3. Clique na sub-aba Crédito Imobilizado.
  4. No grupo Movimentações, posicione o cursor na última linha em branco do grid.
  5. Digite o código de uma movimentação de saída (ex.: 5 — "Venda de Mercadoria").
  6. Pressione <Enter> ou saia do campo para validar.
  7. O sistema carrega automaticamente a descrição da movimentação na coluna ao lado.
  8. Salve o registro.

Resultado esperado: A movimentação de saída é incluída na lista de movimentações elegíveis ao crédito do imobilizado.

Inserção de Movimentação de Entrada/Devolução (TP_OPERACAO = 'E')​

O que fazDetalhe
Permite movimentação de entrada apenas do tipo devoluçãoExige ST_PERMITEDEDUZIRDEVOLUCAO = 'S'

Simulação passo a passo​

  1. Acesse a tela MFI003 — Parâmetros Fiscais.
  2. Selecione a aba Parâmetros Fiscais.
  3. Certifique-se de que o checkbox Permite deduzir Devoluções da base de cálculo do crédito (ST_PERMITEDEDUZIRDEVOLUCAO) esteja marcado (S).
  4. Clique na sub-aba Crédito Imobilizado.
  5. No grupo Movimentações, posicione o cursor na última linha em branco do grid.
  6. Digite o código de uma movimentação de entrada devolução (ex.: 3 — "Devolução de Venda").
  7. Pressione <Enter> ou saia do campo para validar.
  8. O sistema carrega a descrição e aceita a movimentação.
  9. Salve o registro.

Resultado esperado: A movimentação de devolução é incluída, permitindo que valores de devolução sejam deduzidos da base de cálculo do crédito CIAP.

Exceção / Importante:

  • Se ST_PERMITEDEDUZIRDEVOLUCAO = 'N' (desmarcado), o sistema rejeita qualquer movimentação com TP_OPERACAO = 'E', exibindo: "A Movimentação deve ser do tipo saída. [TCB001]".
  • Se ST_PERMITEDEDUZIRDEVOLUCAO = 'S' (marcado), o sistema aceita movimentações de entrada apenas quando ST_DEVOLUCAO = 'D'. Caso contrário, exibe: "A Movimentação do Tipo Entrada, só pode ser de devolução. Verifique! [TCB001]".
  • Na gravação dos parâmetros (tabPARMFISCALBeforePost), se ST_PERMITEDEDUZIRDEVOLUCAO = 'N' e já existirem movimentações de entrada gravadas em PARMFISCALMOVIMPOSTO, o sistema bloqueia o salvamento com mensagem: "Não é possível informar movimentações do tipo 'Entrada', quando o checkbox 'Permite deduzir Devoluções da base de cálculo do crédito' estiver desmarcado. Verifique!".
  • O campo CD_MOVIMENTACAO fica somente leitura após preenchido (bloqueado no AfterScroll). Para alterar, exclua o registro e insira um novo.

Exclusão de Movimentação​

O que fazDetalhe
Remove o vínculo da movimentação com o crédito imobilizadoRegistro é excluído da tabela PARMFISCALMOVIMPOSTO

Simulação passo a passo​

  1. Acesse a tela MFI003 — Parâmetros Fiscais.
  2. Clique na sub-aba Crédito Imobilizado.
  3. Selecione a linha da movimentação que deseja remover no grid.
  4. Pressione <Delete> ou utilize o botão de exclusão.
  5. Confirme a exclusão.
  6. Salve o registro.

Resultado esperado: A movimentação é removida da lista e não será mais considerada no cálculo de crédito do imobilizado.

Regra de visibilidade​

A sub-aba Crédito Imobilizado só é exibida quando o campo TP_CALCULODEPRECIACAO (configurado em MFI003 — Parâmetros Fiscais) for diferente de I (Integral). Quando TP_CALCULODEPRECIACAO = 'I', a aba fica oculta.

Tabela Comparativa Resumida​

CondiçãoMovimentações aceitasRestrição
ST_PERMITEDEDUZIRDEVOLUCAO = 'N'Somente saída (TP_OPERACAO = 'S')Entrada é rejeitada na validação e na gravação
ST_PERMITEDEDUZIRDEVOLUCAO = 'S'Saída (S) + Entrada devolução (E + ST_DEVOLUCAO = 'D')Entrada sem devolução é rejeitada
TP_CALCULODEPRECIACAO = 'I'Nenhuma (aba oculta)Aba Crédito Imobilizado não é exibida

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TdmMFI003.tabPARMMOVIMPOSTOCD_MOVIMENTACAOValidateUdmMFI003.pas:1390Valida a movimentação e aplica regras conforme ST_PERMITEDEDUZIRDEVOLUCAO
TdmMFI003.tabPARMMOVIMPOSTOBeforePostUdmMFI003.pas:1412Exige preenchimento obrigatório e atribui empresa
TdmMFI003.tabPARMMOVIMPOSTOAfterScrollUdmMFI003.pas:1420Bloqueia edição do campo após preenchido
TdmMFI003.tabPARMFISCALBeforePostUdmMFI003.pas:548Valida se há movimentações de entrada incompatíveis com ST_PERMITEDEDUZIRDEVOLUCAO

Scripts SQL com referência direta ao campo na tabela PARMFISCALMOVIMPOSTO​

Procedure/ViewArquivoDescrição
RETORNA_MOVCREDITOIMOBScripts/RETORNA_MOVCREDITOIMOB.sqlRetorna movimentações de PARMFISCALMOVIMPOSTO para crédito imobilizado; fallback para MOVIMENTACAO quando tabela está vazia

Referências SQL a CD_MOVIMENTACAO (campo genérico em MOVIMENTACAO)​

CD_MOVIMENTACAO é amplamente utilizado em mais de 30 scripts de cálculo de impostos e rotinas fiscais. As procedures mais relevantes para este parâmetro são:

ProcedureArquivoRelação com o parâmetro
CALCULA_IMPOSTOSScripts/CALCULA_IMPOSTOS.sqlRecebe V_CD_MOVIMENTACAO como parâmetro para cálculo de impostos na nota
CALCULA_IMPOSTONOTAScripts/CALCULA_IMPOSTONOTA.sqlUtiliza I_CD_MOVIMENTACAO internamente
CALCULA_IMPOSTOPEDIDOScripts/CALCULA_IMPOSTOPEDIDO.sqlUtiliza I_CD_MOVIMENTACAO internamente
CALCULA_COMISSAOScripts/CALCULA_COMISSAO.sqlRecebe V_CD_MOVIMENTACAO para cálculo de comissão
CANCELA_NOTAFISCALScripts/CANCELA_NOTAFISCAL.sqlFaz join com MOVIMENTACAO via CD_MOVIMENTACAO