DOCS

Tính toán landed cost - GraphQL

Tính toán một landed cost

Tính toán thuế, phí và lệ phí với GraphQL.

GraphQL

Zonos tính toán tổng landed cost cho các lô hàng quốc tế—bao gồm thuế, phí và bất kỳ lệ phí bổ sung nào do hải quan, môi giới hoặc nhà vận chuyển tính. Trong hầu hết các trường hợp, chúng tôi đảm bảo các tính toán này bằng cách thanh toán hóa đơn cuối cùng và tính phí bạn chính xác theo những gì chúng tôi đã tính. Trong một số trường hợp, bạn có thể sử dụng landed cost của chúng tôi mà không có sự đảm bảo, có nghĩa là bạn chịu trách nhiệm cho bất kỳ sự khác biệt nào giữa tính toán của chúng tôi và các khoản phí thực tế.

Chuẩn bị yêu cầu 

Tính toán một landed cost API yêu cầu một số đầu vào, mà chúng tôi đã tổ chức thành các quy trình làm việc. Khi hoàn tất, bạn sẽ có thể thực hiện một yêu cầu duy nhất để trả về một landed cost dựa trên điểm đến vận chuyển, các mặt hàng trong giỏ hàng và chi tiết vận chuyển.

Mỗi quy trình làm việc có các đầu vào yêu cầu riêng. GraphQL cho phép bạn truyền nhiều dữ liệu hơn mức cần thiết, nhưng chỉ một số trường là bắt buộc để trả về một landed cost. Những trường này được đánh dấu rõ ràng trong tài liệu API của chúng tôi để xem tất cả các trường có thể.

Lưu ý rằng một số trường là bắt buộc có điều kiện nếu bạn muốn tính toán của mình được đảm bảo.

Dưới đây, chúng tôi đã phác thảo tất cả các trường cần thiết để tính toán một landed cost được đảm bảo. Hãy chắc chắn rằng thông tin này được bao gồm trước khi thực hiện yêu cầu của bạn.

Đầu vào cần thiết cho các tính toán được đảm bảo

partyCreateWorkflowInput

partyCreateWorkflowInput xác định các bên liên quan và vị trí của họ. Xem toàn bộ sơ đồ trong tài liệu API GraphQL của chúng tôi tài liệu. Các trường bắt buộc là:

  • location
    • administrativeAreaCode: Mã tiểu bang hoặc tỉnh, gồm hai chữ cái. Chỉ yêu cầu cho CA và BR.
    • countryCode: Mã ISO hai chữ của quốc gia.
    • line1: Dòng đầu tiên của địa chỉ.
    • postalCode: Mã bưu điện hoặc mã zip của địa chỉ.
  • person
    • email: Địa chỉ email của người.
    • firstName: Tên của người.
    • lastName: Họ của người.
    • phone: Số điện thoại của người.
  • type
    • DESTINATION: Thông tin location & person cho điểm đến vận chuyển.
    • ORIGIN: Thông tin location cho nguồn gốc vận chuyển. Thông tin person liên quan đến nguồn gốc vận chuyển không bắt buộc.
itemCreateWorkflowInput

itemCreateWorkflowInput liệt kê các mặt hàng trong giỏ hàng. Có nhiều trường tùy chọn (xem tất cả các khả năng trong tài liệu API), nhưng các trường dưới đây là bắt buộc.

  • amount: Giá của mặt hàng.
  • currencyCode: Mã tiền tệ cho số tiền mặt hàng.
  • quantity: Số lượng của mặt hàng.
  • Một trong các trường sau (tùy thuộc vào sở thích khóa mặt hàng của bạn). Khóa mặt hàng của bạn kết nối thông tin được lưu trữ trong Catalog với mặt hàng trong giỏ hàng và được sử dụng trong quá trình tạo nhãn.)
    • productId: ID sản phẩm của mặt hàng.
    • sku: SKU của mặt hàng.

