# Business Unit import Learn about the headers and values supported for importing Business Units from CSV files. ## Supported headers and values Business Units can either be a **Company** if the Business Unit is a top-level unit, or a **Division** if it is a sub-unit. The following headers and values apply to both types: | Header | Value | Required/Optional | | --- | --- | --- | | `key` | A unique identifier for the Business Unit. The key must only include letters, numbers, underscores (\_), or dashes (-). If a Business Unit with the provided `key` exists, the Business Unit is updated with the provided value—otherwise, a new Business Unit is created. | Required | | `name` | Name of the Business Unit. | Required | | `contactEmail` | Email address of the Business Unit. | Optional | | `status` | `Active` or `Inactive` | Optional. If not included, the default value is `Active`. | | `associates.associateRoleAssignments.associateRole.key` | The key of the referenced Associate Role. | Required, when importing associates. | | `associates.associateRoleAssignments.inheritance` | `Enabled` or `Disabled`. If `Enabled`, the assignment can be inherited by child Business Units. | Optional. If not included, the default value is `Disabled`. | | `associates.customer.key` | The key of the Customer that acts as an Associate for the Business Unit. | Required, when importing associates. | | `stores` | Key of a Store the Business Unit is associated with. To assign multiple Stores, separate the Store keys with a semicolon. Can only be set when `storeMode` is `Explicit`. | Optional | | `addresses` | See [Addresses](/merchant-center/import-business-units.md#addresses) for more information on what headers and values to include. To import an address you must always include `addresses.key` and `addresses.country`. | Required, when `shippingAddressKeys`, `defaultShippingAddressKey`, `billingAddressKeys`, or `defaultBillingAddressKey` are included. | | `shippingAddressKeys` | The key of the Address to be a shipping address. To assign multiple Addresses, separate the Address keys with a semicolon. | Optional | | `defaultShippingAddressKey` | The key of the Address to be the default shipping address. | Optional | | `billingAddressKeys` | The key of the Address to be a billing address. To assign multiple Addresses, separate the Address keys with a semicolon. | Optional | | `defaultBillingAddressKey` | The key of the Address to be the default billing address. | Optional | | `custom.type.key` | The key of the Type referenced in a Custom Field. | Required, when importing Custom Fields to a Business Unit. | | `custom.fields.{nameOfCustomField}` | Replace `{nameOfCustomField}` with the name of the Custom Field, as defined in the respective [FieldDefinition](/urn?urn=ctp%3Aapi%3Atype%3AFieldDefinition). The value must conform to the [FieldType](/api/projects/types.md#fieldtype) of the Custom Field. For more information, see [Custom Fields](/merchant-center/import-business-units.md#custom-fields). | Optional | ### Company The following headers and values apply only to **Company** Business Units. | Header | Value | Required/Optional | | --- | --- | --- | | `unitType` | `Company` | Required | | `storeMode` | `Explicit` | Optional | | `associateMode` | `Explicit` | Optional | | `approvalRuleMode` | `Explicit` | Optional | ### Division The following headers and values apply only to **Division** Business Units. | Header | Value | Required/Optional | | --- | --- | --- | | `unitType` | `Division` | Required | | `parentUnit.key` | The key of the Business Unit that is the parent of the imported Business Unit. | Required | | `storeMode` | `Explicit` or `FromParent`. If `Explicit`, you must define the Stores in `stores`. If `FromParent`, the Stores are inherited from the closest parent in the hierarchy that has Stores defined. | Required, when `stores` are included. | | `associateMode` | `Explicit` or `ExplicitAndFromParent`.If `Explicit`, you must define the Associates in `associates`.If `ExplicitAndFromParent`, the Associates can be defined and are also inherited from a parent. | Optional | | `approvalRuleMode` | `Explicit` or `ExplicitAndFromParent`.If `Explicit`, you must define the Approval Rules of the Business Unit.If `ExplicitAndFromParent`, the Approval Rules can be defined and are also inherited from a parent. | Optional | ### Addresses | Header | Value | Required/Optional | | --- | --- | --- | | `addresses.key` | User-defined identifier of the Address. Must be unique when multiple addresses are referenced in a Business Unit. | Required | | `addresses.country` | The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code of the country, for example, `US` or `JP`. | Required | | `addresses.title` | Title of the contact, for example 'Dr.' | Optional | | `addresses.salutation` | Salutation of the contact, for example 'Mr.' or 'Ms.' | Optional | | `addresses.firstName` | Given name (first name) of the contact. | Optional | | `addresses.lastName` | Family name (last name) of the contact. | Optional | | `addresses.streetName` | Name of the street. | Optional | | `addresses.streetNumber` | Street number. | Optional | | `addresses.additionalStreetInfo` | Further information on the street address. | Optional | | `addresses.postalCode` | Postal code. | Optional | | `addresses.city` | Name of the city. | Optional | | `addresses.region` | Name of the region. | Optional | | `addresses.state` | Name of the state, for example, Colorado. | Optional | | `addresses.company` | Name of the company. | Optional | | `addresses.department` | Name of the department. | Optional | | `addresses.building` | Number or name of the building. | Optional | | `addresses.apartment` | Number or name of the apartment. | Optional | | `addresses.pOBox` | Post office box number. | Optional | | `addresses.phone` | Phone number of the contact. | Optional | | `addresses.mobile` | Mobile phone number of the contact. | Optional | | `addresses.email` | Email address of the contact. | Optional | | `addresses.fax` | Fax number of the contact. | Optional | | `addresses.additionalAddressInfo` | Further information on the Address. | Optional | | `addresses.externalId` | Identifier for the contact used in an external system. | Optional | | `addresses.custom.type.key` | The key of the Type referenced in a Custom Field. | Required, when importing Custom Fields to an Address. | | `addresses.custom.fields.{nameOfCustomField}` | Replace `{nameOfCustomField}` with the name of the Custom Field, as defined in the respective [FieldDefinition](/urn?urn=ctp%3Aapi%3Atype%3AFieldDefinition). The value must conform to the [FieldType](/api/projects/types.md#fieldtype) of the Custom Field. For more information, see [Custom Fields](/merchant-center/import-business-units.md#custom-fields). | Optional | ### Custom Fields Replace `{nameOfCustomField}` with the name of the Custom Field, as defined in the respective [FieldDefinition](/api/projects/types#fielddefinition). The name of the Custom Field is case-sensitive. When importing LocalizedString Custom Fields, provide headers and values for each language. For example, for English and German, provide `custom.fields.{nameOfCustomField}.en` and `custom.fields.{nameOfCustomField}.de` respectively. When importing boolean Custom Fields, the values must be lowercase. For Money Custom Fields, provide the following additionally: | Header | Value | Required/Optional | | --- | --- | --- | | `custom.fields.{nameOfCustomField}.currencyCode` | An [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)-compliant currency code such as `USD`, `EUR`, or `GBP`. | Required | | `custom.fields.{nameOfCustomField}.centAmount` | An amount in the smallest indivisible unit for a currency. For example, `500` can be equal to USD 5.00 or JPY 500. | Required | | `custom.fields.{nameOfCustomField}.type` | `centPrecision` | Required | | `custom.fields.{nameOfCustomField}.fractionDigits` | The number of digits after the decimal separator. For example, `2` for USD or `0` for JPY. | Required | #### Sets of Custom Fields For sets of simple Custom Fields (such as numbers, text, and booleans) the header would contain the Custom Fields name, and value would be a semicolon-separated list. The following example demonstrates how to import sets of text and numbers. | `custom.fields.colorCombination` | `custom.fields.numberSet` | | --- | --- | | `red;green;blue` | `10;5;32` | ##### Sets of complex Custom Fields For sets of complex values (such as localized text, references, and money), you can import single set values by defining the index and the subfields in the header. The following example demonstrates how to update the first entry of a set of Custom Fields called `relatedCategories` that references Categories. | `custom.fields.relatedCategories.1.key` | `custom.fields.relatedCategories.1.typeId` | | --- | --- | | `red-shirts` | `category` | To update the second entry, include the same headers but change `1` to `2`. You can also import multiple set values by using `*` instead of a number. With this approach, the values of set items are entered into sequential rows. The following example demonstrates how to create a set of Custom Fields called `relatedCategories` with four entries. | `custom.fields.relatedCategories.*.key` | `custom.fields.relatedCategories.*.typeId` | | --- | --- | | `red-shirts` | `category` | | `summer-collection` | `category` | | `new-arrivals` | `category` | | `red-accessories` | `category` | ## Delete data When updating resources, you can remove data for optional fields. To remove data, in the CSV file, enter `[DELETE]` as the value for the header (field). When deleting values for reference fields or multi-value fields, you must add a new column with the common prefix as the header, and enter `[DELETE]` as the value. ## Related pages - [Area overview page with navigation](/merchant-center.md) - [Previous page: Overview](/merchant-center/import-data.md) - [Next page: Categories](/merchant-center/import-categories.md)