Skip to content
Help Center
Start 10-day free trialStart 10-day free trialStart 7-day free trialStart 10-day free trialStart 10-day free trialStart 10-day free trialStart 10-day free trialStart 10-day free trialStart free

How Keelvy decides which price a buyer gets

Every price in Keelvy comes from a price list. Knowing the order of the steps tells you where to look when a price is not what you expected.

  1. If the buyer is a customer with a price list for the order’s currency, that list is used. You assign it on the customer’s card (see Give a customer their own price list).
  2. Otherwise the channel’s default price list is used.
  3. If neither exists, the product cannot be priced automatically. On an order, you type the unit price yourself.
  1. A base list holds the prices you typed.
  2. A derived list starts from its parent list’s price and applies a rule. The most specific rule wins: a rule for one variant beats a rule for a product model, which beats a category rule, which beats a brand rule, which beats the list’s default rule.
  3. A pinned price on a derived list replaces the calculated one. It is protected from exchange-rate recalculation.
  4. Quantity prices, when the list has them, replace the price for large quantities. Only the list the price is asked from is used: a wholesale list does not inherit the retail list’s quantity prices.
  5. A customer override is applied on top. A fixed price override wins outright; a percentage or amount override works on the price after step 4.
  6. Rounding of the list is applied last.

Lumen & Fern keeps a base list, Retail USD, with a soy candle at 28.00. Wholesale USD derives from it with 50% off, so the same candle is 14.00 for wholesale buyers. For one product, the wholesale price is pinned at 15.00. Buyer A has Wholesale USD, so sees 15.00. A customer assigned Retail USD sees 28.00.

When you create an order, line prices fill in from the customer’s list for the order currency, or from the chosen channel’s list. A line you priced by hand has no list to refresh from, so retype the price to change it. To pick up today’s list price on an existing line, use Re-price from the price list. The reason shown is either Pinned price or Customer override when one of them set the price.

Changing the customer on an order does not re-price the lines. Check them afterwards.