Moving to a PIM
From Excel to a PIM in one weekend: the 5-step method
9 min read
Yes, you can move from an Excel catalog to a PIM in one weekend, on one condition: spend Saturday deciding and Sunday executing. The method comes down to five steps: diagnose the file, set the target data model, import while mapping the columns, check completeness, then connect a first channel. For a catalog of a few hundred to a few thousand SKUs, the technical part takes a few hours; what takes time are the decisions the file has let you put off for years.
If you are still hesitating, first read “PIM for small businesses: do you really need one?”. Here, the decision has been made; all that is left is to carry it out.
Is one weekend really realistic?
For most small e-commerce businesses, yes, with an honest scope. A weekend is enough to get out of the spreadsheet, end up with a structured catalog, measure what is missing and feed a first channel. It is not enough to enrich all your product pages, translate the whole catalog or connect five marketplaces. Those projects come afterwards, on a sound foundation.
Three conditions make the weekend doable. A catalog of a few thousand SKUs at most, variants included. A single person who makes the calls: if every attribute choice has to go through three colleagues, plan for a week. And a single starting channel, usually the Shopify store, the one whose requirements you already know.
| When | Step | What you produce | Indicative duration |
|---|---|---|---|
| Saturday morning | 1. File diagnostic | A cleaned-up working copy and the list of issues | 2 to 3 hours |
| Saturday afternoon | 2. Target data model | Families, attributes, variant axes, channels | 2 to 4 hours |
| Sunday morning | 3. Import and mapping | The catalog in the PIM, structure and products | 1 to 3 hours |
| Sunday early afternoon | 4. Completeness check | The list of incomplete product pages, by channel | 1 to 2 hours |
| Sunday late afternoon | 5. First channel | A test batch published, then the rest | 1 to 2 hours |
These durations are orders of magnitude, not a promise: a very inconsistent file can double Saturday.
Step 1: how do you diagnose your Excel file before migrating?
Never migrate the original file: work on a dated copy. First reflex: list the columns and ask yourself, for each one, what it really describes. In a file that has been in use for several years, you almost always find duplicate columns (“Color” and “colorway”), columns that mix two pieces of information (“Size / color”), columns nobody fills in anymore, and information hidden in merged cells or comments.
Next come duplicates. Sort by SKU: each duplicate is a decision to make, not a row to delete mechanically. The same goes for EAN codes, which must be unique. GS1 France points out that most major platforms require them, Cdiscount for example for every new product page since February 1, 2021. If your EAN column is half empty, make a note of it: that will be a task for the following week, not a blocker for the weekend.
Third checkpoint: variants. An Excel file represents them in three ways: one row per variant with the product name repeated, one row per product with the sizes listed in a single cell (“S, M, L, XL”), or separate tabs per collection. Only the first one can be migrated as is. The other two require “unfolding” the rows before the import.
Last check, often forgotten: encoding. A file saved as a “regular” CSV can turn accented characters into gibberish. Shopify in fact requires UTF-8 for its CSV imports, and Microsoft documents how to properly open and save a UTF-8 CSV in Excel. An “é” in place of an “é” gives the problem away.
Step 2: what data model should your catalog aim for?
This is the step that sets a real PIM apart from an Excel file put online: separating four levels that the spreadsheet mixes on a single row.
The first level is the product reference: what identifies the product and does not depend on any channel (SKU, EAN, brand, family, weight, dimensions, composition). The second is the variant: what distinguishes two items of the same model, usually size and color. The third is content by channel and by language: the title, the description, the selling points, which are not written the same way for your store and for a marketplace. The fourth is media: photos, visuals per color, technical data sheets.
In practice, Saturday afternoon is spent creating your product families, for example “T-shirts”, “Pants” and “Accessories”; deciding for each one the list of useful attributes (ten to twenty are enough to start); and setting the variant axes. In cocoPIM, a master product carries at most two, usually size and color. An attribute with a closed set of values, such as color or material, deserves an option list rather than free text: that is what keeps you from having “Navy blue”, “navy” and “bleu marine” in the same catalog.
A word about Shopify, since it is often the starting channel. Since late 2025, the platform accepts up to 2,048 variants per product, up from 100 before, which lifts a long-standing constraint for fashion and equipment. But in a CSV import, variants are still described by three option columns, and Shopify specifies that changing option values recreates the variant IDs. The lesson: lock your axes and your option labels in the PIM before publishing, not after.
Take a fictional worked example. A ready-to-wear store sells 180 styles, each in 4 sizes and 3 colors. Its Excel file therefore has 2,160 rows, in which the name, description and composition of each style are repeated twelve times. In the PIM, this information is entered only once, at the style level; only the size, color, EAN and visuals vary. Fixing a composition no longer takes twelve edits, just one.
Step 3: how do you import your catalog and map your columns?
The import happens in two stages, always in the same order: structure first, products second. Families, attributes and option lists are brought in through a dedicated structure import; the product import, for its part, fills in product pages and does not create families on the fly.
In cocoPIM, the import wizard reads your Excel or CSV file, automatically matches every column whose header corresponds to an attribute, and lets you map the others. This is where Saturday morning’s diagnostic pays off: a column named after the attribute is mapped right away, a “Misc 2” column calls for a decision. And since option lists are part of the structure, your colors or materials carry over without being re-entered.
The golden rule is to start small. First import twenty representative products: a simple product, a product with variants, a product with lots of photos, a product whose page you know is poor. Check them on screen, fix the mapping if needed, then run the rest: five minutes lost instead of an afternoon.
Media follow the same principle. Put your photos in a folder with a simple naming convention (the SKU, then a sequence number) and drop them into the Media library. A photo named “IMG_4587”, on the other hand, will remind you why you are leaving Excel.
Step 4: how do you know if a product page is really complete?
A product page is not “complete” in absolute terms: it is complete for a given channel. Google Merchant Center, for example, requires for every product an ID, a title of at most 150 characters, a description of at most 5,000 characters, a link, an image, availability and a price; for apparel, it adds color, size, gender and age group, and the GTIN is mandatory whenever one exists. Google has also announced that from January 31, 2027, the main image must be at least 500 × 500 pixels. Your own store, on the other hand, requires almost nothing: hence so many half-empty product pages. The detailed requirements of Shopify, Google, Amazon and fashion marketplaces are set out in the channel-by-channel completeness checklist.
This is what cocoPIM’s completeness score by channel is for: for each channel, you declare the required attributes, and each product page shows the percentage reached and flags the required fields that are still empty. On Sunday, you do not complete everything: you publish what reaches the channel’s threshold and put the rest in a work queue for the week.
The stakes are not cosmetic. In an international study published by the software vendor Akeneo and reported by FashionNetwork in April 2026, 43% of the consumers surveyed say they returned at least one product during the year because of inaccurate information before the purchase.
For missing copy, cocoPIM’s built-in AI, powered by Mistral, can suggest descriptions or translations based on the attributes already filled in. It is an accelerator, not an autopilot: proofread, especially the composition and care information.
Step 5: how do you connect your first channel safely?
The first channel is almost always the Shopify store, and cocoPIM’s Shopify connector is used to sync your product pages from the PIM. Same discipline as for the import: a test batch first. Sync a handful of representative products from their product page, check the titles, variants, visuals and prices on the store, then widen the scope: with automatic sync, only products with the “Validated” status go out, which lets you move forward batch by batch.
Before the first sync, decide which system owns what. The PIM becomes the source for descriptions, attributes and media; stock is still managed elsewhere, in Shopify or in your ERP: the connector does not send it by default. Price, however, is sent from the PIM if it is filled in there: decide whether it belongs there or stays in your ERP. Write this split down, even in three lines: it prevents a change made in Shopify from being overwritten the following week.
Finally, freeze the Excel file. No need to delete it: rename it with the word “archive” and the date, and tell the team that from Monday on, the PIM is the reference. It is the simplest move of the weekend, and the most decisive one.
Which file errors come up most often?
| Common error in the file | What it causes on import | Fix before import |
|---|---|---|
| Several pieces of information in one column (“Size / color”) | Values that cannot be mapped to an attribute | Split the column in two |
| Sizes listed in a single cell (“S, M, L, XL”) | A single variant created instead of four | One row per variant |
| Inconsistent labels (“Navy”, “navy blue”, “bleu marine”) | Duplicate options, skewed filters | A single option list, then find and replace |
| Duplicate SKU or EAN | Products overwritten or rejected | Sort, decide, deduplicate |
| EANs turned into scientific notation by Excel | Unusable codes | Format the column as text before entering anything |
| Non-UTF-8 encoding | Garbled accents (“é”) | Save as “CSV UTF-8” |
| Merged cells, decorative title rows | Empty or shifted rows | A raw table: one header row, one row per item |
| Photos named “IMG_4587” | Photos impossible to find when attaching them to product pages | Rename them by SKU |
And after the weekend, what changes?
On Monday, the change is first of all organizational: no more debates about “the right version of the file.” The following weeks are for completing the product pages flagged by the completeness score, filling in the missing EANs, translating if you sell outside France, then opening a second channel. With 32% of online product sales in France made on marketplaces in 2025, according to Fevad, that second channel often comes sooner than you think.
If your file is more complex (several thousand product models, data coming from several suppliers), plan for a week instead. And if you would like an outside view before you start, we will look at your file with you.
Frequently asked questions
- How long does it take to move from Excel to a PIM?
- For a catalog of a few hundred to a few thousand SKUs and a first channel, one weekend is enough: Saturday to diagnose the file and decide on the data model, Sunday to import, check completeness and publish. Full enrichment of the product pages then continues over several weeks.
- Should I clean up my Excel file before importing it?
- Yes, but not all of it. Fix what prevents the import from working (duplicate SKUs, mixed columns, variants grouped in a single cell, encoding) and leave the rest to the PIM, which measures gaps by channel far better than a spreadsheet.
- What happens to my size and color variants?
- They are attached to a master product that holds the shared information (name, description, composition), each variant keeping only what sets it apart: size, color, EAN, visuals. You enter once what the file repeated on every row.
- Do I lose my Excel file?
- No. You work on a copy, the original is archived, and a serious PIM lets you export the entire catalog to CSV or Excel at any time. The file simply stops being the reference.
Sources
- Shopify, Help Center · Importing products with a CSV file (in French): file limited to 15 MB, UTF-8 encoding required, variants described by the option columns, variant IDs recreated if the options change (accessed October 1, 2026).
- Shopify France · More options, less management: offer 2,048 product variants on Shopify starting now (December 1, 2025, in French)
- Google, Merchant Center Help · Product data specification (in French): required attributes, maximum lengths, apparel requirements, 500 × 500 pixel image as of January 31, 2027 (accessed October 1, 2026).
- GS1 France · Sell your products online with a GTIN/EAN code (in French): marketplace requirements, including Cdiscount (accessed October 1, 2026).
- Microsoft · Opening CSV UTF-8 files correctly in Excel (in French): accessed October 1, 2026.
- FashionNetwork · A study reveals the main reasons for rising return rates (April 19, 2026, in French): international Akeneo study.
- Ecommerce Nation · E-commerce figures for France 2026: Fevad takes stock of a €196.4 billion market (July 2026, in French): marketplaces’ share: 32% of product sales.
The brands mentioned (Shopify, Google, Cdiscount, Microsoft Excel, Akeneo, Mistral AI) belong to their respective owners. cocoPIM is published by T2ND SAAS and is not affiliated with any of them. Platform requirements change: check them in their official documentation before publishing your product pages. The worked example of the ready-to-wear store is fictional.