THE SHORT ANSWER

A sale price needs a clear commercial context: the applicable product, market, currency and promotion period. Preserve the regular price, use the destination’s supported representation, and test the start and end boundaries. Never infer an active discount from a formatted string or a stale promotional label.

Define the authoritative price record

Identify the selling system that owns regular and promotional prices. A marketing spreadsheet may describe a campaign but still lack the current sellable offer. Document how the export chooses between regular, sale and market-specific values.

Store amounts with a defined unit and currency. Confusing minor units with major units can create a hundredfold error. Avoid guessing a currency from a symbol when the source supports an explicit code, and do not convert a market price without an approved pricing policy.

Model the promotion window explicitly

Clarify the start, end and relevant timezone in your internal workflow. A promotion ending at midnight is ambiguous until the market and timezone are known. Test values immediately before, during and after the intended period.

Translate that internal model into the destination’s current supported fields. Do not assume two channels use identical date formats or sale semantics. Preserve the original approved period so a reviewer can understand the transformation and reproduce the result.

Handle missing and contradictory inputs

Decide what happens when sale price exists but its period is missing, when a date is malformed, or when promotional and regular prices contradict the intended offer. Route uncertain records to review instead of silently treating them as active forever.

Validate amount formatting without treating it as commercial approval. A parser can recognize a positive numeric price while the merchant still supplied the wrong market or pack price. Include ordinary products, multipacks and discounted variants in your test sample.

Coordinate release and storefront timing

Schedule updates so the feed and storefront have a realistic chance to agree around promotion boundaries. Account for source refresh, export duration and destination processing. Avoid promising an exact downstream switch time when you cannot observe or control it.

After the promotion ends, check for stale overrides and cached exports. Keep the release record with the applicable source revision. Reusing last month’s successful file can accidentally revive a promotion whose dates or prices no longer apply.

ILLUSTRATIVE WORKED EXAMPLE

Make it concrete.

Illustrative example: a EUR promotion ends at 23:59 in the merchant’s chosen market timezone. A test checks the ordinary price before the start, the sale offer during the window and the restored ordinary price after the end. The export also confirms that the GBP storefront is unaffected.

Your practical checklist

  1. Name the selling system that owns each price.
  2. Record amount units and explicit currency.
  3. Define promotion boundaries and timezone.
  4. Review incomplete or contradictory sale inputs.
  5. Test the start, active period and end of the promotion.
Download the one-page checklist ↗

Common questions

Can I replace regular price with sale price?

Follow the receiving channel’s supported model. Keep the source distinction available so review and promotion expiry remain understandable.

Should a blank price become zero?

No. Treat missing price as an exception unless zero is an intentional, supported commercial value for that exact item and destination.

Sources & scope

Official references checked 29 October 2026. Examples are illustrative, not customer results. Platform requirements can change; use current destination documentation for implementation decisions.

Our editorial method & corrections ↗