CD_OBSFISCALDIFAL - Código de Observação Fiscal DIFAL (C195)
Tela de configuração: MFI003 — Parâmetros Fiscais
Localização: Aba SPED Fiscal (EFD) → seção "Códigos de Apuração ICMS"
Tabela: PARMFISCAL.CD_OBSFISCALDIFAL (INTEGER)
FK: OBSFISCAL (CD_OBSFISCAL)
Valor padrão: retornado via lookup (retorno.getParam(0))
Descrição
Define o código de Observação Fiscal utilizado nas movimentações de DIFAL (Diferencial de Alíquota). Quando uma nota fiscal é gravada com operação sujeita a DIFAL, o sistema utiliza esse código para inserir registros nas tabelas OBSFISCALNOTA e AJUSTEFISCALITEMNOTA, vinculados ao ajuste do SPED Fiscal.
Telas impactadas
| Tela | Impacto |
|---|
| MFI003 — Parâmetros Fiscais | Configuração do parâmetro |
| Notas Fiscais (gravação) | Usado pela procedure GRAVA_MOVTOFISCALNOTA ao processar DIFAL |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|
CD_OBSFISCALDIFAL | PARMFISCAL | INTEGER | Código da observação fiscal para DIFAL |
DS_OBSFISCALDIFAL | — (lookup) | STRING | Descrição retornada da tabela OBSFISCAL |
Regras de preenchimento e dependência
| O que faz | Detalhe |
|---|
| Exigência | Só pode ser preenchido se CD_APURACAODIFC197 estiver preenchido |
| Validação | O código informado deve existir na tabela OBSFISCAL e estar ativo (ST_ATIVO = 'S') |
| FK | Referencia OBSFISCAL.CD_OBSFISCAL |
| Busca | Tecla <F9> abre lookup da tabela OBSFISCAL |
| Bloqueio | Se CD_APURACAODIFC197 estiver vazio, o campo fica somente leitura (ReadOnly) |
- Acesse a tela MFI003 — Parâmetros Fiscais.
- Abra a aba SPED Fiscal (EFD).
- Preencha primeiro o campo Código de Apuração DIFAL C197 (
CD_APURACAODIFC197) com um código válido de apuração.
- O campo Cód. Obs Fiscal Difal (C195) será habilitado para edição.
- Pressione
<F9> no campo para abrir a busca de Observações Fiscais.
- Selecione o código desejado e confirme.
- Salve o parâmetro.
Resultado esperado: O código de observação fiscal fica gravado em PARMFISCAL.CD_OBSFISCALDIFAL e será utilizado automaticamente ao gravar notas com DIFAL na procedure GRAVA_MOVTOFISCALNOTA.
Exceção / Importante:
- Se o campo
CD_APURACAODIFC197 estiver vazio, o campo CD_OBSFISCALDIFAL ficará bloqueado (ReadOnly, fundo cinza). Qualquer valor previamente preenchido será limpo automaticamente.
- Se o código informado não existir na tabela
OBSFISCAL, o sistema exibe o erro: "O Código de Observação Fiscal não está cadastrado. Verifique! [TFI003]".
- Se o código existir mas estiver inativo (
ST_ATIVO <> 'S'), o sistema exibe o erro: "O Código de Observação Fiscal não está ativo. Verifique! [TFI003]".
Uso na gravação de notas (GRAVA_MOVTOFISCALNOTA)
Na procedure GRAVA_MOVTOFISCALNOTA, quando I_ST_NOTA = 'V' e existe valor de DIFAL (VL_DIFALIQUOTA):
- O sistema lê
CD_OBSFISCALDIFAL e CD_APURACAODIFC197 de PARMFISCAL.
- Se
CD_APURACAODIFC197 estiver preenchido, insere um registro em OBSFISCALNOTA com:
CD_OBSFISCAL = CD_OBSFISCALDIFAL
ST_DIFAL = 'S'
- Para cada item com DIFAL, insere em
AJUSTEFISCALITEMNOTA com:
CD_OBSFISCAL = CD_OBSFISCALDIFAL
CD_AJUSTESPED = CD_APURACAODIFC197
DS_AJUSTESPED = 'Valor ref. Difal'
VL_IMPOSTO = valor do DIFAL
ST_DIFAL = 'S'
Procedures impactadas
| Rotina | Arquivo | Descrição |
|---|
edtCD_OBSFISCALDIFALKeyDown | source/MFI003/UMFI003.pas | Lookup <F9> para busca em OBSFISCAL |
tabPARMFISCALCD_OBSFISCALDIFALValidate | source/MFI003/UdmMFI003.pas | Valida existência e status ativo do código |
habilita_ObsFiscal | source/MFI003/UdmMFI003.pas | Habilita/bloqueia o campo conforme CD_APURACAODIFC197 |
| Procedure | Arquivo | Uso |
|---|
GRAVA_MOVTOFISCALNOTA | Scripts/GRAVA_MOVTOFISCALNOTA.sql | Lê o parâmetro e usa para inserir em OBSFISCALNOTA e AJUSTEFISCALITEMNOTA nas operações de DIFAL |
Parâmetros relacionados
| Parâmetro | Descrição | Configurado em |
|---|
CD_APURACAODIFC197 | Código de apuração DIFAL para registro C197 | MFI003 — aba SPED Fiscal (EFD) |
CD_APURACAODIFE113 | Código de apuração DIFAL para registro E113 | MFI003 — aba SPED Fiscal (EFD) |