Montar a planilha (abas areas e pesos)
O app lê um único arquivo .xlsx com duas abas: areas e pesos. A primeira diz para onde a transportadora entrega, com que prazo e com que taxas. A segunda diz quanto custa cada faixa de peso em cada área. Outras abas do arquivo são ignoradas.
Por onde começar#
Há dois modelos para baixar:
- O modelo deste manual, modelo-tabela-de-frete-cota-frete.xlsx: um contrato fictício do Sudeste completo, com nome das áreas, taxas (ad valorem, GRIS, pedágio, despacho) e uma aba
cenariospara conferência. É o que os exemplos deste capítulo usam. - O modelo do app, no link Baixar planilha de exemplo do cadastro da tabela: a versão mínima, só com as colunas obrigatórias e sem taxas.
As colunas dos dois são as mesmas, e o app aceita os dois formatos. Comece pelo que estiver mais perto do seu contrato e troque os valores.
A ideia: áreas e faixas de peso#
Toda tabela de transportadora tem a mesma estrutura, mesmo quando vem num PDF bagunçado. Ela divide o país em áreas (capital, região metropolitana, interior) e, para cada área, dá um preço por faixa de peso. As taxas costumam valer por área.
A planilha do app separa essas duas coisas. A ligação entre elas é o area_code: um código curto que você inventa, como SPC para São Paulo capital, e repete nas duas abas.
Aba areas: uma linha por faixa de CEP#
| Coluna | O que vai nela |
|---|---|
area_code | Código que liga a faixa às faixas de peso. Ex.: SPC. Obrigatória |
area_name | Nome da área, só para você se achar. Opcional |
start_zip_code | Primeiro CEP da faixa. Obrigatória |
end_zip_code | Último CEP da faixa. Obrigatória |
delivery_time | Prazo. Obrigatória |
delivery_time_unit | day para dias ou minute para minutos. Se ficar vazia, vale day |
minimum_value | Frete mínimo da área, em reais |
excess_weight_price | Valor por kg acima da última faixa de peso, em reais |
Várias faixas de CEP podem usar o mesmo area_code. É o caso comum: a capital tem mais de uma faixa e todas custam igual. No modelo do manual, São Paulo capital (SPC) tem duas linhas, de 01000000 a 05999999 e de 08000000 a 08499999.
As taxas do contrato#
As taxas entram na aba areas, uma coluna para cada. Use só as que o seu contrato cobra; coluna ausente ou vazia não soma nada.
- Percentual sobre o valor do pedido:
ad_valorem,gris,iss,fluvial_insurance(ouseguro_fluvial). Escreva o percentual como número:0.3é 0,3%. - Valor fixo em reais:
pedagio(outoll),despacho(oudispatch),tas,tde,trt,tsa.
As siglas são as do mercado de transporte. GRIS é o gerenciamento de risco, TDE a taxa de dificuldade de entrega, TRT a taxa de restrição de trânsito. O glossário explica cada uma.
Origem, para contrato com mais de uma origem#
Alguns contratos têm preço diferente conforme o lugar de onde o pedido sai. Para esses casos, a aba areas aceita duas colunas opcionais: origin_start_zip e origin_end_zip, a faixa de CEP de origem a que a linha vale.
- Linha sem essas colunas vale para qualquer origem.
- Linha com elas só vale quando o CEP de origem da cotação está dentro da faixa. Preencha as duas, ou nenhuma.
- Faixas de destino só não podem se sobrepor dentro da mesma origem.
A origem da cotação é o CEP de origem dos envios da aba Geral ou, na origem pelos perfis de entrega, o endereço do perfil do produto. Veja Origem da cotação.
Aba pesos: o preço de cada faixa#
| Coluna | O que vai nela |
|---|---|
area_code | O mesmo código da aba areas |
start_weight_kg | Peso inicial da faixa, em kg |
end_weight_kg | Peso final da faixa, em kg |
price | Preço da faixa, em reais |
Exemplo do modelo do manual, para São Paulo capital:
| area_code | start_weight_kg | end_weight_kg | price |
|---|---|---|---|
| SPC | 0 | 0.3 | 12.9 |
| SPC | 0.3 | 0.5 | 13.9 |
| SPC | 0.5 | 1 | 15.5 |
| SPC | 1 | 2 | 18.2 |
O que passa da última faixa é cobrado pelo excess_weight_price da área (ou pelo Excedente por kg da transportadora), por kg. Sem nenhum dos dois, pacotes mais pesados que a última faixa não recebem cotação dessa transportadora.
Nomes de coluna em português#
Se a planilha do contrato já vem com cabeçalhos em português, o app entende os mais comuns. Alguns exemplos: codigo_area para area_code, cep_inicial e cep_final para as faixas de CEP, prazo para delivery_time, valor_minimo para minimum_value, excesso_por_kg para excess_weight_price, peso_inicial, peso_final e preco na aba de pesos. Também valem as abas area e peso, no singular. Na dúvida, use os nomes em inglês das tabelas acima.
Os cuidados que evitam quase todo erro#
- CEP com 8 dígitos. O Excel apaga o zero da frente dos CEPs de São Paulo:
01001000vira1001000. O app aceita CEP com 7 dígitos e completa o zero, mas o mais seguro é formatar as colunas de CEP como texto antes de colar os valores. - Faixas não podem se sobrepor. Nem duas faixas de CEP, nem duas faixas de peso da mesma área. Faixas encostadas valem:
0a1kg e1a2kg. O peso exato do limite fica na faixa de baixo, então um pacote de 1 kg cai em0a1. - Toda área precisa de faixas de peso. Um
area_codena abaareassem linhas na abapesosé erro. - CEP inicial menor que o final, peso inicial menor que o final. Invertidos, a linha é recusada.
A aba de cenários do modelo#
A planilha modelo do manual traz uma terceira aba, cenarios, que o app ignora na importação. Ela lista pedidos de teste, com CEP, peso, valor do pedido, a área esperada, o frete esperado e o prazo. Serve para conferir a tabela depois de importada: rode os mesmos casos no Simular frete e compare. Vale montar uma aba igual para o seu contrato.
O que não é aceito#
- CSV. Só
.xlsx. - Abas com outros nomes. O app procura
areas(ouarea) epesos(oupeso). - Arquivo acima de 25 MB.
Próximo passo#
Com a planilha pronta, cadastre a transportadora e importe.