Supplier Feed → Google Sheets → PrestaShop: build a reusable transformation pipeline
SUPPLIER FEED
↓
RAW
↓
NORMALIZE
↓
MAP
↓
VALIDATE
↓
PRESTASHOP READY
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.
RAW = what the supplier sentThat gives you a stable reference when something goes wrong later.
2. Build a normalized layer
Create consistent internal fields:
source_sku
name
price
stock
brand_key
category_key
image_urlThe supplier can change column order without forcing you to redesign every downstream step.
3. Normalize values
Examples:
" ABC-001 " → "ABC-001"
"19,90 EUR" → 19.90
"YES" → 1
"Men/Shirts" → MEN_SHIRTSNormalization should be deterministic. The same input should produce the same output every time.
4. Keep mappings separate
Use dedicated tables for business logic:
CATEGORY_MAPPING
BRAND_MAPPING
TAX_MAPPING
ATTRIBUTE_MAPPINGDo 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.
KNOWN → READY
UNKNOWN → UNMAPPEDA 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:
sku_status
price_status
category_status
image_status
row_statusThen create one final rule:
row_status = READY / REVIEW / BLOCKED7. Separate product and combination models
If a supplier feed contains size/color variants, define a parent key.
parent_sku = TS01
TS01-S-BLK
TS01-M-BLK
TS01-L-BLKYour READY dataset can now distinguish parent product data from combination data.
8. Create a PrestaShop-ready layer
Only rows that pass validation move forward.
RAW
↓
NORMALIZED
↓
MAPPED
↓
VALIDATED
↓
READY_FOR_PRESTASHOP9. 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:
supplier file date
rows received
rows ready
rows blocked
unknown categories
unknown brands
run timestamp
import/sync result11. The reusable pattern
SOURCE
↓
RAW
↓
NORMALIZE
↓
MAP
↓
VALIDATE
↓
QUARANTINE ERRORS
↓
READY
↓
DELIVER
↓
VERIFYOnce 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.