---
title: "Create an unit-of-measure set"
method: POST
path: "/quickbooks-desktop/unit-of-measure-sets"
---

# Create an unit-of-measure set

`POST /quickbooks-desktop/unit-of-measure-sets`

Creates a new unit-of-measure set.

NOTE: The QuickBooks company file must have unit-of-measure enabled (either a single unit per item or multiple units per item). To support both configurations, prefix all UOM set names with "By the" (for example, "By the Barrel"); otherwise, the set may not appear in the QuickBooks UI when the company file is configured for a single unit per item.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Request body

- object
  - `name` string, required — The case-insensitive unique name of this unit-of-measure set, unique across all unit-of-measure sets. To ensure this set appears in the QuickBooks UI for companies configured with a single unit per item, prefix the name with "By the" (e.g., "By the Barrel"). **NOTE**: Unit-of-measure sets 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.
  - `isActive` boolean — Indicates whether this unit-of-measure set is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `unitOfMeasureType` 'area' | 'count' | 'length' | 'other' | 'time' | 'volume' | 'weight', required — The unit-of-measure set's type. Use "other" for a custom type defined in QuickBooks.
  - `baseUnit` object, required — The unit-of-measure set's base unit used to track and price item quantities. If the company file is enabled for a single unit of measure per item, the base unit is the only unit available on transaction line items. If enabled for multiple units per item, the base unit is the default unless overridden by the set's default units.
    - `name` string, required — The case-insensitive unique name of this base unit, unique across all base units. **NOTE**: Base units 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.
    - `abbreviation` string, required — The base unit's short identifier shown in the QuickBooks U/M field on transaction line items. Maximum length: 31 characters.
  - `relatedUnits` object[] — The unit-of-measure set's related units, each specifying how many base units they represent (conversion ratio).
    - `name` string, required — The case-insensitive unique name of this related unit, unique across all related units. **NOTE**: Related units 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.
    - `abbreviation` string, required — The related unit's short identifier shown in the QuickBooks U/M field on transaction line items. Maximum length: 31 characters.
    - `conversionRatio` string, required — The number of base units in this related unit, represented as a decimal string. For example, if the base unit is "box" and this related unit is "case" with `conversionRatio` = "10", that means there are 10 boxes in one case.
  - `defaultUnits` object[] — The unit-of-measure set's default units to appear in the U/M field on transaction line items. You can specify separate defaults for purchases, sales, and shipping.
    - `unitUsedFor` 'purchase' | 'sales' | 'shipping', required — Where this default unit is used as the default: purchase line items, sales line items, or shipping lines.
    - `unit` string, required — The unit name for this default unit, as displayed in the U/M field. If the company file is enabled for multiple units per item, this appears as an available unit for the item. Must correspond to the base unit or a related unit defined in this set. Maximum length: 31 characters.

## Response `200`

Returns the newly created unit-of-measure set.

- QbdUnitOfMeasureSet
  - `id` string, required — The unique identifier assigned by QuickBooks to this unit-of-measure set. This ID is unique across all unit-of-measure sets but not across different QuickBooks object types.
  - `objectType` 'qbd_unit_of_measure_set', required — The type of object. This value is always `"qbd_unit_of_measure_set"`.
  - `createdAt` string, required — The date and time when this unit-of-measure set 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.
  - `updatedAt` string, required — The date and time when this unit-of-measure set 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.
  - `revisionNumber` string, required — The current QuickBooks-assigned revision number of this unit-of-measure set 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.
  - `name` string, required — The case-insensitive unique name of this unit-of-measure set, unique across all unit-of-measure sets. To ensure this set appears in the QuickBooks UI for companies configured with a single unit per item, prefix the name with "By the" (e.g., "By the Barrel"). **NOTE**: Unit-of-measure sets 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.
  - `isActive` boolean, required — Indicates whether this unit-of-measure set is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `unitOfMeasureType` 'area' | 'count' | 'length' | 'other' | 'time' | 'volume' | 'weight', required — The unit-of-measure set's type. Use "other" for a custom type defined in QuickBooks.
  - `baseUnit` QbdBaseUnit, required
    - `name` string, required — The case-insensitive unique name of this base unit, unique across all base units. **NOTE**: Base units 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.
    - `abbreviation` string, required — The base unit's short identifier shown in the QuickBooks U/M field on transaction line items.
  - `relatedUnits` QbdRelatedUnit[], required — The unit-of-measure set's related units, each specifying how many base units they represent (conversion ratio).
    - `name` string, required — The case-insensitive unique name of this related unit, unique across all related units. **NOTE**: Related units 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.
    - `abbreviation` string, required — The related unit's short identifier shown in the QuickBooks U/M field on transaction line items.
    - `conversionRatio` string, required — The number of base units in this related unit, represented as a decimal string. For example, if the base unit is "box" and this related unit is "case" with `conversionRatio` = "10", that means there are 10 boxes in one case.
  - `defaultUnits` QbdDefaultUnit[], required — The unit-of-measure set's default units to appear in the U/M field on transaction line items. You can specify separate defaults for purchases, sales, and shipping.
    - `unitUsedFor` 'purchase' | 'sales' | 'shipping', required — Where this default unit is used as the default: purchase line items, sales line items, or shipping lines.
    - `unit` string, required — The unit name for this default unit, as displayed in the U/M field. If the company file is enabled for multiple units per item, this appears as an available unit for the item. Must correspond to the base unit or a related unit defined in this set.

---

[API](https://skmtc.net/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.net/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/revisions/0b07b3ebe160/schema)
