Teapot Logo


How to bulk import product via CSV in PrestaShop 1.6. 

The latest video in our long running 'How To' series of tutorials explains how to bulk import product combinations via CSV file. In the video I run through the steps for importing colour and size options and demonstrate why you need to be careful with your CSV file as small mistakes can hold up the process.

The video tutorial comes complete with on screen instructions, a full audio commentrary and a full transcript available below the video. If you have any questions or comments then please post them on the YouTube page.

Transcript below.

Hello, and welcome to another tutorial of How to PrestaShop. As promised, we’re following on from the last tutorial, which was importing categories and products via CSV file. This time, we’re going to just expand on that and import products attributes via CSV and enable you to important in bulk all of your colour options or size options within a product.

We’re going to focus on the product we uploaded in our last video, which was the shoe product. So we imported this one by the back office; all of the details, images, descriptions, price and reference number. We’re going to do the same thing within the back office, but this time, we’re actually going to use the combinations importer option.

So as before, you need to choose the option of what kind of import you’re going to actually be doing and as before, we started with categories, we did products and now, we’ll do combinations.

Time – 1m:06s

Again, as before, it will show you the available fields which you can import into the store via CSV file. Again, we’re not going to use all of these. We’ll use the most basic settings, but I will go through each individual field just to give you an explanation of what it actually is.

So what we’re going to achieve today is with this product here (see screen), we’ve got various colours or shoes. We want to give the client an option to choose a colour to purchase, but at the same time, when they choose that colour, you want them to be able see what colour they’re buying just to confirm the purchase and add a pricing pack depending on what colour they chose.

So if they were to choose this colour here (see screen), they would be able to choose it from the drop-down. It will change the price and you’ll be able to add that to the cart and also, the image would change here (see screen) to show them exactly what product they were buying.

So if we go back to the back office, the first thing to do is to download a sample combination file which you do by clicking here (see screen). Once clicking that, it will download the CSV file over to your computer.

I’ve already done that and I’ve already set up some basic options within the fields. But before I go any further with this spreadsheet, I just want to show you where the data is going to be coming from because there’s a few things you need to do before you start the import within the back office so that the system knows exactly what colours and sizes or attributes you’re going to be calling upon when you use your CSV file.

Time – 2m:39s

If we go back to the back office and we look at the catalogue and we’ll be looking at product attributes here. So even though you can import in bulk, you will need those attributes such as size, colour in the system already to be able to reference within your spreadsheet. With these shoes, I’m going to be using colour.

So if you look (see screen) at the attribute values within the attribute colour, you have all of these values here (see screen). You’re looking at attributes again just to explain each attribute is named. So this is your attribute, which you would add to this button here (see screen), then you add values to this attribute. So if your attribute name is colour and the value’s are all these colours within the system here.

Time – 3m:28s

You need to add these in first of all if you are going to use colours in PrestaShop because you’re able to put−well, I haven’t found a way. If somebody does know, then post it within the comments to import colours into PrestaShop via CSV using the hexdecimal codes so that the colour is also imported into the system at the same time. We’re going to use existing colours here, but you can create your combinations within the spreadsheet which would be imported into the system, but they won’t actually have a colour assigned to them.

So we’ll do that within our spreadsheet to give you an example, but I advise really is to just put your colours in first of all, put the colour swatches in as well and then you can reference those within your spreadsheet. So we’ll leave that for now and we’ll go back to our spreadsheet.

Time – 4m:24s

So the first column is the key column, you need that in and you need to be referencing your product ID, so this is our product ID, 9991 (see screen), which we forced into the system in our last import. These are the two key columns for importing; your attribute and the value.

So the spreadsheet comes with a little description on what you should be putting into this field here. So it’s asking for a name, a type and a position. And in the same sense here within the value , it’s asking for value and a position.

The attribute name is ‘colour’, so if we go back to our attribute list, we’re using ‘colour’, so that’s an attribute name. We would put that into the option here (see screen). Then we’d separate it with a colon and then the type, the type of option choice. So there’s dropdown, there’s select and there’s radio.

These are the types of buttons you’ll be using to select the option so with the select option, you would use that with all colours. And if you drop down, you simply got one box and then with the radio, it’s a radio button choice. Now whether you select here because it’s a colour and a position−I’m not going to set position here on this one. It could be zero and the value is camel. The reason the value is camel because if we go back to our colour attribute, we already have it inputed into the system a colour called camel, so this is the one we want to assign.

