Skip to main content
A price record is a single price for a single variant: an amount, a currency, a price type, and the date it takes effect. Prices always attach to a variant, so a product with several sizes or colors has one record per variant per price type. This page is for merchandisers and integrators managing pricing in MerchantOps. New to the vocabulary? See Core concepts.

What a price record holds

product_key / variant_key
what the price applies to
The product and the specific variant the price belongs to. Prices are set at the variant level — MSRP and every other price type live on the variant, not the parent product.
price_type
which price this is
One of five canonical types (see the table below). A variant can carry several records at once — for example an MSRP and a sale price with different effective dates.
amount / currency
the price
The numeric price and its currency (default USD).
effective_from
when it takes effect
The date the price becomes active. A date-only value is interpreted as midnight in your organization’s publishing time zone.
status
lifecycle state
A record starts as draft and moves through active, then expired or superseded as newer prices take over.

Price types

MerchantOps recognizes exactly these five price types. Any other value is rejected when the record is saved.
TypeMeaning
mapMinimum Advertised Price — the floor a product may be advertised at.
map_stepdownA scheduled reduction to a MAP floor that takes effect on a later date.
saleA temporary promotional price.
markdownA permanent price reduction.
msrpManufacturer’s Suggested Retail Price.
MAP as a policy (the legal document a brand issues) is tracked separately from MAP price records. See MAP policies.

Effective dates

Every record carries an effective_from date. When you pick a calendar date, MerchantOps treats it as local midnight in your organization’s publishing time zone and stores the exact instant, so a price scheduled for a given day goes live at the start of that day for your business — not at UTC midnight. Because records are dated, a variant can hold today’s active price alongside a future price that has not taken effect yet. Listing and filtering tools let you view the current price, the next upcoming price, or prices within a date range.

Creating prices

You can create prices a few ways, depending on scale:
1

One record at a time

Create a single price for one variant — useful for a one-off correction.
2

Mass-create across variants

Apply one price type and amount to many variants of a product at once (for example, the same MSRP across every size of a style).
3

Bulk set several prices

Submit multiple price lines — different types and effective dates — for a set of variants in one call. Lines that share an effective date are grouped together automatically.
4

Import from CSV

Upload a CSV to create many records at once. The import runs in the background as a job. A downloadable template shows the expected columns (product_key, variant_key, price_type, amount, effective_from, currency, brand_key, notes).
When you create prices, MerchantOps can group them into a price batch for review and scheduled publishing. Batching is on by default — mass-create and bulk-set find or create an open batch keyed on the effective date. See Price batches.

Viewing and editing

Records can be listed per product, filtered by brand, status, or price type, and grouped by product with summary counts. You can update an individual record’s amount, dates, or notes, and delete records individually or in bulk. Exports let you pull records into a spreadsheet — see Export.

Price batches

Group price changes, review them, and schedule publishing.

MAP policies

Minimum Advertised Price as legal/compliance data.

Comparison & proposals

Compare current prices against a policy and review proposed changes.

Export

Export prices with selectable fields and reusable templates.