import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const salesTaxGroupItem = await conductor.qbd.salesTaxGroupItems.create({
name: 'Standard Tax Group',
salesTaxItemIds: ['80000001-1234567890'],
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(salesTaxGroupItem.id);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
sales_tax_group_item = conductor.qbd.sales_tax_group_items.create(
name="Standard Tax Group",
sales_tax_item_ids=["80000001-1234567890"],
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(sales_tax_group_item.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Standard Tax Group",
"salesTaxItemIds": [
"80000001-1234567890"
],
"barcode": {
"value": "012345678905",
"assignEvenIfUsed": false,
"allowOverride": false
},
"isActive": true,
"description": "Combined city, county, and state sales tax",
"externalId": "12345678-abcd-1234-abcd-1234567890ab"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Standard Tax Group',
'salesTaxItemIds' => [
'80000001-1234567890'
],
'barcode' => [
'value' => '012345678905',
'assignEvenIfUsed' => false,
'allowOverride' => false
],
'isActive' => true,
'description' => 'Combined city, county, and state sales tax',
'externalId' => '12345678-abcd-1234-abcd-1234567890ab'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items"
payload := strings.NewReader("{\n \"name\": \"Standard Tax Group\",\n \"salesTaxItemIds\": [\n \"80000001-1234567890\"\n ],\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Combined city, county, and state sales tax\",\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Standard Tax Group\",\n \"salesTaxItemIds\": [\n \"80000001-1234567890\"\n ],\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Combined city, county, and state sales tax\",\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Standard Tax Group\",\n \"salesTaxItemIds\": [\n \"80000001-1234567890\"\n ],\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Combined city, county, and state sales tax\",\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}"
response = http.request(request)
puts response.read_body{
"id": "80000001-1234567890",
"objectType": "qbd_sales_tax_group_item",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Standard Tax Group",
"barcode": "012345678905",
"isActive": true,
"description": "Combined city, county, and state sales tax",
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"salesTaxItems": [
{
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
}
],
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Create a sales-tax group item
Creates a new sales-tax group item.
import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const salesTaxGroupItem = await conductor.qbd.salesTaxGroupItems.create({
name: 'Standard Tax Group',
salesTaxItemIds: ['80000001-1234567890'],
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(salesTaxGroupItem.id);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
sales_tax_group_item = conductor.qbd.sales_tax_group_items.create(
name="Standard Tax Group",
sales_tax_item_ids=["80000001-1234567890"],
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(sales_tax_group_item.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Standard Tax Group",
"salesTaxItemIds": [
"80000001-1234567890"
],
"barcode": {
"value": "012345678905",
"assignEvenIfUsed": false,
"allowOverride": false
},
"isActive": true,
"description": "Combined city, county, and state sales tax",
"externalId": "12345678-abcd-1234-abcd-1234567890ab"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Standard Tax Group',
'salesTaxItemIds' => [
'80000001-1234567890'
],
'barcode' => [
'value' => '012345678905',
'assignEvenIfUsed' => false,
'allowOverride' => false
],
'isActive' => true,
'description' => 'Combined city, county, and state sales tax',
'externalId' => '12345678-abcd-1234-abcd-1234567890ab'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items"
payload := strings.NewReader("{\n \"name\": \"Standard Tax Group\",\n \"salesTaxItemIds\": [\n \"80000001-1234567890\"\n ],\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Combined city, county, and state sales tax\",\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Standard Tax Group\",\n \"salesTaxItemIds\": [\n \"80000001-1234567890\"\n ],\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Combined city, county, and state sales tax\",\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/sales-tax-group-items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Standard Tax Group\",\n \"salesTaxItemIds\": [\n \"80000001-1234567890\"\n ],\n \"barcode\": {\n \"value\": \"012345678905\",\n \"assignEvenIfUsed\": false,\n \"allowOverride\": false\n },\n \"isActive\": true,\n \"description\": \"Combined city, county, and state sales tax\",\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}"
response = http.request(request)
puts response.read_body{
"id": "80000001-1234567890",
"objectType": "qbd_sales_tax_group_item",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"name": "Standard Tax Group",
"barcode": "012345678905",
"isActive": true,
"description": "Combined city, county, and state sales tax",
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"salesTaxItems": [
{
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
}
],
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Authorizations
Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}").
Headers
The ID of the End-User to receive this request.
"end_usr_1234567abcdefg"
Body
The case-insensitive unique name of this sales-tax group item, unique across all sales-tax group items.
NOTE: Sales-tax group items do not have a fullName field because they are not hierarchical objects, which is why name is unique for them but not for objects that have parents.
Maximum length: 31 characters.
31"Standard Tax Group"
The sales-tax items that make up this sales-tax group item. QuickBooks Desktop applies these sales-tax items together as one tax selection while tracking each sales tax separately.
136["80000001-1234567890"]
The sales-tax group item's barcode.
Show child attributes
Show child attributes
Indicates whether this sales-tax group item is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.
true
The sales-tax group item's description that will appear on sales forms that include this item.
"Combined city, county, and state sales tax"
A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.
IMPORTANT: This field must be formatted as a valid GUID; otherwise, QuickBooks will return an error.
"12345678-abcd-1234-abcd-1234567890ab"
Response
Returns the newly created sales-tax group item.
The unique identifier assigned by QuickBooks to this sales-tax group item. This ID is unique across all sales-tax group items but not across different QuickBooks object types.
"80000001-1234567890"
The type of object. This value is always "qbd_sales_tax_group_item".
"qbd_sales_tax_group_item""qbd_sales_tax_group_item"
The date and time when this sales-tax group item was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
"2025-01-01T12:34:56.000Z"
The date and time when this sales-tax group item was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
"2025-02-01T12:34:56.000Z"
The current QuickBooks-assigned revision number of this sales-tax group item object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.
"1721172183"
The case-insensitive unique name of this sales-tax group item, unique across all sales-tax group items.
NOTE: Sales-tax group items do not have a fullName field because they are not hierarchical objects, which is why name is unique for them but not for objects that have parents.
"Standard Tax Group"
The sales-tax group item's barcode.
"012345678905"
Indicates whether this sales-tax group item is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.
true
The sales-tax group item's description that will appear on sales forms that include this item.
"Combined city, county, and state sales tax"
A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.
"12345678-abcd-1234-abcd-1234567890ab"
The sales-tax items that make up this sales-tax group item. QuickBooks Desktop applies these sales-tax items together as one tax selection while tracking each sales tax separately.
Show child attributes
Show child attributes
[
{
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
}
]
The custom fields for the sales-tax group item object, added as user-defined data extensions, not included in the standard QuickBooks object.
Show child attributes
Show child attributes

