Meios de Envio - imagem: Martin Barraud/OJO ImagesPara fazer o download da planilha de modelo para o Matrix Rate, vá até o final do post

Em 2012, eu compartilhei aqui no blog a planilha modelo que eu utilizo para cadastro das faixas de CEP, a ser importada no Matrix Rates, módulo para Magento da Web Shop Apps. Esse módulo permite que se importe no Magento uma planilha com diferentes faixas de peso, CEP e forma de entrega e é bem utilizado para quem tem transportadoras entre as opções disponíveis para entrega na loja virtual.

Depois da experiência do primeiro post, resolvi dar uma melhorada visual na planilha e também nas instruções, para facilitar a vida dos profissionais, e agora reedito o post inicial, com um melhor passo-a-passo e as principais dúvidas já solucionadas.

O primeiro passo é solicitar um arquivo com as regiões, pesos e valores praticados por sua transportadora, a partir do seu CEP. Esse arquivo normalmente é uma tabela e contém todos os estados em que ela atua, com os valores por peso para capital e interior.

Preparando a planilha de formas de entrega

Com esse arquivo, você pode partir para a planilha. Como você já sabe, no Brasil, os CEPs são organizados por zonas (124 zonas), com faixas de CEPs em sua maioria coincidentes com os estados – divididos entre Capital e Interior. Nessa nova planilha, já foi eliminada a zona 76, em Roraima, mantendo apenas a zona 75, com todos os CEPs para aquele estado. Você deve preencher cada uma das linhas desejadas com base no arquivo que sua transportadora lhe forneceu, conforme o modelo abaixo:

País Estado Cidade Zip/Postal Code From Zip/Postal Code To Weight From Weight To Preço Entrega Delivery Type
* * * 01000000 10999999 0 10 5 São Paulo – capital
* * * 11000000 19999999 0 10 7 São Paulo – interior
* * * 01000000 10999999 10 20 8 São Paulo – capital
* * * 11000000 19999999 10 20 12 São Paulo – interior
* * * 01000000 10999999 20 30 10 São Paulo – capital
* * * 11000000 19999999 20 30 15 São Paulo – interior
* * * 01000000 10999999 30 50 20 São Paulo – capital
* * * 11000000 19999999 30 50 30 São Paulo – interior

Você ainda pode acrescentar diferentes formas de entrega, se quiser complicar um pouco mais, passando para um esquema de faixa de CEP x peso x forma de entrega. Cinco exemplos de formas de entrega para SP – Capital seriam:

  • São Paulo – Capital – Motoboy
  • São Paulo – Capital – Transportadora – Entrega Convencional
  • São Paulo – Capital – Transportadora – Entrega Expressa
  • São Paulo – Capital – Sedex
  • São Paulo – Capital – PAC

Isso significa que você deve ter uma linha para cada faixa de CEP, peso e meio de entrega. No exemplo anterior, o Sedex e o PAC vêm direto do módulo dos correios, mas as demais podem ser inseridas no Matrix Rates. Se optar por três meios de entrega em 5 faixas de peso, entregando em todo o Brasil, você terá 1.860 linhas em sua planilha. Preste bastante atenção ao fazer isso para não trocar linhas por acidente.

Você pode preencher essa planilha no Microsoft Excel, sem problemas. Quando terminar, recomendo que passe a usar o Open Office Calc para as etapas seguintes. O Excel tem um sério problema em lidar com UTF-8 e com arquivos em CSV. Então, abra o arquivo no Open Office e salve como CSV. No processo de conversão, ele pedirá os parâmetros (mantenha vírgula e aspas duplas) e escolha o UTF-8 com formato. Pronto, o arquivo CSV está pronto para ser importado no Magento.

Instalando o Matrix Rate

O WebShopApps Matrix Rate é disponibilizado gratuitamente no Magento Connect e basta pegar a chave disponível lá e proceder com a instalação pelo painel da loja. Lembre-se de testá-lo primeiro em uma instalação própria para isso.

Para importá-lo, vá em Sistema -> Configuração e busque a aba Formas de Entrega (ou Meios de Entrega, conforme sua tradução). Localize a aba do Matrix Rates e preste atenção em dois detalhes:

