CSV / TSV
Send one offer per row with predictable column headings.
When to use it
A practical fit for your existing workflow.
Spreadsheets, ERP exports, scheduled reports, and large catalogues that need a simple portable format.
Input contract
Fields and structure
Use stable field names and meanings across every refresh. Legend normalizes the values, but the source contract should not drift silently.
Required or expected
skutitlepricecurrencyproduct_url
Recommended fields
gtinlwinbrandvintagesizestockdelivery_timeimage_urlvisibility
Supported variations
- Tab, comma, pipe, or mapped delimiter
- UTF-8 header row
- Quoted values containing delimiters
- One row for each merchant SKU
Copyable example
CSV feed
Replace the demonstration values with your own catalogue data. No customer, order, or payment data belongs in an inventory feed.
CSV
sku,title,brand,gtin,size,price,currency,product_url,stock
DEMO-001,Legend Demo Single Malt,Demo Distillery,5010327000142,70cl,39.50,GBP,https://merchant.example/products/demo-001,30
From source to live offer
Connection workflow
Every route uses the same quality gates before an offer becomes public.
Export one current offer per row.
Keep the header names stable between refreshes.
Validate the file and inspect normalized field mappings.
Publish only after identifiers and price rows pass review.
Before publication
Validation checklist
These checks keep bad prices, stale stock, and uncertain product matches out of the public marketplace.
- Price must be positive and use a decimal point.
- Currency uses a three-letter ISO code.
- GTIN is normalized to the same canonical form as the catalogue.
- Every SKU must be stable and unique within the merchant account.
Other connection paths