Các measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) chỉ bắt buộc nếu bạn muốn cartonize các mặt hàng của mình khi nhận được đánh giá lô hàng.

cartonsCreateWorkflowInput

cartonsCreateWorkflowInput chỉ yêu cầu đầu vào chính nó. Xem toàn bộ sơ đồ trong tài liệu API GraphQL của chúng tôi tài liệu để xem tất cả các giá trị có thể được truyền. Việc truyền kích thước và trọng lượng của thùng carton là rất quan trọng nếu Zonos đang tính toán chi phí vận chuyển.

shipmentRatingCreateWorkflowInput

Các quy trình làm việc này được sử dụng khi bạn đã biết dịch vụ vận chuyển và chi phí; nếu bạn muốn Zonos tính toán các chi phí này cho các dịch vụ mà bạn đã kích hoạt, hãy thay thế quy trình làm việc này bằng shipmentRatingCalculateWorkflow.

shipmentRatingCreateWorkflowInput truyền đạt chi phí vận chuyển. Xem toàn bộ sơ đồ trong tài liệu API GraphQL của chúng tôi tài liệu. Các trường bắt buộc là:

  • amount: Chi phí vận chuyển.
  • currencyCode: Mã tiền tệ của chi phí vận chuyển.
  • serviceLevelCode: Mã chỉ định cấp độ dịch vụ vận chuyển được sử dụng trong đánh giá lô hàng.
landedCostWorkflowInput

landedCostWorkflowInput quy định các sở thích cho việc tính toán landed cost. Xem toàn bộ sơ đồ trong tài liệu API GraphQL của chúng tôi tài liệu. Các trường bắt buộc là:

  • calculationMethod: Chỉ định sở thích của bạn về cách bạn dự định vận chuyển: DDP (thuế và phí đã trả trước) hoặc DAP (hoặc thuế và phí được thanh toán khi giao hàng, hoặc nếu có một kế hoạch hoàn trả, chúng sẽ được hoàn trả qua mã số thuế).
    • Nếu bạn sử dụng sự đảm bảo landed cost của chúng tôi, giá trị này luôn nên là DDP_PREFERRED, điều này sẽ cung cấp một báo giá DDP khi có thể và một báo giá DAP nếu một báo giá DDP không được phép. Sử dụng DAP thay vào đó có thể dẫn đến việc chi phí vận chuyển không còn được đảm bảo, vì điều này thường dẫn đến thuế và phí được thanh toán khi giao hàng.
  • endUse: Chỉ định nếu hàng hóa được bán cho một doanh nghiệp khác (FOR_RESALE) hoặc cho mục đích sử dụng cuối cùng với người tiêu dùng (NOT_FOR_RESALE).
  • tariffRate: Chỉ định phương pháp mà Zonos nên sử dụng để tính toán các mức thuế cho báo giá này, trong trường hợp có một loạt các mức thuế có thể được áp dụng. *Khi sử dụng sự đảm bảo landed cost của chúng tôi, điều này luôn nên là ZONOS_PREFERRED.

Thêm chi phí vận chuyển đã tính toán: Nếu bạn muốn Zonos tính toán chi phí vận chuyển cho bạn, hãy thay thế shipmentRatingCreateWorkflow bằng shipmentRatingCalculateWorkflow. Thêm cartonizeWorkflow nếu bạn muốn Zonos sắp xếp các mặt hàng của bạn vào các thùng carton trước khi tìm chi phí vận chuyển (được sử dụng cho trọng lượng kích thước).

Mã HS và tùy chọn vận chuyển

GraphQL mang đến cho bạn sự linh hoạt để tùy chỉnh yêu cầu theo sở thích của bạn. Có một vài tùy chọn cho cách bạn bao gồm mã HS và chi phí vận chuyển trong yêu cầu.

Mã HS

Mã HS ảnh hưởng đến tỷ lệ thuế và do đó là yêu cầu bắt buộc. Bạn có thể truyền mã HS cho từng mặt hàng hoặc để Classify tạo ra chúng.

Truyền mã HS cho từng mặt hàng

