Como funciona a configuração de cálculo de impostos para Boleto a Faturar no checkout
A partir desta atualização, o sistema passa a permitir que o valor adicional de acréscimo aplicado no método de pagamento Boleto a Faturar possa ser considerado na base de cálculo do ICMS, quando configurado. Isso significa que, além de calcular os impostos apenas sobre o valor do produto ou serviço, o sistema agora pode incluir os acréscimos específicos do boleto a faturar na formação da base do ICMS, quando essa regra estiver habilitada.
1. Ativando a configuração “Considerar acréscimos do Boleto a Faturar na base do ICMS”
Para habilitar essa opção, siga o caminho:
Configurações → Gerais → Pedidos
Na tela de configurações do carrinho, localize a opção: “Considerar acréscimos do Boleto a Faturar na base do ICMS”. Ative a opção marcando o campo correspondente e clique em Salvar. Quando ativada, o sistema habilitará esse a alíquota no checkout sempre que o cliente escolher o método de pagamento Boleto a Faturar que possua acréscimo configurado.
2. Cadastrando a alíquota para uso com acréscimos do boleto
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.
Caso você utilize a configuração "Incluir juros do cartão de crédito na alíquota do ICMS", a variável "Juros proporcional" se adequara a forma de pagamento escolhida pelo cliente final, ou seja, se ele selecionar Cartão de crédito, a variável considerará o cartão de crédito, o mesmo ocorre para o boleto a faturar.
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 acréscimo do boleto
Durante o processo de checkout, ao selecionar o método de pagamento Boleto a faturar (4), o sistema identifica o acréscimo (5) e recalcula as bases de cálculo e alíquotas (6) adicionando ao total do pedido.
Dessa forma, a nova base tributável passa a refletir o valor real da transação faturada.
4. Situações em que o cálculo não muda
O comportamento permanece o mesmo nos seguintes cenários:
Método Boleto a Faturar sem acréscimo: O ICMS é calculado apenas sobre o valor dos produtos.
Configuração desabilitada: Mesmo com acréscimo, ele não é incluído na base.
Alíquota sem a variável “Acréscimo proporcional do Boleto a Faturar”: O imposto é calculado sem considerar o acréscimo.
5. Modificação do 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. - As variáveis de configuração a seguir devem ser inseridas no inicio do código para que possam ser utilizadas posteriormente no próximo passo.
{% set configBilletInterest = flexy_ftwo_configuration_stores("CONFIGURATION_INCLUDE_BILLET_INTEREST_IN_ICMS_ALIQUOT") %}
{% set showIncludeBilletInterest = configBilletInterest is same as("1") %}
// Verifica se veio a variável dos parâmetros de configuração
const INCLUDE_BILLET_INTEREST_IN_ALIQUOT = {{ showIncludeBilletInterest ? 'true' : 'false' }};4. Em seguida, somente a parte do código abaixo:
//Uma vez que é boleto a faturar, é atualizado o total do carrinho
var isBoletoFaturar = paymentMethod === "payment.method.boletoafaturar";
if (isBoletoFaturar) {
// Pega o valor de juros do boleto do atributo data-addition
let boletoAddition = parseFloat($(".addition-boleto-total").attr("data-addition")) || 0;
// Recalcula o total incluindo os juros do boleto
let totalWithBoletoInterest = billingTotalForTax + boletoAddition;
$(".billing-total").html($.number(totalWithBoletoInterest, 2, ',', '.'));
}
let interestTotal = 0;
if (isBoletoFaturar && INCLUDE_BILLET_INTEREST_IN_ALIQUOT) {
interestTotal = additionBoleto;
} else if (!isBoletoFaturar) {
interestTotal = installmentsTotal;
}
//Variaveis que serão enviadas via backend para atualização da alíquota
setAliquotVariables(shippingTotal, paymentDiscount, billingTotalWithTaxesWithoutShippingIpiTotal, interestTotal);
// Só recalcula alíquotas se:
// 1. NÃO for boleto a faturar (outros métodos sempre recalculam)
// 2. OU for boleto a faturar MAS a config está habilitada
if (!isBoletoFaturar || INCLUDE_BILLET_INTEREST_IN_ALIQUOT) {
recalculateAliquots(billingTotalWithTaxes);
}
// Pega juros do cartão ou do boleto
let paymentMethod = $("[name='checkout[paymentMethod][0][name]']:checked").val() || "";
let isBoletoFaturar = paymentMethod === "payment.method.boletoafaturar";
let interestTotal = 0;
if (isBoletoFaturar && INCLUDE_BILLET_INTEREST_IN_ALIQUOT) {
// Para boleto, pega os juros do data-addition (SE a config estiver habilitada)
interestTotal = parseFloat($(".addition-boleto-total").attr("data-addition")) || 0;
} else if (!isBoletoFaturar) {
// Para cartão, pega do #cartInstallmentsTaxTotal
interestTotal = parseMonetaryValue($("#cartInstallmentsTaxTotal").text());
}
$("#interestCreditCard").val(interestTotal);❗Atenções importantes
Somente clientes com template customizado precisam realizar essa alteração.
Clientes que utilizam o template padrão 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:
⚠ Confirmar com o contador ou setor fiscal se o acréscimo do boleto deve compor a base do ICMS em seu regime tributário.
Cadastrar e validar a alíquota com a variável “Acréscimo proporcional do Boleto a Faturar”.
Garantir que os produtos estejam com dados fiscais corretos.
Comentários
0 comentário
Artigo fechado para comentários.