Duty Calculation¶
Api SMC_TAXO V2 allow to estimate duty fees.
Base URL = https://taxo.imxpostal.fr/api
Description of api¶
Méthode : POST
Headers : * x-api-key : Secret code given by IMX
Url : https://taxo.imxpostal.fr/api/v1.1/duty_calculation
JSON Request Body Format¶
{ "products": [ { "identification": { "value": string }, "weight": number, "weight_unit": string, "quantity": number, "unit_price": number, "currency_unit_price": string, "unit_ship_price": number, "unit_packaging_price": number, "unit_insurance_price": number, "origin_country": string, "transport": { "type": string, "id": number }, } ], "lang": string, "from_country": string, "to_country": string, "from_district": string, "to_district": string, "shipment_type": string, "global_ship_price": number, "currency_global_ship_price": string, "global_packaging_price": number, "currency_global_packaging_price": string, "global_insurance_price": number, "currency_global_insurance_price": string, "included_tax": boolean, "incoterm": string, "extra_fees": number, "sender": { "pro": boolean, "revenue_country_annual": number, "currency_revenue_country_annual": string }, "transport": { "type": string, "id": number }, "transit_fees" : { "percentage": null, "amount" : 10, "currency" : "EUR", "on_products_price": false, "on_shipping_products_price": false, "on_global": true }, "receiver": { "pro": boolean, "activity_id": string } }
Request fields¶
"products" / "identification" / "value"¶
You need to fill this field with a HTS Code version 2017. Between 8 to 13 digits numbers.
Examples : 9503006100
Type : string
Required : yes
"products" / "weight"¶
You need to fill the "weight" field of the product with a number.
Examples : 12 or 3.5
Type : number
Required : yes if "unit_ship_price" and "currency_unit_ship_price"are not mentionned. Or if you request Switzerland in "from_country".
"products" / "weight_unit"¶
You can fill the "weight_unit" field with one of this two labels :
- "kg" : if you use the international metric system
- "lbs" : if you use the imperial system
Type : string
Required : yes if "unit_ship_price" and "currency_unit_ship_price"are not mentionned. Or if you request Switzerland in "from_country".
"products" / "quantity"¶
You need to fill the "quantity" field with a entire number representing your product units.
Examples : 1 or 9
Type : number
Required : yes
"products" / "unit_price"¶
You need to fill the "unit_price" field with a number representing the price of one item.
Examples : 39 or 99.90
Type : number
Required : yes.
"products" / "currency_unit_price"¶
You need to fill the "currency_unit_price" field of the product with a currency iso Alpha 3. Download the list of currencies with them name and code.
Examples : "EUR" or "CAD"
Type : string
Required : yes
"products" / "unit_ship_price"¶
You need to fill the "unit_ship_price" field of the product with a number.
Examples : 19 or 34.37
Type : number
Required : yes
"products" / "unit_packaging_price"¶
You need to fill the "unit_packaging_price" field of the product with a number.
Examples : 19 or 34.37
Type : number
Required : yes
"products" / "unit_insurance_price"¶
You need to fill the "unit_insurance_price" field of the product with a number.
Examples : 19 or 34.37
Type : number
Required : yes
"products" / "origin_country"¶
You need to fill the "origin_country" field with the Iso Alpha 2 or 3 code from where the product had build.
Examples : "FRA" or "VEN"
Type : string
Required : yes
"products" / "transport" / "type"¶
You need to fill the "transport" field of the shipping product(s) price.
Type : string
Required : optional (required if you want to know the duty fees by product)
"products" / "transport" / "id"¶
You need to fill the "transport" field of the shipping product(s) price with an id number. Download the list of carriers and freight forwarders.
Type : string
Required : optional (required if you want to know the duty fees by product)
"products" / "unit"¶
You need to fill the "unit" field with a entire number representing an other feature of product.
Examples : 1 or 9
Type : number
Required : optional
"products" / "unit_type"¶
You need to fill the "unit_price" field with a number representing the price of one item.
Examples : 39 or 99.90
Type : number
Required : optional and yes es if "unit" is mentioned.
"lang"¶
You need to fill this field with a web language code of your product name or description.
3 languages are available :
- fr = french
- en = english
- es = spanish
Examples : "fr"
Type : string
Required : yes
"from_country"¶
You need to fill the "from_country" field with the country english label or Iso Alpha 2 or 3 from where the product is sent.
Examples : "Bulgaria" or "ZHN"
Type : string
Required : yes
"from_district"¶
You need to fill the "from_district" field with the Iso codes of the district from where the product is sent. Download the list of district.
Examples : "AL-11" or "FR-GES"
Type : string
Required : yes
"to_country"¶
You need to fill the "to_country" field with the country english label or Iso Alpha 2 or 3 from where the product arrives.
Examples : "Brazil" or "GLP"
Type : string
Required : yes
"to_district"¶
You need to fill the "to_district" field with the Iso codes of the district from where the product arrives. Download the list of district.
Examples : "AL-11" or "FR-GES"
Type : string
Required : yes
"shipment_type"¶
GLOBAL : global shipping
ARTICLE : One ship price per article
Type : enum
Required: yes
"global_ship_price"¶
You need to fill the "global_ship_price" field with a number.
Examples : 450 or 3451.87
Type : number
Required : yes if shipment_type is GLOBAL
"currency_global_ship_price"¶
You need to fill the "currency_global_ship_price" field of the product with a currency iso Alpha 3.
Examples : "USD" or "AUD"
Type : string
Required : yes if shipment_type is GLOBAL
"global_packaging_price"¶
You need to fill the "global_packaging_price" field with a number.
Examples : 450 or 3451.87
Type : number
Required : yes if shipment_type is GLOBAL
"currency_global_packaging_price"¶
You need to fill the "currency_global_packaging_price" field of the product with a currency iso Alpha 3.
Examples : "USD" or "AUD"
Type : string
Required : yes if shipment_type is GLOBAL
"global_insurance_price"¶
You need to fill the "global_insurance_price" field with a number.
Examples : 450 or 3451.87
Type : number
Required : yes if shipment_type is GLOBAL
"currency_global_insurance_price"¶
You need to fill the "currency_global_insurance_price" field of the product with a currency iso Alpha 3.
Examples : "USD" or "AUD"
Type : string
Required : yes if shipment_type is GLOBAL
"included_tax"¶
If you fill with true, we consider that the product(s) price is tax incl. So we will deduct the taxes attached to the departure country from the duties & taxes amount. If you fill with false or no value, we consider that the product(s) price is tax excl.
Examples : true or false
Type : boolean
Required : optional
"incoterm"¶
2 choices : if it's CIF, we calcul the duties and taxes on product(s) and shipping price(s). If it's FOB, only on product(s).
Examples : CIF or FOB
Type : string
Required : optional
"extra_fees"¶
You can add extra fees to duties & taxes amount. You need to fill the "extra_fees" field with a number.
Examples : 0.02 or 0.1 (0.02 = 2% / 0.1 = 10%)
Type : number
Required : optional
"sender" / "pro"¶
You need to fill the "pro" field with true or false dependind if the sender is a business company or not.
Type : boolean
Required : yes
"sender" / "revenue_country_annual"¶
You need to fill the "revenue_country_annual" field with a number.
Examples : 34560 or 234567.98
Type : number
Required : yes if "sender" / "pro" field is "pro" and from_country & to_country are European countries.
"sender" / "currency_revenue_country_annual"¶
You need to fill the "currency_global_ship_price" field with a currency iso Alpha 3.
Examples : "USD" or "AUD"
Type : string
Required : yes if "sender" / pro" field is "pro" and from_country & to_country are European countries.
"receiver" / "pro"¶
You need to fill the "pro" field by "true" or "false" dependind if the receiver is a business company or not.
Type : boolean
Required : yes
"receiver" / "activity_id"¶
You need to fill the "activity_id" field with an activity code. Download the list of companies activities.
Examples : "0112Z" or "7161A"
Type : string
Required : yes if "receiver" / "pro" field is "pro".
"transport" / "type"¶
You can fill the "type" field of the transport company with "CARRIER" or "FREIGHT_FORWARDER".
Type : string
Required : optional (required if you want to know the duty fees)
"transport" / "id"¶
You can fill the "id" field of the transport company with an entire number.
Download the list of carriers and freight forwarders.
Examples : "01" or "28" Type : string Required : optional (required if you want to add automaticaly the duty fees)
"transit_fees" / "percentage"¶
You can fill the "percentage" field of your duty fees. Examples : "0.01" or "0.3" (0.01 = 1% / 0.3 = 30%) Type : number Required : optional
"transit_fees" / "amount"¶
You can fill the "amount" field of your duty fees. Examples : "10" or "29.99" Type : number Required : optional
"transit_fees" / "currency"¶
You can fill the "amount" field of your duty fees. Examples : "10" or "29.99" Type : number Required : optional (required you filled "transit_fees" / "amount" )
"transit_fees" / "on_products_price"¶
You have three choices : on_products_price / on_shipping_products_price / on_global If on_products_price = true, the transit_fees will be calculated only on the price of product(s). Examples : "true" or "false" Type : boolean Required : optional but required if you fill a value in transit_fees, percentage or amount/currency
"transit_fees" / "on_shipping_products_price"¶
You have three choices : on_products_price / on_shipping_products_price / on_global If on_shipping_products_price = true, the transit_fees will be calculated only on the price of shipping. Examples : "true" or "false" Type : boolean Required : optional but required if you fill a value in transit_fees, percentage or amount/currency
"transit_fees" / "on_global"¶
You have three choices : on_products_price / on_shipping_products_price / on_global If on_global = true, the transit_fees will be calculated only on the price of product(s) and the shipping. Examples : "true" or "false" Type : boolean Required : optional but required if you fill a value in transit_fees, percentage or amount/currency
JSON Response Format¶
{ "products": [ { "vat": [ { "label": "string", "percentage": number, "product_taxes_amount": number, "shipping_taxes_amount": number, "packaging_taxes_amount": number, "insurance_taxes_amount": number, "message": "string" } ], ], "shipping_global": { "vat": [ { "label": "string", "amount": number, "percentage": number } ] }, "packaging_global": { "vat": [ { "label": "string", "amount": number, "percentage": number } ] }, "insurance_global": { "vat": [ { "label": "string", "amount": number, "percentage": number } ] }, "incoterm": "string", "extra_fees": { "percentage": number, "amount": number, "currency": "string" }, "global": { "amount": number }, "timestamp": number }
Response fields & values¶
"products" / "vat" / "label"¶
The value is the label of VAT tax. It depends on the "to_country" field in the request.
Examples : vat or gst
File type : string
"products" / "vat" / "percentage"¶
The value is the percentage (%) of VAT tax.
Examples : 3 or 1.5
File type : number
"products" / "vat" / "product_taxes_amount"¶
The value is the amount of : ("unit_ship_price" x "products" / "vat" / "percentage"). The currency of this amount depends on "currency_unit_ship_price".
Examples : 3.45 or 2
File type : number
"products" / "vat" / "shipping_taxes_amount"¶
The value is the amount of : ("unit_price" x "products" / "vat" / "percentage"). The currency of this amount depends on "currency_unit_ship_price".
Examples : 2.88 or 9
File type : number
"products" / "vat" / "packaging_taxes_amount"¶
The value is the amount of : ("unit_price" x "products" / "vat" / "percentage"). The currency of this amount depends on "currency_unit_ship_price".
Examples : 2.88 or 9
File type : number
"products" / "vat" / "insurance_taxes_amount"¶
The value is the amount of : ("unit_price" x "products" / "vat" / "percentage"). The currency of this amount depends on "currency_unit_ship_price".
Examples : 2.88 or 9
File type : number
"message"¶
The value is the locale rule.
Examples : European Country
File type : string
"shipping_global" / "vat" / "label"¶
The value is the label of VAT tax. It depends on the "to_country" field in the request.
Examples : vat or gst
File type : string
"shipping_global" / "vat" / "amount"¶
The value is the amount of : ("global_ship_price" x "shipping_global" / "vat" / "percentage"). The currency of this amount depend of "currency_global_ship_price".
Examples : 345 or 29.99
File type : number
"shipping_global" / "vat" / "percentage"¶
The value is the percentage (%) of VAT tax.
Examples : 3 or 1.5
File type : number
"packaging_global" / "vat" / "label"¶
The value is the label of VAT tax. It depends on the "to_country" field in the request.
Examples : vat or gst
File type : string
"packaging_global" / "vat" / "amount"¶
The value is the amount of : ("global_ship_price" x "packaging_global" / "vat" / "percentage"). The currency of this amount depend of "currency_global_ship_price".
Examples : 345 or 29.99
File type : number
"packaging_global" / "vat" / "percentage"¶
The value is the percentage (%) of VAT tax.
Examples : 3 or 1.5
File type : number
"insurance_global" / "vat" / "label"¶
The value is the label of VAT tax. It depends on the "to_country" field in the request.
Examples : vat or gst
File type : string
"insurance_global" / "vat" / "amount"¶
The value is the amount of : ("global_ship_price" x "insurance_global" / "vat" / "percentage"). The currency of this amount depend of "currency_global_ship_price".
Examples : 345 or 29.99
File type : number
"insurance_global" / "vat" / "percentage"¶
The value is the percentage (%) of VAT tax.
Examples : 3 or 1.5
File type : number
"Incoterm"¶
The value is CIF or FOB dependind of your request.
Type : string
Required : yes
"extra_fees" / "percentage"¶
The value is the percentage (%) of VAT tax.
Examples : 3 or 1.5
File type : number
"extra_fees" / "amount"¶
The value is the amount of : ("global_ship_price" x "extra_fees" / "vat" / "percentage"). The currency of this amount depend of "currency_global_ship_price".
Examples : 345 or 29.99
File type : number
"extra_fees" / "currency"¶
The value is the currency.
Examples : EUR
File type : string
"global" / "amount"¶
The value is the sum of all amount fields.
Examples : 1675 or 80.98
File type : number
Warning : 1 product = 1 request / 3 products = 3 requests