Product Mapping: channel SKUs ↔ internal products
Pair each channel SKU with an internal product so pulled orders can build OMS orders automatically. Field reference for Client, Channel Product ID and Channel Inventory Item ID included.
Product Mapping is shared master data: it pairs an external channel SKU (what the marketplace calls the item) with an internal product (what your warehouse ships). OMS, WMS and TMS all read the same table, so one pairing serves every flow.
When you need it#
- A pulled order has an SKU with no pairing: the order cannot build an OMS order and waits in the pending tab.
- A new channel goes live: pair its catalog SKUs before the first pull, so orders flow through untouched.
- A product is replaced or rebranded: update the pairing instead of touching every flow.
Field reference#
- External SKU (required): the SKU as the channel reports it, e.g. "AMZ-B08XYZ". Matching is case-insensitive.
- External Title: the channel-side product name, for your eyes only — it never affects matching.
- Channel: the channel code this pairing belongs to (e.g. shopify). "Global" means it applies to every channel.
- Client: which client owns this pairing. Empty means all clients share it — use it for your own-brand catalog; set a specific client when the same channel SKU means different products for different clients (3PL).
- Channel Product ID: the channel-side product identifier that is not the SKU — e.g. the Shopify product_id or the Amazon internal listing ID. Used when the channel API talks in product IDs rather than SKUs (product sync, inventory push).
- Channel Inventory Item ID: the channel-side inventory item identifier the channel caches after a successful inventory push (e.g. Shopify inventory_item_id). Speeds up later pushes — the system skips a lookup round-trip. Leave empty and it will be filled automatically on the first successful push.
- Product ID: the internal product this channel SKU maps to.
- Active: the on/off switch. Turn off to retire a pairing without deleting it (history stays readable).
Matching priority#
- The specific connection (if the pairing is tied to one connection) wins first.
- Then the channel-code generic pairing (applies to all connections of that channel).
- Client scoping applies on top: a client-specific pairing beats the all-clients one for that client's orders.
Set up a pairing#
- Open Master Data → Product Mappings.
- Click New. Pick the channel (and connection if the pairing is connection-specific), type the External SKU exactly as the channel reports it.
- Pick the internal product. Fill Client only when the SKU means different products for different clients.
- Optionally fill Channel Product ID (from the channel admin / API) so product sync and inventory push can address the item directly.
- Save and pull a test order — the SKU should resolve with no pending step.
FAQ#
- SKU shows as unmapped: open the pending tab in Product Mapping and pair each channel SKU to a product — usually a typo in the External SKU.
- One channel SKU maps to different products per client: create one pairing per client (set the Client field), not one shared pairing.
- Inventory push is slow for one SKU: check whether Channel Inventory Item ID is filled — an empty value forces an extra lookup each time.