Pular para o conteúdo
Categorias · 11. Configurações

11.02.3.a - Acréscimo de boleto a faturar influenciando alíquotas

Atualizado em

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:

  1. Crie um código de referência e um nome descritivo (ex.: “ICMS com Juros de Pagamento”).

  2. 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.

  3. Monte a fórmula normalmente com as demais variáveis e regras fiscais necessárias.

1 (15).png
1b9ed1aa-0de4-49d5-bdb0-76115efee97f (1).png

❗ 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.

1 (11).png

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

  1. Acesse o template do checkout personalizado do seu ambiente.

  2. Localize o arquivo index.html correspondente.

  3. 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.