Inbound | POST | /tax/compute-tax
Summary
This API is used to compute and fetch tax details.
Description
This API will compute and fetch the tax details. Tax details can optionally be stored in RMS against a unique reference no based on the request parameter “store”.
Tax Computation Logic
The user uploads the applicable tax rate rule (e.g. GST_APPAREL, GST_FOOTWEAR, GST_5, GST_8) using the UI for all HSNs
Caller invokes the APIs with line items (with HSN codes and tax rule)
If Tax Rule is given, that is consumed directly
Else, The system finds the applicable tax rate using the following logic
Find the rule for matching 8 digit HSN code.
If not found, then find rule for matching 6 digit HSN code
From the selling price and state data compute
Base price
Taxes
Tax breakup
Request Params
store
Parameter Name | Data Type | Description | Mandatory |
| Boolean | This parameter specifies if the tax details need to be stored or not. This parameter is true if tax details need to be stored. | yes |
Request
{
"fromCountryCode": "IN",
"fromState": "Karnataka",
"fromTin": "29AADCP7081J1ZY",
"fromZip": "560102",
"referenceNo": "order1234",
"toState": "Gujarat",
"toTin": "19AADCP7081J1ZZ",
"toZip": "394518",
"lineItems": [
{
"actualSellingPricePerUnit": 100.00,
"hsn": "hsn2431",
"lineItemId": 1,
“orderItemCode”:”1”,
“channelSku”:”channel-sku-1”,
"quantity": 1,
"sku": "sku1",
"taxRule": "GST_APPAREL",
"attributes": [
{
"key": "itemName",
"value": "Shirt"
}
]
}
],
"attributes": [
{
"key": "orderTime",
"value": "2021-06-11T15:13:12Z"
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Country Code of Seller | yes |
| String | State of Seller | yes |
| String | Seller GSTIN | yes |
| String | Zip/Pin code of Seller | yes |
| String | Unique Id to identify the order/shipment against which tax is calculated | yes |
| String | State of Customer | yes |
| String | Customer GSTIN | no |
| String | Zip/Pin code of Customer | yes |
| Object[] | Order level extra attributes to be stored | no |
| String | Name of attribute | yes |
| String | Value of attribute | yes |
| Object[] | Line Items for which tax details needs to be calculated | yes |
| Double | Selling price of the item per unit | yes |
| String | HSN code for the product | yes |
| Long | Unique Id to identify the line item | yes |
| Integer | Quantity of the product | yes |
| String | SKU of the product | yes |
| String | Order Item Code in your system | no |
| String | Channel Sku of item | no |
| String | Tax Rule for the product. If passed, this will be used for tax calculation. Otherwise tax rule will be fetched from the HSN-Tax Rule mapping uploaded on UI | no |
| Object[] | LineItem level extra attributes to be stored | no |
| String | Name of attribute | yes |
| String | Value of attribute | yes |
Response
{
"referenceNo": "order1234",
"fromCountryCode": "IN",
"fromTin": "29AADCP7081J1ZY",
"fromState": "Karnataka",
"fromZip": "560102",
"toTin": "19AADCP7081J1ZZ",
"toState": "Gujarat",
"toZip": "394518",
"lineItems": [
{
"lineItemId": 1,
"actualSellingPricePerUnit": 100.0,
"quantity": 1,
"hsn": "hsn2431",
"taxRule": "GST_APPAREL",
"sku": "sku1",
“orderItemCode”:”1”,
“channelSku”:”channel-sku-1”,
"actualSellingPriceTotal": 100.0,
"baseSellingPricePerUnit": 95.24,
"baseSellingPriceTotal": 95.24,
"netTaxAmountPerUnit": 4.76,
"netTaxAmountTotal": 4.76,
"taxRate": 5.0,
"subTaxItemData": [
{
"type": "IGST",
"rate": 5.0,
"taxPerUnit": 4.76,
"taxTotal": 4.76
},
{
"type": "SGST",
"rate": 0.0,
"taxPerUnit": 0.0,
"taxTotal": 0.0
},
{
"type": "CGST",
"rate": 0.0,
"taxPerUnit": 0.0,
"taxTotal": 0.0
}
]
}
]
}
Parameter Name | Data Type | Description |
| Double | Per unit base selling price of the product |
| Double | Total base selling price of the product |
| Double | Per unit tax applicable for the product |
| Double | Total tax applicable for the product |
| Double | Tax Rate applied on the product |
| Object[] | Distribution of tax with tax type |
| Double | Type of tax applicable |
| Double | Rate of this type of tax |
| Double | Per unit tax applicable of this type |
| Double | Total tax applicable of this type |
Note: The other parameters passed in the response are the same as the parameters in the request body.
Example Response with SGST and CGST tax
{
"referenceNo": "order12345",
"fromCountryCode": "IN",
"fromTin": "29AADCP7081J1ZY",
"fromState": "Karnataka",
"fromZip": "560102",
"toTin": "19AADCP7081J1ZZ",
"toState": "Karnataka",
"toZip": "560101",
"lineItems": [
{
"lineItemId": 1,
"actualSellingPricePerUnit": 100.0,
"quantity": 1,
"hsn": "hsn2431",
"taxRule": "GST_APPAREL",
"sku": "sku1",
“orderItemCode”:”1”,
“channelSku”:”channel-sku-1”,
"actualSellingPriceTotal": 100.0,
"baseSellingPricePerUnit": 95.24,
"baseSellingPriceTotal": 95.24,
"netTaxAmountPerUnit": 4.76,
"netTaxAmountTotal": 4.76,
"taxRate": 5.0,
"subTaxItemData": [
{
"type": "IGST",
"rate": 0.0,
"taxPerUnit": 0.0,
"taxTotal": 0.0
},
{
"type": "SGST",
"rate": 2.5,
"taxPerUnit": 2.38,
"taxTotal": 2.38
},
{
"type": "CGST",
"rate": 2.5,
"taxPerUnit": 2.38,
"taxTotal": 2.38
}
]
}
]
}
FAQs
For which countries is tax computation supported by RMS?
Right now, tax computation is supported for India and UAE. For India, tax computation is supported for shipments being transported within India and outside India as well.
If the request parameter “store“ is being passed as true and the data is being stored, where can I see this stored data?
You can see the stored data in the RMS Reports section in RMS UI.