Como obter a taxa de imposto para um produto

8

Estou tentando obter a taxa de imposto (apenas o valor) de um produto. Posso obter o ID da classe fiscal $product->getTaxClassId().

Parece incrível, mas não consigo encontrar o caminho para obter o valor. Não o preço com o imposto incluído ou o valor do imposto, mas a porcentagem aplicada ao preço final.

Alguém pode ajudar?

Agradeço antecipadamente.

Pymoo
fonte

Respostas:

26

Para obter a taxa de imposto, você precisa executar uma solicitação de imposto. Isso pode ser feito com o seguinte código.

$store = Mage::app()->getStore('default');
$taxCalculation = Mage::getModel('tax/calculation');
$request = $taxCalculation->getRateRequest(null, null, null, $store);
$taxClassId = $product->getTaxClassId();
$percent = $taxCalculation->getRate($request->setProductClassId($taxClassId));

Aqui você compra a loja e faz uma solicitação de cálculo de imposto. Você também pode especificar o endereço de entrega, o endereço de cobrança e o ID da classe de imposto do cliente, mas neste caso eu os defini como nulos e os valores padrão serão definidos na seção de impostos administrativos.

Você pega o objeto de solicitação de taxa de imposto e atribui o ID da classe de produto, que você já possui, e pode solicitar a própria taxa.

David Manners
fonte
Obrigado David. Eu estava tentando outros trechos de código sem resultado, mas você é o cara!
Pymoo
Usei isso, mas só precisava das informações de uma de minhas lojas (criando um feed de produtos do google) e tive problemas ao usar o ID da loja no método getRateRequest (), pois procurava um objeto de loja e não o ID da loja. Substituí o id da loja por 'default' no método getStore () e está tudo bem. obrigado.
31415 Jon