Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v3.x.
Por turcorossi
#89105
Olá, pessoal!

Já trabalho a um tempo com OC. Mas é a primeira vez que é solicitado a inclusão de impostos no sistema.

Criei o grupo ICMS e o tipo em cada estado.

Tudo ok, cálculos e tudo mais...

O detalhe é que no calculo do imposto necessita incidir o valor do frete juntamente do calculo.
Ou seja o imposto deve ser no total do pedido (incluindo o frete) .

Hoje ele calcula mas não soma o valor do frete junto.

Pois a ST (Substituição Tributaria) de estado a estado é o total da NF juntamente com o valor do frete.

Como faço para alterar essa parte que ele inclua o valor do frete no calculo do imposto.

Se alguém puder ajudar.

Agradeço.

Abraço a todos
Editado pela última vez por turcorossi em 22 Jun 2021, 11:43, em um total de 1 vez.
Avatar do usuário
Por reds
Mensagens Especiais
#89107
Ola @turcorossi

Tentou ir em total do pedido e alterar a posição do modulo de impostos para após o frete?
;)
turcorossi gostou disso
Avatar do usuário
Por reds
Mensagens Especiais
#89110
@turcorossi,
No caso qual a forma de envio esta usando? nela contem a possibilidade de atribuir o imposto ?
Então o problema esta ai, pois o método de envio deve ter a possibilidade de incluir impostos para ele seja calculado sobre o envio.
;)
Por turcorossi
#89138
@reds - O método que utilizamos é Frenet, pois o cliente tem conta lá. E neste modulo, nem dos correios ou outro que identifiquei possui como inserir o imposto no frete.
Por turcorossi
#89481
Encontrei um arquivo chamado tax.php
no caminho system/library/cart/tax.php

Com o seguinte calculo da taxa de imposto.
Código: Selecionar todos
	public function calculate($value, $tax_class_id, $calculate = true) {
		if ($tax_class_id && $calculate) {
			$amount = 0;

			$tax_rates = $this->getRates($value, $tax_class_id);

			foreach ($tax_rates as $tax_rate) {
				if ($calculate != 'P' && $calculate != 'F') {
					$amount += $tax_rate['amount'];
				} elseif ($tax_rate['type'] == $calculate) {
					$amount += $tax_rate['amount'];
				}
			}

			return $value + $amount;
		} else {
			return $value;
		}
	}

	public function getTax($value, $tax_class_id) {
		$amount = 0;

		$tax_rates = $this->getRates($value, $tax_class_id);

		foreach ($tax_rates as $tax_rate) {
			$amount += $tax_rate['amount'];
		}

		return $amount;
	}

Mas não estou sabendo adicionar o valor do frete no calculo para ele somar os impostos no total do pedido.

Hoje o O.C. somente calcula o imposto sobre o valor do produto, mas o correto é calcular o imposto (taxa) em cima do total do pedido.
Produtos + frete.

Alguém poderia ajudar na interpretação do código acima.
Já tentei modifica-los mas não sei de onde ou como puxar o valor (variavel) do frete.
Avatar do usuário
Por reds
Mensagens Especiais
#89482
Ola @turcorossi
Tente ir em extensões > extensões > total do pedido > mova o bloco de imposto na frente do dos demais módulos logo abaixo do total e veja se vai resultar no que deseja.
;)
Por turcorossi
#89487
@reds , já fiz isso. Mas não funcionou. :( O imposto está dando somente o valor do produto e subtotal, quero que ele calcule o valor do(s) produto(s) e o frete.

No caso ele exibe e faz o calculo correto baseado entre o endereço da loja e endereço do usuário.

Mas no carrinho, por definições tributárias do brasil, o ICMS precisa ser destacado no total da NF.
Dependendo da compra no nosso nicho, o valor do produto e do frete chegam a ser o mesmo.
E o cliente B2B é responsável pelo pagamento deste imposto antecipado que deve ser incluso na NF.

Exemplo
Produto 1 - Valor R$ 55,00 (envio para o Paraná) +6% ICMS (R$ 3,30) = TOTAL R$ 58,30
Frete para o Paraná por SEDEX - R$ 42,60
No caso o O.C. hoje faz o total do carrinho de R$ 100,90

Mas o correto seria R$ 55,00 Produto + R$ 42,60 Frete = R$ 97,60 + 6% = R$ 103,45

Aqui tem uma diferença de R$ 2.55 (que é o imposto do ICMS sobre o valor do frete)

Este é o meu problema.
Avatar do usuário
Por reds
Mensagens Especiais
#89488
Ola @turcorossi

Você ajustou o imposto na loja?
Configurações > imposto > grupos de impostos
Configurações > imposto > Tipos
Por turcorossi
#89489
@reds

SIM. tudo em ordem.
Tudo ajustado

Grupo de impostos

Tipo de imposto | Calcular a partir do | Prioridade
VALOR ICMS PARANÁ | Endereço da fatura | 1

E de cada estado subsequente....

Tipos de impostos
Tipo de imposto | Valor | Cálculo | Região Geográfica | Cadastro | Modificação
Valor ICMS ST PARANÁ | 6 | Percentual | Paraná | |

E cada estado subsequente....


Todas a regiões demográfica criadas de todos os estados linkados ao pais.

Acredito estar tudo certo.

Descobri como e onde: Começa editando: /ca[…]

Muito obrigado Manoel!!!!!!!!!!!!! Desistalei minh[…]

Ola @JezielGuilherme Esse modulo pode suprir s[…]

Frete Carrinho

Ola @CaioLima O erro é um pouco estranh[…]