DOCS

Calcule um landed cost

Calcule um landed cost

Calcule impostos, taxas e encargos com GraphQL.

GraphQL

Zonos calcula o total de landed cost para remessas internacionais—incluindo impostos, taxas e quaisquer encargos adicionais cobrados por alfândegas, despachantes ou transportadoras. Na maioria dos casos, garantimos esses cálculos pagando a conta final nós mesmos e cobrando exatamente o que calculamos. Em alguns casos, você pode usar nosso landed cost sem garantia, o que significa que você assume a responsabilidade por qualquer diferença entre nosso cálculo e os encargos reais.

Prepare a solicitação 

Calcular um landed cost via API requer várias entradas, que organizamos em fluxos de trabalho. Uma vez concluído, você poderá fazer uma única solicitação para retornar um landed cost com base no destino de envio, itens no carrinho e detalhes de envio.

Cada fluxo de trabalho tem suas próprias entradas obrigatórias. O GraphQL permite que você passe mais dados do que o necessário, mas apenas certos campos são obrigatórios para retornar um landed cost. Estes estão claramente marcados em nossa referência da API para ver todos os campos possíveis.

Observe que alguns campos são condicionalmente obrigatórios se você quiser que seu cálculo seja garantido.

Abaixo, descrevemos todos os campos necessários para calcular um landed cost garantido. Certifique-se de que essas informações estejam incluídas antes de fazer sua solicitação.

Entradas obrigatórias para cálculos garantidos

partyCreateWorkflowInput

O partyCreateWorkflowInput identifica as partes envolvidas e suas localizações. Veja o esquema completo em nossa referência da API GraphQL reference. Os campos obrigatórios são:

  • location
    • administrativeAreaCode: O código do estado ou província, em duas letras. Somente obrigatório para CA e BR.
    • countryCode: O código ISO de duas letras do país.
    • line1: A primeira linha do endereço.
    • postalCode: O código postal ou CEP do endereço.
  • person
    • email: O endereço de e-mail da pessoa.
    • firstName: O primeiro nome da pessoa.
    • lastName: O sobrenome da pessoa.
    • phone: O número de telefone da pessoa.
  • type
    • DESTINATION: As informações de location & person para o destino de envio.
    • ORIGIN: As informações de location para a origem do envio. A person associada à origem do envio não é obrigatória.
itemCreateWorkflowInput

O itemCreateWorkflowInput lista os itens no carrinho. Existem muitos campos opcionais (veja todas as possibilidades em nossa referência da API), mas os campos abaixo são obrigatórios.

  • amount: O preço do item.
  • currencyCode: O código da moeda para o valor do item.
  • quantity: A quantidade do item.
  • Um dos seguintes (qualquer um que esteja definido como sua preferência de chave de item. Sua chave de item conecta informações armazenadas no Catálogo ao item no carrinho e é usada durante a criação do rótulo.)
    • productId: O ID do produto do item.
    • sku: O SKU do item.

As measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) são obrigatórias apenas se você quiser cartonizar seus itens ao obter uma classificação de envio.

cartonsCreateWorkflowInput

O cartonsCreateWorkflowInput requer apenas a entrada em si. Veja o esquema completo em nossa referência da API GraphQL reference para ver todos os valores que podem ser passados. É importante passar as dimensões e o peso da caixa se Zonos estiver calculando o custo de envio.

shipmentRatingCreateWorkflowInput

Este fluxo de trabalho é usado quando você já conhece o serviço de envio e o custo; se você quiser que Zonos calcule esses custos para serviços que você habilitou, troque este fluxo de trabalho e use o shipmentRatingCalculateWorkflow em vez disso.

O shipmentRatingCreateWorkflowInput comunica o custo de envio. Veja o esquema completo em nossa referência da API GraphQL reference. Os campos obrigatórios são:

  • amount: O custo de envio.
  • currencyCode: O código da moeda do custo de envio.
  • serviceLevelCode: O código que indica o nível de serviço de envio usado na classificação de envio.
landedCostWorkflowInput

