> For the complete documentation index, see [llms.txt](https://help.paintscout.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.paintscout.com/support/beta-guides/bulk-product-swap-beta-guide.md).

# Bulk Product Swap Beta Guide

Use the Swap Products feature to replace a product everywhere it appears on an estimate in a single action.

{% hint style="info" %}

#### Important Information:

* This feature is in active development. You may encounter bugs or missing functionality as we improve the experience.
* You can enable this feature by going to Account Settings > Beta Features section
* Please send questions or feedback to <product@paintscout.com>.
  {% endhint %}

The Swap Products feature lets you replace products across an entire estimate or selected items.

<figure><img src="https://231248629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPyUbJF1GXLjxdJqm89IQ%2Fuploads%2FLZXkpyrCh0mpBWB4Dsj3%2FProduct%20Swap.png?alt=media&amp;token=bd397b30-cad6-4817-844e-59f5ae3a5fff" alt=""><figcaption></figcaption></figure>

***

## How to Swap Products <a href="#h_a8a9d56b48" id="h_a8a9d56b48"></a>

{% stepper %}
{% step %}

### Choose what you want to update

* **Entire estimate:** Use **Swap Products** at the top of the estimate table. This replaces the product everywhere it appears.

<figure><img src="https://231248629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPyUbJF1GXLjxdJqm89IQ%2Fuploads%2Fgit-blob-738386c1be96dad8b48e0b7e341700bab6ae2415%2FScreenshot%202026-07-13%20at%2011.24.08%E2%80%AFAM%20(1).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

* **Selected items:** Select areas, surfaces, or line items. Then use **Swap Products** in the blue action bar. This affects only your selection.

{% hint style="info" %}
After you select items, the estimate-wide **Swap Products** option disappears. This prevents accidental estimate-wide changes.
{% endhint %}

<figure><img src="https://231248629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPyUbJF1GXLjxdJqm89IQ%2Fuploads%2Fgit-blob-9ee05d9f3e7096be786476e13cff08d874eb759f%2FScreenshot%202026-07-13%20at%2011.27.46%E2%80%AFAM.png?alt=media" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Open the Swap Products dialog

Once you've made your selection, open the Swap Products dialog.

<figure><img src="https://231248629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPyUbJF1GXLjxdJqm89IQ%2Fuploads%2Fgit-blob-d39d453955fba20968dfc1338e3fb15c9c1241da%2FScreenshot%202026-07-13%20at%2011.28.50%E2%80%AFAM%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Define your swap pairs

In the dialog, set up one or more swap pairs. For each pair:

* From — the product currently on the estimate that you want to replace
* To — the replacement product from your product library

Both dropdowns show helpful context for each product: substrate count, line item count, and volume. Archived products are excluded from both dropdowns.

You can add as many swap pairs as you need and apply them all at once.

Note: If the estimate has no products, the dialog will show a warning asking you to add products before proceeding.
{% endstep %}

{% step %}

### Confirm

Click to apply the swaps. Selected-item swaps affect only selected substrates and line items. Estimate-wide swaps affect every matching product. A single recalculation runs after all swaps are applied.
{% endstep %}
{% endstepper %}

<figure><img src="https://231248629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPyUbJF1GXLjxdJqm89IQ%2Fuploads%2FqAmw2bj58ylQ5UctgvMK%2FBulk%20Product%20Swap.gif?alt=media&amp;token=38afe839-2bb0-4a91-bfc8-e9e3db968788" alt=""><figcaption></figcaption></figure>

***

### What Carries Over After a Swap

When you swap products, PaintScout keeps the custom coverage settings you've applied to your rates.

The new product's **coverage rate** and **number of coats** are each chosen in this order:

1. **Your customized value:** If you've manually set a coverage rate or coat count for a product on a surface in the estimate, those values carry over when you switch to a new product.
2. **The production rate:** If you haven't set custom values in the estimate, PaintScout uses the coverage rate and coat count on the production rate, including any overrides you've made there.
3. **The product library:** If the production rate doesn't have its own custom product coverage value, PaintScout uses the new product's default from your product library.

For example, if you set a product to 1 coat on a surface on an estimate, the new product will also be set to 1 coat after the swap.

***

### Things to Know <a href="#h_e1c7c9ce20" id="h_e1c7c9ce20"></a>

* Swaps are 1-to-1. Each swap replaces one specific product with one replacement. Partial or conditional replacements are not supported.
* No validation on swap pairs. It's your responsibility to select an appropriate replacement product.
* Recalculation happens once— after all swaps in the operation are applied. Not after each individual swap.
* Archived products cannot be swapped. They won't appear in either the From or To dropdowns.
* Swaps cannot be undone. Once applied, there is no way to reverse the action, so double-check your swap pairs before confirming.
* Selected-item swaps use the blue action bar. The estimate-wide option is unavailable while items are selected.

***

## FAQ

<details>

<summary>Can I swap a product on just part of an estimate?</summary>

Yes. Select only the specific areas, surfaces, or line items you want to affect before opening the dialog. Unselected items will not be changed.

</details>

<details>

<summary>Can I swap a product across the entire estimate?</summary>

Yes. Clear any item selections, then use **Swap Products** at the top of the estimate table. Every matching product on the estimate will be changed.

</details>

<details>

<summary>Can I swap multiple products at once?</summary>

The dialog supports multiple swap pairs in a single operation. Define as many from/to pairs as you need, then apply them all at once.

</details>

<details>

<summary>Will the swap affect archived products?</summary>

No. Archived products are excluded from both dropdowns and cannot be selected as a source or target.

</details>

<details>

<summary>What if my estimate has no products?</summary>

The dialog will display a warning prompting you to add products to your estimate first.

</details>

<details>

<summary>Will my estimate be recalculated after the swap?</summary>

Yes. A single recalculation runs after all swaps are complete.

</details>

<details>

<summary>Why did my price change after swapping products?</summary>

Prices can change when the new product has a different price, coverage rate or number of coats. Any custom coverage rates and coat counts you've set on your estimate carry over from the previous product. If none were set, PaintScout uses the values from your production rate, then from your product library.

</details>

<details>

<summary>What if I swapped the wrong product?</summary>

Swaps cannot be undone. Review your swap pairs carefully before confirming.

</details>

***

## Thanks for Trying the Beta! <a href="#h_a1cb63cea7" id="h_a1cb63cea7"></a>

We're excited to have you trying out this new feature. Since this is actively in development, your feedback is incredibly valuable as we continue to improve.

If you have questions, run into issues, or just want to share your thoughts, please reach out anytime at <product@paintscout.com>

Thanks for helping shape what's next!

&#x20;&#x20;


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.paintscout.com/support/beta-guides/bulk-product-swap-beta-guide.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
