Frequently Asked Question
What is the format of the standard import file?
Last Updated 7 years ago
You can import products into existing groups by selecting Database > Group > Import > Standard...

You can import products into a new batch by selecting Database > Batch > Import > Standard...

When importing into an existing group, Phototicket will attempt to match product in the existing group with those that are being imported. The match will first be attempted on both the product code and PLU/SKU fields (both fields must match). If a match is not found, there will be a second attempt to match the product by the name field. If a match is found, the matching product in the existing group will have the fields that exist in the import file updated. If a match is not found, a new product will be created in the existing group and its values will be set to those in the import file.
The standard import data is a CSV (comma separated values) file. The first line of the file contains the field names and all following lines contain the product information, one line per product.
Here's an example of an import data file containing all possible fields for a single product:
You don't need to included all fields in your data file and the order of the columns is insignificant.
This is the product name that appears in the product and batch product lists. The name is never displayed on a ticket. The name is entered in such a way that can assist with sorting, grouping and searching.
For example, it's convenient to have all apples sorted and grouped together so starting each apple variety's name with "Apples, " will achieve this. The product "Ambrosia Apples" will have the name "Apples, Ambrosia".
You won't want, however, for the name to be displayed on a ticket in that form. The product's display_name and caption is used to make up the text that appears on the ticket and is described in detail below.
The display_name is the name of the product in a form that's suitable for displaying on a ticket. For those products that have a number of varieties or types, it may be preferable, for formatting flexibility, to use the generic part of the product's name as the display_name and the more specific variety or type as the caption.
For example, the product "Ambrosia Apples" will have the display_name "Apples" and the product "98% Fat Free Sliced Ham" will have the display_name "Sliced Ham".
The caption makes up a more specific part of a product's display_name. Depending on the type of ticket, the caption can be displayed above the display_name or concatenated with the display_name and be forced to be displayed on a single line.
For example, the product "Ambrosia Apples" will have the caption "Ambrosia" and the product "98% Fat Free Sliced Ham" will have the caption "98% Fat Free".
For some taller designs, it may be preferable to display the caption in a medium size font above the display_name using a large size font and for other shorter designs, it may be preferable to display the caption concatenated with the display_name on a single line in a small size font.
This refers to the product's department. It's up to you to decide what a department is. The department will be displayed on a ticket as is with no special formatting or consideration.
This refer's to the product's subdepartment. It's up to you to decide what a subdepartment is. The subdepartment will be displayed on a ticket as is with no special formatting or consideration.
This is the product's brand. The brand will be displayed on a ticket as is with no special formatting or consideration.
This is the product's supplier. The supplier will be displayed on a ticket as is with no special formatting or consideration.
The product's PLU or SKU can be displayed on a ticket as is or as an EAN13 barcode where appropriate. The PLU/SKU will be used in conjunction with the product code to match imported products with existing products. Both the plu_sku and the product_code fields must exist in the import data and both must be the same in an existing product for it to be considered a match.
This is the product's EAN13 barcode. If the number of digits in the barcode is less than 13, it will be left padded with zeros and the checksum digit will be automatically calculated and added to the end.
This is the product's EAN128 barcode.
This refer's to the product's article number. It's up to you to decide what an article number is. The article number will be displayed on a ticket as is with no special formatting or consideration.
The product's product code. It's up to you to decide what a product code is. The product code will be displayed on a ticket as is with no special formatting or consideration. The product code will be used in conjunction with the PLU/SKU to match imported products with existing products. Both the product_code and plu_sku fields must exist in the import data and both must be the same in an existing product for it to be considered a match.
The size, pack measure and unit measure fields are related and work together to calculate the unit price. If any of the three are missing or invalid for a product, a unit price cannot be calculated.
The size could represent the number of items in a pack or the number of ml in a bottle.
For example, a bag of 3 capsicums will have a size of 3 whereas a 333 ml bottle of water will have a size of 333. To make things a little more complicated, a six pack of 333 ml bottles of water could have a size of 1998, representing the number of mls in 6 bottles of water or could have a size of 6, representing the number of bottles in a pack. The pack measure and unit measure setting will determine whether you should use the forma or the latter.
The pack measure, size and unit measure fields are related and work together to calculate the unit price. If any of the three are missing or invalid for a product, a unit price cannot be calculated.
The pack measure is made up of three parts; a name, a ratio and a measure family. The three parts are separated by colons.
The name can be any text but will usually contain a single hash (#). The hash will be substituted with the product's size when displayed.
For example, a bag of 3 capsicums will have a pack measure name of "Bag of #" and "Bag of 3" will be displayed on the ticket whereas a 333 ml bottle of water will have a pack measure name of "# ml bottle" and "333 ml bottle" will be displayed on the ticket.
The ratio is the multiplier used to match the name with the measure family.
For example, a bag of 3 capsicums will have a ratio of 1 when the name is "Bag of #" and the measure family is "unit". This is because each of the three capsicums is one unit. A 1.5 L bottle of water, however will have a ratio of 1000 when the name is "# L" and the measure family is "ml" because a 1.5 L bottle of water needs to be multiplied by 1000 to determine the number of mls.
The measure family can be one of unit, g, ml, mm or square m. Any other values are invalid and will be ignored.
For example, a bag of 3 capsicums will have a measure family of unit whereas a 333 ml bottle of water will have a measure family of ml. To make things more complicated, a six pack of 333 ml bottles of water could have a measure family of ml, representing the number of mls in 6 bottles of water or could have a measure family of unit, representing the units of bottles in a pack.
So, using the examples above, we would end up with the following pack_measures:
Bag of 3 capsicums - Bag of #:1:unit
333ml bottle of water - #ml:1:ml
1.5 L bottle of water - # L:1000:ml
The unit measure is the measure that you want to use to display the unit price. If you want to display the unit price in kgs, the unit measure will be per kg. If, however, you want to display the unit price in 100 gs, the unit measure will be per 100 g.
There are 12 preset unit measures: each, per 100, per 10 g, per 100 g, per kg, per 10 ml, per 100 ml, per L, per 10 mm, per 100 mm, per m and per square m. Any other values are invalid and will be ignored.
The ticket measure is used to override the unit measure in situation where it doesn't make sense to display the unit measure.
For example, for a 1 kg bag of carrots at $4.99 per kg, it would make more sense to display the unit measure as each rather than per kg because the display name 1 kg bag of carrots is already making it very clear that the price is already per kg.
The normal price is, obviously, the normal price of the product.
Even though the normal unit price can be calculated automatically from the size, pack measure and unit measure, in a situation where those values aren't available, you can manually calculate the normal price and save it here.
The special price is, obviously, the special price of the product.
Even though the special unit price can be calculated automatically from the size, pack measure and unit measure, in a situation where those values aren't available, you can manually calculate the normal price and save it here.
The special end date is the date that the special price ends. The format of the special end date is YYYY-MM-DD where YYYY is the year, MM is the month and DD is the day.
The multibuy quantity is the number of this product that need to be purchased together to qualify for the multibuy price.
The multibuy price is the total price
The multibuy unit price is usually calculated automatically from the multibuy quantity and the multibuy price but can be overridden by specifying a value here.
The number of kjs in the product.
The number of kjs per serve in the product.
Extra text can contain anything you like. It may something like "Super Special" or "New Season".
The actual text in the Australian country of origin label. Use the special characters "{percent}" (without the quotes) as a placeholder to substitute with the australia_percent value when printed.
For example, an australia_percent value of 75 and an australia_text value of "Made from {percent} Australian grown ingredients" will print "Made from 75% Australian grown ingredients".
You can import products into a new batch by selecting Database > Batch > Import > Standard...
When importing into an existing group, Phototicket will attempt to match product in the existing group with those that are being imported. The match will first be attempted on both the product code and PLU/SKU fields (both fields must match). If a match is not found, there will be a second attempt to match the product by the name field. If a match is found, the matching product in the existing group will have the fields that exist in the import file updated. If a match is not found, a new product will be created in the existing group and its values will be set to those in the import file.
The standard import data is a CSV (comma separated values) file. The first line of the file contains the field names and all following lines contain the product information, one line per product.
Here's an example of an import data file containing all possible fields for a single product:
"name","caption","display_name","department","subdepartment","brand","supplier","plu_sku","barcode","barcode_128","article_number","product_code","size","pack_measure","unit_measure","ticket_measure","normal_price","normal_unit_price","hide_normal_unit_price","special_price","special_unit_price","hide_special_unit_price","savings_amount","special_start_date","special_end_date","multibuy_quantity","multibuy_price","multibuy_unit_price","country_of_origin","kj","kj_per_serve","extra_text","hide_multibuy_unit_price","photos","info:Nutrition","info:Preparation","info:Purchase","info:Storage","info:Tips and Tricks",selected_photo,selected_infos "Apples 2 kg Bag","Juciy","Apples","Produce","","","","","","","","","2","# kg:1000:g","per kg","","3.99","","0","0","","0","0","","","0","0","","Product of Australia","","","","0","Three Braeburn:Apples, Braeburn3 w::White|Three Fuji:Apples, Fuji3 w::White|Three Golden Delicious:Apples, Golden Delicious3 w::White|Two Granny Smith:Apples, Granny Smith2 w::White|Two Royal Gala:Apples, Royal Gala2 w::White|Two Jonagold with Slices:Apples, Jonagold Slices w::White|Two Jonagold with Slices:Apples, Jonagold Slices b::Black|Three Braeburn:Apples, Braeburn3 b::Black|Three Fuji:Apples, Fuji3 b::Black|Three Golden Delicious:Apples, Golden Delicious3 b::Black|Two Granny Smith:Apples, Granny Smith2 b::Black|Two Royal Gala:Apples, Royal Gala2 b::Black|Two Jonagold with Slices:Apples, Jonagold Slices PA::Black PhotoArt|Three Braeburn:Apples, Braeburn3 PA::Black PhotoArt|Three Fuji:Apples, Fuji3 PA::Black PhotoArt|Three Golden Delicious:Apples, Golden Delicious3 PA::Black PhotoArt|Two Granny Smith:Apples, Granny Smith2 PA::Black PhotoArt|Two Royal Gala:Apples, Royal Gala2 PA::Black PhotoArt|:Apples, Ambrosia PA::Black PhotoArt","Apples contain a range of vitamins, minerals and fibre and have very good antioxident activity.","Wash apples thoroughly before eating or cutting.","Choose firm, smooth apples with a pink blush over a creamy-yellow background. Select fruit with unblemished skins.","Store apples in a ventilated plastic bag in the fridge - all varieties lose crispness when kept at room temperature.","Apples are full of flavour, a good source of vitamins and minerals, and a self-contained satisfying snack food.",203310393,Storage|Tips and Tricks
You don't need to included all fields in your data file and the order of the columns is insignificant.
name
This is the product name that appears in the product and batch product lists. The name is never displayed on a ticket. The name is entered in such a way that can assist with sorting, grouping and searching.
For example, it's convenient to have all apples sorted and grouped together so starting each apple variety's name with "Apples, " will achieve this. The product "Ambrosia Apples" will have the name "Apples, Ambrosia".
You won't want, however, for the name to be displayed on a ticket in that form. The product's display_name and caption is used to make up the text that appears on the ticket and is described in detail below.
display_name
The display_name is the name of the product in a form that's suitable for displaying on a ticket. For those products that have a number of varieties or types, it may be preferable, for formatting flexibility, to use the generic part of the product's name as the display_name and the more specific variety or type as the caption.
For example, the product "Ambrosia Apples" will have the display_name "Apples" and the product "98% Fat Free Sliced Ham" will have the display_name "Sliced Ham".
caption
The caption makes up a more specific part of a product's display_name. Depending on the type of ticket, the caption can be displayed above the display_name or concatenated with the display_name and be forced to be displayed on a single line.
For example, the product "Ambrosia Apples" will have the caption "Ambrosia" and the product "98% Fat Free Sliced Ham" will have the caption "98% Fat Free".
For some taller designs, it may be preferable to display the caption in a medium size font above the display_name using a large size font and for other shorter designs, it may be preferable to display the caption concatenated with the display_name on a single line in a small size font.
department
This refers to the product's department. It's up to you to decide what a department is. The department will be displayed on a ticket as is with no special formatting or consideration.
subdepartment
This refer's to the product's subdepartment. It's up to you to decide what a subdepartment is. The subdepartment will be displayed on a ticket as is with no special formatting or consideration.
brand
This is the product's brand. The brand will be displayed on a ticket as is with no special formatting or consideration.
supplier
This is the product's supplier. The supplier will be displayed on a ticket as is with no special formatting or consideration.
plu_sku
The product's PLU or SKU can be displayed on a ticket as is or as an EAN13 barcode where appropriate. The PLU/SKU will be used in conjunction with the product code to match imported products with existing products. Both the plu_sku and the product_code fields must exist in the import data and both must be the same in an existing product for it to be considered a match.
barcode
This is the product's EAN13 barcode. If the number of digits in the barcode is less than 13, it will be left padded with zeros and the checksum digit will be automatically calculated and added to the end.
barcode_128
This is the product's EAN128 barcode.
article_number
This refer's to the product's article number. It's up to you to decide what an article number is. The article number will be displayed on a ticket as is with no special formatting or consideration.
product_code
The product's product code. It's up to you to decide what a product code is. The product code will be displayed on a ticket as is with no special formatting or consideration. The product code will be used in conjunction with the PLU/SKU to match imported products with existing products. Both the product_code and plu_sku fields must exist in the import data and both must be the same in an existing product for it to be considered a match.
size
The size, pack measure and unit measure fields are related and work together to calculate the unit price. If any of the three are missing or invalid for a product, a unit price cannot be calculated.
The size could represent the number of items in a pack or the number of ml in a bottle.
For example, a bag of 3 capsicums will have a size of 3 whereas a 333 ml bottle of water will have a size of 333. To make things a little more complicated, a six pack of 333 ml bottles of water could have a size of 1998, representing the number of mls in 6 bottles of water or could have a size of 6, representing the number of bottles in a pack. The pack measure and unit measure setting will determine whether you should use the forma or the latter.
pack_measure
The pack measure, size and unit measure fields are related and work together to calculate the unit price. If any of the three are missing or invalid for a product, a unit price cannot be calculated.
The pack measure is made up of three parts; a name, a ratio and a measure family. The three parts are separated by colons.
The name can be any text but will usually contain a single hash (#). The hash will be substituted with the product's size when displayed.
For example, a bag of 3 capsicums will have a pack measure name of "Bag of #" and "Bag of 3" will be displayed on the ticket whereas a 333 ml bottle of water will have a pack measure name of "# ml bottle" and "333 ml bottle" will be displayed on the ticket.
The ratio is the multiplier used to match the name with the measure family.
For example, a bag of 3 capsicums will have a ratio of 1 when the name is "Bag of #" and the measure family is "unit". This is because each of the three capsicums is one unit. A 1.5 L bottle of water, however will have a ratio of 1000 when the name is "# L" and the measure family is "ml" because a 1.5 L bottle of water needs to be multiplied by 1000 to determine the number of mls.
The measure family can be one of unit, g, ml, mm or square m. Any other values are invalid and will be ignored.
For example, a bag of 3 capsicums will have a measure family of unit whereas a 333 ml bottle of water will have a measure family of ml. To make things more complicated, a six pack of 333 ml bottles of water could have a measure family of ml, representing the number of mls in 6 bottles of water or could have a measure family of unit, representing the units of bottles in a pack.
So, using the examples above, we would end up with the following pack_measures:
Bag of 3 capsicums - Bag of #:1:unit
333ml bottle of water - #ml:1:ml
1.5 L bottle of water - # L:1000:ml
unit_measure
The unit measure is the measure that you want to use to display the unit price. If you want to display the unit price in kgs, the unit measure will be per kg. If, however, you want to display the unit price in 100 gs, the unit measure will be per 100 g.
There are 12 preset unit measures: each, per 100, per 10 g, per 100 g, per kg, per 10 ml, per 100 ml, per L, per 10 mm, per 100 mm, per m and per square m. Any other values are invalid and will be ignored.
ticket_measure
The ticket measure is used to override the unit measure in situation where it doesn't make sense to display the unit measure.
For example, for a 1 kg bag of carrots at $4.99 per kg, it would make more sense to display the unit measure as each rather than per kg because the display name 1 kg bag of carrots is already making it very clear that the price is already per kg.
normal_price
The normal price is, obviously, the normal price of the product.
normal_unit_price
Even though the normal unit price can be calculated automatically from the size, pack measure and unit measure, in a situation where those values aren't available, you can manually calculate the normal price and save it here.
hide_normal_unit_price
If you don't want the normal unit price to display on the ticket, set this value to 1, otherwise leave it blank.special_price
The special price is, obviously, the special price of the product.
special_unit_price
Even though the special unit price can be calculated automatically from the size, pack measure and unit measure, in a situation where those values aren't available, you can manually calculate the normal price and save it here.
hide_special_unit_price
If you don't want the special unit price to display on the ticket, set this value to 1, otherwise leave it blank.savings_amount
The savings amount is usually calculated automatically from the difference between the normal price and the special price. It can, however, be manually overridden if a value is specified here.special_start_date
The special start date is the date that the special price starts. The format of the special start date is YYYY-MM-DD where YYYY is the year, MM is the month and DD is the day.special_end_date
The special end date is the date that the special price ends. The format of the special end date is YYYY-MM-DD where YYYY is the year, MM is the month and DD is the day.
multibuy_quantity
The multibuy quantity is the number of this product that need to be purchased together to qualify for the multibuy price.
multibuy_price
The multibuy price is the total price
multibuy_unit_price
The multibuy unit price is usually calculated automatically from the multibuy quantity and the multibuy price but can be overridden by specifying a value here.
country_of_origin
The product's country of origin. If the country of origin doesn't exist in the list of country of origins within Phototicket, it will be added.kj
The number of kjs in the product.
kj_per_serve
The number of kjs per serve in the product.
extra_text
Extra text can contain anything you like. It may something like "Super Special" or "New Season".
hide_multibuy_unit_price
If you don't want the multibuy unit price to appear on the ticket, set this value to 1, otherwise leave it blank.show_australia_logo
If you want the Australian logo to display on the ticket, set this value to 1, otherwise leave it blank.australia_percent
Whole number between 0 and 100 inclusive. The percent of the product that is Australian made/grown. This value will be used to determine the size of the bar chart and can be printed in the australia_text value (see below).australia_text
The actual text in the Australian country of origin label. Use the special characters "{percent}" (without the quotes) as a placeholder to substitute with the australia_percent value when printed.
For example, an australia_percent value of 75 and an australia_text value of "Made from {percent} Australian grown ingredients" will print "Made from 75% Australian grown ingredients".