No Quadro D da Declan, duas condições específicas merecem atenção especial: quando o valor do IPI integra a base de cálculo do ICMS e quando não integra.
Uma maneira eficaz de configurar essas situações é separar as naturezas de operação em extensões distintas — uma para quando o IPI integra a base de cálculo do ICMS e outra para quando não integra. Isso permite configurar regras fiscais específicas que reflitam corretamente o valor de cada operação na declaração.
No entanto, sabemos que alguns clientes não fazem essa separação, utilizando a mesma natureza de operação para ambas as situações. Esse cenário exige atenção redobrada, pois também se aplica a outras operações incluídas na declaração.
Para chegar no valor do IPI que integra ou não a BC do ICMS, deve informar a natureza que ocorreu o fato, e a regra fiscal necessária para chegar ao valor esperado.
Para identificar corretamente o valor do IPI que integra ou não a base de cálculo do ICMS, é necessário:
Informar a natureza da operação que originou o fato gerador;
Configurar a regra fiscal adequada que retorne o valor esperado.
O sistema permite configurar essas regras utilizando variáveis e funções específicas, com base nos dados disponíveis tanto no cabeçalho quanto no detalhamento dos itens da nota fiscal.
Esta condição deve ser utilizada para comparar condições e valores. Sempre será utilizada em conjunto com outra condição de valor, a qual retornará a base de cálculo correta.
Como usar:
condIF(Condição (Valor 1; valor 2;); verdadeiro ; falso)
Se a condição for verdadeira, retorna valor 1, do contrário retorna valor 2.
Condição utilizada para comparar duas condições, para através deles definir o que será utilizado como base de cálculo do evento. Nesta função sempre serão avaliadas as duas condições, e o resultado compreende as duas situações avaliadas.
Como usar:
condAND(Condição 1; Condição 2)
Retorna 1 se as duas forem verdadeiras e 0 se uma delas for falsa.
Nesta função as condições serão avaliadas separadamente, e basta uma delas ser verdadeira para retornar a informação da condição como SIM. Somente se nenhuma das condições resultar verdadeira o sistema irá gerar como 0.
Como usar:
condOR(Condição 1; Condição 2)
Retorna 1 caso uma delas seja verdadeira.
Estará sempre dentro de uma condição de IF (condIF).
Como usar:
condIF(condMAIOR (Valor 1; valor 2); verdadeiro ; falso)
Retorna 1 se as duas forem verdadeiras e 0 se uma delas for falsa.
Estará sempre dentro de uma condição de IF (condIF). Nesta condição será avaliado o resultado igual ou maior daquele definido na fórmula.
Como usar:
condIF(condMAIORIGUAL (Valor 1; valor 2); verdadeiro ; falso)
Retorna 1 se o valor 1 for maior ou igual que o valor 2.
Estará sempre dentro de uma condição de IF (condIF).
Como usar:
condIF(condMENOR (Valor 1; valor 2); verdadeiro ; falso)
Retorna 1 se o valor 1 for menor que o valor 2.
Estará sempre dentro de uma condição de IF (condIF). Nesta condição será avaliado o resultado menor ou igual daquele definido na fórmula.
Como usar:
condIF(condMENORIGUAL (Valor 1; valor 2); verdadeiro ; falso)
Retorna 1 se o valor 1 for menor ou igual que o valor 2.
Estará sempre dentro de uma condição de IF (condIF).
Como usar:
condIF(condIGUAL (Valor 1; valor 2); verdadeiro ; falso)
Retorna 1 se o valor 1 for igual ao valor 2.
condIF(condMENOR(bsICMS; vlrContICMS); vlrContabil - bsICMS - vlrSubTribut ;0)
Se a base de cálculo do ICMS for menor que o valor contábil informado no detalhamento da CFOP, o sistema calculará:
Valor contábil - BC ICMS - Substituição Tributária.
Caso contrário, retornará zero.
condIF(condIGUAL(bsICMS; vlrContICMS); 0; bsICMS - bsIPI)
Se a base de cálculo do ICMS for igual ao valor contábil da operação, o sistema retorna zero.
Caso contrário, calcula: BC ICMS - BC IPI.
Importante: Essas regras são aplicadas sobre o total do período, não por documento fiscal individual.