Merchant Panel
Catalog
CSV Product Import
bulk import products using csv bulk import is the fastest way to add many products at once instead of creating items one by one, you fill a csv file (excel/google sheets) and upload it required fields for successful product import important the following fields must be filled for a product to import successfully if any of these are missing, the import will fail mandatory fields product name selling price cost price product category product id (product id) the product id column needs to be blank it will be filled automatically as the system generates the product id for each product product name (product name) what this column is the name of the product as customers will see it rules required plain text one product per row example " pizza" description (product description) what this column is a short explanation of the product rules optional text only (no html required) example "classic pizza with tomato sauce and mozzarella cheese" sku (product sku) what this column is a unique identifier for your product (used internally and in reports) sku can be nullable, but cannot be duplicated rules optional but recommended must be unique per product example "pizza marg 001" price compare (product price compare) what this column is shows the “original price” crossed out (used for discounts/marketing) customers will see something like $18 99 $14 99 rules this should be higher than your selling price numeric only (no currency signs) example price (sell) 14 99 price compare 18 99 if you don’t want to compare pricing → leave its value blank min quantity / max quantity (product min max quantity) what it does controls how many units of the product a customer can add to the cart per order min quantity = the minimum customer must buy max quantity = the maximum customer can buy examples (pizza) min quantity 1 max quantity 5 (customer can buy up to 5 pizzas) therefore, in the csv file, you have to write it as 1,5 base price (product price selling) what this column is the base price of the product before add ons rules numeric value no currency symbol example 12 99 cost price (product price cost) what this column is internal cost price (used for reports only) rules optional numeric value example 5 tax percent (product tax percent) what it does adds tax to the product price based on a percentage if your catalog items have a fixed tax, it's recommended to use global tax through https //help hyperzod com/general#tss3l if the product tax varies by item, utilize this feature to configure the tax percentage accordingly how to fill it enter only the number don’t use % example tax percent 10 → means 10% tax status (product status) what this column is controls whether the product is visible values active inactive inventory (product inventory) what it does how many units are available example inventory quantity 30 (30 pizzas available) labels (product labels) what it does labels are usually used for store facing filters/highlights like “best seller” “new” “popular” “chef special” category (product category) what this column is the category under which the product will appear in your store example "fast food" category for "pizza" tags (product tags) what it does tags help with internal organization + filtering/search (and can be used for better discovery depending on your setup) good tags are descriptive, like “vegetarian” “cheese” “spicy” image url (product images) what this column is a publicly accessible image url for the product rules must be a valid, publicly accessible link https recommended example "https //img freepik com/free psd/pictou county pizza isolated transparent background 191095 32844 jpg" product options / variants product options allow you to add choices to a product in the csv, each option is defined first, and its variants are defined afterward in a specific format option name (option1 name) this is where you define what choice the customer is making example option name "pizza size" option type (option1 type) defines how many variants can be selected allowed values single → user can select only one multiple → user can select multiple option enable range (option1 enable range) controls whether min/max selection rules apply allowed values no → no min/max restriction yes → min/max selection required option range (option1 range) used only if enable range = yes example if the range is enabled, then define it as 1,3, indicating "1" is the minimum quantity and "3" is the maximum quantity if the enable range = "no", then simply define here as 0,0 option required (option1 required) whether the customer must select this option allowed values " yes " or " no " option view (option1 view) controls how options are displayed on the app allowed values list card basic variant structure (option1 variants) each variant follows this format variantname,price,minqty,maxqty,description,imageurl { nested addons } variants are separated by semicolons ; example from your csv (simplified) small,30,0,5,small size,https //img jpg multi level add ons (nested options) this is where advanced customization happens nested options are defined inside curly braces {} csv rules for nested add ons if you do not want to define a value in the multi level variants (such as minqty, maxqty, price, description, or image), do not remove it instead, leave it empty by adding commas example medium,0,0,, commas ( , ) are used to separate values within the same option or variant even empty values must keep their comma position semicolons ( ; ) are used to indicate that one variant is finished and the next variant begins each variant must be separated using a semicolon curly brackets { } are used to define nested or multi level add ons every opening { must be closed with } , otherwise the import will fail once all variants of an option are defined and the final closing } is added , that option is considered complete after completing one option (for example, option1), you can move on to define the next option (option2, option3, etc ) using the same structure understanding the syntax symbol meaning , separates values inside a variant ; separates multiple variants in a nested add ons { } indicates a child option exists ( ) contains child variants nested option structure option name, type, required, range, view, list { variant1 (variant2 ) }; the symbol "{" indicates the child options, and the symbol "(" indicates the child variants within the child options note child option range must be in format "\[min, max]" with square brackets enclosed in double quotes, e g , " \[0,0]" or " \[1,3]" real example (toppings inside size) { topping,single,no,"\[0,0]",no,list( chicken,10,0,,; desi chicken,10,0,,; chinese chicken,10,0,, ) } here is another example demonstrating two levels of add ons real example size → crust (2 levels) small,12 99,5 00,,,"" { crust,single,no,"\[0,0]",yes,list ( thin,0,0,,,""; thick,1 00,0,,,"" ) }