Skip to content
elastly
Book a demo

Data readiness checks before Elastly prices

The data readiness checks Elastly runs on your synced data, which ones block pricing, and three ways to fix a failing check: inline, by CSV or at the source.

Mohamed AshrafOct 24, 2026 · 4 min read

Data readiness checks whether the data Elastly has synced is complete enough to price with. Each check counts the records that pass and the records that need attention. A failing blocking check stops pricing for the records it lists, and a failing warning lowers the quality of the price. You can fix a failing record inline, by uploading a CSV, or at the source.

What the checks cover

Checks are grouped by what they make possible. The page shows a summary for each group at the top.

  • Priceable

    Costs, units, categories, segments, exchange rates and mapping, so a line can be priced.

  • Analysable

    Invoice lines with their cost, and credits linked to invoices, for margin analysis.

  • Learnable

    Enough history, and enough lines per scope, to learn markups from your sales.

  • Publishable

    Write permissions, required fields and an authorised write scope for write-back.

  • Servable

    Fallback and late answers within tolerance when other systems request prices.

Only the checks that apply to your connection run. The exchange rate check runs when you sell in more than one currency, and the write-back checks run when your system has a write target.

Checks that block pricing

  1. Mapping plausibility

    Money, cost, quantity and unit fields must pass their value checks. Fix it with Review mapping on the connector.

  2. Cost on priced SKUs

    Price is cost plus markup, so a SKU without a cost cannot be priced. Every priced SKU needs one.

  3. Cost age

    A cost not verified within 90 days blocks pricing for that SKU.

  4. Sell unit and pack factor

    A SKU sold in a different unit from its cost cannot be priced without its pack factor.

  5. Exchange rate per currency

    A currency without a current exchange rate cannot be priced.

Checks that warn

These checks never stop pricing, but a failing one lowers the quality of the price:

  • Category on priced SKUs

    Uncategorised SKUs add no category markup and price at the floor. The target is 95% of priced SKUs.

  • Markup set per category

    Categories without a markup rule price at the floor. Set markups opens the pricing policy.

  • Active customers in a segment

    Unsegmented customers use the default segment. The target is 95% of active customers.

  • Cost basis on invoice lines

    Gross margin needs the historical cost on at least 80% of invoice lines.

Three ways to fix a failing check

Open a failing check to see the records behind it. Costs, categories and segments can be fixed in three ways:

  • Fix it here

    Edit the cost, category or segment inline in the list of records.

  • Upload a CSV

    Select Download template, fill it in and select Upload CSV. Each row is validated before it is applied.

  • Send it to the data owner

    Send the list of records to the member who owns the data in your system, and they correct it at the source.

An inline edit or an upload changes the value Elastly holds. Correcting the record in your system as well keeps both in step on every later sync.

Worked example: missing costs

A distributor syncs 12,000 priced SKUs, and 180 of them have no cost. Cost on priced SKUs fails with 180 SKUs that need attention, so those 180 SKUs cannot be priced yet; the other 11,820 can.

  1. Open the check

    The list shows the 180 SKUs with their status.

  2. Download the template

    The costs template has one row per SKU with a cost column.

  3. Upload the file

    Elastly validates every row and reports a negative cost, a zero cost or a value that is not a number against its row.

  4. Run check

    The check runs again and passes once all 180 SKUs have a cost.

Worked example: NetSuite costs and units

In NetSuite, an item's Cost Estimate Type decides which field holds its cost. Elastly reads five types: Item Defined Cost, Average Cost, Last Purchase Price, Purchase Price and, for kits, Derived from member items. An item on any other type, such as Preferred Vendor Rate, has no cost in Elastly. A cost the role is refused is left missing too. Cost on priced SKUs lists both kinds of SKU, so a gap appears as a failing check, never as a wrong price.

Accounts with multiple units of measure need Lists › Units (View) on the role. Without it, NetSuite refuses the order and quote line read, and the connect guide shows where to add the permission.

Price a quote on top of your ERP

Price a quote from your own historySend us a recent quote. We price every line live on a 30-minute call.
Pricing engine

Common questions

The blocking pricing checks: cost on priced SKUs, cost age, sell unit and pack factor, exchange rate per currency and mapping plausibility. A failing blocking check stops pricing for the records it lists, and every other record still prices. Checks that only warn, such as a missing category or segment, lower the quality of the price but never stop it.