Catalog
Pricing
Pricing is where you record what an item cost you and what you charge for it, and it is where every integration you connect gets the price it publishes.
Pricing is where you set what an item costs you and what you sell it for. Every item has five money fields: a price, a compare price, a cost, a MAP, and an MSRP. The price each connected integration publishes for you is built from these fields. So this page is where your price starts, even when the number that ships gets adjusted or rounded on the way out.
The PIM keeps money on the variant, never on the product, because two variants of the same product can sell at different prices. On a product without options you never notice: the product editor shows the money fields, and they are set on its one variant. Once a product has options, the product editor drops its Pricing section and every variant gets one of its own.
You open the fields from Catalog in the sidebar: open Products, click a product, and scroll to the Pricing section of the editor that opens. The section changes shape twice as you use more of the PIM: once when you pick another currency, and once when you connect a second account. Both changes are explained below.
Before you start
What your role lets you do
Whatever your role, you can edit every money field on this page, including the per-currency and per-account values. Nothing here is above your level. Roles are set in team, roles and permissions.
How to set a price
Open the product
From
Catalogin the sidebar, openProductsand click the product. The product editor opens over the list.Find the money fields
Scroll to the
Pricingsection. If the editor has noPricingsection, the product has options. Scroll toVariantsand click a variant row: the variant editor opens with aPricingsection of its own.Type the price
Type what you sell it for into
Price. The other four fields can stay empty until you need them.Save
Click
Updateat the bottom of the dialog, orCreateif the product is new.
That is the whole common case. The amount you typed is now the price every connected integration starts from, and an empty money field simply does nothing. The rest of this page explains the five fields, the costs, other currencies, per-account prices, and the rules that check your numbers. You do not need any of it to put one price on one product.
Every option in detail
The five money fields
All five fields are optional, and every amount you type is in your organization’s currency. Your amounts take as many decimal places as the currency has, so two in dollars and none in yen.
MAP does nothing on its own. Typing one does not keep any price above it. Each connected account decides that for itself with its Never publish below MAP setting, which is with the rest of its settings on the Integrations page. What typing a MAP does give you is warnings, because the rules near the end of this page compare your other numbers against it.
If you fill one field, fill Price. Fill Cost second if you want to be warned before you sell at a loss, since both the rules and the pricing report compare price against cost. The other three matter when a shopper should see a crossed-out price, when a brand limits what you advertise, or when an integration publishes from a suggested price.
A 0 you type here is a real zero, not an empty field, so a price of 0 still sets off the rules below. In an import or a data source, a 0 clears the field instead.
Which of the three costs counts
There are three cost inputs, and a fourth field the PIM fills by itself.
Supplier Cost is written by your feed. You cannot type into it in either editor, and an import cannot fill it. When a supplier cost is wrong, fix it at the data source that sends it.
Effective Cost is the cost of the cheapest source that actually has stock. It answers one question: if you sold one unit right now, what would it cost you. So the number follows your stock instead of your typing, and it moves when your stock moves. Which sources have stock is covered in inventory.
How the effective cost is picked, case by case
- Your on-hand stock and your supplier stock both have units: the cheaper of
On-hand CostandSupplier Cost. - Only one of those two has units: that source’s cost, or the other one’s when it has no cost of its own.
- Neither has units, but your fallback stock does:
Fallback Cost. - Nothing has units at all:
On-hand Cost, orSupplier Costwhen on-hand is empty.
Two places treat Effective Cost specially. On the products table, the Cost column shows the effective cost and is the only cost you can filter by. And your exports include the three inputs and leave Effective Cost out.
Prices in another currency
Your whole catalog uses one currency, the one your organization is set to. There is no per-product currency and no per-variant currency. Changing the organization’s currency is an Owner or Admin decision made in your organization settings, and organizations covers where that happens.
You can still save real amounts in other currencies. At the top of the Pricing section is a Currency dropdown with 164 currencies. Pick one that is not your own and the whole section switches to that currency alone:
In another currency the three cost inputs fold into one Effective Cost field, so you keep one cost per currency instead of three. And until you connect an account, another currency shows no Price or Compare Price field at all, only cost, MAP, and MSRP. The next section explains where your prices went.
Your product and your currency amounts are saved in two steps. When the second step fails, the product is saved, the amounts are not, and a message starting Master prices saved tells you so.
That message promises to retry on the next save, and it means the next time you save this product. Reopen it and click Update again, because the retry never runs on its own.
Three more things about currency catch people out:
- A converted amount is only as fresh as the exchange rates behind it, which refresh every 4 hours, and nothing warns you about a stale one.
- Switching your organization’s currency and switching it back does not restore your old amounts. Each switch converts your amounts again, and the rounding sticks.
- A recurring data source cannot write these per-currency amounts; only your organization’s currency goes in. Per-currency amounts in bulk come from an import.
Prices per connected account
Connect a second account and the Price and Compare Price fields disappear. In their place you get a table, one row per account, with the columns Integration, Price, and Compare price. A row is labeled with the integration and the account, like Shopify · My Store, and every cell has the same Edit and Reset controls the currency fields use. Your price is not gone: it is now set per account, on the row for the account you mean.
A cell you never edited shows your organization’s price, converted when you are looking at another currency. Every account starts from the same number until you type one of its own.
These rows set the price and the compare price only. Cost, MAP, and MSRP never vary per account: they keep one value per variant, plus the per-currency amounts above. Per-account prices are saved in the same second step as the currency amounts, and they fail with the same Master prices saved message.
A row managed by Repricer is read-only in every currency. Instead of Edit it shows Managed by Repricer. Once the variant has a saved SKU, those words are a link to the listing in the Repricer. The PIM shows you the live price on that account instead of publishing one of its own, and undoing the pairing is the only way to get the row back. Rows can even appear for integrations you never connected in the PIM, because the Repricer prices listings on integrations of its own; those rows are read-only too.
When the table appears, and when the two fields stay
- The table needs a product that has been saved at least once. A product you are still creating shows the two fields, however many accounts you have connected.
- With no account connected there is no table, and the two fields have your organization’s own amounts.
- With exactly one account the two fields stay, and in another currency they edit that account’s row instead of your organization’s amount.
- One account plus Repricer-managed rows in the currency you are looking at brings the table up too, so everything about the price is in one place.
Reading prices from the products table
You do not need to open a product to read its prices. The products table under Catalog shows Price, Cost, Compare Price, MAP, and MSRP as columns you can sort and filter, where Cost is the effective cost. A product with one variant shows the amount itself, and a product with several shows the range across them.
Three more columns start hidden: On-hand cost, Supplier cost, and Fallback cost. Once shown, you can sort by them, and they are the three you cannot filter by.
Changing many prices at once
Nothing on the products table changes a price in bulk: its four bulk actions cover status, tags, integration sync, and deleting, and none of them touches money. To change many prices at once, send the new amounts through an import, or let a data source deliver them on its own schedule. An import can write the per-currency amounts too; a data source cannot.
Limits
What pricing cannot do
What your integrations get
The price you type is an input, not the number that ships. Every connected account has its own publishing settings, in its settings dialog on the Integrations page, and it builds the price it sends in a fixed order:
Price source prioritytakes the first of yourPrice,MAP, andMSRPthat has a value. The compare price can never be a source, because a crossed-out price is not a selling price.Price adjustmentraises or lowers the result by a percentage or a fixed amount.Roundinggives it the ending you chose, such as .99.Never publish below MAP, when it is on, lifts the result back up to your MAP. It runs last, so nothing rounds the price back under.
When none of the sources has a value, the product is not published at zero. It is flagged on that integration’s badge on the product instead, and you get a message naming it, like No price is available for Shopify (none of the configured price sources has a value).
The compare price has settings of its own. Compare-at price source picks where it comes from, and a compare price that is not higher than the price being published is cleared on the channel instead of sent. Every one of these settings is worked through in integrations.
Each integration takes different pieces of the money you keep here:
Shopify adds one hard requirement: your organization’s currency has to match the store’s own base currency. Until they match, publishing to the store and reading from it both stop, and you see a sync error. Prices for Shopify’s other markets are the one exception to your single currency, and only the price and the compare price can vary per market. A market you saved no amounts for keeps Shopify’s own converted price.
Nothing on this page reacts to another seller. The PIM builds every published price from your own fields and never reads a competitor’s price. It also never changes a price on its own. The product that watches competitors and moves prices is Repricer.
When something goes wrong
The rules that check your prices as you type
Nine rules compare your money fields against each other while you type, in both editors. Three of them are errors: while one shows, Create and Update are disabled and you cannot save the product. The other six are warnings that never block you.
When your cost is above MAP and MSRP at once, the two warnings under On-hand Cost merge into one, Your cost is above MAP and MSRP. These messages are not translated, so they appear in English whatever language you use the app in.
Five details make the rules predictable:
- Equal always passes. You can save a compare price equal to the price, a MAP equal to the MSRP, and a price equal to the cost.
- An empty field skips every rule, and a
0is not empty: a price of0against any cost is a negative margin like any other number. - The cost the rules compare is
On-hand Cost, orSupplier Costwhen on-hand is empty, and neverEffective Cost. That is whyEffective Costnever shows a rule message, and why a product can be blocked while the effective cost beside it looks fine. - In another currency the comparison forgives a difference of one cent, so conversion rounding alone can never block a save. In your organization’s currency it forgives nothing.
- A variant is checked in the variant editor, where a failing rule disables its own
Update. Back on the product, saving does not re-check the variants.
A feed can leave a product the editor will not save. A supplier cost that climbs above your price always goes in, and Update stays blocked until you raise the price or the cost comes down.
The reason is direction. A cost is a fact about your business, and a price is a decision you make. So a feed reporting a higher cost is never blocked by a rule about your decision. The product starts losing money with no message and shows up in the report below. A price the PIM reads back from a channel works the same way. It goes in as it is, and a rule it breaks becomes a warning on the product’s integration badge.
The pricing report catches what is already saved
The rules watch your typing and never re-read the catalog. Finding saved problems is the pricing report’s job, under Reports in the sidebar. You get a Guardrail violations count, a Negative margin count, and a Needs attention table naming each variant, its issue, and the numbers behind it. Click a product there and it opens so you can fix it.
The report measures margin against Effective Cost; the editor’s rules measure it against On-hand Cost or Supplier Cost, as above. A variant can therefore appear under Negative margin in the report and still save without complaint, or the other way around, and neither side is wrong.
Error messages
Where to go next
Inventory
Which stock numbers pick the effective cost, and where each number comes from.
Variants
What an option is, and why money moves to the variants when a product has them.
Integrations
The per-account settings that turn the price you typed into the one that ships.
Getting started with Repricer
The product that does watch competitors and move prices.