> For the complete documentation index, see [llms.txt](https://docs.bloomanalytics.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bloomanalytics.io/cost-setting/product-cost.md).

# Product Cost

Set and manage cost of goods sold (COGS) for every Shopify product and variant in Bloom using Shopify sync, fixed, date-based, tier-based, or country-based costs.

### What is Product Cost?

Product Costs is the section in Bloom where you define how the cost of goods sold (COGS) is calculated for each product and variant. It is for Shopify merchants who need accurate margins, because correct product costs are what make your contribution margins (CM1, CM2, CM3) and profit numbers in the P\&L table accurate.

### How it Works

Bloom needs a cost for every product and variant to calculate COGS. It gets that cost from Shopify automatically or from a value you set manually, and it lets you shape how the cost is applied per unit, per time period, per quantity tier, or per country.

**Product Cost from Shopify**

Bloom automatically pulls the product and variant cost you set in Shopify. If you update the cost in Shopify later, Bloom syncs and updates it automatically, with no manual action needed. If you don’t have costs set up in Shopify, or you want to calculate profit using a different cost than the one in Shopify, add the costs directly in Bloom. If a cost exists in both Bloom and Shopify, the Bloom cost takes priority and is used in the calculations.

**Fixed Cost Per Unit**

Use this when the cost of the product stays the same for every unit sold. You enter a single cost per unit, and Bloom applies it to every order containing that variant.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2F7RDo5FeJnrNHyIQgImyC%2Fimage.png?alt=media&amp;token=0e1acc84-fe54-4aae-b11e-7af594c0e679" alt="Cost Type: Flat Rate"><figcaption></figcaption></figure>

**Cost by Period (Date-based Costing)**

Use this when your cost changes over time, for example when supplier prices change, cost fluctuates seasonally, or you want accurate margins for historical orders. For each period you set a start date, end date, and cost per unit. You can add multiple periods with the Add Cost Period option, and Bloom applies the correct cost based on the order date.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FUNF1v8pC5tEC4TZah3sl%2Fimage.png?alt=media&amp;token=ed4abe41-b2a1-4007-b79a-845adc37dea6" alt="Cost by Time Period"><figcaption></figcaption></figure>

**Example:**

| Period           | Cost per unit |
| ---------------- | ------------- |
| Dec 08 to Dec 12 | 11.8          |
| Dec 12 to Dec 15 | 11.0          |

**Cost by Quantity (Tier-based Costing)**

Use this when the product cost varies based on the number of units sold, common in bulk pricing or supplier tier structures. For each tier you define a quantity range, a cost per unit, and optionally a date period for when that tier is valid.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FaZD5NxD9IdPZKJARI90E%2Fimage.png?alt=media&amp;token=9450c5d3-0efb-4181-8b2f-0d9d9b3c952d" alt="Cost Based on Quantity "><figcaption></figcaption></figure>

**Example:**

| Quantity range  | Cost per unit |
| --------------- | ------------- |
| 1 to 6 units    | 6.0           |
| 7 to 15 units   | 4.5           |
| 15 to 999 units | 4.0           |

You can choose how the tiered cost is applied using three cost rules, found in additional settings. Each example below uses two tiers (Qty 1 to 2 at $8, Qty 3 to 5 at $4) for an order of 3 units:

* **Absolute:** The rate of the final matching range applies to all quantities. For 3 units: 3 × $4 = $12.
* I**ncremental:** Cost is calculated progressively across each quantity range instead of applying a single rate to the entire quantity. For 3 units: $8 + $8 + $4 = $20.
* **Flat:** A single flat charge applies for the matched quantity tier, regardless of how many units are ordered. For 3 units: $4 (not $4 × 3).

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FsaeXAwu3cORUUVSZWfrg%2Fimage.png?alt=media&amp;token=0a2c08de-21da-40bd-9660-efe6dbe97bfb" alt="Quantity Based Cost Rules"><figcaption></figcaption></figure>

**Cost Override by Country**

Use Cost Override to set a product cost for a specific country under either cost type. Select the country you need, and Bloom applies that cost to orders from that country.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2F5gqfKGfE7vGWYOeEws79%2Fimage.png?alt=media&amp;token=5fd16f15-adee-49b3-aefb-132712670fb7" alt="Country Override in Bloom"><figcaption></figcaption></figure>

**How Bloom Calculates Cost for an Order**

Bloom splits the order quantity across the cost tiers and calculates the final cost accurately. The example below uses the Incremental rule (progressive splitting) with the tiers\
1→ 6 at $6,\
7 → 15 at $4.5,\
15 → 999 at $4, for a 9-unit order:

| Step                           | Calculation | Cost |
| ------------------------------ | ----------- | ---- |
| First 6 units                  | 6 × 6       | 36   |
| Remaining 3 units (7th to 9th) | 3 × 4.5     | 13.5 |
| Total product cost             | 36 + 13.5   | 49.5 |

### How to Use it

Choose the method that matches how many products you are updating, then follow the steps. Product costs from Shopify sync automatically, so you only need these steps to override Shopify costs or add advanced cost structures.

**Edit an Individual Variant**

1. In Cost Settings, go to Products and click the Edit icon next to a product variant.
2. Choose a costing method:
3. Fixed Cost per Unit: enter the cost per unit (for example, 15 per unit), then click Save. Bloom applies this cost to every order containing that variant.
4. Cost by Quantity: set your quantity tiers, then choose the cost rule (Absolute, Incremental, or Flat) in additional settings.
5. To scope a cost type to specific dates, enable the date range toggle in additional settings.
6. To set a cost for a specific country, use Cost Override and select the country.
7. Click Save.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FfZU1XAynLl28BTWjI0ZA%2Fimage.png?alt=media&amp;token=86fd8e5b-2db1-419d-82b8-022e93979ffd" alt=""><figcaption></figcaption></figure>

**Update Costs in Bulk (CSV upload)**

1. Go to Cost Settings, then Products, then Bulk Edit.
2. Download the CSV template provided.
3. Update the Bloom Cost for each product. Only the Bloom Cost can be edited in the CSV. Other fields are locked.
4. Save the file and upload it back into Bloom through the Bulk Edit section. The costs update once uploaded.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FwFXKqm4apAhs3itetvqt%2Fimage.png?alt=media&amp;token=1b2d7bee-2eff-4548-9e08-ac074b326e11" alt="Updating Cost in Bulk"><figcaption></figcaption></figure>

**Update Multiple Products at Once (Group Edit)**

1. Go to Cost Settings, then Products.
2. Use the checkboxes on the left to select the products you want to update.
3. Click Edit Product Cost. Bloom directs you to the group edit page.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FuLhh9iz0OG1OJ1tv8hbw%2Fimage.png?alt=media&amp;token=d172d864-9cdb-4147-bf24-2bab0a5028e8" alt=""><figcaption></figcaption></figure>

4. Enter the product cost in the group update section.
5. Apply the change:
6. Click "Apply for all orders" to apply the changes to past and future orders containing the selected products.
7. Click "Apply for future orders" to apply the changes to future orders only.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2FrqOSMPdPCI48W3xAQFQm%2Fimage.png?alt=media&amp;token=8d1a8f0b-10f4-4524-a95a-ead690fdb064" alt=""><figcaption></figcaption></figure>

### **Notes**

* Rows highlighted in red indicate products that do not have a cost in Shopify or Bloom. This is not an error, it just needs manual cost entry.
* Use the "Cost missing in Shopify & Bloom" (top left under Product COGS) to filter and see only products missing both Shopify and Bloom costs.
* After editing a cost, click "Recalculate Past Orders Also" so the updated cost reflects in the P\&L table.

<figure><img src="https://749049708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9Cj862knfGNqzzPFauD6%2Fuploads%2F0N9wCvm4Z9XTq09mSFlS%2Fimage.png?alt=media&amp;token=2dc32ed4-0885-48c9-9012-f7355cdcfe30" alt=""><figcaption></figcaption></figure>
