> ## Documentation Index
> Fetch the complete documentation index at: https://docs.retailgrid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Products

> Upload your product master data including IDs, names, prices, costs, and attributes to power Retailgrid analytics.

Product master data specification.

Check the sample [**Sample\_products.csv**](https://drive.google.com/file/d/1Mj8DS0pTOdF747zNEAn4_5hCfxU10-Qo/view?usp=sharing).

<Note>
  You can also load product data programmatically via the public **Retailgrid REST API** instead of CSV upload. The same field constraints below apply to API payloads.
</Note>

## 1. Objective

The Product Master dataset supports:

* Linking transactions to products
* Margin calculation (via unit\_cost)
* Category-level analytics
* Brand & assortment analysis
* Elasticity modeling
* Price corridor analysis

Each row represents:

> **One sellable item (SKU level)**

## 2. Referential integrity (critical)

The following fields must match exactly with [**Transaction history**](/data-requirements/sales):

| **Product File** | **Transaction File** |
| :--------------- | :------------------- |
| item\_id         | item\_id             |

If `item_id` does not match, transactions cannot be linked.

## 3. Product master — unified specification

| **Field Name**         | **Required** | **Type**          | **Format**        | **Description**                                                                           | **Example**             | **Alternative Names**                                |
| :--------------------- | :----------- | :---------------- | :---------------- | :---------------------------------------------------------------------------------------- | :---------------------- | :--------------------------------------------------- |
| item\_id               | ✅ Yes        | string            | Unique            | Unique SKU-level identifier. Links transactions, store, and competitor data to this item. | SKU-1001                | item id, sku id, article id                          |
| product\_id            | ⬜ Optional   | string            | Text              | Product-level code grouping related items / variants under one product.                   | P001                    | product code, style code, product group code         |
| product\_name          | ✅ Yes        | string            | Text              | Full product name                                                                         | Cordless Drill 18V Blue | SKU Name, Product Title, Product Variant Name        |
| price                  | ✅ Yes        | decimal(12,2)     | Dot separator     | The actual selling price. Current Price                                                   | 129.99                  | Current Price, Actual Price                          |
| unit\_cost             | ✅ Yes        | decimal(12,2)     | 2 decimals        | Cost per unit at time of sale                                                             | 80.00                   | Cost Price, Purchase Cost, Purchase Price            |
| sku                    | ⬜ Optional   | string            | Text              | Stock Keeping Unit                                                                        | SKU-1001                | SKU Code                                             |
| barcode                | ⬜ Optional   | string            | EAN/UPC           | Barcode value                                                                             | 5901234123457           | EAN, UPC, GTIN                                       |
| brand                  | ⬜ Optional   | string            | Text              | Brand name                                                                                | Bosch                   | Brand Name, Label, Trademark                         |
| manufacturer           | ⬜ Optional   | string            | Text              | Manufacturer name                                                                         | Bosch                   | Producer, Vendor, Supplier                           |
| product\_group         | ⬜ Optional   | string            | Text              | Logical product group                                                                     | Drill-18V               | Pricing group, Assortment Group, Product family      |
| status                 | ⬜ Optional   | string            | active / inactive | Product lifecycle status                                                                  | active                  | Lifecycle Status, Availability status                |
| stock                  | ⬜ Optional   | integer           | ≥ 0               | Current stock level                                                                       | 125                     | Inventory level, Stock\_on\_hand, Available quantity |
| product\_type          | ⬜ Optional   | string            | Text              | Product classification                                                                    | Power Tools             | Item type                                            |
| category1              | ⬜ Optional   | string            | Text              | Top-level category                                                                        | Tools                   | Department                                           |
| category2              | ⬜ Optional   | string            | Text              | Subcategory                                                                               | Power Tools             |                                                      |
| category3              | ⬜ Optional   | string            | Text              | Subcategory level 3                                                                       | Drills                  |                                                      |
| category4              | ⬜ Optional   | string            | Text              | Subcategory level 4                                                                       | Cordless                |                                                      |
| category5              | ⬜ Optional   | string            | Text              | Subcategory level 5                                                                       | 18V                     |                                                      |
| image\_url             | ⬜ Optional   | string            | URL               | Product image URL                                                                         | https\://…              |                                                      |
| product\_url           | ⬜ Optional   | string            | URL               | Product page URL                                                                          | https\://…              |                                                      |
| rrp                    | ⬜ Optional   | decimal(12,2)     | 2 decimals        | Recommended retail price                                                                  | 129.99                  | MSRP, List Price, Recommended Price                  |
| regular\_price         | ⬜ Optional   | decimal(12,2)     | Dot separator     | The standard, non-discounted price of the product                                         | 139.99                  | Base price, Normal price, Standard price             |
| product\_created\_date | ⬜ Optional   | date              | YYYY-MM-DD        | Product creation date                                                                     | 2024-01-15              | Product Launch date                                  |
| price\_effective\_date | ⬜ Optional   | date              | YYYY-MM-DD        | Price effective date                                                                      | 2026-02-01              | Price start date, Price valid from                   |
| cost\_effective\_date  | ⬜ Optional   | date              | YYYY-MM-DD        | Cost effective date                                                                       | 2026-01-15              | Cost start date, Cost valid from                     |
| size                   | ⬜ Optional   | decimal or string | Numeric or text   | Size value                                                                                | 12                      | Variant size                                         |
| uom                    | ⬜ Optional   | string            | Unit code         | Unit of measure                                                                           | pcs                     | Unit, Measurement unit                               |
| tax\_rate              | ⬜ Optional   | decimal(5,4)      | 0–1               | VAT rate (0.20 = 20%)                                                                     | 0.20                    | Tax rate, Vat percentage                             |
| currency               | ⬜ Optional   | string(3)         | ISO code          | Currency                                                                                  | EUR                     | Currency code, Iso currency                          |

## 4. Alignment with transaction schema

**4.1 Keys Mandatory alignment:**

```text theme={null}
transaction.item_id = product.item_id
```

**4.2 Currency Consistency** If transactions include `currency`, product file must include `currency`.

**4.3 VAT Consistency** If VAT is included in transaction prices:

* Provide vat\_rate in product file
* Clarify whether unit\_price in transactions is gross or net

## 5. Data format requirements

**5.1 Dates**

```text theme={null}
YYYY-MM-DD
```

Example:

```text theme={null}
2026-02-18
```

**5.2 Numeric Fields**

* Decimal separator: `.`
* No currency symbols
* No thousand separators

## 6. Custom attributes (extensibility model)

You can add additional attributes as extra columns.

Examples:

* material
* color
* season
* gender
* supplier\_id
* competitor\_reference
* margin\_group
* elasticity\_cluster

**Rules for custom attributes**

* Must not overwrite required column names
* Must follow consistent naming
* Must contain a single value per row
* No nested JSON inside Excel cells

Example:

| **item\_id** | **product\_name** | **material** | **color** |
| :----------- | :---------------- | :----------- | :-------- |
| SKU-1001     | Tent 3P           | Polyester    | Green     |

## 7. File format

Accepted:

* CSV (UTF-8 preferred)
* XLSX

**One row per SKU.**

No pivot tables.\
No formulas.\
Raw data only.

## 8. Minimal product dataset (absolute minimum)

If system limitations exist:

```text theme={null}
item_id
product_name
price
unit_cost
```

However, for pricing analytics it is strongly recommended to include:

```text theme={null}
item_id
product_name
price
unit_cost
brand
category 1–3
rrp
regular_price
vat_rate
currency
```

## 9. SQL schema example

```text theme={null}
CREATE TABLE product_master (
    item_id VARCHAR(64) PRIMARY KEY,
    product_id VARCHAR(64),
    product_name VARCHAR(255) NOT NULL,
    sku VARCHAR(64),
    barcode VARCHAR(64),
    brand VARCHAR(128),
    manufacturer VARCHAR(128),
    product_group VARCHAR(128),
    status VARCHAR(32),
    stock INT,
    product_type VARCHAR(128),
    category1 VARCHAR(128),
    category2 VARCHAR(128),
    category3 VARCHAR(128),
    category4 VARCHAR(128),
    category5 VARCHAR(128),
    image_url TEXT,
    product_url TEXT,
    size VARCHAR(64),
    uom VARCHAR(32),
    product_created_date DATE,
    rrp DECIMAL(12,2),
    regular_price DECIMAL(12,2),
    vat_rate DECIMAL(5,4),
    currency CHAR(3),
    price_effective_date DATE,
    cost_effective_date DATE
);
```
