You can also load product data programmatically via the public Retailgrid REST API. API payloads use slightly different field names and required fields — see Loading via the API below.
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
One sellable item (SKU level)
2. Referential integrity (critical)
The following fields must match exactly with Transaction history:
If
item_id does not match, transactions cannot be linked.
3. Product master — unified specification
4. Alignment with transaction schema
4.1 Keys Mandatory alignment: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- 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
- Must not overwrite required column names
- Must follow consistent naming
- Must contain a single value per row
- No nested JSON inside Excel cells
- CSV / XLSX upload only — the JSON API rejects unknown fields (see Loading via the API)
7. File format
Accepted:- CSV (UTF-8 preferred)
- XLSX
No formulas.
Raw data only.
8. Minimal product dataset (absolute minimum)
If system limitations exist:9. SQL schema example
10. Loading via the API
The public REST API accepts the same data throughPOST /v1/products/bulk (JSON records) or POST /v1/imports/products (CSV import). JSON payloads use different names for some fields and a different required set.
Required fields in API payloads: item_id, sku, sku_name, current_price, unit_cost.
All other fields keep the same names as the CSV columns above.