Time – 6m:07s

The columns after this are fairly self-explanatory; your supply reference, your own reference, the EAN number or bar code (EAN13) or bar code, unique product code, the wholesale price. I’ve put in a fictional £5, and this is the impact on price. I want the price to change when you choose this colour and I wanted it to go up by £10 so I’ve entered 10 in here (see screen). You can charge ecotax. Here’s the quantity of the product and there’s five of these I’m importing. You can specify minimum quantity which has to be ordered with this product, so if I put quantity five, then you’d have to order five.

You can add to cart a minimum of five of this product. You can put an impact on weight so if your product already without this combination was a kilo, you could put an impact on weight and maybe another half of kilo because it’s option impacted on the weight of the product, but it’s a colour so it wouldn’t do.

You can decide whether this is the default combination for this product so is this colour the default? And you just need to put the zero or one in that box or leave it blank and the system will leave that as zero.

You can add the combination availability date here (see screen) so you can let the client know when this is going to be available. Then the next most important box is your image. Now, I’ve added a small add-on into the store to help with this process. It’s an add-on available on PrestaShop add-ons and it’s Media Manager Pro. The reason I’ve chosen this one is because what this little module enables you to do and I will put a link to the PrestaShop add-ons to show you where you can buy this.

Time – 7m:59s

In fact, it’s a module we developed here at Teapot Creative for this reason to be able to manipulate files easily within the system. So what I’ve done is it’s using the media manager, the standard media manager but PrestaShop won’t be able to do is to access this with a tab here (see screen) and then you create your own folders and everything in these folders, you can put your images. And the reason we need images here is because we need the URL of the image, so where abouts these images are on the website.

I created a folder called shoe images and I uploaded three images here (see screen). What I’ll do is just show you how quickly this process could take, and how good this module is. So I’ve got no images in there now and I want the three colours of shoes for this product uploaded to the system. So I simply click the menu option here (see screen), add some files−and I’ve already got the three files here (see screen) available.

Simply open those on my desktop, it’s imported them and I return back to the folder and there are my images. For this particular colour, camel, which we imported, I want this image. So all I need to do is click this here (see screen) and it will show me the URL of this image. I just simply double click that, copy that URL, go back to my spreadsheet and just paste it into the URL box here and that will go directly to my image.

Time – 9m:39s

This is a good way of putting folders of images on the system ready for you to manipulate rather than using FTP or trying to get access files c-Panel, something like that. So it’s a really good module, I definitely recommend buying it especially if you’re doing the CSV uploads.

It’s asking me if I want to delete the existing images, which are within the system so they may already be an image which is assigned to this particular attribute and it will delete those before it imports the new images.

So here’s a multi-shop, what is the ID of the shop? So it’ll import this particular attribute to a particular store. Whether you’re using advanced stock management, which we’re not using within this import, but if you’re adding it to certain warehouses or warehouse locations, then you can use those three columns there.

So at the moment, I’ve just got the one attribute ready and uploaded, but we’re going to add another one. Actually, I’m going to add two. Again, this is the product (see screen). ID; we want the attribute added too. Again, this is a colour, so we simply just copy this (see screen), but this time, we’re not going to put camel in there. This time, we’re going to choose a different colour. This time we’re going to choose − let’s go for grey.

You must remember you’ve got to get the actual spelling and the type, the upper case and lower case correct as it won’t recognize this colour. It will create a new colour instead using the one already inthe system, so we’ll use grey for this one.

Time – 11m:16s

The position is times one, so this is how they’ll appear within the drop down. Reference is grey (see screen), then grey123 and number. The wholesale price is the same price and the impact on price−just to show a difference we’ll say it’s £20 and we’re going to add 10 of these in stock.

Now, we need the image URL of that particular coloured shoes. We go back to Media Manager Pro. You look into the system and you’ll find the grey (see screen). We want to show the URL of that particular shoe. You copy that URL. Back to our spreadsheet and we go onto another one. It’s the same product ID because it’s the same product. It’s attribute two. Here’s the colour again and it’s order number two. This time it’s going to be black and it’s going to be number two (long pause). Our wholesale price is the same. We’ll just add three of these to be in stock, and our image−we’ll go back to our Media Manager Pro again. This time, we look at the URL for the shoe; copy that one. So there, we’ve got three colours already within the system; camel, grey and black.

