Retrieve a non-inventory item
Retrieves a non-inventory item by ID.
IMPORTANT: If you need to fetch multiple specific non-inventory items by ID, use the list endpoint instead with the ids parameter. It accepts an array of IDs so you can batch the request into a single call, which is significantly faster.
Path parameters
The QuickBooks-assigned unique identifier of the non-inventory item to retrieve.
The QuickBooks-assigned unique identifier of the non-inventory item to retrieve.
Headers
The ID of the End-User to receive this request.
The ID of the End-User to receive this request.
Response
Returns the specified non-inventory item.
Example response
{
"id": "80000001-1234567890",
"objectType": "qbd_non_inventory_item",
"createdAt": "2025-01-01T12:34:56+00:00",
"updatedAt": "2025-02-01T12:34:56+00:00",
"revisionNumber": "1721172183",
"name": "Printer Ink Cartridge",
"fullName": "Office Supplies:Printer Ink Cartridge",
"barcode": "012345678905",
"isActive": true,
"class": {
"id": "80000001-1234567890",
"fullName": "Administrative"
},
"parent": {
"id": "80000001-1234567890",
"fullName": "Office Supplies"
},
"sublevel": 1,
"sku": "MPN-123456",
"unitOfMeasureSet": {
"id": "80000001-1234567890",
"fullName": "Weight Units"
},
"salesTaxCode": {
"id": "80000001-1234567890",
"fullName": "Non"
},
"salesOrPurchaseDetails": {
"description": "Hourly Consulting Service",
"price": "19.99",
"pricePercentage": "10.5",
"postingAccount": {
"id": "80000001-1234567890",
"fullName": "Income:Consulting Services"
}
},
"salesAndPurchaseDetails": {
"salesDescription": "High-quality steel bolts suitable for construction",
"salesPrice": "19.99",
"incomeAccount": {
"id": "80000001-1234567890",
"fullName": "Income:Product Sales"
},
"purchaseDescription": "Bulk purchase of steel bolts for inventory",
"purchaseCost": "15.75",
"purchaseTaxCode": {
"id": "80000001-1234567890",
"fullName": "GST"
},
"expenseAccount": {
"id": "80000001-1234567890",
"fullName": "Expenses:Cost of Goods Sold"
},
"preferredVendor": {
"id": "80000001-1234567890",
"fullName": "Acme Supplies Ltd."
}
},
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Changes
Changed in 5 of the 46 revisions of this API.44133
- ●
for the
pathrequest parameterid, the maxLength was set to36request-parameter-max-length-set
- ●
- ▲
response property
barcodelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
externalIdlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
skulist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
the
classresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
parentresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
salesTaxCoderesponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
unitOfMeasureSetresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
removed the required property
class/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
class/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/idfrom the response with the200statusresponse-required-property-removed
- ○
added
qbd_sales_and_purchase_detailssubschema #2to thesalesAndPurchaseDetailsresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
qbd_sales_or_purchase_detailssubschema #2to thesalesOrPurchaseDetailsresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theclassresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theparentresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thesalesTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theunitOfMeasureSetresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
removed
qbd_sales_and_purchase_detailssubschema #2from thesalesAndPurchaseDetailsresponse propertyoneOflist for the response status200response-property-one-of-removed
- ○
removed
qbd_sales_or_purchase_detailssubschema #2from thesalesOrPurchaseDetailsresponse propertyoneOflist for the response status200response-property-one-of-removed
- ▲
- ▲
the response property
barcodebecame nullable for the status200response-property-became-nullable
- ▲
the response property
classbecame nullable for the status200response-property-became-nullable
- ▲
the response property
externalIdbecame nullable for the status200response-property-became-nullable
- ▲
the response property
parentbecame nullable for the status200response-property-became-nullable
- ▲
the response property
salesTaxCodebecame nullable for the status200response-property-became-nullable
- ▲
the response property
skubecame nullable for the status200response-property-became-nullable
- ▲
the response property
unitOfMeasureSetbecame nullable for the status200response-property-became-nullable
- ▲
added
qbd_sales_and_purchase_detailssubschema #2to thesalesAndPurchaseDetailsresponse propertyoneOflist for the response status200response-property-one-of-added
- ▲
added
qbd_sales_or_purchase_detailssubschema #2to thesalesOrPurchaseDetailsresponse propertyoneOflist for the response status200response-property-one-of-added
- ▲
the
classresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
parentresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
salesTaxCoderesponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
unitOfMeasureSetresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ○
removed
qbd_sales_and_purchase_detailssubschema #2from thesalesAndPurchaseDetailsresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
qbd_sales_or_purchase_detailssubschema #2from thesalesOrPurchaseDetailsresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from theclassresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from theparentresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from thesalesTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from theunitOfMeasureSetresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
response property
barcodelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
externalIdlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
skulist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
added the required property
class/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
class/idto the response with the200statusresponse-required-property-added
- ○
added the required property
parent/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
parent/idto the response with the200statusresponse-required-property-added
- ○
added the required property
salesTaxCode/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
salesTaxCode/idto the response with the200statusresponse-required-property-added
- ○
added the required property
unitOfMeasureSet/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
unitOfMeasureSet/idto the response with the200statusresponse-required-property-added
- ▲
- ▲
response property
barcodelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
externalIdlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
skulist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
the
classresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
parentresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
salesTaxCoderesponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
unitOfMeasureSetresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
removed the required property
class/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
class/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
parent/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
salesTaxCode/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
unitOfMeasureSet/idfrom the response with the200statusresponse-required-property-removed
- ○
added
qbd_sales_and_purchase_detailssubschema #2to thesalesAndPurchaseDetailsresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
qbd_sales_or_purchase_detailssubschema #2to thesalesOrPurchaseDetailsresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theclassresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theparentresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thesalesTaxCoderesponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theunitOfMeasureSetresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
removed
qbd_sales_and_purchase_detailssubschema #2from thesalesAndPurchaseDetailsresponse propertyoneOflist for the response status200response-property-one-of-removed
- ○
removed
qbd_sales_or_purchase_detailssubschema #2from thesalesOrPurchaseDetailsresponse propertyoneOflist for the response status200response-property-one-of-removed
- ▲
- ▲
the response property
salesAndPurchaseDetails/oneOf[subschema #1: The Sales-and-Purchase Details object]/incomeAccountbecame nullable for the status200response-property-became-nullable
- ▲