Setting Up Cost of Goods (COGS)

Last updated: April 30, 2026

Setting Up Cost of Goods (COGS)

Overview

Cost of Goods Sold (COGS) is how much it costs you to produce or purchase the products you sell. Setting COGS in Dashboardly unlocks your most important profit metrics: Gross Profit, Operating Profit, Net Profit, Margin, and ROI.

Without COGS, these metrics will show as $0 or will not appear at all. This is the single most important setup step after connecting your shop.

Why COGS Matters

Note on Net Sales: The formulas below use Net Sales, defined as Product Sales - Discounts (shipping revenue is excluded, matching TikTok Seller Center's definition).

Once you set your product costs, Dashboardly can calculate:

MetricFormulaWhat it tells you
Gross ProfitNet Sales - COGSHow much you keep after product costs
Margin(Gross Profit / Net Sales) x 100Percentage of revenue kept after product costs
Operating ProfitGross Profit - all expensesYour actual operational profitability
ROI(Operating Profit / COGS) x 100Return on your inventory investment
Net ProfitOperating Profit + Subsidy - AdsYour final bottom-line profit

Without COGS, Dashboardly can still show you revenue, fees, and shipping costs, but it cannot tell you whether you are actually making money on each product. Gross Profit will equal Net Sales (no costs subtracted), Margin will show as 100% (misleading), and ROI will not display at all.

Step-by-Step Guide

Step 1: Go to the Inventory Page

Navigate to Inventory in the left sidebar. You will see a table of all your products listed as expandable rows, with their SKUs (variants) nested underneath.

The fastest way to set costs is at the product level. When you set a cost on a product, all SKUs under that product inherit it automatically.

  1. Find the product in the table.
  2. Click on the cost field in the product row (the top-level row, not a SKU row).
  3. Enter the cost per unit in your shop's currency (e.g., $8.50).
  4. Press Enter or click away to save.

All SKUs under that product now use this cost. You are done - no need to set each variant individually.

Best for: Shops where all variants of a product cost the same to produce or purchase.

Step 3: Override Specific SKUs (When Needed)

If certain variants cost differently, you can override the product default on individual SKUs.

  1. Expand the product row to see its SKUs.
  2. Click on the cost field next to the specific SKU.
  3. Enter the SKU-specific cost (e.g., size XXL costs $10 instead of $8.50).
  4. Press Enter or click away to save.

The override applies only to that SKU. All other SKUs continue to inherit from the product default.

Best for: Products where specific variants (e.g., larger sizes, premium materials) have different costs.

Understanding COG Source

Each SKU shows where its cost comes from:

SourceWhat it means
Inherited from productThe SKU uses the cost set at the product level. Changing the product cost updates this SKU automatically.
Manually setThe SKU has its own cost that overrides the product default. Changing the product cost does not affect this SKU.
Not setNo cost has been entered at either level. COGS defaults to $0 and profit metrics will be inaccurate.

If you have many products, setting costs one by one can be tedious. Dashboardly supports bulk import:

  1. Click the Import Costs button on the Inventory page.
  2. Download the template file (CSV or Excel format).
  3. Fill in your product or SKU IDs and unit costs in the template.
  4. Upload the completed file.

Dashboardly will match the IDs in your file to your existing products and update the costs in bulk. This is the fastest way to set up costs for shops with dozens or hundreds of products.

What Happens When COGS Is Set vs. Not Set

MetricCOGS Not SetCOGS Set to $8 (example)
COGS$0$8 x Units Sold
Gross Profit= Net Sales (no cost subtracted)Net Sales - COGS (real profit)
Margin100% (misleading)Actual percentage (e.g., 65%)
ROIBlank / N/ACalculated from Operating Profit
Net ProfitOverstated (no COGS deducted)Accurate

This is why setting COGS as soon as possible is strongly recommended -- your profit numbers are only as accurate as your cost data.

What to Include in Your Unit Cost

Your COGS should represent the cost to get one unit of product ready to sell. Consider including:

  • Purchase price -- what you pay your supplier per unit
  • Manufacturing costs -- if you make the product yourself
  • Packaging materials -- bags, boxes, labels, inserts

Do not include in the unit COGS:

  • Shipping to warehouse -- this can be tracked separately (as Inventory Shipping, Customs Duty, or Import VAT)
  • TikTok platform fees -- these are tracked automatically
  • Marketing costs -- these are tracked separately
  • Warehouse rent / labor -- use Manual Adjustments for these

How COGS Affects Historical Orders

When you set or change COGS for a product, your profit metrics update across all time periods. This means:

  • Setting COGS today will update Gross Profit, Margin, ROI, and Net Profit for all time periods where that product had sales.
  • This is usually what you want, since the product cost was the same even before you entered it into Dashboardly.

If your product cost has changed over time (e.g., your supplier raised prices), enter your current (or average) cost. This gives approximate historical accuracy. For most sellers, this is sufficient.

Tips for Accurate COGS

  • Start at the product level. Set the cost once per product and let all SKUs inherit. Only override individual SKUs when their cost actually differs.
  • Include all direct product costs. Purchase price, manufacturing, and packaging are the most common components.
  • Update costs when prices change. If your supplier raises prices, update the COGS in Dashboardly so your profit calculations stay accurate going forward.
  • Use the CSV template for bulk updates. For shops with dozens or hundreds of products, the bulk import is much faster than manual entry.
  • Set FBS shipping defaults early. If you ship orders yourself, entering a default shipping cost ensures your profit calculations do not understate expenses while waiting for settlement data.
  • Check your currency. Make sure the cost you enter matches the currency of your TikTok Shop.

Common Issues

I set COGS but my profit still shows $0

  • Check the cost source. If you set the cost at the product level, expand the product to verify that the SKUs show "inherited from product" as their COG source. If a SKU shows "not set," it may need a manual override or the product-level cost may not have saved.
  • Verify the value was saved. Refresh the Inventory page and confirm the cost value appears in the table.
  • Check for $0 entries. If you accidentally entered $0 as the cost, it is treated the same as not setting a cost.
  • Refresh if numbers have not updated. Profit metrics update immediately after saving costs. If numbers still look unchanged, refresh the page or change the date range to force a reload.

My COGS seems too high or too low

  • Verify per-unit cost. Make sure you entered the cost per single unit, not per case, per shipment, or per dozen.
  • Check your currency. Ensure the cost is in the same currency as your TikTok Shop (USD, GBP, EUR, etc., depending on your market).

I changed a cost but old orders still use the previous value

Changing COGS updates your profit metrics across all time periods for that product or SKU. If you changed the cost at the product level, all inheriting SKUs update automatically. SKUs with manual overrides are not affected by product-level changes.

COGS shows for cancelled orders -- is this correct?

Yes, in certain cases. If an order was cancelled after the product was shipped and the customer did not return the product, the COGS for that order is still counted. This is correct because the product left your inventory -- you incurred the cost even though the sale was reversed. If the product was returned, COGS is not counted. If the order was cancelled before shipping, COGS is not counted.

Was this article helpful?

Related Articles

Still need help?

Our support team is ready to assist you.

Contact Support