Map your supplier fields to your store
Field mapping tells Everstock which part of your supplier's feed holds each piece of product data: the SKU, the barcode, the quantity, the price and so on. This guide is about REST API feeds. You map them in the Inventory endpoint & mapping section at the end of the Connect a supplier page, and you can change the mapping later without starting over.
A WooCommerce store needs no mapping, because Everstock reads it for you. A CSV file or spreadsheet has its own Column mapping step. See Connect a WooCommerce store and Connect a CSV file or spreadsheet.
How a mapping row works
Each row pairs one Supplier field with one Maps to target. Supplier field is a path into one supplier record, like stock.available or attributes.ean. A leading $. is optional. A number reaches into a list, like stocks.0.quantity. Maps to is the store field the value goes into. Use Add mapping to add a row and Remove to delete one. Under the rows, the Images fields read a whole image gallery. See Sync images, SEO, compare-at price, cost and weight.
A new row starts on Choose a field, so typing a supplier field into it never replaces a mapping you already have. Pick its target before you save. Each target can have only one row. If two rows point at the same target, both show an error naming the field, and the page won't save until you remove one.
The fields you can map
Maps to offers these targets:
- SKU, Barcode, Title and Quantity
- Price (decimal) and Currency
- Image URL
- Description (HTML), Vendor, Product type and Tags (comma-separated)
- Compare-at price (decimal), Cost per item (decimal) and Weight (number)
- SEO title and SEO description
- Categories
When you set up a supplier by hand, the page starts with rows for SKU, Barcode, Title, Quantity, Price (decimal) and Currency. Each row guesses that your supplier uses the same name, so check every one against your real feed. The other targets start with no row. Add them only when your feed carries that data.
A preset fills the mapping in for you. See Supplier presets.
Mapping a field is not the same as syncing it
Mapping only makes a value available. The connection page decides whether Everstock writes it. Each field there has an On new products and an On existing products checkbox. A new connection only updates stock on products you already have. See Update product content, one field at a time.
A field with no mapping is not shown as a checkbox. It is named in a line that starts "Not in this supplier's feed".
Some mapped fields have their own guide:
- Price and Currency: Sync prices as well as stock and Set price rules for a supplier.
- Image URL, SEO, compare-at price, cost and weight: Sync images, SEO, compare-at price, cost and weight.
- Categories: Add products to collections from supplier categories.
Point Everstock at the records
Above the rows, Records path (optional) says where the list of records sits in the response, like $.data.items. Leave it empty when the response is already the list. If your feed is CSV, set Response format to CSV. CSV rows are read from the header line, so they need no records path. Every Supplier field path is read from inside one record, not from the whole response.
Matching is fixed at barcode, then SKU
Everstock always matches a supplier record to your store by barcode first, then by SKU. There is no setting for this. You need at least one of the two mapped, and you need Quantity. Until both are there, a banner headed "This mapping can't sync yet" says what is missing.
A supplier record with no barcode and no SKU cannot be matched to anything. It goes to review with the reason "No SKU or barcode in the feed". Two supplier records with the same key go to review too, as a duplicate. Nothing is guessed, and nothing is written for either. See What "For review" means.
Check your mapping before you save
Click Test connection in the page header. It fetches a sample and tries your mapping on it. It writes nothing. On success a toast reads like "Fetched 3 sample records". On failure a banner headed "Couldn't reach the supplier feed" appears. After a good test, the supplier fields Everstock found appear as buttons. Click one to map it.
The live mapping preview has five columns: Store field, Mapped from, Sample value, Normalized and Status. Sample value is the raw value from the feed. Normalized is what Everstock made of it, so a price shows as money and a quantity as a number. SKU and Barcode are marked "SKU or barcode", and Quantity is marked "required". The Status badge reads "Mapped", "Not mapped", "No data in sample", "Not a number" or "Not a price".
Below that, a per-record preview shows SKU, Barcode, Title, Quantity, Price and Issues for up to three sample records. A record with a problem says "no matching key" or "quantity missing/invalid". A clean record says "No issues". Both previews update as you edit, so you do not need to test again.
Change the mapping later
Open the connection and scroll to Field mapping. It has the same Supplier field and Maps to rows. Clear a row's supplier field to unmap it. The same section holds the Images gallery fields, your supplier metafields and Weight unit (fallback), the unit used when the feed gives a weight but no unit.
Click Save in the Shopify admin save bar, then run Preview changes to see the effect before a real sync.
Need help? Visit the support page or email hello@usenormalize.com.