P
Portaim

Import Supplier CSVs into Shopify Without Manual Cleanup

Import supplier CSV, XLSX, and XLS files into Shopify without spreadsheet cleanup — AI column mapping, 40+ validation rules, auto-fix for common issues, and export as a Shopify-ready CSV or direct API push.

Free plan available · No credit card required · Shopify connection optional

The problem with supplier CSV files

Shopify can import products from a CSV file, but supplier spreadsheets are usually not prepared for Shopify. Shopify expects a specific column layout — and supplier files almost never use it.

A supplier file may have columns like:

Supplier column Example value Why it can be a problem
Product NamePremium Leather ChairNeeds to map to Shopify’s Title
Retail Price EUR€129,90Currency symbol and comma decimal need normalization for Variant Price
Item CodeCHAIR-BLK-01Should map to Variant SKU
Photo 1http://supplier.com/img.jpgNeeds to map to Image Src; https:// is usually safer for public image URLs
AvailabilityIn stockDoes not directly match Shopify’s active / draft / archived statuses
Weight KG1,4 kgNeeds cleanup before it can be exported into Shopify-compatible weight fields

A direct import often means manual work:

  • renaming supplier columns to Shopify’s expected names;
  • copying values into Shopify’s expected fields;
  • fixing prices, weights, and booleans;
  • checking duplicate or missing SKUs;
  • validating image URLs;
  • making sure required fields like Title and Variant Price are populated;
  • repeating all of it the next time the supplier sends a file.

Portaim is built for this exact workflow.

How Portaim helps

1. Upload your supplier file

Upload a CSV, XLSX, or XLS file from your supplier.

You can use Portaim even if the file does not match Shopify’s CSV format yet. After upload you pick the sheet (for multi-sheet XLSX files) and the header row so Portaim knows where your product data starts.

2. Map supplier columns to Shopify fields

Portaim suggests mappings between supplier columns and the official Shopify product CSV fields.

For example:

Supplier column Shopify field
Product NameTitle
DescriptionBody (HTML)
Item CodeVariant SKU
Retail Price EURVariant Price
Wholesale CostCost per item
Photo 1Image Src
BrandVendor
CategoryProduct Category

Review every suggestion before confirming, override any that does not fit, and Portaim's template auto-save remembers your corrections the next time a supplier file with the same column layout is uploaded — no re-mapping from scratch.

For product photography spread across several columns (image_1, image_2, image_3…), the mapper builds a real Shopify image gallery instead of picking one column and losing the rest — see the bulk-import image galleries guide.

AI column mapping in Portaim — supplier spreadsheet columns mapped to Shopify product fields, including a combined category path and an expanded image gallery

3. Catch Shopify CSV import issues before export

Before sending products to Shopify, Portaim checks your mapped data against common CSV import issues and Shopify field expectations.

Common supplier-file issues and what Portaim does about them:

Issue Example Why it matters Portaim
Missing Titleempty product nameProduct rows need enough product data to be created correctlyFlagged as a required-field error
Blank or invalid price—, €19,90Shopify price fields expect normalized numeric monetary valuesFlagged before export or normalized where possible
Currency symbol in price€19,90Currency symbols and comma decimals can cause import or formatting problemsAuto-fix can strip the symbol and normalize the decimal
Duplicate Variant SKUsame SKU on multiple rowsDuplicate SKUs make inventory tracking and product updates harder to trustFlagged across rows so you can review them
Invalid Image Srcsupplier-image-1Shopify needs publicly accessible image URLs during CSV importFlagged as an invalid URL
http:// image URLhttp://…Public https:// image URLs are safer and more reliable for importsWarning before export
Status not in Shopify’s listenabled, live, yesShopify product status uses values such as active, draft, or archivedSuggests the closest valid value
Weight format issue1,4 kgWeight values need cleanup before export into Shopify-compatible fieldsUnit suffix (kg, g…) stripped automatically; comma-decimal values are flagged in the fix step for a manual normalize
Compare-at price issue15.00 / 15.00Compare-at price should usually represent a higher original priceFlagged as a warning

Portaim also catches variant-related problems that are easy to miss during spreadsheet cleanup — for example, missing option names, duplicate option combinations, or incomplete option columns.

Validation results in Portaim showing common Shopify CSV import issues, invalid prices, missing required fields, and duplicate SKUs flagged before export

Variants — color, size, and other product options

Variants are one of the trickiest parts of any Shopify CSV import. Shopify represents variants as multiple rows that share the same Handle, with each row carrying explicit option fields such as Option1 Name and Option1 Value. Products with two or three option axes use Option2 Name / Option2 Value and Option3 Name / Option3 Value as well.