Time – 13m:52s

This time, we’ll add one, but this time, it will actually not be in the system and you’ll see what happens when it does get imported in (see screen). This time, we’re going to call it−you can make errors if you don’t get it correct. We’re going to call it black, but with a lower case b. All your reference numbers need to be unique. I’m going to use the same image for this one because it’s another black.

Okay, so that’s our sheet completed. You can save that and you go back to the CSV import (pause) and yes we want to import combinations. We’ve changed our spreadsheet, which we’re going to upload. This combination we will test which was the CSV file. Make sure it goes green. Make sure you’ve got the correct field separator. Remember, in our last video, we put that in incorrectly and we’ve seen a complete mess of a spreadsheet so make sure you’ve got that correct so that it comes in nice, neat columns.

Time – 15m:30s

We’re not going to delete any combinations before the import and we’re not using the product reference as key, we’re using the product ID. The next step, we should see our spreadsheet in nice, neat columns. I explained last time about saving a template of your columns once you’ve matched your columns within PrestaShop columns in your spreadsheet. That way if you have to keep reimporting, you don’t have to keep on doing this process so I’ve already saved the template. If I load that one in, that matches everything up here. I can see a few changes to the correct column.

Okay, so that’s ready to go. If we import that−if we go back to our product, we’ll see it in a moment when we do the import that we have no attributes, no colours, no options here. Yep, all gone green and that’s been imported. If you go back to our product −you actually have a look at our product on line one. It’s doesn’t look any different at this point or this point (see screen), but when we go into combinations, what we would hope to see here is all of the combinations we’ve imported.

So our colours camel, grey, black, impact on price and our reference numbers and EAN numbers we’ve imported. And if we go back to the front of the store, we should now refresh that product and you’ll be able to see the colour options, which we can. So now we’ve got our camel option which we chose that camel picture. We chose the black and the picture with that one. And we chose the grey and it changes the picture according to the colour choice.

Now, you see this one here (see screen) is showing the black which we asked, but there’s no colour within the swatch, which is an error, but that can be rectified. And if we go back to our attributes list, we can see within the list−because we spelled black with a lower case b, it skipped past the black we wanted. What’s its done is created a new black here (see screen), but because it’s been created from the CSV import, it hasn’t assigned a hex colour to that value.

Time – 18m:05s

So to correct that, we just go edit and we can add a colour to the system either by using the colour picker or if you know what the colour, which you do for black, you can just simply add it, then save. So there’s adding the colour black to our value black lower case. If we save that, when we go back to the front office (see screen), we’ll be able to see that our error black is now black rather than the other colour and our other black is black, too.

But you might not just want to add colour, you might want to add colour and size and I’ll show you how to do that. We’ve got a couple of sizes here (see screen). We’ve got some shoe sizes. We’ve got 35−these are European shoe sizes. So if we go back into our spreadsheet (see screen)−this attribute here is colour - camel, but also you want to add size so we want the size and the colour within this attribute. PrestaShop can do with putting a bulk delete in at this point, it’d make things a lot quicker.

Time – 20m:13s

Okay, so we don’t have any combinations anymore. We can go back to our spreadsheet−so we want colour, which is camel, but we also want size so the way we do that is we put a comma in, then we put size, which is the name of our attribute and the type this time is that we select. It’s a drop down and the position is the same, zero, and value is 35, zero.

This time, we’re adding attributes with more than one option within that value, so save that (pause).Combinations would change that spreadsheet (pause), load our new version. At that point there actually, a good little tip is if you were re-importing instead of going back in and deleting as I did, at that point, you could delete all combinations before import. But I’ve got a feeling that that deletes the whole system. If somebody could just double check and post a comment, I’m pretty sure you can delete all of the combinations within the whole system, so if you’re only uploading one combination, you don’t want to delete everything just because of that one edit.

Time – 22m:21s

I will double check that and try and post that in comments just to clarify. So we’ve got our new attribute, we load our colours again and this time, we’ve got the two types in. Rather than just colour, we’ve got the size as well.

