Skip to content
Back to Articles

Supplier Feed → Google Sheets → PrestaShop: build a reusable transformation pipeline

Supplier-feed normalization and repeatable catalogue updates
WORKFLOW
SUPPLIER FEED

RAW

NORMALIZE

MAP

VALIDATE

PRESTASHOP READY
Automation
Intermediate
PrestaHacks 3 min read

A supplier feed is not a PrestaShop import file.

It is source data. Your job is to turn that source into a controlled, repeatable dataset before it reaches the shop.

1. Keep RAW immutable

Import the supplier file into a RAW tab and do not edit it manually.

TEXT
RAW = what the supplier sent

That gives you a stable reference when something goes wrong later.

2. Build a normalized layer

Create consistent internal fields:

TEXT
source_sku
name
price
stock
brand_key
category_key
image_url

The supplier can change column order without forcing you to redesign every downstream step.

3. Normalize values

Examples:

TEXT
"  ABC-001 ""ABC-001"
"19,90 EUR"19.90
"YES"1
"Men/Shirts" → MEN_SHIRTS

Normalization should be deterministic. The same input should produce the same output every time.

4. Keep mappings separate

Use dedicated tables for business logic:

TEXT
CATEGORY_MAPPING
BRAND_MAPPING
TAX_MAPPING
ATTRIBUTE_MAPPING

Do not bury mapping logic inside a 200-character spreadsheet formula if another person will need to maintain it.

5. Build an UNMAPPED queue

Unknown values should not silently become new PrestaShop data.

TEXT
KNOWN → READY
UNKNOWN → UNMAPPED

A review queue is slower than blind automation for one minute and much faster than cleaning a broken catalogue for two days.

6. Add validation columns

Useful status fields:

TEXT
sku_status
price_status
category_status
image_status
row_status

Then create one final rule:

TEXT
row_status = READY / REVIEW / BLOCKED

7. Separate product and combination models

If a supplier feed contains size/color variants, define a parent key.

TEXT
parent_sku = TS01

TS01-S-BLK
TS01-M-BLK
TS01-L-BLK

Your READY dataset can now distinguish parent product data from combination data.

8. Create a PrestaShop-ready layer

Only rows that pass validation move forward.

TEXT
RAW
 ↓
NORMALIZED
 ↓
MAPPED
 ↓
VALIDATED
 ↓
READY_FOR_PRESTASHOP

9. Choose the delivery method later

The same READY dataset can feed:

  • CSV Import,
  • Webservice API,
  • a custom integration script.

This is why transformation logic should live before the delivery method.

10. Keep run metadata

Record:

TEXT
supplier file date
rows received
rows ready
rows blocked
unknown categories
unknown brands
run timestamp
import/sync result

11. The reusable pattern

TEXT
SOURCE
  ↓
RAW
  ↓
NORMALIZE
  ↓
MAP
  ↓
VALIDATE
  ↓
QUARANTINE ERRORS
  ↓
READY
  ↓
DELIVER
  ↓
VERIFY

Once you build this pipeline, the next supplier file becomes a repeatable process instead of another manual spreadsheet emergency.

Next step

Make category mapping a versioned input to the pipeline, not an ad-hoc spreadsheet fix. Add the product-image validation workflow before delivery, and reject unresolved mappings or broken assets before they reach PrestaShop.

STAY TUNED

Get practical PrestaShop hacks in your inbox.

INACTIVE