O landedCostWorkflowInput dita as preferências para o cálculo do landed cost. Veja o esquema completo em nossa referência da API GraphQL reference. Os campos obrigatórios são:

  • calculationMethod: Indica sua preferência sobre como você planeja enviar: DDP (impostos e taxas pré-pagos) ou DAP (ou os impostos e taxas são pagos na entrega, ou se um esquema de remessa se aplica, eles são pagos via um ID fiscal).
    • Se você usar nossa garantia de landed cost, este valor deve sempre ser DDP_PREFERRED, que fornecerá uma cotação DDP quando possível e uma cotação DAP se uma DDP não for permitida. Usar DAP em vez disso pode resultar em custos de importação não garantidos, pois isso geralmente resulta em impostos e taxas pagos na entrega.
  • endUse: Indica se os bens estão sendo vendidos para outra empresa (FOR_RESALE) ou para uso final com um consumidor (NOT_FOR_RESALE).
  • tariffRate: Indica o método que Zonos deve usar para calcular as taxas tarifárias para esta cotação, no caso de haver uma faixa de taxas tarifárias que poderia ser aplicada. *Ao usar nossa garantia de landed cost, isso deve sempre ser ZONOS_PREFERRED.

Adicione o custo de envio calculado: Se você quiser que Zonos calcule o custo de envio para você, substitua o shipmentRatingCreateWorkflow pelo shipmentRatingCalculateWorkflow. Adicione o cartonizeWorkflow se você quiser que Zonos classifique seus itens em caixas antes de encontrar o custo de envio (usado para peso dimensional).

Código HS e opções de envio

GraphQL oferece a flexibilidade de personalizar a solicitação de acordo com sua preferência. Existem algumas opções sobre como incluir códigos HS e custos de envio na solicitação.

Códigos HS

Os códigos HS impactam as taxas de imposto e, portanto, são obrigatórios. Você pode passar o código HS para cada item ou deixar Classify gerá-los.

Passar códigos HS para cada item

Zonos recomenda fortemente o uso de códigos HS específicos para produtos, pois isso leva a uma citação de landed cost mais precisa. Se você souber seus códigos HS, passe o hsCode para cada item durante o itemCreateWorkflow.

Se você passar um código HS, Zonos o validará instantaneamente ao obter uma citação de landed cost. Se o código HS que você forneceu for inválido (ou seja, não existir), Zonos irá re-classify seu item instantaneamente e usará o novo código HS válido em vez do que você forneceu.

Se você precisar de ajuda para gerar códigos HS para seus produtos, aprenda sobre Zonos Classify e como solicitar uma classificação.

Gerar códigos HS com Classify

Se você não passar um hsCode para Zonos, primeiro verificaremos o Zonos Catalog para ver se você tem um código HS armazenado para seu item. Se não tiver, chamaremos Classify para gerar uma classificação que alimentará seu cálculo de landed cost com base nos seguintes campos de detalhes do produto do itemCreateWorkflow: description, category e material. Se os campos de detalhes do seu produto não forem detalhados o suficiente para gerar uma classificação com base na pontuação de confiança do Classify's, o código HS padrão atribuído à sua loja será utilizado.

Custo de envio

Tanto o nível de serviço de envio quanto seu custo impactam os impostos, taxas e encargos e, portanto, são obrigatórios. Zonos pode calcular o envio ou você pode nos passar essa informação.

Calcular envio

Para que Zonos calcule os custos de envio, use o shipmentRatingCalculateWorkflow. As opções de envio retornadas na resposta de envio calculado corresponderão aos serviceLevels que você atribuiu aos perfis de envio no Dashboard.

Solução de problemas: Se você está esperando um serviceLevel na resposta, mas ele não aparece, verifique se o serviceLevel está habilitado e é suportado pelo method que você selecionou.

