Every platform has its own idea of what a product CSV should look like. Hyperzod's import format uses a specific column layout: a set of PRODUCT.* columns for the product itself, followed by OPTION1.*, OPTION2.* columns that describe variant and add-on groups. Knowing this structure helps you understand what CSV Pilot generates — and why the file imports cleanly where hand-built files fail.
The product columns
Each product is one row. The product-level columns are:
| Column | Purpose |
| --- | --- |
| PRODUCT.NAME | Product name (required) |
| PRODUCT.DESCRIPTION | Optional product copy |
| PRODUCT.SKU | Unique stock code |
| PRODUCT.PRICE.SELLING | Selling price (required) |
| PRODUCT.PRICE.COMPARE | Optional "was" price |
| PRODUCT.PRICE.COST | Cost price |
| PRODUCT.MIN.MAX.QUANTITY | Optional order limits (min,max) |
| PRODUCT.TAX_PERCENT | Tax percentage |
| PRODUCT.STATUS | ACTIVE or INACTIVE |
| PRODUCT.INVENTORY | Stock quantity |
| PRODUCT.LABELS | Labels like Best Seller |
| PRODUCT.CATEGORY | Category (required) |
| PRODUCT.TAGS | Comma-separated tags |
| PRODUCT.IMAGES | Image URLs |
Only name, selling price and category are truly required — the rest can stay empty without breaking the import. Empty is different from zero: an empty inventory cell means "not set", while 0 means zero stock.
The option columns
Variants and add-ons live in option groups. Each group repeats a set of columns with a number suffix:
OPTION1.NAME— the group name, like "Size" or "Choose Your Toppings"OPTION1.TYPE—SINGLE(pick one) orMULTIPLE(pick many)OPTION1.ENABLE_RANGEandOPTION1.RANGE— optional min/max selection limitsOPTION1.REQUIRED—YESif the customer must chooseOPTION1.VIEW—LISTorCARDdisplay styleOPTION1.VARIANTS— the choices, each in the formname, price, cost, inventory, description, image
A Size group with Small, Medium and Large looks like:
Small,0.00,0.00,50,10 inch,
Medium,100.00,0.00,50,12 inch,
Large,200.00,0.00,50,14 inch,
Multiple groups stack: OPTION2.NAME for a toppings group, OPTION3.NAME for a crust choice, and so on.
The delta pricing rule
The most important concept in the template is delta pricing. The product's selling price covers the default variant. Every other variant stores only the difference. If the base price is ₹299 and Medium costs ₹100 more, Medium's variant price is 100.00 — not 399.00.
This keeps prices exact and bulk updates simple: change the base price once and every variant follows automatically. It is also how conversions preserve prices — a Shopify variant at ₹399 with a ₹299 base becomes a ₹100 delta, so the customer pays the same ₹399 either way.
Why building this by hand is painful
The template looks simple until you reach the VARIANTS cell. Each variant is a comma-separated mini-record inside one cell, and descriptions that contain commas must be quoted. Nested options add another layer of structure. One missing quote shifts every field that follows — the kind of error that fails an import on row 400 without telling you why.
CSV Pilot generates this structure for you. You describe sizes and toppings in plain language; the tool writes the correct OPTION*.VARIANTS cells, quotes descriptions safely, and validates the result before export. If you want to learn the format deeply, export a small generated file and open it in a text editor — the structure is exactly what this guide describes, and reading one generated file teaches the format faster than any documentation.