Skip to main content

Taxas e Impostos

O Magento possui uma complexa estrutura de taxas e impostos. Aparentemente um recurso pouco utilizado aqui no Brasil, mas uma prática comum em países da Europa, onde eles descriminam valor do produto e valor do produto com imposto.

Mas as configurações do Magento permitem que você crie taxas visíveis ou não aos clientes. Além de criar taxas para grupos específicos de clientes ou de produtos. Opção de aplicar sobre descontos ou fretes, enfim, é tanta opção de configuração que um post pra falar apenas das configurações de impostos ficaria enorme.

Vejamos então um pequeno exemplo, onde iremos taxar os produtos com um imposto de 10% sobre o valor do produto.

Quando você vai em Clientes -> Grupo de Clientes você pode ver que cada grupo possui uma classe de imposto associada.

classe de clientes

Dessa forma você pode informar que cada grupo possui uma taxa diferenciada, para isso basta criar uma classe de imposto para clientes em Vendas -> Taxas e Impostos -> Classe de Clientes. Você poderia por exemplo aplicar a taxa de imposto deste exemplo apenas para clientes não cadastrados no sistema “NOT LOGGED IN“.

Já para os produtos que estão em Catálogo -> Gerenciar Produtos, quando você seleciona um produto, e vai na guia “Preços” você pode selecionar a classe de imposto associada.

classe de produtos

Da mesma forma você pode criar um classe e setar para determinados produtos, para isso vá em Vendas -> Taxas e Impostos -> Classe de Produtos. Você poderia por exemplo criar uma taxa para produtos eletrônicos, outra taxa para produtos de vestuário, outra taxa para produtos perecíveis, etc.

Agora você precisa criar o valor de cálculo para o imposto, ou seja, a taxa a ser aplicada nos produtos ou frete. Para isso vá em Vendas -> Taxas e Impostos -> Cálculos de Impostos e crie um novo cálculo informando o valor percentual a ser aplicado nos itens (nesse exemplo 10).

calculo da taxa de imposto

Na última etapa, o pulo do gato. Com os clientes e produtos já associados as classes e com o cálculo criado, basta juntar tudo em uma regra de imposto. Para isso vá em Vendas -> Taxas e Impostos -> Regras de Impostos e clique em Criar Imposto.

regra de calculo de imposto

Informe um nome para sua regra e selecione as classes que terão efeito sobre o imposto criado. Agora basta salvar tudo e ver o valor aplicado no frontend (para aqueles produtos que utilizam a classe de imposto!).

Como eu falei no início do post, ainda tem muita coisa a ser falado sobre impostos. Você pode por exemplo ainda importar/exportar taxas de impostos em Vendas -> Taxas e Impostos -> Importar/Exportar Impostos.

Em Sistema -> Configuração -> Vendas [Taxas e Impostos] você tem diversas opções de configuração sobre como o Magento deve aplicar os impostos no sistema. Faça alguns testes alterando os valores da configuração e veja o resultado que cada item tem sobre o sistema.

Sucesso!

WebServices – Compartilhando Recursos

Um recurso avançado e poderoso do Magento é a possibilidade de se trabalhar com WebServices, ou seja, compartilhar recursos do sistema através de API‘s que geram saídas em XML, geralmente utilizando a tecnologia de comunicação SOAP.

Eu sei, uma sopa de letrinhas de confundir qualquer um. Mas leia com atenção para entender do que se trata, pois vale a pena conhecer este recurso avançado da ferramenta.

Imagine que você precise ler informações da sua loja em outro sistema, por exemplo um software de ERP, CRM, SAP, CMS ou até mesmo uma aplicação personalizada criada sob medida para você.

Nestes casos o Magento Ecommerce oferece algumas API’s prontas para dividir informações com outros sistemas. Como informações de clientes, pedidos, endereços, grupos, categorias, produtos, etc, etc, etc. Nos casos em que não existirem você pode criar uma API personalizada também, mas isso é uma outra história.

Vejamos um exemplo simples e rápido de como recuperar uma lista de email dos clientes cadastrados na sua loja usando um “programinha” escrito em php.

Dica: Aqui foi usado PHP, mas na verdade poderia ser em qualquer linguagem que tenha por exemplo suporte a SOAP (todas?!).

Primeiro passo, vá em Sistema -> Compartilhar Recursos -> Nível de Acesso e crie um nível de permissão de acesso, por exemplo, escolhendo apenas API de clientes, assim o sistema externo poderá acessar apenas as informações dos clientes.

criar nivel de acesso

Nota: Quando eu digo acesso, quero dizer “controle total”, ou seja, incluir, alterar, apagar e pesquisar. Mas isso também pode ser configurado.

Depois de criar um nível de acesso, vá em Sistema -> Compartilhar Recursos -> Usuários e crie um usuário para acessar as informações do seu sistema via webservice.

usuario webservice

Basicamente você vai informar o grupo de permissões a que esse usuário tem acesso, informar um login de acesso e a chave de API que na verdade é a senha de acesso.

Essa foi a parte difícil. Agora basta criar no seu sistema uma comunicação do tipo SOAP para acessar os dados do sistema. Veja o exemplo do arquivo abaixo, chamado de teste.php:

[php]<?php
$proxy = new SoapClient(‘http://localhost/magento/api/soap/?wsdl’);
$sessionId = $proxy->login(‘mariosam’, ‘senha123′);

$result = $proxy->call($sessionId, ‘customer.list’, array(‘filters’, ‘*’));

foreach ( $result as $obj ) {
echo $obj[“email”];
}
?>[/php]

Veja como é simples, primeiro você cria a conexão SOAP com seu sistema, logo em seguida informa o login e senha. Depois faz uma consulta na lista de clientes e por último exibe os resultados encontrados.

A url informada em “new SoapClient” deve ser a URL da sua loja, algo como www.seu-site.com.br/api/soap/?wsdl, basta digitar isso no seu navegador, se aparecer um arquivo XML válido então a URL está correta.

O arquivo teste.php deve estar em um servidor web válido, se você colocar no seu diretório root, então vai acessar digitando: www.seu-site.com.br/teste.php

E está feito a conexão, uma lista de emails deve aparecer na tela. Agora use as informações com moderação.

Veja mais informações sobre webservices-api na documentação oficial do Magento em www.magentocommerce.com/wiki/doc/webservices-api/api