Como funciona a nova configuração de cálculo de impostos no checkout
A partir desta atualização, o sistema passa a permitir que os juros aplicados pelo método de pagamento cartão possam ser considerados na base de cálculo do ICMS.
Isso significa que, além de calcular os impostos apenas sobre o valor do produto ou serviço, o sistema agora pode incluir os juros cobrados pelo meio de pagamento na formação da base do ICMS , quando configurado.
Com essa opção, o cálculo de impostos passa a refletir de forma mais precisa a real base de incidência exigida pela legislação, evitando divergências fiscais e diferenças entre o valor pago pelo cliente e o valor tributado.
1. Ativando a configuração “Considerar juros na base do ICMS”
Para habilitar essa opção, siga o caminho abaixo:
Configurações → Gerais → Pedidos
Na tela de configurações do carrinho, localize a opção “Considerar juros de método de pagamento na base do ICMS”.
Ative a opção marcando o campo correspondente e clique em Salvar.
Quando ativada, o sistema passará a recalcular a base do ICMS automaticamente durante o checkout, incluindo os juros do método de pagamento no parcelamento com juros do cartão.
2. Cadastrando a alíquota para uso com juros
Para que o sistema consiga considerar os juros do método de pagamento no cálculo de ICMS, é obrigatório cadastrar uma alíquota específica para essa finalidade.
Acesse Configurações → Alíquotas e clique em Adicionar.
Na tela de criação da alíquota:
Crie um código de referência e um nome descritivo (ex.: “ICMS com Juros de Pagamento”).
No editor da fórmula, inclua a variável “Juros proporcional”, que representa o valor de juros aplicado ao método de pagamento escolhido pelo cliente no checkout.
Monte a fórmula normalmente com as demais variáveis e regras fiscais necessárias.
❗ Atenção: A variável “Juros proporcional” é obrigatória quando o objetivo da alíquota for calcular o ICMS considerando os juros. Sem ela, o sistema não incluirá o valor dos juros na base do imposto, mesmo que a configuração geral esteja habilitada.
Após finalizar a configuração da alíquota, clique em Salvar. Essa alíquota será utilizada automaticamente pelo motor fiscal no momento do checkout, sempre que o cliente selecionar um método de pagamento com juros.
3. Como o sistema calcula o ICMS com juros
Durante o processo de checkout, ao selecionar o método de pagamento com juros (como um cartão parcelado) (4), o sistema identifica o acréscimo e recalcula a base de ICMS, somando os juros (5) ao valor total do pedido (6).
4. Situações em que o cálculo não muda
Existem cenários em que o comportamento do sistema permanece o mesmo:
Método de pagamento sem juros: O cálculo do ICMS continua sendo feito apenas sobre o valor do produto ou serviço.
Configuração desabilitada: Mesmo que o método de pagamento tenha juros, eles não serão considerados na base do ICMS.
Alíquota sem a variável “Juros proporcional”: Os juros não serão incluídos no cálculo do imposto.
5. Como modificar o front-end
Clientes que utilizam template personalizado de checkout precisam realizar uma atualização manual no arquivo index.html do seu template para garantir o correto funcionamento da nova regra de juros de cartão na base de ICMS. Essa atualização é necessária para que o cálculo atualizado do ICMS, incluindo os juros de parcelamento, seja refletido corretamente no checkout.
Etapas para atualização
- Acesse o template do checkout personalizado do seu ambiente.
- Localize o arquivo
index.htmlcorrespondente. Antes da linha que contém:
$(document).ready(function ()
substitua ou inclua se não tiver, o seguinte bloco de código:
let installmentsTotal = 0; (function ($) { var aliquotCalculator; var rawData = "{{aliquotVar}}"; rawData = rawData.replace(/"/g, '\"'); var aliquotsData = JSON.parse(rawData); var isPurchaseDigitalProducts = $('#is-purchase-of-digital-products').val(); {% include 'FlexyFtwoStoreBundle:Checkout:renderCreditcardInstallments.js.twig' %};Em seguida, dentro do bloco
$(document).ready(function (), substitua ou inclua se não tiver também somente a parte do código abaixo:$("#checkout_installments").off("change").on('change', function (e) { // Coleta todas as variáveis necessárias para os cálculos const currentBrand = $("[name='checkout[paymentMethod][0][name]']:checked").val() || ''; const currentSubscriptionPlan = $("select[name='checkout[subscription_plan_id]']").val(); const currentCreditCardDiscountText = hasSubscriptionPlan() && currentSubscriptionPlan ? '' : configCreditCardDiscountText(currentBrand); // Coleta valores das alíquotas let currentAliquotsTotal = 0; const aliquotsElements = document.getElementsByClassName("aliquots-total"); if (aliquotsElements.length > 0) { const aliquotsTotalLi = aliquotsElements[0]; const unformattedAliquots = aliquotsTotalLi.innerText; const match = unformattedAliquots.match(/R\$\s*([\d,.]+)/); if (match && match[1]) { const valorString = match[1]; const formattedAliquot = valorString.replace(',', '.'); currentAliquotsTotal = parseFloat(formattedAliquot); } } // Parâmetros para a função handleInstallmentChange const params = { brand: currentBrand, subscriptionPlan: currentSubscriptionPlan, creditCardDiscountText: currentCreditCardDiscountText, aliquotsTotal: currentAliquotsTotal, billingTotal: billingTotal, shippingTotal: shippingTotal, shippingDiscount: shippingDiscount, paymentDiscount: paymentDiscount, shippingIpiTotal: shippingIpiTotal }; // Chama a função centralizada handleInstallmentChange('change_event', params); });
❗Atenções importantes
Somente clientes com template customizado precisam realizar essa alteração.
Clientes que utilizam o template padrão atualizado já possuem essa implementação nativa.
Após a inclusão do código, limpe o cache do navegador e do template antes de testar o checkout.
Em caso de dúvidas contate nosso suporte!
6. Boas práticas antes de ativar
⚠ Antes de habilitar a opção, recomenda-se:
Validar com o departamento fiscal ou contábil se a inclusão dos juros na base do ICMS é necessária para o seu regime tributário;
Cadastrar e revisar a alíquota com a variável “Juros proporcional” antes de ativar a configuração;
Garantir que os dados fiscais dos produtos estejam corretos, para evitar inconsistências.
Comentários
0 comentário
Por favor, entre para comentar.