Comment cela fonctionne-t-il ?
Pour retirer les droits, taxes ou frais d’un prix tout compris, vous utiliserez la configuration reverseAmountDetails dans votre requête API. Cet objet indique à Zonos quels composants sont inclus dans votre prix d’entrée et doivent être retirés pour calculer le vrai prix de base pour les douanes.
Lorsque vous envoyez un prix tout compris avec la configuration reverseAmountDetails correspondante, Zonos va :
- Analyser le prix tout compris et les paramètres spécifiés.
- Déterminer quels composants (droits, taxes, frais) doivent être retirés.
- Calculer le prix de base en retirant ces composants.
- Retourner à la fois le prix de base ajusté et une ventilation des montants retirés.
Guide API
Pour intégrer la inclusive pricing dans votre flux de travail, incluez l’objet reverseAmountDetail dans la requête itemCreateWorkflow.
Configuration de la requête
Passer reverseAmountDetail indique à Zonos de retirer les droits, taxes et/ou frais. Si cette configuration n’est pas passée, le calcul standard du landed cost sera effectué.
itemReverseAmountTypeDéfinit quels composants sont inclus dans le prix. Vous pouvez choisir parmi :
TAX: Seule la taxe est incluse.DUTY: Seul le droit est inclus.DUTY_TAX: Droits et taxes sont inclus.TAX_FEE: Taxes et frais sont inclus.DUTY_FEE: Droits et frais sont inclus.DUTY_TAX_FEE: Droits, taxes et frais sont tous inclus.
taxRateCountryIndique le pays dont le rate de taxe est inclus dans le prix. Ceci est optionnel.
- Si non spécifié, le système utilise par défaut le rate de taxe du pays de destination.
- La valeur doit être un code pays ISO valide.
dutyRateCountryIndique le pays dont le rate de droit est inclus dans le prix. Ceci est optionnel.
- Si non spécifié, le système utilise par défaut le rate de taxe du pays de destination.
- La valeur doit être un code pays ISO valide.
serviceLevelCodesRequis uniquement si itemReverseAmountType inclut FEE.
- Spécifie quels frais de niveau de service d’expédition sont inclus dans le prix.
- La valeur doit être un tableau de codes de niveau de service.
status (réponse uniquement)Indique le résultat du calcul inverse. Ce champ est retourné dans la réponse :
APPLIED: Le calcul inverse a été appliqué avec succès.NOT_APPLIED_UNDER_DE_MINIMIS: Aucun calcul appliqué car la valeur est inférieure au seuil de minimis.NOT_APPLIED_NEGATIVE_VALUE: Calcul ignoré pour éviter une valeur négative.
Exemple API
Une fois que vous avez préparé les données d’entrée requises, envoyez la mutation GraphQL à l’API en utilisant votre client ou outil préféré.
Mutation
mutation {
partyCreateWorkflow(
input: [
{ type: ORIGIN, location: { countryCode: US } }
{
type: DESTINATION
location: { countryCode: CA, administrativeAreaCode: "AB" }
}
]
) {
id
}
itemCreateWorkflow(
input: [
{
productId: "product-1"
hsCode: "9503.00.9079"
countryOfOrigin: US
amount: 100
quantity: 1
currencyCode: USD
reverseAmountDetail: { type: DUTY_TAX, taxRateCountry: CA }
}
]
) {
id
amount
currencyCode
quantity
hsCode
countryOfOrigin
reverseAmountDetail {
originalAmount
amount
status
type
dutyRateCountry
taxRateCountry
taxRate
dutyRate
feeAmount
}
}
cartonsCreateWorkflow(
input: {
length: 8
width: 4
height: 2
dimensionalUnit: INCH
weight: 1
weightUnit: POUND
}
) {
id
}
shipmentRatingCreateWorkflow(
input: {
amount: "30.00"
currencyCode: USD
serviceLevelCode: "ups.worldwide_expedited"
}
) {
id
}
landedCostCalculateWorkflow(input: { calculationMethod: DDP_PREFERRED }) {
id
amountSubtotals {
items
shipping
duties
taxes
fees
}
duties {
amount
currency
note
}
fees {
amount
currency
type
note
}
taxes {
amount
currency
}
method
}
}
Réponse
{
"data": {
"partyCreateWorkflow": [
{ "id": "party_cc85f44d-567a-4cb0-984f-17a0e2d97f78" },
{ "id": "party_0kcf5m0x404q6" }
],
"itemCreateWorkflow": [
{
"id": "item_0kcf5rsa420zy",
"amount": 95.0,
"currencyCode": "USD",
"quantity": 1,
"hsCode": "9503.00.9079",
"countryOfOrigin": "US",
"reverseAmountDetail": [
{
"originalAmount": 100,
"amount": 95.0,
"status": "APPLIED",
"type": "DUTY_TAX",
"dutyRateCountry": "CA",
"taxRateCountry": "CA",
"taxRate": 0.05,
"dutyRate": null,
"feeAmount": null
}
]
}
],
"cartonsCreateWorkflow": [{ "id": "carton_0kcf5rth4057g" }],
"shipmentRatingCreateWorkflow": {
"id": "shipment_rating_0kcf5rtpc057t"
},
"landedCostCalculateWorkflow": [
{
"id": "lc-6bfd94d67d2e43e5b5cf1143d56ca01e",
"amountSubtotals": {
"items": 95.0,
"shipping": 30.0,
"duties": 0.0,
"taxes": 5.2,
"fees": 9.5
},
"duties": [],
"fees": [
{
"amount": 7.16,
"currency": "USD",
"feeType": "ADVANCEMENT",
"type": "ADVANCEMENT",
"note": null
},
{
"amount": 1.77,
"currency": "USD",
"feeType": "BROKERAGE_FEE",
"type": "BROKERAGE_FEE",
"note": null
},
{
"amount": 0.57,
"currency": "USD",
"feeType": "CURRENCY_CONVERSION_FEE",
"type": "CURRENCY_CONVERSION_FEE",
"note": null
}
],
"taxes": [
{ "amount": 4.75, "currency": "USD" },
{ "amount": 0.36, "currency": "USD" },
{ "amount": 0.09, "currency": "USD" }
],
"method": "DDP"
}
]
}
}
Reverse inclusive pricing
Retirez les droits, taxes et frais de votre prix tout compris via API.
BETA
La Zonos de inclusive pricing vous permet d’envoyer un prix tout compris — incluant déjà droits, taxes et/ou frais — et de recevoir en retour le prix de base pour la documentation douanière. Cela vous permet d’afficher un prix tout compris aux acheteurs tout en déclarant un prix de base clair, non inclusif, pour la facture commerciale. Cette solution est idéale pour les marchés où la inclusive pricing est attendue ou requise, vous aidant à soutenir des stratégies de tarification globales tout en maintenant la précision et la conformité douanières.