That’s imported okay. So it’s created the size drop down box, which we asked it to and it’s also created the colour so if you were to add that to cart, we’d be adding a camel colour in size 35, so that’s 35 camel. At checkout, we’ll be able to see if we added that option. The SKU is camel. The size is 35 and the colour is camel, so if you wanted to do another colour, you would simply do the same here (see screen)− so it’s colour with size and this would be the same. This time, we’ll chose black, zero and the comma−I don’t know what size is this. I’ll check for sizes, so we go back to our attributes and have a look at what size options we have, shoe size−sorry size. Actually, it’s saying that we’ve actually added size. Let’s do 36−size 36 which is zero. Actually, we don’t need to do this. We can just carry on. We’re making more work for ourselves here. We do need to add another option here.

Time – 24m:35s

This would just show the−so we’re going to go black, zero, comma, 36, zero−the reference would be camel, but this time−maybe this one is referenced black, and we’re going to do this one black123. We skip that one and we’ll add five in stock and we’ll £20. The quantity is five and we need our image so we go back to Media Manager Pro into our shoe images and we want the black URL. We just right click the image will bring up this box (see screen). We’ll copy that URL, back to our spreadsheet and we can paste it in there and that’s done. You save that and you go back to the store, go back to import, combinations−we change our spreadsheet because we made changes.

This is where the beauty of having the template already loaded saves so much time, and then we can just import that one and should have two options and two sizes. If we go back to the product, we now have two colour options.

Time – 26m:40s

We’ve only got one size option. Let’s go back and find out where that’s happened. It’s given us two options of black and camel, but we’re not looking at the size correctly. (Long pause – see screen for activity)

Time – 28m:18s

OK. Let’s go and have a look again. We’ve got an error somewhere. So we have colour which is select and size, drop down and it’s camel, 35 and it’s black. Let’s try again. (Long pause – see screen for activity).

Time – 29m:23s

So it may well be that I wasn’t sure−I mean with all CSV files, there’s always going to be a matter of keeping the data (Long pause – see screen).

Time – 30m:07s

I think what the problem was that there was no comma here (see screen). I think I put a full stop here (see screen) and the comma separates each individual value, so it picked up the black, but after that it didn’t actually understand that. So again, we all make mistakes. That does show how accurate you do need to be with your spreadsheets and with your data because your system will pick up any errors within that.

Obviously if you’re typing in in correct colours or you’re missing the delimiters, it will punish you. It’s actually created a new option here (see screen). That was when we imported our spreadsheet with the wrong template. So to remove that, we can simply go back−you can use the same spreadsheet for this time.

Time – 31m:14s

We go back. And you see the product actually has added a nice new attribute value which doesn’t exist because we use the incorrect template. We can simply go in and delete that. If we look at our combinations here (see screen), we’ve got this new. (Pause) Two actually. (Pause) Actually we removed those issues. We’re left with our two options here (see screen). Okay. (Long pause – see screen)

Time – 32m:25s

The reason we’re getting this orange square showing here (see screen) is that we’ve only said that black is available in 36. As soon as we change the colour to the camel, that’s not available in colour 36. It’s only available in colour 35 so what you have to do is you have to put all colours available in all sizes if they are available in all sizes.

Then that way, whichever colour you chose, you will have a size assigned to that colour as well. But because we’ve only imported it in black size 36, and camel size 35, PrestaShop does actually bring up a disclaimer saying that this combination doesn’t exist, please choose another one.

This can be changed within translations of PrestaShop, but it is a good fail safe way of turning off the add to cart button so they can’t add colours and combinations, which aren’t available for that product.

Time – 33m:21s

Well, I hope that wasn’t too painful. I pointed out a few mistakes, but maybe making mistakes sometimes is a good way of illustrating how you do need to concentrate when using CSV files. There is another video and I’ll post the link on here which we also have on our channel which is importing attributes and combinations in PrestaShop using the combinations wizard.

So if you don’t want to use the CSV file, PrestaShop does have the option in the back office here (see screen), the product combination generator and you can assign attributes to your products using this generator here (see screen) and we’ve got a very good comprehensive video again on how to use this within PrestaShop. Maybe take a look and decide which one you’d like to use, the CSV or the attribute generator and either way, they’re both just as good as each other and to be honest, the generator will eradicate more errors and issues, which you may get with the CSV file, which we found out this afternoon.

I hope this video is informative. We will be posting another one next week. Please leave your comments. Please share and please subscribe so that you get notified about our next video within the series.

[End of transcript]

Back to Insights