Zonos rất khuyến khích việc sử dụng mã HS cụ thể cho sản phẩm vì điều này dẫn đến một báo giá landed cost chính xác hơn. Nếu bạn biết mã HS của mình, hãy truyền hsCode cho mỗi item trong quá trình itemCreateWorkflow.

Nếu bạn truyền một mã HS, Zonos sẽ xác thực nó ngay lập tức khi nhận được báo giá landed cost. Nếu mã HS bạn cung cấp không hợp lệ (có nghĩa là nó không tồn tại), Zonos sẽ tái-classify mặt hàng của bạn ngay lập tức và sử dụng mã HS mới, hợp lệ thay vì mã bạn đã cung cấp.

Nếu bạn cần trợ giúp trong việc tạo mã HS cho các sản phẩm của mình, hãy tìm hiểu về Zonos Classify và cách yêu cầu phân loại.

Tạo mã HS với Classify

Nếu bạn không truyền cho Zonos một hsCode, chúng tôi sẽ kiểm tra trước Zonos Catalog để xem liệu bạn có mã HS được lưu cho mặt hàng của mình hay không. Nếu không, chúng tôi sẽ gọi Classify để tạo ra một phân loại nhằm hỗ trợ tính toán landed cost của bạn dựa trên các trường chi tiết sản phẩm trong itemCreateWorkflow: description, category, và material. Nếu các trường chi tiết sản phẩm của bạn không đủ chi tiết để tạo ra một phân loại dựa trên điểm số độ tin cậy của Classify's, mã HS mặc định được gán cho cửa hàng của bạn sẽ được sử dụng.

Chi phí vận chuyển

Cả cấp độ dịch vụ vận chuyển và chi phí của nó đều ảnh hưởng đến thuế, phí và lệ phí và do đó là yêu cầu bắt buộc. Zonos có thể tính toán chi phí vận chuyển hoặc bạn có thể truyền điều này cho chúng tôi.

Tính toán chi phí vận chuyển

Để Zonos tính toán chi phí vận chuyển, hãy sử dụng shipmentRatingCalculateWorkflow. Các tùy chọn vận chuyển được trả về trong phản hồi tính toán chi phí vận chuyển sẽ tương ứng với các serviceLevels mà bạn đã gán cho các hồ sơ vận chuyển trong Dashboard.

Khắc phục sự cố: Nếu bạn đang mong đợi một serviceLevel trong phản hồi nhưng nó không xuất hiện, vui lòng đảm bảo rằng serviceLevel đã được kích hoạt và được hỗ trợ bởi method mà bạn đã chọn.

Thêm cartonizeWorkflow (không có đầu vào) nếu bạn muốn Zonos sắp xếp các mặt hàng của bạn vào các thùng trước khi tìm chi phí vận chuyển (được sử dụng cho trọng lượng kích thước.

Truyền chi phí vận chuyển

Nếu bạn biết serviceLevelamount cho một lô hàng, bạn có thể truyền những giá trị đó trong phần shipmentRatingCreateWorkflow của yêu cầu. Chúng tôi sẽ sử dụng những giá trị đó để tính toán bất kỳ phí vận chuyển liên quan nào và trả lại chúng trong phản hồi.

Yêu cầu một landed cost qua API 

Khi bạn có dữ liệu đầu vào cần thiết, hãy gửi phép biến đổi GraphQL đến điểm cuối API bằng cách sử dụng thư viện hoặc công cụ khách hàng mà bạn đã chọn. Dưới đây là một số ví dụ về cách bạn có thể cấu trúc phép biến đổi.

Sử dụng yêu cầu này khi bạn đang yêu cầu Zonos tính toán chi phí vận chuyển như một phần của yêu cầu Landed Cost. Chúng tôi sẽ tính toán thuế và phí trên chi phí vận chuyển nếu chúng được đánh giá bởi quốc gia đích.

Biến đổi

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
    }
  }
}

Biến số

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"
  }
}

