NetSuite - TaxCodes, TaxRates and TaxGroups

NetSuite has a variety of endpoints related to tax information, and the following guide clarifies how Cloud Elements maps the different tax endpoints.

/tax-codes 

Our tax-codes API is mapped to NetSuite's TaxType endpoint. Here's a sample payload from our tax-codes endpoint:

{ "internalId": "-4", "name": "County" }

/SalesTaxItem

Using the /{objectName} where objectName was SalesTaxItem, you will be able to retrieve data from NetSuite's TaxCode endpoint. Sample payload: 

{
    "internalId": "636",
    "itemId": "New York County",
    "isInactive": false,
    "rate": "1.50%",
    "includeChildren": true,
    "taxAgency": {
      "internalId": "1339",
      "name": "New York County"
    },
    "taxAccount": {
      "internalId": "37",
      "name": "Sales Taxes Payable"
    },
    "taxType": {
      "internalId": "-4",
      "name": "County"
    }
  }

Note that the "taxType" field is identical to the payload that you received from the CE standardized GET /tax-codes.

/tax-rate

Finally, the /tax-rate endpoint is mapped to the taxGroup NetSuite resource, returning the following payload: 

 { "itemId": "NY - Manhattan", "internalId": "638", "isDefault": false, "isInactive": false, "includeChildren": true, "rate": 8.5, "nexusCountry": { "internalId": "US" } }

NetSuite Limitation

When using the tax codes (SalesTaxItems) endpoint, there is no association returned for TaxGroups and no way to force the return of that association.