Skip to main content

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.

Product master data specification. Check the sample Sample_products.csv.
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.

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 product (SKU level)

2. Referential integrity (critical)

The following fields must match exactly with Transaction history:
Product FileTransaction File
product_idproduct_id
If product_id does not match, transactions cannot be linked.

3. Product master — unified specification

Field NameRequiredTypeFormatDescriptionExampleAlternative Names
product_id✅ YesstringUniqueUnique product identifier (used in transactions)P001
product_name✅ YesstringTextFull product nameCordless Drill 18V BlueSKU Name, Product Title, Product Variant Name
price✅ Yesdecimal(12,2)Dot separatorThe actual selling price. Current Price129.99Current Price, Actual Price
unit_cost✅ Yesdecimal(12,2)2 decimalsCost per unit at time of sale80.00Cost Price, Purchase Cost, Purchase Price
sku⬜ OptionalstringTextStock Keeping UnitSKU-1001SKU Code
barcode⬜ OptionalstringEAN/UPCBarcode value5901234123457EAN, UPC, GTIN
brand⬜ OptionalstringTextBrand nameBoschBrand Name, Label, Trademark
manufacturer⬜ OptionalstringTextManufacturer nameBoschProducer, Vendor, Supplier
product_group⬜ OptionalstringTextLogical product groupDrill-18VPricing group, Assortment Group, Product family
status⬜ Optionalstringactive / inactiveProduct lifecycle statusactiveLifecycle Status, Availability status
stock⬜ Optionalinteger≥ 0Current stock level125Inventory level, Stock_on_hand, Available quantity
product_type⬜ OptionalstringTextProduct classificationPower ToolsItem type
category1⬜ OptionalstringTextTop-level categoryToolsDepartment
category2⬜ OptionalstringTextSubcategoryPower Tools
category3⬜ OptionalstringTextSubcategory level 3Drills
category4⬜ OptionalstringTextSubcategory level 4Cordless
category5⬜ OptionalstringTextSubcategory level 518V
image_url⬜ OptionalstringURLProduct image URLhttps://…
product_url⬜ OptionalstringURLProduct page URLhttps://…
rrp⬜ Optionaldecimal(12,2)2 decimalsRecommended retail price129.99MSRP, List Price, Recommended Price
regular_price⬜ Optionaldecimal(12,2)Dot separatorThe standard, non-discounted price of the product139.99Base price, Normal price, Standard price
product_created_date⬜ OptionaldateYYYY-MM-DDProduct creation date2024-01-15Product Launch date
price_effective_date⬜ OptionaldateYYYY-MM-DDPrice effective date2026-02-01Price start date, Price valid from
cost_effective_date⬜ OptionaldateYYYY-MM-DDCost effective date2026-01-15Cost start date, Cost valid from
size⬜ Optionaldecimal or stringNumeric or textSize value12Variant size
uom⬜ OptionalstringUnit codeUnit of measurepcsUnit, Measurement unit
tax_rate⬜ Optionaldecimal(5,4)0–1VAT rate (0.20 = 20%)0.20Tax rate, Vat percentage
currency⬜ Optionalstring(3)ISO codeCurrencyEURCurrency code, Iso currency

4. Alignment with transaction schema

4.1 Keys Mandatory alignment:
transaction.product_id = product.product_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
YYYY-MM-DD
Example:
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:
product_idproduct_namematerialcolor
P001Tent 3PPolyesterGreen

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:
product_id
product_name
price
unit_cost
However, for pricing analytics it is strongly recommended to include:
product_id
product_name
price
unit_cost
brand
category 1–3
rrp
regular_price
vat_rate
currency

9. SQL schema example

CREATE TABLE product_master (
    product_id VARCHAR(64) PRIMARY KEY,
    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
);