Adicione o cartonizeWorkflow (que não tem entradas) se você quiser que Zonos classifique seus itens em caixas antes de encontrar o custo de envio (usado para peso dimensional.

Passar custos de envio

Se você souber o serviceLevel e o amount para um envio, pode passar esses valores na parte shipmentRatingCreateWorkflow da solicitação. Usaremos esses valores para calcular quaisquer taxas de transportadora associadas e retorná-las na resposta.

Solicitar um landed cost via API 

Uma vez que você tenha os dados de entrada necessários, envie a mutação GraphQL para o endpoint da API usando a biblioteca ou ferramenta de cliente de sua escolha. Aqui estão alguns exemplos de como você pode estruturar a mutação.

Use esta solicitação quando você estiver fazendo com que Zonos calcule o custo de envio como parte da solicitação de Landed Cost. Nós então calcularemos os impostos e taxas sobre o envio se forem avaliados pelo país de destino.

Mutação

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
mutation CalculateLandedCostWithShipping(
  $parties: [PartyCreateWorkflowInput!]!
  $items: [ItemCreateWorkflowInput!]!
  $landedCostConfig: LandedCostWorkflowInput!
) {
  partyCreateWorkflow(input: $parties) {
    type
    id
    organization
  }

  itemCreateWorkflow(input: $items) {
    id
    amount
  }

  cartonizeWorkflow {
    id
    type
    items {
      item {
        id
      }
    }
  }

  shipmentRatingCalculateWorkflow {
    id
    amount
  }

  landedCostCalculateWorkflow(input: $landedCostConfig) {
    id
    duties {
      amount
      currency
    }
    taxes {
      amount
      currency
    }
    fees {
      amount
      currency
    }
  }
}

Variáveis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
  "parties": [
    {
      "location": {
        "administrativeArea": "Utah",
        "administrativeAreaCode": "UT",
        "countryCode": "US",
        "line1": "345 N 2450 E",
        "line2": "#151",
        "locality": "St George",
        "postalCode": "84790"
      },
      "type": "ORIGIN"
    },
    {
      "location": {
        "administrativeArea": "BC",
        "administrativeAreaCode": "BC",
        "countryCode": "CA",
        "line1": "27 Sussex Dr.",
        "locality": "Victoria",
        "postalCode": "V8T 2V9"
      },
      "person": {
        "email": "test@gmail.com",
        "firstName": "firstName",
        "lastName": "lastName",
        "phone": "5022303021",
        "companyName": "goProTest",
        "metadata": { "key": "key", "value": "value" }
      },
      "type": "DESTINATION"
    },
    {
      "type": "PAYOR",
      "location": {
        "administrativeArea": "ON",
        "administrativeAreaCode": "ON",
        "countryCode": "CA",
        "latitude": 1.2,
        "line1": "asdf",
        "line2": "asdf",
        "locality": "locality",
        "longitude": 3423.2,
        "postalCode": "M4C 1A1"
      },
      "person": {
        "email": "test@gmail.com",
        "firstName": "firstName",
        "lastName": "lastName",
        "phone": "5022303021",
        "companyName": "goProTest",
        "metadata": { "key": "key", "value": "value" }
      }
    }
  ],
  "items": [
    {
      "amount": 69,
      "currencyCode": "USD",
      "countryOfOrigin": "US",
      "quantity": 1,
      "productId": "productId",
      "hsCode": "1006.30",
      "description": "description",
      "measurements": [
        { "type": "WIDTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
        { "type": "WEIGHT", "value": 2, "unitOfMeasure": "POUND" }
      ]
    },
    {
      "amount": 62,
      "currencyCode": "CAD",
      "countryOfOrigin": "US",
      "hsCode": "1006.30",
      "quantity": 1,
      "productId": "productId2",
      "description": "description2",
      "measurements": [
        { "type": "WIDTH", "value": 2, "unitOfMeasure": "CENTIMETER" },
        { "type": "WEIGHT", "value": 2, "unitOfMeasure": "POUND" }
      ]
    }
  ],
  "landedCostConfig": {
    "endUse": "FOR_RESALE",
    "method": "DAP",
    "tariffRate": "ZONOS_PREFERRED"
  }
}

Resposta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
{
  "data": {
    "partyCreateWorkflow": [
      {
        "type": "ORIGIN",
        "id": "party_749959ae-b9ff-4de4-b4ac-59cc990c53ba",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      },
      {
        "type": "DESTINATION",
        "id": "party_cd7ff245-76b6-464f-a7bf-151ebe1f8833",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      },
      {
        "type": "PAYOR",
        "id": "party_00e63a9e-9735-44d9-b129-3b3e76c5df25",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      }
    ],
    "itemCreateWorkflow": [
      {
        "id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e",
        "amount": 69
      },
      {
        "id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115",
        "amount": 62
      }
    ],
    "cartonizeWorkflow": [
      {
        "id": "carton_b34b29c1-ce27-464b-b91b-df8e4a696312",
        "type": "PACKAGE",
        "items": [
          {
            "item": {
              "id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e"
            }
          },
          {
            "item": {
              "id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115"
            }
          }
        ]
      }
    ],
    "shipmentRatingCalculateWorkflow": [
      {
        "id": "shipment_rating_96787309-9510-43cc-b4fa-c341ff80f4cc",
        "amount": 173.2
      },
      {
        "id": "shipment_rating_b0ccb109-7794-4c7c-b5cc-e2cfbbc5c8ac",
        "amount": 190.1
      }
    ],
    "landedCostCalculateWorkflow": [
      {
        "id": "landed_cost_74d3ce11-bff2-4326-9e6f-368e03ac88b4",
        "duties": [
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "taxes": [
          {
            "amount": 3.45,
            "currency": "USD"
          },
          {
            "amount": 3.1,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "fees": [
          {
            "amount": 0.13,
            "currency": "USD"
          },
          {
            "amount": 1.44,
            "currency": "USD"
          }
        ]
      },
      {
        "id": "landed_cost_7bbfd354-028c-457f-8c8e-c81bb8fa09a0",
        "duties": [
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "taxes": [
          {
            "amount": 3.45,
            "currency": "USD"
          },
          {
            "amount": 3.1,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "fees": [
          {
            "amount": 0.13,
            "currency": "USD"
          },
          {
            "amount": 1.44,
            "currency": "USD"
          }
        ]
      }
    ]
  }
}

Solicitar um landed cost no Dashboard 

Você também pode calcular custos de importação diretamente no Zonos Dashboard sem usar a API. Isso é útil para testar cálculos, treinar sua equipe ou obter cotações rápidas para consultas de clientes.

O Dashboard usa os mesmos endpoints da API descritos acima, portanto, os resultados corresponderão ao que você obteria de chamadas diretas à API. Isso torna uma ótima maneira de validar sua integração com a API ou explorar como diferentes entradas afetam os cálculos.

Usando a calculadora do Dashboard

Com a calculadora de landed cost no Dashboard, você pode obter cotações com taxas de envio calculadas, criar cotações com custos de envio conhecidos ou processar várias cotações em massa.

Use este fluxo quando você souber o nível de serviço de envio e o custo para sua remessa.

  1. Vá para DashboardOrdersQuotes
  2. Clique em Nova cotação
  3. Opcional — Modifique a localização do seu endereço de origem
  4. Selecione um País de destino no dropdown
  5. Insira o valor do envio
    • O nível de serviço é opcional; adicioná-lo nos permite calcular as taxas aplicáveis do transportador
  6. Adicione os detalhes do item para a remessa
    • Quando você insere uma descrição, nós automaticamente classify o produto e geramos um código HS
    • Você pode substituir o código HS gerado, se necessário
    • Para vários itens, clique em Salvar e adicionar outro. Caso contrário, clique em Salvar
  7. Opcional — Clique em Mais opções para alterar:
    • Tipo de venda para Para revenda
    • Modo de entrega para Entrega com impostos não pagos
  8. Clique em Obter cotação
    • Para fazer alterações, clique em Editar formulário e modifique quaisquer detalhes
    • Clique em Obter cotação novamente para atualizar

Uma cotação de landed cost aparecerá à direita, incluindo custos de produto, envio e importação. Expanda a cotação para ver detalhamentos dos itens, envio, impostos, taxas e encargos. Todas as cotações são salvas na página de cotações para referência futura.

Editar cotações existentes: Clique em Cotação novamente no canto superior direito para modificar uma cotação existente em vez de começar do zero.

Benefícios de usar o Dashboard

  • Sem necessidade de codificação — Gere cotações através de uma interface amigável
  • Treinamento da equipe — Ajude membros da equipe não técnicos a entender os componentes de landed cost
  • Validação da API — Verifique se sua integração com a API produz resultados esperados
  • Suporte ao cliente — Gere rapidamente cotações para consultas de clientes
  • Processamento em massa — Lide com múltiplos cálculos de forma eficiente (em breve)

As cotações do Dashboard incluem os mesmos detalhamentos disponíveis através da API, tornando-o um excelente complemento para sua integração automatizada.

Esta página foi útil?