a) para poder importar o arquivo, é preciso que o nível de configuração esteja marcado como website (na caixa de seleção no alto, à esquerda)

b) não se esqueça de selecionar a opção Sim em Use Numeric Zipcode Ranges. É isso que determina as faixas de CEP ao invés de um CEP pontual.

Seleção de faixas de CEP no Matrix Rates- imagem: André Gugliotti

Ah, um último detalhe importante: no Brasil, os CEPs têm um traço (90560-003) e isso pode resultar em um erro na hora de calcular os fretes. Um erro silencioso na verdade, porque o Matrix Rate não retornará nenhuma informação. A solução pra isso foi compartilhada pelo Luciano Bonfim e é bem simples. Eu preferi deixar a solução aqui ao invés do arquivo, para dar mais flexibilidade:

a) localize o arquivo \app\code\community\Webshopapps\Matrixrate\Model\Mysql4\Carrier\Matrixrate.php

b) dentro do arquivo, busque por volta da linha 40 a chamada:

$postcode = $request->getDestPostcode();

c) logo após essa linha, insira o seguinte:

$postcode = str_replace(‘-‘,”,$postcode);

Atualização da planilha de frete para o módulo Matrix Rate
8 votos, 5.00 média (98% pontuação)
  • Fábio Nakai

    Olá Pessoal, eu tentei fazer a solução do hífen mas não funcionou na versão 1.7 do magento. Eu vi na solução do André que tem uma aspa dupla sem fechar. Eu coloquei mais uma aspas dupla pra fechar o código e funcionou. Agora com ou sem hifem ele calculou corretamente. Ficou assim: $postcode = str_replace(‘-‘,””,$postcode);

  • Hélder

    Pode ser $postcode = str_replace(‘-‘,”,$postcode); com aspas simples também que funciona, no meu caso eu fiz outro para remover o ponto também pois tem gente que tem o costume de digitar o CEP com ponto(##.###-###).

    $postcode = str_replace(‘.’,”,$postcode);

  • Ricardo Iguchi

    Oi André, os preços que eu tenho dependem do valor do produto (Valor da nota fiscal) combinado com o peso. Você sabe dizer se consigo implementar uma tabela que contenha esses dois parâmetros?

  • Pingback: Escolhendo os meios de entrega para sua loja Magento | eCommerce com Magento()

  • João

    Olá. Segui as instruções, mas na tela de configuração do Matrix Rates não há nenhum lugar para importar esse CSV. Como devo proceder?

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    […]

    Para importá-lo, vá em Sistema -> Configuração e busque a aba Formas de Entrega (ou Meios de Entrega, conforme sua tradução). Localize a aba do Matrix Rates e preste atenção em dois detalhes:

    a) para poder importar o arquivo, é preciso que o nível de configuração esteja marcado como website (na caixa de seleção no alto, à esquerda)

    […]

  • marcelo

    Andre , estou tentando importar o csv feito no openoffice e aparece a msg
    Ocorreu um erro ao salvar esta configuração: Invalid Matrix Rates File Format ,
    o que devo fazer?

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Faça como escrito no texto: “Então, abra o arquivo no Open Office e salve como CSV. No processo de conversão, ele pedirá os parâmetros (mantenha vírgula e aspas duplas) e escolha o UTF-8 com formato.”

  • marcelo

    Então fiz exatamente isso e apresenta o bendito erro Invalid Matrix Rates File Format

  • Felipe Vianna

    Andre muito bom o post, poderia me tirar uma dúvida eu instalei no magento que tenho localhost e foi normal mas no que está no ar a versão enterprise e customizado não funciona, existe alguma pasta além das padrões que deve -se copiar os arquivos ?

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Felipe, não me consta que esse módulo tenha problemas pra funcionar na EE. Verifique com o pessoal da WebShopApps, já que eu apenas preparei a planilha de fretes.

  • Aurelio

    André, sempre que tento calcular o frete, ao digitar o cep aparece a mensagem “Não Há Meio de Envio disponível, entre em contato com a loja.”” fiz a instalação do módulo, alterei o código do traço do cep como no tutorial, montei as tabelas, já tentei usar a do exemplo também, não dá nenhum erro ao importar o arquivo, está tudo habilitado nas configurações, (sim) para faixa de cep. O que deve estar acontecendo? Obrigado

  • Marcos Del Grossi

    Olá André, fiz tudo como explicado e funcionou, porém a minha tabela contem varias transportadoras, e também o valor muda dependendo o peso. Portanto o correto é se o produto for 0.350 (350 gramas) ele deve puxar apenas as linhas referente ao CEP indicado e o peso do produto (caso tenha mais produtos no carrinho, somar os pesos e ir na linha referente a aquele intervalo de peso). Porém o meu ele está pegando todas as linhas referentes apenas ao CEP e não está aplicando a condição do Peso Vs Destino.

    Sabe me dizer o que posso estar fazendo de errado?

  • P. Fernandes

    André, alguns ceps não são reconhecidos entre as faixas de cep, oque pode ser ? Ex, o cep 047180000 corresponde a rua capitao otávio machado – sp, porém, a mensagem que é exibida é “Desculpe, não houve formas disponíveis para esta pedido no momento.” o estranho é que etá dentro das faixas de cep de SP, sabe o que poderia ser?

  • Marcone Ferreira Ramos

    Tive o mesmo problema. Para resolver o problema acima, você deve digitar novamente o código ao invés do copiar e colar. As aspas apresentadas no tutorial são diferentes das aspas digitadas diretamente no editor. Como o Hélder disse, é indiferente o fato de serem aspas duplas ou não.

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Se for o CEP informado no comentário, ele não existe mesmo, tem um zero a mais. Lembre-se de habilitar a opção de Faixas de CEP, no painel do módulo.

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Não sei dizer sem olhar a tabela, mas deve estar marcada a opção Peso Vs Destino no painel. Estou na dúvida se o módulo trabalha com pesos fracionados, tente com pesos inteiros para ver se o erro persiste. E ah, não esqueça de fechar o CSV em UTF-8.

  • Mauro

    Ola instalei o modulo fiz as alterações no modulo alterei o arquivo, mas por algum motivo o matrix rate não aparece quando realizo uma busca, parece que é aquele erro silencioso que você diz no arquivo mas já fiz essa alteração.

    Oque devo fazer ?

  • Luciano

    Bom dia, ao importar a planilha, o matrix rate não está salvando ela. Testei importando e exportando.. ele me tras uma planilha padrão quando eu exporto para ver se ele salvou a minha planilha.
    Pode me ajudar?

  • bruno manjagalli

    Boa tarde, Muito obrigado pela ajuda, porém estou enfrentando um problema.
    Gostaria de entregar apenas na RM de campinas. Mas quando coloco um cep diferente ele não retorna nenhum erro para o cliente. É possivel aparecer algum alerta?
    Obrigado

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Sim, nas configs do módulo do painel existe essa opção.

  • Filipe Marques

    André, é possível informar o tempo de entrega? Abraços.

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Não há um campo específico para isso. Você pode definir no nome, como por exemplo, “SP – capital – 5 dias”.

  • Pingback: Desenvolvimento de Loja Virtual Magento | Criação de Sites e Loja Virtual em Curitiba Wiy Solutions()

  • http://ousarcomunicacao.com/ Valderes Zimmer

    Olá, André.
    Fiz exatamente como você explicou, e está dando certo, exceto por um detalhe, só dá certo se eu não usar o famigerado traço no CEP, eu fiz exatamente como você comentou: editei o arquivo Matrixrate.php ficou assim: $postcode = $request->getDestPostcode();
    $postcode = str_replace(‘-‘,”,$postcode);

    Na minha planilha coloquei todos os CEP’s sem traço (pra desencargo de consciência testei com traço tb e não deu certo)

  • Lilian

    Olá, André já tenho instalado o modulo Matrixrates há vários meses trabalhando com ele normalmente, ocorre que fiz atualização de valores e aumentei várias linhas na planilha, salvei em CSV , troquei o escopo de configuração, mas ao salvar a importação o sistema volta para a página inicial, sem dar nenhum erro. Poderia me ajudar. No aguardo!
    Lilian

  • Lilian

    Olá, André já tenho instalado o modulo Matrixrates há vários meses trabalhando com ele normalmente, ocorre que fiz atualização de valores e aumentei várias linhas na planilha, salvei em CSV , troquei o escopo de configuração, mas ao salvar a importação o sistema volta para a página inicial, sem dar nenhum erro. Poderia me ajudar. No aguardo!
    Lilian

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    O de sempre, Lilian, verifique se o CSV está correto e se está no formato UTF-8, 😉

  • Lilian

    Obrigado André, pelo seu retorno, já resolvi!

  • Caio Ribeiro

    RESOLVEU MEU PROBLEMA!!! Obrigado

  • Caio Ribeiro

    VALEU André!! Me ajudou demais a resolver uma questão fundamental para minha loja que a tempos estava tentando encontrar uma solução… e sem dúvida esta é a melhor o/
    OBRIGADO por oferecer conteúdos como este! Salva a vida de muitos 😉

    Só tive problema, na configuração do traço… que resolvi com este comentário:
    Fábio Nakai •
    Olá Pessoal, eu tentei fazer a solução do hífen mas não funcionou na versão 1.7 do magento. Eu vi na solução do André que tem uma aspa dupla sem fechar. Eu coloquei mais uma aspas dupla pra fechar o código e funcionou. Agora com ou sem hifem ele calculou corretamente. Ficou assim: $postcode = str_replace(‘-‘,””,$postcode);

  • viagensereservas

    André fiz atualização a importação funcionou perfeitamente. Criei a regra de frete etc. Tudo certinho. Porém os valores não aparece continua pegando os valores dos correios desabilitei os dos correis para testar e nada poderia dizer aonde estaria o erro?

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Provavelmente, nível de configuração, aquela caixa no canto esquerdo superior (Todas as Lojas, Website, Visão de Loja). Verifique as configurações nos níveis inferiores.

  • http://www.shopcorinthians.com.br Shop Corinthians

    André, quando mudo o escopo para fazer a importação da planilha tenho um erro:

    Invalid config field backend model: matrixrate_adminhtml/system_config_backend_shipping_matrixrate

    Sabe o que pode ser? só falta isto pra eu concluir todo o processo, se tiver uma pasta no FTP onde eu possa jogar este arquivo também me fala e já coloco lá direto.

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Falha de instalação da loja ou do módulo…

  • http://www.shopcorinthians.com.br Shop Corinthians

    Achei aqui, estava faltando o arquivo appcodecommunityWebshopappsMatrixrateModelAdminhtmlSystemConfigBackendShippingMatrixrate.php

  • Thiago Barros Vilela

    André Gugliotti, fiz exatamente o que diz e nao aparece nada, nem erro?

  • Lucas

    Quando coloco um CEP não listado na planilha, não aparece nenhuma mensagem. Na configuração do módulo, configurei para ele mostrar uma mensagem de erro personalizada, mas nada aparece.

    Todas as faixas de CEP estão retornando o mesmo preço. O que posso ser?

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Erro na planilha, especialmente no formato!

  • Rodolpho D. Belo

    Boa tarde.
    Estou com algumas duvidas sobre os modos de frete, sera que alguém poderia me orientar?

  • http://www.shopcorinthians.com.br Shop Corinthians

    Andre, sabe me dizer qual a pasta que fica gravado o arquivo .CSV com as taxas? tenho um arquivo com mas de 40.000 linhas e este me dando erro de “Allowed memory size” quando envio um arquivo menor funciona normal… pensei em jogar o arquivo completo direto na pasta, acha que da certo?

  • Beatriz Amorim

    Olá bom dia, a planilha não está mais disponível. Para você baixar.

  • Thiago Barros Vilela

    Tentei e não consegui somente pra um estado, não aparece nada

  • Lucas Rafael

    Olá, tenha uma duvida, se o site tiver a opção de retire na loja, eu posso fazer esse processo e vai aparecer todas as minhas filiais?
    Ou vai aparecer so uma opçao com o nome retire na loja ?