What is COGS in DataDoe?
Cost of goods sold (COGS) is what you pay to source or make one unit of a product. DataDoe does not fetch COGS from Amazon. You upload it as a CSV file. Uploaded COGS is used in profit reports and tables such as Order Line Items and Profit by SKU and Date.
Where do I upload COGS?
- Open Sellers & Vendors (opens in a new tab).
- Select a seller. COGS upload is available for sellers only.
- Go to Upload COGS and choose your file format.
You can also manage COGS manually for each SKU in the Inventory report (opens in a new tab).
How does effective dating work?
COGS is stored per SKU and From date. A row applies from that date until the next From date for the same SKU.
For example, SKU ABC-123 has a row with From date 2026-01-01. DataDoe uses that row for the SKU until you add another row with a later From date, such as 2026-03-01.
What is the file format?
Use the DataDoe CSV format to set costs per SKU and the date they start. You can download a sample CSV (opens in a new tab).
| Column | Required | Description |
|---|---|---|
child_asin | Yes | Product ASIN (10 characters). |
sku | No | SKU this cost applies to. If empty, DataDoe resolves SKUs from your listings. |
from | No | Start date (YYYY-MM-DD or MM/DD/YYYY). Empty means the cost applies from the earliest date. |
cost_item_value | No | Item cost per unit (without shipping). Defaults to 0. |
cost_item_shipping_value | No | Shipping or inbound cost per unit. Defaults to 0. |
cost_currency | No | Currency code of the seller marketplace (for example USD or EUR). Empty or omitted uses the marketplace currency. Rows with a different currency are rejected. |
item_supplier_name | No | Supplier name for the item (optional, up to 128 characters). |
All required column headers must be present. You can omit optional columns from the header.
SellerBoard CSV format
You can upload a product CSV exported from SellerBoard without converting it to the DataDoe format. DataDoe reads these SellerBoard columns:
| SellerBoard column | Description |
|---|---|
ASIN | Product ASIN. |
SKU | SKU this cost applies to. If empty, DataDoe resolves SKUs from your listings. |
CostPeriodStartDate | Start date in DD/MM/YYYY or YYYY-MM-DD format. Empty means the cost applies from the earliest date. |
Cost | Item cost per unit. An empty value is uploaded as 0. |
DomesticShippingCost | Shipping cost per unit. An empty value is uploaded as 0. |
The upload uses the currency and marketplace selected in DataDoe. SellerBoard fields not listed above, including VAT, are ignored. DataDoe does not add or remove VAT from the uploaded cost. Make sure the Cost values in the file already represent the per-unit costs you want DataDoe to use.
For how DataDoe P&L compares to Sellerboard (no VAT row, different COGS engine, agent prompt), see Migrating from SellerBoard.
Re-uploading COGS
When you upload a COGS CSV, DataDoe matches each row on:
-
SKU
-
ASIN (
child_asin) -
Currency (
cost_currency) -
From date (
from) -
Matching row → values are overwritten with what is in the file.
-
No match → a new row is added (for example, a new effective date).
Re-uploading the same file with the same keys updates existing data. It does not create duplicate rows for the same SKU and From date.
Supplier name behaviour:
- If your CSV includes the
item_supplier_namecolumn, supplier values in the file replace stored values for matching rows. Leave a cell empty to clear the supplier name for that row. - If your CSV does not include the
item_supplier_namecolumn, existing supplier names are preserved for matching rows. - SellerBoard uploads never change supplier names on matching rows. New rows inserted from SellerBoard files have no supplier name.
Edits made in the per-SKU COGS editor also preserve supplier names when you change costs only.
Which tables use uploaded COGS?
Look for tables that contain COGS-related columns in the Data Scheme.
These tables include cogs_present. For a detailed row, true means an uploaded COGS record applies, even if its cost is zero. For a profit summary, true means every contributing shipped item and return has COGS. For an ad profit row, it means reported sales match the same- and other-SKU split and each positive part has a COGS estimate. false means coverage is incomplete. null means there are no relevant items, no positive ad sales, or the campaign type does not support COGS estimates.
Need help?
If you have questions about uploading COGS or your data, contact us (opens in a new tab).

