post https://api.openborder.com/api/v1/cart/taxes
Calculate taxes and duties for an order.
If products or variant doesn't exists in Direct API catalog, these will be automatically added.
Taxes will be detailed under different keys in the payload depending on the shipping type (cross border -XBD- or local).
Items payload
{
"quantity": number,
"unit_price": number,
"product_id": string,
"sku": string,
"product_name": string,
"description": string,
"origin_country_code": string,
"category": string,
"taxable": boolean,
"requires_shipping": boolean
}
Address payload
{
"country_code": string,
"province": string,
"postal_code": string,
"address1": string | null,
"address2": string | null,
"city": string | null,
"name": string | null
}
ShippingRate payload
{
"shipping_rate_id": string,
"shipping_rate": number
}
TaxRequest payload
{
"ship_from": Address,
"ship_to": Address,
"caller_app": string,
"external_reference_id": string | null,
"currency_code": string,
"order_discount": number,
"items": Item[],
"shipping_rates": ShippingRate[],
"custom_properties"?: object | null
}
Response payload
{
"tax_request_id": string,
"currency_code": string,
"order_discount": number,
"order_subtotal": number,
"created_at": string,
"usd_conversion_rate": number,
"shipment_type": 'xbd' | 'local',
"taxes_by_shipping_rates": {
[key: shipping_rate_id]: {
"shipping_rate": number,
"xbd_taxes": {
"duties": number,
"import_tax": {
"products_tax": number,
"duties_tax": number
},
"shipment_tax": number,
} | null,
"local_taxes": number | null,
// taxes which doesn't apply to specific SKU
"shipping_taxes_breakdown": {
[key: tax_name]: {
"tax": number,
"rate": number,
"type": string,
"juris": string
}
},
"sku_taxes": {
[key: sku]: {
"quantity": number,
"unit_price": number,
"hs_code": string | null,
"xbd_taxes": {
"duties": number,
"import_tax": {
"products_tax": number,
"duties_tax": number
}
} | null,
"local_taxes": number | null,
"taxes_breakdown": {
[key: tax_name]: {
"tax": number,
"rate": number,
"type": string,
"juris": string
}
}
}
}
}
}
}