> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/cortex-xpanse/inventory/manage-business-units/bulk-business-unit-management.md).

# Bulk business unit management

You can update Business Unit (BU) assignments for multiple assets at once by uploading a single CSV file. This bulk import eliminates the need to manually edit assets one by one in the UI, saving time and reducing administrative overhead. To update BUs in bulk, you’ll prepare a CSV file that specifies each asset, its type, the target BU, and the desired action. The system supports both append (adding new BUs to existing BUs) and replace (overwriting all existing BUs) actions.

During the upload, the system automatically validates each row before processing. Valid entries are executed immediately, while invalid rows are rejected with actionable error messages. When the operation is complete, a detailed status report tracks the success or failure of each row. This granular tracking allows you to review the results, troubleshoot issues, and retry failed entries without needing to reprocess the entire dataset.

Bulk BU updates are supported for domains and IP ranges.

## Prerequisites for bulk BU management

* You must have Admin role permissions.
* The BUs you reference in the CSV must already exist in your Xpanse tenant.
* The assets (domains or IP ranges) you reference must already exist in your Xpanse inventory.

## CSV format for bulk BU updates

### Example CSV for bulk BU updates

This example shows the correct CSV format for a bulk BU update, including the supported values for asset types and supported IP range notation. The headers in your CSV must match the headers as they are shown here.

| Asset                             | AssetType | BusinessUnits | ActionType |
| --------------------------------- | --------- | ------------- | ---------- |
| [example.com](http://example.com) | Domain    | BU\_Name1     | APPEND     |
| [example.org](http://example.org) | Domain    | BU\_Name2     | APPEND     |
| [example.org](http://example.org) | Domain    | BU\_Name3     | REPLACE    |
| 8.8.8.8-8.8.8.24                  | IP\_RANGE | BU\_Name4     | APPEND     |
| 192.0.2.1                         | IP\_RANGE | BU\_Name5     | REPLACE    |

### CSV details for bulk BU updates

This table provides additional details about the information required in each column of the CSV for bulk BU updates. Note that the CSV can include a maximum of 50 entries.

<table data-header-hidden><thead><tr><th width="167"></th><th></th></tr></thead><tbody><tr><td>Column</td><td>Description</td></tr><tr><td>Asset</td><td><p>The asset name, either a domain name or IP range.</p><p>For domains, use the fully qualified domain name (e.g., example.com, <a href="http://api.example.com">api.example.com</a>). Note: when you update BUs on a domain via bulk upload, the change does not propagate to its subdomains. If you need subdomains updated too, include them as separate rows in the CSV.</p><p>For IP ranges, use the following formats:</p><ul><li>192.168.1.0/24</li><li>10.0.0.1-10.0.0.255</li><li>192.0.2.1 (for a single IP address)</li></ul></td></tr><tr><td>AssetType</td><td>Supported values are DOMAIN or IP_RANGE.</td></tr><tr><td>BusinessUnits</td><td>The BU to assign, either a BU name or BU:&#x3C;id>. The BU must already exist in your Xpanse tenant. List only one BU per row.</td></tr><tr><td>ActionType</td><td>Use APPEND to add to existing BUs, or REPLACE to overwrite all BUs.</td></tr></tbody></table>

## How to update the BU for assets in bulk

1. Prepare your CSV file using the instructions in the [CSV format for bulk BU updates](https://docs.google.com/document/d/164ne5jqLz9RPzzWVBz3deo5vNxQi6PzdjnrGGJJtPPs/edit?tab=t.0#heading=h.99yr1datft2c) section. The CSV can include a maximum of 50 entries.
2. Navigate to **Settings > Configurations > Asset Management > BU Management**.

This opens the **Bulk BU Updates** page, which lists all previous bulk BU updates along with the status and other information.

3. Click **Update Business Units** and select **Add/Remove Business Units(s) from Asset(s)**.

From the **Business Units to Update** dialog box, you can download a complete list of the BUs in your system and a sample CSV file.

4. Upload your CSV file, then click **Update Business Units**.
5. After the CSV has been processed, you can check the status on the **Bulk BU Updates** page. Every row from your CSV upload is tracked in the system with one of three statuses:

<table><thead><tr><th width="152">Status</th><th>Description</th></tr></thead><tbody><tr><td>Pending</td><td>The row has been accepted and is queued for processing.</td></tr><tr><td>Success</td><td>The BU update was applied to the asset.</td></tr><tr><td>Failure</td><td>The update could not be applied. Check the error message for details.</td></tr></tbody></table>

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/cortex-xpanse/inventory/manage-business-units/bulk-business-unit-management.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
