Tax Exclusive Orders
Tax exclusive orders
If a store operates in a region such as the United States, where prices are set without tax included i.e tax exclusive, your channel should process orders with tax calculations made within a separate "taxes"
array.
Within the published menu content (See menu update URL) , you will know the tax rate to apply to each item dependant on the order type.
"deliveryTax": 6000,
"takeawayTax":6000,
"eatInTax": 6000,
You must ensure the following when sending tax exclusive orders;
-
Each item
"price"
must be sent without tax included -
The total payment
"amount"
must include calculated taxes -
The
"taxes"
array must be sent detailing the tax amount applied as an integer with 2 decimal digits (It is optional to specify these per tax class e.g. GST, HST etc) -
Both
deliveryCost
andserviceCharge
must be sent without tax included -
Both
"deliveryCostTax"
and"serviceChargeTax"
should not be included in the"taxes"
array and be sent separately. -
In case there is
discountTotal
amount, you need to calculate item taxes after you have deducted the discounted amount.
Payment Formula
payment total = sum of prices of all products in the order + deliveryCost
+ serviceCharge
+ deliveryCostTax
+ serviceChargeTax
+ _sum of all tax amounts in the taxes array
{
"items": [
{
"plu": "CHIC-02",
"name": "Chicken",
"price": 750,
"quantity": 1,
"subItems": []
}
],
"payment": {
"amount": 1133,
"type": 0
},
"deliveryCost": 200,
"serviceCharge": 300,
"discountTotal": -200,
"taxes": [
{
"taxClassId": 0,
"name": "taxes",
"total": 33
}
],
"deliveryCostTax": 20,
"serviceChargeTax": 30
}
The table below outlines the structure for the dicts in taxes, which each describe a tax class.
Key | Value |
---|---|
taxClassId | the ID corresponding to this tax class as used by Deliverect |
name | the display name for this category of taxes, which is how it should be printed on a receipt |
total | the sum of all tax amounts for this category |
A note on taxClassIds
We have yet to formalize tax class IDs. In the future, expect menu push requests to include which tax classes (by ID) should be applied to which product(s). For now, we will not use the provided value sent by your channel API.
Testing with Tax Exclusive Accounts
You can check this by going to the Locations page and clicking on the Edit button for the location. Next, activate the Show More toggle. The Tax Exclusive option will be displayed.