averagecost in one
system and unit_cost in another, and ERPs are full of custom fields. Field mapping is where you
tell Elastly which of your fields mean what.
You rarely start from scratch. When you connect a source, Elastly reads its schema and a sample of
real rows, then proposes a mapping. You review what it flags, fix anything specific to your account,
and save. Every sync after that follows the mapping.
What you actually have to map
Three fields. Everything else is optional and makes the price sharper when you map it.
Quotes and orders also need an id, a customer reference, and a sale date, but your connector fills
those in itself. You never map them by hand.
How Elastly proposes a mapping
For each canonical field, Elastly ranks every candidate in your source on three signals:- Name. How closely the source field’s name resembles the canonical one. This carries the most weight.
- Type. Whether the source type fits (a money field should not be mapped from a date).
- How often it’s populated. A column that is empty in most of your sample rows is a poor match, even with a perfect name.
Money is always your call. A field that holds money, or that needs converting to cents, is
never auto-verified, even when the match is obvious. Cost is the basis for every margin Elastly
stacks, so a wrong guess there is wrong everywhere. It always lands in Review.
Product fields
sku and costCents are required. The rest sharpen the price or help match products when you map
them.
Customer fields
OnlyexternalId is required. The others are what let a price vary by who is buying.
Quotes and orders
Elastly maps these itself. A quote carries an id, the customer it belongs to, its status, and its date. An order carries an id, the customer, and when it sold. Orders are the signal the pricing learns from, and quotes tell it what was won and lost. Only NetSuite syncs quotes today. See Connectors.When your data isn’t a plain column
Real systems hide things. A mapping doesn’t have to be one column on one table:Column
Column
A field on the record itself, like
product.name. The common case.Lookup
Lookup
Follow a code to its human label. Useful when your source stores a category as an id and you want
the name behind it.
Fixed value
Fixed value
Always use the same value. Useful when a source has no field for something and it never varies,
like a single-region account.
What each source starts with
Each connector ships defaults for its standard fields, so most accounts barely touch the mapping. The gaps are deliberate: where a value lives is specific to your account, Elastly asks rather than guesses.- NetSuite
- Shopify
- BigCommerce
- WooCommerce
Category and brand have no default. NetSuite accounts keep them in different places, often a
custom field, so Elastly asks instead of guessing wrong.
Where you do it
Open the connector from Integrations and go to Field mapping. The board shows one column per record type: Product, Customer, Quote, and Order. Fields needing attention are flagged, and you can open any field to see the sample values behind Elastly’s guess before you accept it. You can change a mapping at any time. If your source schema changes, re-run discovery to pick up new fields without losing what you already verified.Worth a second look. Category and customer segment are the two mappings to confirm on a real
account. They decide how prices and recommendations get grouped, and the field they come from is
specific to how you set up your system.