Items
Manages items in Xero. Items can be products, services, or other billable units used in transactions.
Table Specific Information
The Items table allows you to SELECT, INSERT, and UPDATE items for a Xero organization.
SELECT
The Xero API allows extensive filtering and ordering. You can define WHERE and ORDER BY clauses in a query to filter and order the results using any non-line-item column.
Note: The Xero API does not support filtering on line items or journal lines.
INSERT
To insert a single row, set the required fields. A new table object is created as a single entry. To insert a new item record, the Code field must be defined.
UPDATE
You can update any field that is not read-only.
Note: UPDATE operations will count as two operations against the Xero API. One is required to retrieve the existing record, and another to update the record with new data.
Columns
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
The unique, Xero-assigned identifier for the item. This field helps to uniquely identify and reference each item within the Xero system. |
| Code | String | False |
A user-defined code that identifies the item. This code is used to categorize or reference the item in transactions and reports. |
| InventoryAssetAccountCode | String | False |
The inventory asset account associated with the item. The account must be of type 'INVENTORY', and a 'COGSAccountCode' in 'PurchaseDetails' is also required to create a tracked item. This ensures proper accounting for inventory items. |
| Name | String | False |
The name of the item. This field holds the item's primary identifier, used in various documents and reports to refer to the item. |
| PurchaseDescription | String | False |
A description of the item for purchase transactions. This field helps clarify the details of the item when being purchased. |
| Description | String | False |
A general description of the item. This provides additional details about the item to be used in reports and transaction documents. |
| PurchaseDetails_UnitPrice | String | False |
The unit price of the item in purchase transactions. This value determines how much is paid per unit when purchasing the item. |
| PurchaseDetails_COGSAccountCode | String | False |
The cost of goods sold (COGS) account associated with the purchase of the item. Only applicable to tracked items. This account reflects the expense of items sold and is essential for proper inventory tracking. |
| PurchaseDetails_AccountCode | String | False |
The account code associated with the purchased item. This determines which account is used for accounting purposes when the item is purchased. |
| PurchaseDetails_TaxType | String | False |
The tax rate applied to the item during purchase. The tax rate varies by country, and user-defined tax rates are represented as 'TAX001', 'TAX002' |
| SalesDetails_UnitPrice | String | False |
The unit price of the item in sales transactions. This price is used when the item is sold and reflects the amount charged to the customer per unit. |
| SalesDetails_COGSAccountCode | String | False |
The cost of goods sold (COGS) account associated with the sale of the item. Only applicable to tracked items. This helps allocate the cost of goods sold during a sale. |
| SalesDetails_AccountCode | String | False |
The account code associated with the sale of the item. This code determines which account is used for accounting purposes during a sale. |
| SalesDetails_TaxType | String | False |
The tax rate applied to the item during sales. Like 'PurchaseDetails_TaxType', the tax rate varies by country, with user-defined tax rates represented as 'TAX001', 'TAX002' |
| IsTrackedAsInventory | Boolean | False |
Indicates whether the item is tracked as inventory. The value is 'true' for items where the 'InventoryAssetAccountCode' and 'COGSAccountCode' are set, meaning they are managed and monitored in inventory. |
| TotalCostPool | Decimal | True |
The total value of the item on hand, calculated using average cost accounting. This value reflects the overall value of the inventory item based on purchase history. |
| QuantityOnHand | Double | True |
The current quantity of the item available in inventory. This number represents how many units of the item are currently in stock. |
| IsSold | Boolean | False |
Boolean value indicating whether the item is available for sales transactions in Xero. If the value is 'false', the item will not appear in the sales section, and related sales values (Description, SalesDetails) will be nulled. |
| IsPurchased | Boolean | False |
Boolean value indicating whether the item is available for purchase transactions in Xero. If the value is 'false', the item will not appear in the purchase section, and related purchase values (PurchaseDescription, PurchaseDetails) will be nulled. |
| UpdatedDateUTC | Datetime | True |
The timestamp of the last update made to the item record. This helps track when the item details were last modified. |
| TenantId | String | False |
The unique identifier of the tenant. This ensures the query retrieves data specific to a particular tenant, especially in multi-tenant environments where data needs to be isolated between tenants. |