DOCS

Calculate landed cost graphql

/

Beregne en landed cost

Beregne afgifter, skatter og gebyrer med GraphQL.

GraphQL

Zonos beregner den samlede landed cost for forsendelser, som inkluderer afgifter, skatter og eventuelle yderligere gebyrer, som told, mæglere eller transportører måtte opkræve. Vi garanterer ofte disse beregninger ved at betale afgiften, skatten og gebyrregningen selv, mens vi opkræver dig præcis det, vi beregner. I sjældne tilfælde kan vores beregninger bruges uden vores garanti, hvor du påtager dig enhver forskel mellem vores beregning og afgift- og skatteregningen.

Forbered mutationsinput 

At beregne en landed cost via GraphQL API involverer flere trin; vi har organiseret disse trin i arbejdsgange. I slutningen vil du have alt, hvad du behøver for at foretage et opkald for at få en landed cost baseret på forsendelsesdestinationen, varerne i indkøbskurven og forsendelsen.

Hver arbejdsgang kræver specifikke inputdata. GraphQL giver dig mulighed for at inkludere mere information end nødvendigt; se venligst vores fulde API-referencer for at se alle mulige felter. Nødvendige felter er markeret som sådanne i vores API-referencer, men denne markering gælder kun for felter, der er nødvendige for funktionalitet. Et par yderligere felter er nødvendige, når du bruger vores garanti.

Nedenfor har vi listet alle nødvendige felter for at beregne en garanteret landed cost. Sørg for, at du har disse oplysninger klar.

Nødvendige input til garanterede beregninger

partyCreateWorkflowInput

partyCreateWorkflowInput identificerer de involverede parter og deres placeringer. Se det fulde skema i vores GraphQL API reference. Nødvendige felter er:

  • location
    • administrativeAreaCode: Koden for staten eller provinsen, i to bogstaver. Kun nødvendigt for CA og BR.
    • countryCode: Den to-bogstavs ISO-kode for landet.
    • line1: Den første linje af adressen.
    • postalCode: Postnummeret eller zip-koden for adressen.
  • person
    • email: E-mailadressen til personen.
    • firstName: Fornavnet på personen.
    • lastName: Efternavnet på personen.
    • phone: Telefonnummeret til personen.
  • type
    • DESTINATION: location & person oplysningerne for forsendelsesdestinationen.
    • ORIGIN: location oplysningerne for forsendelsesoprindelsen. person tilknyttet forsendelsesoprindelsen er ikke nødvendig.
itemCreateWorkflowInput

itemCreateWorkflowInput lister varerne i indkøbskurven. Der er mange valgfrie felter (se alle muligheder i vores API-referencer), men felterne nedenfor er nødvendige.

  • amount: Prisen på varen.
  • currencyCode: Valuta koden for varebeløbet.
  • quantity: Mængden af varen.
  • Et af følgende (hvad end der er indstillet som din vare nøgle præference. Din vare nøgle forbinder oplysninger gemt i Kataloget til varen i indkøbskurven og bruges under oprettelse af etiketter.)
    • productId: Vare ID'et.
    • sku: Vare SKU'en.

measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) er kun nødvendige, hvis du ønsker at kartonisere dine varer, når du får en forsendelsesvurdering.

shipmentRatingCreateWorkflowInput

Denne arbejdsgang bruges, når du allerede kender forsendelsestjenesten og omkostningerne; hvis du ønsker, at Zonos skal beregne disse omkostninger for de tjenester, du har aktiveret, skal du udskifte denne arbejdsgang og bruge shipmentRatingCalculateWorkflow i stedet.

shipmentRatingCreateWorkflowInput kommunikerer forsendelsesomkostningen. Se det fulde skema i vores GraphQL API reference. Nødvendige felter er:

  • amount: Forsendelsesomkostningen.
  • currencyCode: Valuta koden for forsendelsesomkostningen.
  • serviceLevelCode: Koden, der angiver forsendelsestjenesteniveauet, der anvendes i forsendelsesvurderingen.
landedCostWorkflowInput

