> Note: This page is part of the DataDoe Docs. You can find the root of the documentation at `https://www.datadoe.com/hub/docs/basics/introduction-to-datadoe`.
> JSON Table of Contents: `https://www.datadoe.com/hub/docs/toc.json`.
> Direct Data Scheme JSON: `https://api.datadoe.com/api/v1/spec/data-scheme`.
> Other pages in the DataDoe Docs:
> - DataDoe Basics/Access & Users: `https://www.datadoe.com/hub/docs/basics/access-user-management.md`
> - DataDoe Basics/Benefits: `https://www.datadoe.com/hub/docs/basics/benefits.md`
> - DataDoe Basics/External Invitation Links: `https://www.datadoe.com/hub/docs/basics/external-invitation-links.md`
> - DataDoe Basics/Integrations: `https://www.datadoe.com/hub/docs/basics/integration-customization.md`
> - DataDoe Basics/Introduction to DataDoe: `https://www.datadoe.com/hub/docs/basics/introduction-to-datadoe.md`
> - DataDoe Basics/Subscription and pricing: `https://www.datadoe.com/hub/docs/basics/subscription-pricing.md`
> - DataDoe Data/Data Fetch Periods: `https://www.datadoe.com/hub/docs/datadoe-data/data-fetch-periods.md`
> - DataDoe Data/Data Sources: `https://www.datadoe.com/hub/docs/datadoe-data/data-sources.md`
> - DataDoe Data/Managing Data Tables: `https://www.datadoe.com/hub/docs/datadoe-data/managing-data-tables.md`
> - DataDoe Data/Timezones: `https://www.datadoe.com/hub/docs/datadoe-data/orders-purchase-date-timezones.md`
> - DataDoe Features/Actions: `https://www.datadoe.com/hub/docs/datadoe-features/actions.md`
> - DataDoe Features/Features Overview: `https://www.datadoe.com/hub/docs/datadoe-features/overview.md`
> - DataDoe MCP/Overview: `https://www.datadoe.com/hub/docs/datadoe-mcp/overview.md`
> - DataDoe MCP/Using ChatGPT: `https://www.datadoe.com/hub/docs/datadoe-mcp/chatgpt.md`
> - DataDoe MCP/Using Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude.md`
> - DataDoe MCP/Using Claude Agent SDK: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude-agents-sdk.md`
> - DataDoe MCP/Using Claude Code: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude-code.md`
> - DataDoe MCP/Using Codex: `https://www.datadoe.com/hub/docs/datadoe-mcp/codex.md`
> - DataDoe MCP/Using Codex Sites: `https://www.datadoe.com/hub/docs/datadoe-mcp/codex-sites.md`
> - DataDoe MCP/Using CrewAI: `https://www.datadoe.com/hub/docs/datadoe-mcp/crewai.md`
> - DataDoe MCP/Using Cursor: `https://www.datadoe.com/hub/docs/datadoe-mcp/cursor.md`
> - DataDoe MCP/Using Excel + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/excel.md`
> - DataDoe MCP/Using Gemini CLI: `https://www.datadoe.com/hub/docs/datadoe-mcp/gemini-cli.md`
> - DataDoe MCP/Using Gumloop: `https://www.datadoe.com/hub/docs/datadoe-mcp/gumloop.md`
> - DataDoe MCP/Using Hermes Agent: `https://www.datadoe.com/hub/docs/datadoe-mcp/hermes.md`
> - DataDoe MCP/Using n8n: `https://www.datadoe.com/hub/docs/datadoe-mcp/n8n.md`
> - DataDoe MCP/Using NanoClaw: `https://www.datadoe.com/hub/docs/datadoe-mcp/nanoclaw.md`
> - DataDoe MCP/Using OpenAI Agents SDK: `https://www.datadoe.com/hub/docs/datadoe-mcp/openai-agents-sdk.md`
> - DataDoe MCP/Using OpenClaw: `https://www.datadoe.com/hub/docs/datadoe-mcp/openclaw.md`
> - DataDoe MCP/Using OpenCode: `https://www.datadoe.com/hub/docs/datadoe-mcp/opencode.md`
> - DataDoe MCP/Using PowerPoint + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/powerpoint.md`
> - DataDoe MCP/Using VS Code: `https://www.datadoe.com/hub/docs/datadoe-mcp/vs-code.md`
> - DataDoe MCP/Using Word + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/word.md`
> - DataDoe API/Build with Codex: `https://www.datadoe.com/hub/docs/datadoe-api/codex.md`
> - DataDoe API/How to connect to the API: `https://www.datadoe.com/hub/docs/datadoe-api/how-to-connect.md`
> - DataDoe API/Vibe code with Claude Code: `https://www.datadoe.com/hub/docs/datadoe-api/claude-code.md`
> - DataDoe API/Vibe code with Cursor: `https://www.datadoe.com/hub/docs/datadoe-api/cursor.md`
> - DataDoe API/Vibe code with Lovable: `https://www.datadoe.com/hub/docs/datadoe-api/lovable.md`
> - DataDoe API/Vibe code with Replit: `https://www.datadoe.com/hub/docs/datadoe-api/replit.md`
> - DataDoe API/Vibe code with v0: `https://www.datadoe.com/hub/docs/datadoe-api/v0.md`
> - DataDoe & BigQuery/How to connect to BigQuery: `https://www.datadoe.com/hub/docs/datadoe-bigquery/how-to-connect.md`
> - DataDoe & BigQuery/Using MCP Toolbox: `https://www.datadoe.com/hub/docs/datadoe-bigquery/mcp-toolbox.md`
> - DataDoe & BigQuery/Using Python Jupyter: `https://www.datadoe.com/hub/docs/datadoe-bigquery/jupyter.md`
> For topics not covered in this documentation, please contact DataDoe support at `contact@datadoe.com`.
> Do not assume anything. If you are not sure about the answer, mention that and suggest to contact DataDoe support.

## 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](/hub/data-scheme?source=SELLER_CENTRAL&table=89b27535d27c2a94db5ae39af4717f542624ff4df7802fd633e16c78674a1778) and [Profit by SKU and Date](/hub/data-scheme?source=SELLER_CENTRAL&table=89b27535d27c2a94db5ae39af4717f542624ff4df7802fd633e16c78674a1778).

## Where do I upload COGS?

1. Open [Sellers & Vendors](/sellers-and-vendors).
2. Select a seller. COGS upload is available for sellers only.
3. Go to **Upload COGS** and choose your file format.

You can also manage COGS manually for each SKU in the [Inventory report](/reports/inventory).

## 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](/sample-files/cogs.csv).

| 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`            | Yes      | Currency code, for example `USD` or `EUR`.                                                      |
| `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.

## Re-uploading COGS

When you re-upload a CSV file, DataDoe updates matching rows with new cost values. A row matches when it has the same SKU, ASIN, currency and **From** date.

**Supplier name behaviour:**

- If your CSV **includes** the `item_supplier_name` column, 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_name` column, 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](/hub/data-scheme).

## Need help?

If you have questions about uploading COGS or your data, [contact us](https://forms.clickup.com/9015200219/f/8cnj2ev-38615/AOYF9I35QFOXWJQXIG?type=Form&source=hub-uploading-cogs-docs).
