DOCS

Calculate 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, bao gồm thuế, phí và bất kỳ khoản phí bổ sung nào mà hải quan, nhà môi giới hoặc nhà vận chuyển có thể tính. Chúng tôi thường đảm bảo các tính toán này bằng cách tự thanh toán hóa đơn thuế, phí và lệ phí trong khi tính phí bạn chính xác những gì chúng tôi tính toán. Trong một số trường hợp hiếm hoi, các tính toán của chúng tôi có thể được sử dụng mà không có sự đảm bảo của chúng tôi, nơi bạn chịu bất kỳ sự chênh lệch nào giữa tính toán của chúng tôi và hóa đơn thuế và phí.

Chuẩn bị đầu vào cho mutation 

Tính toán một landed cost qua API GraphQL bao gồm nhiều bước; chúng tôi đã tổ chức các bước này thành các quy trình làm việc. Cuối cùng, bạn sẽ có mọi thứ bạn cần để thực hiện một cuộc gọi để có được 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à vận chuyển.

Mỗi quy trình làm việc cần dữ liệu đầu vào cụ thể. GraphQL cho phép bạn bao gồm nhiều thông tin hơn yêu cầu; vui lòng tham khảo tài liệu tham khảo API đầy đủ của chúng tôi để xem tất cả các trường có thể. Các trường bắt buộc được đánh dấu như vậy trong tài liệu tham khảo API của chúng tôi, nhưng dấu này chỉ áp dụng cho các trường cần thiết cho chức năng. Một vài trường bổ sung là bắt buộc khi sử dụng sự đảm bảo của chúng tôi.

Dưới đây, chúng tôi đã liệt kê tất cả các trường bắt buộc để tính toán một landed cost được đảm bảo. Hãy chắc chắn rằng bạn đã sẵn sàng thông tin này.

Đầu vào bắt buộc 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ộ schema trong tài liệu tham khảo API GraphQL của chúng tôi. Các trường bắt buộc là:

  • location
    • administrativeAreaCode: Mã bang hoặc tỉnh, gồm hai chữ cái. Chỉ bắt buộc cho CA và BR.
    • countryCode: Mã ISO hai chữ cái 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. Người 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 tham khảo API của chúng tôi), 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 của mặt hàng.
  • quantity: Số lượng của mặt hàng.
  • Một trong những điều sau (bất kỳ điều nào được đặt làm ưu tiên 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 đóng gói các mặt hàng của mình khi nhận được đánh giá lô hàng.

shipmentRatingCreateWorkflowInput

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ụ bạn đã kích hoạt, hãy thay thế quy trình làm việc này và sử dụng shipmentRatingCalculateWorkflow thay thế.

shipmentRatingCreateWorkflowInput truyền đạt chi phí vận chuyển. Xem toàn bộ schema trong tài liệu tham khảo API GraphQL của chúng tôi. 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 mức dịch vụ vận chuyển được sử dụng trong đánh giá lô hàng.
landedCostWorkflowInput

landedCostWorkflowInput quy định các ưu tiên cho tính toán landed cost. Xem toàn bộ schema trong tài liệu tham khảo API GraphQL của chúng tôi. Các trường bắt buộc là:

  • calculationMethod: Chỉ định ưu tiên 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 trả khi giao hàng, hoặc nếu áp dụng một kế hoạch chuyển tiền, chúng được chuyển 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 thế có thể dẫn đến chi phí hạ cánh không còn được đảm bảo, vì điều này thường dẫn đến thuế và phí được trả 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 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 phạm vi 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 trước khi tìm chi phí vận chuyển (được sử dụng cho trọng lượng kích thước).

Các tùy chọn khi tính toán một landed cost

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ự động tạo 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 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 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.

Theo mặc định, nếu bạn không cung cấp một hsCode và chúng tôi gọi Classify, mã hsCode được tạo bởi Classify sẽ không được trả về trong phản hồi vì nó chỉ được sử dụng nội bộ để tạo ra landed cost của bạn. Tuy nhiên, nếu bạn có một đăng ký Classify, chúng tôi sẽ trả về mã HS của Classify's trong phản hồi landed cost của bạn.

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 chi phí vận chuyển đã tính 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.

Gửi biến thể 

Khi bạn đã có dữ liệu đầu vào cần thiết, hãy gửi biến thể GraphQL đến điểm cuối API bằng cách sử dụng thư viện hoặc công cụ 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 biến thể.

Chi phí vận chuyển đã tính toán
Vận chuyển thủ công

Biến thể

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
mutation {
  partyCreateWorkflow(
    input: [
      {
        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" }
        }
      }
    ]
  ) {
    type
    id
    organization
  }

  itemCreateWorkflow(
    input: [
      {
        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 }
        ]
      }
    ]
  ) {
    id
    amount
  }
  cartonizeWorkflow {
    id
    type
    items {
      item {
        id
      }
    }
  }
  shipmentRatingCalculateWorkflow {
    id
    amount
  }
  landedCostCalculateWorkflow(
    input: { endUse: FOR_RESALE, method: DAP, tariffRate: ZONOS_PREFERRED }
  ) {
    id
    duties {
      amount
      currency
    }
    taxes {
      amount
      currency
    }
    fees {
      amount
      currency
    }
  }
}

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

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