landedCostWorkflowInput dikterer præferencer for beregningen af landed cost. Se det fulde skema i vores GraphQL API reference. Nødvendige felter er:

  • calculationMethod: Angiver din præference for, hvordan du planlægger at sende: DDP (forudbetalte afgifter og skatter) eller DAP (enten afgifter og skatter betales ved levering, eller hvis en remittance-ordning gælder, de betales via et skatte-ID).
    • Hvis du bruger vores landed cost garanti, bør denne værdi altid være DDP_PREFERRED, som vil give et DDP tilbud, når det er muligt, og et DAP tilbud, hvis et DDP ikke er tilladt. At bruge DAP i stedet kan resultere i, at landed costs ikke længere er garanteret, da dette typisk resulterer i afgifter og skatter betalt ved levering.
  • endUse: Angiver, om varerne sælges til en anden virksomhed (FOR_RESALE) eller til slutbrug med en forbruger (NOT_FOR_RESALE).
  • tariffRate: Angiver den metode, som Zonos skal bruge til at beregne toldsatserne for dette tilbud, i tilfælde af at der er et udvalg af toldsatser, der kan anvendes. *Når du bruger vores landed cost garanti, bør dette altid være ZONOS_PREFERRED.

Tilføj beregnet forsendelse: Hvis du ønsker, at Zonos skal beregne forsendelsesomkostningen for dig, skal du erstatte shipmentRatingCreateWorkflow med shipmentRatingCalculateWorkflow. Tilføj kartonizeWorkflow, hvis du ønsker, at Zonos skal sortere dine varer i kartoner, før du finder forsendelsesomkostningen (bruges til dimensional vægt).

Muligheder ved beregning af en landed cost

GraphQL giver dig fleksibiliteten til at tilpasse anmodningen efter dine præferencer. Der er et par muligheder for, hvordan du inkluderer HS-koder og fragtomkostninger i anmodningen.

HS-koder

HS-koder påvirker toldsatser og er derfor påkrævet. Du kan angive HS-koden for hver vare eller lade Classify generere dem.

Angiv HS-koder for hver vare

Zonos anbefaler kraftigt at bruge produktspecifikke HS-koder, da det fører til et mere præcist landed cost tilbud. Hvis du kender dine HS-koder, skal du angive hsCode for hver item under itemCreateWorkflow.

Hvis du angiver en HS-kode, vil Zonos validere den løbende, når du får et landed cost tilbud. Hvis den HS-kode, du har angivet, er ugyldig (det vil sige, at den ikke eksisterer), vil Zonos re-classify din vare løbende og bruge den nye, gyldige HS-kode i stedet for den, du har angivet.

Hvis du har brug for hjælp til at generere HS-koder til dine produkter, kan du lære om Zonos Classify og hvordan du anmoder om en klassifikation.

Generer HS-koder med Classify

Hvis du ikke angiver Zonos en hsCode, vil vi først tjekke Zonos Katalog for at se, om du har en HS-kode gemt for din vare. Hvis du ikke har det, vil vi kalde Classify for at generere en klassifikation til at understøtte din landed cost beregning baseret på følgende itemCreateWorkflow produktdetaljefelter: description, category og material. Hvis dine produktdetaljefelter ikke er detaljerede nok til at generere en klassifikation baseret på Classify's confidence scoring, vil den standard HS-kode, der er tildelt din butik, blive brugt.

Som standard, hvis du ikke leverer en hsCode og vi kalder Classify, vil den hsCode, der genereres af Classify, ikke blive returneret i svaret, da den kun vil blive anvendt internt til at generere din landed cost. Men hvis du har et Classify abonnement, vil vi returnere Classify's HS-kode i dit landed cost svar.

Fragtomkostninger

Både fragtserviceniveauet og dets omkostninger påvirker told, skatter og gebyrer og er derfor påkrævet. Zonos kan beregne fragt, eller du kan videregive dette til os.

Beregn fragt

For at få Zonos til at beregne fragtomkostninger, skal du bruge shipmentRatingCalculateWorkflow. De fragtmuligheder, der returneres i det beregnede fragt svar, vil korrelere med de serviceLevels, du har tildelt fragtprofiler i Dashboard.

Fejlfinding: Hvis du forventer et serviceLevel i svaret, men det ikke vises, skal du sikre dig, at serviceLevel er aktiveret og understøttes af den method, du har valgt.

Tilføj cartonizeWorkflow (som ikke har nogen input), hvis du vil have Zonos til at sortere dine varer i kartoner, før du finder fragtomkostningen (bruges til dimensional weight.

Angiv fragtomkostninger

Hvis du kender serviceLevel og amount for en forsendelse, kan du angive disse i shipmentRatingCreateWorkflow delen af anmodningen. Vi vil bruge disse værdier til at beregne eventuelle tilknyttede transportørgebyrer og returnere dem i svaret.

Send mutation 

Når du har de nødvendige inputdata, skal du sende GraphQL-mutation til API-endepunktet ved hjælp af dit valgte klientbibliotek eller værktøj. Her er nogle eksempler på, hvordan du kan strukturere mutation.

Mutation

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

Svar

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

Var denne side nyttig?