Catalogs and pricing
A catalog is a list of what you sell, in one currency, at set prices. Each order is priced from a catalog, or from the lowest of a buyer's catalogs.
A catalog holds the products it lists and one price per SKU, with optional quantity breaks. There is no separate discount or custom-price table. A wholesale price list, a contract price for one customer and a store in another currency are each a catalog.
Typical setup
One Shopify store, plus a wholesale price list for B2B customers:
- The Default catalog prices the store. Choose it for Store base prices on the store's page.
- A Wholesale catalog derived from Default, less 30%. Add it to each B2B company.
- A contract catalog for one company, holding only the SKUs it discounts. Add it to that company beside Wholesale.
The Catalogs screen
Catalogs lists every catalog with its currency, status, the stores it prices, how many products it lists and how many SKUs it prices. The one marked Default prices any order that names no catalog and any customer with none of their own. Your organization starts with one called Default.
- active
- In use. You can edit it, price orders from it and choose it for a store.
- archived
- Withdrawn. Its history stays readable, but it prices nothing and can no longer be edited.
Archive, on the catalog's row or its page, withdraws it at once. It cannot be undone. A customer or store still pointed at an archived catalog gets no prices from it, so move them to another catalog first.
View as narrows the whole admin to one catalog: products, SKUs and orders show only what that catalog reaches. It changes nothing. Stop viewing as clears it.
Create a catalog
- On Catalogs, choose New catalog.
- Give it a name and a currency, and choose Create. Names are unique among your active catalogs. Choose the currency carefully: it cannot be changed on the catalog's page. For another currency, create another catalog.
- Open it. It starts empty: nothing is listed until you include it.
Saving: prices and listings save as you change them. The title and the pricing settings save from the save bar at the top.
Choose what it lists
The Products table has three tabs: Included, Excluded and All. Tick products and use Include in catalog or Exclude from catalog. Excluding a product removes its prices from this catalog.
Set prices by hand
- Expand a listed product to see its SKUs.
- Type each SKU's price. It saves when you leave the field.
- For quantity breaks, type them in the field below the price, for example
10+ 9.00, 50+ 8.00. From that many units on one line, each unit costs that much. Each break must be cheaper than the one before.
A collapsed product row shows its price range and how many of its SKUs are still unpriced.
For many prices at once, use Export to download the catalog's prices as a CSV, edit it, and bring it back with Import. See Import & export.
Derive prices by a rule
Under Set prices, choose how the catalog is priced:
- By hand
- Every price is one you typed.
- Derived by a rule
- Every SKU is priced from a base by the rule you set. Derived prices show an auto badge. A price you type stands as an override. To clear an override, empty its price. A derived price takes its quantity breaks from the base, and they cannot be edited here.
- By its sales channel's own rates, with overrides here
- The channel prices it. Pick this for a Shopify Markets catalog that Shopify converts from your base prices. Prices you type are fixed overrides on top.
A rule has three parts:
- From: Each SKU's cost, or another catalog. A rule can't be based on another rule-priced catalog, and a catalog other catalogs derive from stays by hand.
- Adjustment: As it is, Plus a markup of, Held to a margin of or Less a discount of, with a percentage. A 40% markup on a $10 cost is $14. A 40% margin on the same cost is $16.67.
- Rounding: bands by price. For example, from 0 round up to the next .99, and from 100 round up to the next 1.00. Without bands, prices are not rounded.
When the base is in another currency, the Exchange rate row shows the current rate. If none is recorded, type it and choose Record. Until a rate is recorded, only the prices you typed apply: SKUs without one have no price.
Rule prices update on their own when the cost or the base price changes, and so do the stores they price.
Cost basis
A catalog priced from cost uses each SKU's Cost basis, shown on the SKU's page in your home currency (set in Settings › General). It is the cost from the latest receipt that carried one in your home currency, or the figure you set by hand there, whichever is newer.
A kit's cost is its components' costs times their quantities. It cannot be set by hand. A kit with an uncosted component has no cost, so a cost-priced catalog leaves it unpriced until you type a price.
Tax and compare-at prices
- Tax
- Whether the catalog's prices include tax: As the tax settings say, Prices include tax or Prices exclude tax. Changing it does not change the figures; they now mean the other thing.
- Compare at
- Another active catalog in the same currency. Where its price is higher, channels show it struck through beside this one's. On Shopify this is the compare-at price.
Who buys from which catalog
A B2B customer is priced from the catalogs on their company. Open the company in Companies. In the Catalogs card, choose a catalog, choose Add, then save the company. A company location can have its own: tick catalogs under the location's Catalogs. An order shipping there uses them instead of the company's. With none ticked, the location buys from the company's catalogs. A company with none buys at your Default catalog's prices.
The lowest price wins. When a buyer has several catalogs, each line takes the lowest price any of them gives at that line's quantity. So a contract catalog only needs the SKUs it discounts, and a buyer is never charged more than their standard price. A buyer's catalogs must all be in one currency.
The price is copied onto the order when it is placed. Changing a catalog later never changes an existing order. See Orders.
Prices on Shopify
On the store's page under Settings › Sales channels › Shopify, choose the catalog that prices each Shopify catalog and the store's base prices. Only catalogs in the Shopify catalog's currency are offered.
The chosen catalog's prices and compare-at prices replace Shopify's for every SKU it prices. A SKU it does not price keeps its base price in the store; on a Shopify catalog, Shopify's own adjustment prices it. So price the catalog fully, and check it with View as, before you choose it. After that, prices go to the store on their own whenever a price, a rule, a cost or the choice changes.
Store base prices take no quantity breaks. On a Shopify catalog, breaks are kept only if it is a B2B catalog. See Sales channels and Shopify.
Supplier prices
What a supplier charges is kept on the supplier's company page, under Supplier prices: the SKU, their code for it and the cost. A purchase order line raised without a cost takes the supplier's price. See Purchase orders.
For developers
- Flow: curate a channel catalog
- Flow: order to cash, where an order is priced from a catalog
- Inventory API, where catalogs and prices live
- Idempotency and retries