DOCS

Calculate a landed cost

Calculate duties, taxes, and fees with GraphQL.

GraphQL

Zonos calculates the total landed cost for international shipments—including duties, taxes, and any additional fees charged by customs, brokers, or carriers. In most cases, we guarantee these calculations by paying the final bill ourselves and charging you exactly what we calculated. In some cases, you can use our landed cost without a guarantee, meaning you assume responsibility for any difference between our calculation and the actual charges.

Prepare the request 

Calculating a landed cost API requires several inputs, which we've organized into workflows. Once complete, you’ll be able to make a single request to return a landed cost based on the shipping destination, items in the cart, and shipping details.

Each workflow has its own required inputs. GraphQL allows you to pass more data than necessary, but only certain fields are required to return a landed cost. These are clearly marked in our API reference to see all possible fields.

Note that some fields are conditionally required if you want your calculation to be guaranteed.

Below, we’ve outlined all fields required to calculate a guaranteed landed cost. Make sure this information is included before making your request.

Request a landed cost via API 

Once you have the required input data, send the GraphQL mutation to the API endpoint using your chosen client library or tool. Here are some examples of how you can structure the mutation.

Use this request when you are having Zonos calculate the shipping cost as part of the Landed Cost request. We will then calculate duties and taxes on shipping if they are assessed by the destination country.

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

Next step: Create an order

After you calculate a landed cost and receive the landedCostId from the API response, you should create an order to finalize the transaction in the Zonos system. Use the orderCreate mutation and pass in the landedCostId from your quote. Learn more about creating orders.


Request a landed cost in Dashboard 

You can also calculate landed costs directly in Zonos Dashboard without using the API. This is helpful for testing calculations, training your team, or getting quick quotes for customer inquiries.

Dashboard uses the same API endpoints described above, so the results will match what you'd get from direct API calls. This makes it a great way to validate your API integration or explore how different inputs affect the calculations.

Using the Dashboard calculator

With the landed cost calculator in Dashboard, you can get quotes with calculated shipping rates, create quotes with known shipping costs, or process multiple quotes in bulk.

Use this flow when you know the shipping service level and cost for your shipment.

  1. Go to DashboardOrdersQuotes
  2. Click New quote
  3. Optional — Modify the location of your ship-from address
  4. Select a Destination country from the dropdown
  5. Enter the shipping amount
    • The service level is optional; adding it allows us to calculate applicable carrier fees
  6. Add the item details for the shipment
    • When you enter a description, we automatically classify the product and generate an HS code
    • You can overwrite the generated HS code if needed
    • For multiple items, click Save and add another. Otherwise, click Save
  7. Optional — Click More options to change:
    • Sale type to For resale
    • Delivery mode to Delivery duties unpaid
  8. Click Get quote
    • To make changes, click Edit form and modify any details
    • Click Get quote again to update

A landed cost quote will appear on the right, including product, shipping, and import costs. Expand the quote to see detailed breakdowns of items, shipping, duties, taxes, and fees. All quotes are saved on the quotes page for future reference.

Edit existing quotes: Click Quote again in the top right to modify an existing quote rather than starting from scratch.

Benefits of using Dashboard

  • No coding required — Generate quotes through a user-friendly interface
  • Team training — Help non-technical team members understand landed cost components
  • API validation — Verify your API integration produces expected results
  • Customer support — Quickly generate quotes for customer inquiries
  • Bulk processing — Handle multiple calculations efficiently (coming soon)

Dashboard quotes include the same detailed breakdowns available through the API, making it an excellent complement to your automated integration.

Book a demo

Was this page helpful?


Get support·Legal docs·© 2026 Zonos