Supplier files vary widely in how they handle this:

  • Shopify-style. Some supplier files already include explicit Option1 Name / Option1 Value columns. Portaim maps these directly.
  • Flattened columns. Some files use a single column per variant attribute, such as Color, Size, or Material, where each row contains the value for that variant. Portaim helps you map these to Shopify’s option columns and flags missing option names so your variant structure is not changed unexpectedly during import or update.
  • Combined columns. Some suppliers cram every variant attribute into a single column like Variant or Attributes with values like Red / Small. Portaim's Split editor breaks that back into real Option1 / Option2 fields — see the variant options guide for the full walkthrough.
  • Single-variant catalogs. Some suppliers send one row per product with no variants. These map to Shopify without option columns.

Portaim catches common variant traps before export, including:

  • duplicate option combinations on the same product;
  • option values without a matching option name;
  • gaps in option numbering — if you leave Option1 empty but map Option2, the export compacts them so Shopify still receives a valid Option1/Option2 pair.

Export to Shopify or download a Shopify-ready CSV

After mapping and validation, you choose how to export:

  • Direct Shopify export — connect your Shopify store and Portaim sends products via the Shopify API.
  • CSV download — download a Shopify-formatted CSV and import it manually in Shopify admin.

Connecting your Shopify store is optional. You can use Portaim end-to-end and never connect a store — download the clean CSV, review it, and import it on your own schedule.

Portaim export options showing direct Shopify export to a connected store and Shopify-ready CSV download

Built for repeat supplier imports

Most merchants do not import supplier files only once. The same supplier sends an updated catalog next month, then the month after.

Portaim recognizes when a supplier file with the same column layout is re-uploaded and applies your previous mapping automatically, so you can move to validation with less re-mapping and less setup. The matching is based on the file’s column structure — a fingerprint of the headers — so you do not need to remember a template name.

This is especially useful when:

  • the same supplier sends regular product updates;
  • each supplier has a different spreadsheet format;
  • you work with multiple brands or wholesalers in parallel;
  • you want a repeatable import process instead of manual cleanup every time.

When this page is for you

Portaim is a good fit if you:

  • sell on Shopify;
  • receive supplier, wholesaler, distributor, or dropship CSV/XLSX files;
  • spend time cleaning product spreadsheets manually;
  • need to map supplier columns to Shopify fields;
  • want to catch CSV import issues before export;
  • want to reuse mappings for repeat supplier files.

Portaim may not be the right fit if:

  • you only add a handful of products manually;
  • your supplier already provides a perfect Shopify-ready CSV;
  • you need a full ERP or PIM system with inventory sync, accounting, and order management;
  • you want a custom one-off migration project rather than a self-service import tool.

Why not just import the supplier CSV directly into Shopify?

If a supplier file already follows Shopify’s expected CSV format, you can import it directly.

But most supplier files do not. They use different headers, localized values such as German Beschreibung or French Prix, currency symbols, custom availability values, http image URLs, missing or extra columns, and inconsistent SKUs.

Portaim sits between the supplier file and Shopify:

Supplier CSV/XLSX → Portaim mapping + validation + fixes → Shopify-ready export

The goal is not to replace Shopify’s import. The goal is to prepare supplier data so the import is less likely to fail, your variant structure is not changed unexpectedly, and the same cleanup does not need to be repeated manually every month.

For a feature-by-feature breakdown and pricing, see the Portaim homepage.

Frequently asked questions

Can I import Excel supplier files, or only CSV?

You can upload CSV, XLSX, and XLS files. Portaim parses all three, then exports a Shopify-ready CSV or pushes products directly to Shopify.

Do I need to connect my Shopify store?

No. Connecting Shopify is optional — you can use Portaim end-to-end and just download a Shopify-ready CSV, then import it in Shopify admin yourself.

Can Portaim handle different supplier formats?

Yes. Portaim is designed for supplier files with different headers, languages, and structures. You map columns once with AI assistance, override any suggestions that do not fit, and Portaim can reuse the mapping the next time the same supplier sends a file with the same layout.

Does Portaim change existing products?

Portaim only writes to Shopify when you export, and even then only in the mode you pick. The default export creates new products; if you choose upsert mode it looks up products by handle and updates the existing ones. Review the export settings carefully — especially when working with existing SKUs or product updates.

How does Portaim handle product variants?

Each variant can be exported as a separate row sharing the same Handle, with Option1 Name / Option1 Value and Option2 / Option3 fields if applicable. Portaim flags variant problems before export, such as duplicate option combinations, missing option names, and non-sequential option slots.

What counts as a processed row?

A processed row is a data row from your uploaded file, excluding the header row. For example, a file with one header row and 500 product rows counts as 500 processed rows.

Is Portaim free?

Yes. Portaim has a free plan with monthly import and processed-row limits. If you need higher limits for a real supplier-file test, email us at [email protected].

Turn your supplier file into Shopify-ready products

Upload your supplier CSV, XLSX, or XLS file, map columns to Shopify fields, validate the data, fix common issues, and export products with less manual spreadsheet work.