Phản hồi

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"
          }
        ]
      }
    ]
  }
}

Yêu cầu một landed cost trong Dashboard 

Bạn cũng có thể tính toán chi phí nhập khẩu trực tiếp trong Zonos Dashboard mà không cần sử dụng API. Điều này hữu ích cho việc kiểm tra các phép tính, đào tạo đội ngũ của bạn, hoặc nhận báo giá nhanh cho các yêu cầu của khách hàng.

Dashboard sử dụng các điểm cuối API giống như đã mô tả ở trên, vì vậy kết quả sẽ khớp với những gì bạn nhận được từ các cuộc gọi API trực tiếp. Điều này làm cho nó trở thành một cách tuyệt vời để xác thực tích hợp API của bạn hoặc khám phá cách các đầu vào khác nhau ảnh hưởng đến các phép tính.

Sử dụng máy tính trong Dashboard

Với máy tính landed cost trong Dashboard, bạn có thể nhận báo giá với các mức phí vận chuyển đã tính toán, tạo báo giá với chi phí vận chuyển đã biết, hoặc xử lý nhiều báo giá theo lô.

Sử dụng quy trình này khi bạn biết mức dịch vụ vận chuyển và chi phí cho lô hàng của mình.

  1. Đi tới DashboardĐơn hàngBáo giá
  2. Nhấp vào Báo giá mới
  3. Tùy chọn — Chỉnh sửa địa điểm của địa chỉ gửi hàng của bạn
  4. Chọn một Quốc gia đích từ danh sách thả xuống
  5. Nhập số tiền vận chuyển
    • Mức dịch vụ là tùy chọn; việc thêm nó cho phép chúng tôi tính toán các khoản phí của nhà vận chuyển áp dụng
  6. Thêm chi tiết mặt hàng cho lô hàng
    • Khi bạn nhập mô tả, chúng tôi tự động classify sản phẩm và tạo mã HS
    • Bạn có thể ghi đè mã HS được tạo nếu cần
    • Đối với nhiều mặt hàng, nhấp vào Lưu và thêm cái khác. Nếu không, nhấp vào Lưu
  7. Tùy chọn — Nhấp vào Thêm tùy chọn để thay đổi:
    • Loại bán hàng thành Để bán lại
    • Chế độ giao hàng thành Giao hàng không bao gồm thuế
  8. Nhấp vào Nhận báo giá
    • Để thực hiện thay đổi, nhấp vào Chỉnh sửa biểu mẫu và chỉnh sửa bất kỳ chi tiết nào
    • Nhấp vào Nhận báo giá một lần nữa để cập nhật

Một báo giá landed cost sẽ xuất hiện bên phải, bao gồm sản phẩm, chi phí vận chuyển và chi phí nhập khẩu. Mở rộng báo giá để xem chi tiết phân tích các mặt hàng, vận chuyển, thuế, thuế và phí. Tất cả các báo giá đều được lưu trên trang báo giá để tham khảo trong tương lai.

Chỉnh sửa các báo giá hiện có: Nhấp vào Báo giá lại ở góc trên bên phải để chỉnh sửa một báo giá hiện có thay vì bắt đầu từ đầu.

Lợi ích của việc sử dụng Dashboard

  • Không cần mã hóa — Tạo báo giá thông qua giao diện thân thiện với người dùng
  • Đào tạo đội ngũ — Giúp các thành viên trong đội không chuyên hiểu các thành phần landed cost
  • Xác thực API — Xác minh tích hợp API của bạn tạo ra kết quả mong đợi
  • Hỗ trợ khách hàng — Nhanh chóng tạo báo giá cho các yêu cầu của khách hàng
  • Xử lý theo lô — Xử lý nhiều phép tính một cách hiệu quả (sắp ra mắt)

Các báo giá trong Dashboard bao gồm các phân tích chi tiết giống như có sẵn thông qua API, làm cho nó trở thành một bổ sung tuyệt vời cho tích hợp tự động của bạn.

Trang này có hữu ích không?