> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.stock-sync.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Markets - Price Field

|| Available on: ✔️ Update

||| To enable market-specific pricing, map the Markets - Compare at Price and Markets - Price Field together. Use smart settings to view country codes and map them accordingly. Multiple currencies can be updated simultaneously.

Important: Shopify requires that any Markets Compare-at Price update must include a Markets Price value in the same update. Markets Price cannot be left blank while updating only Markets Compare-at Price. This is different from base store pricing, where Price and Compare-at Price can be updated independently.

${frame}[Markets - Price](https://app.supademo.com/embed/cm6ae0qdg00b0k7arf8td7f8z?embed_v=2&utm_source=embed)
![](https://storage.crisp.chat/users/helpdesk/website/-/b/2/1/9/b219050a5836c000/s1_xuqynx.png)


Before mapping to this field, make sure to create the market according to your needs.

**Important:** Shopify requires that *Markets - Price* and *Markets - Compare-at Price* be mapped together. A compare-at price cannot be updated unless a market price value is also provided in the same update. If you only need to update compare-at prices, you must still supply a value for Markets - Price in that request. Shopify does not allow these fields to be separated for catalog-level pricing. [How can you create a market?](https://help.stock-sync.com/en/article/how-can-you-create-a-market-via-shopify-admin-1ok0ie5/?bust=1711013742907)

# 1. Markets - Price Conditions (Markdown / Markup)

Markets Price conditions is used to add markup or margin to a product's price. The price condition can add a markdown if used for sales.

Markets Price conditions is used to add markup or margin to a product's price. The price condition can add a markdown if used for sales.

How to use **Markets - Price Conditions** according to the examples below:

![](https://storage.crisp.chat/users/helpdesk/website/b219050a5836c000/image_10yw42w.png)

| Condition (If) | Price (Then) | Result Showing |
| ---- |
| `any` | `*1.5` | All prices will be multiplied by 1.5 or markup of 50% |
| `any` | `*0 + current_quantity` | All SKU prices that match will be multiplied by 0, and add the current\_quantity. The current\_quantity value will be taken from the store. |
| `any` | `*0 + (col("price")+80)*1.5` | If the value of column price wants to add $80 delivery, then markup 50% or 1.5 |
| `any` | `*0 + current_price(col("Option2")/100)` | If the product price is based on the store price, it should be discounted based on the value of column Option 2. |
| `any` | `*0 + col("List_Price")` | If the product price wants to add the value from column List\_Price. |
| `any` | `+ col("InStock")` | If the product price wants to add the value from column InStock. It's supported based on the nodes in **XML** . |
| `any` | `*0 + 12.5` | If you want to set the price at 12.5, add 12.5 instead of using equal. It cannot begin with an equal sign. |
| `any` | `/0.2` | All the prices will be divided by 0.2 |
| `any` | `*0.90` | All the prices will be multiplied by 0.90 or markdown 10% |
| `current_price == 0` | `*0` | If store price = 0, Then multiply by 0 (no changes made) |
| `current_price < price` | `*0 + current_price` | If you would like to take lowest price when there are two feeds offering the same product identifier. |
| `col("sale price") == ""` | `*0 + col3` | If the column don't have any value, then use that column as the price. |
| `taxable == 1` | `*1.5` | If the taxable is 1, it will be multiplied by 1.5 or markup 50% (Only for Shopify) 1: taxable, 0: untaxable |
| `col5 != ""` | `*0 + col5` | If the column 5 has any value, then use that column as the price. |
| `col("price_special") <=0` | `*0 + col("price")` | If the column price special no value or empty cell and use the price column value. |
| `col_string("Vendor")=="shoe"` | `*1.3 + col("shipping")` | If the column name vendor has the value shoe, multiply by 1.3 and add the column shipping value to the price. It can be used for any column and is suitable for adding markup based on the conditions. |
| `contains ("pink", col_string("Description"))` | `*1.1` | If the column name Description contains the value of pink from the column, then the price is multiplied by 1.1 or markup 10%. It's used when the value is a string not supported by a column index. |
| `contains ("4", col("qty"))` | `*1.5` | If the column name qty contains the value of 4 from the column, then the price is multiplied by 1.5 or a markup 50%. It's used when the value is **numeric** and not supported by a column index. |
| `price_f > 10 and price_f <= 15` | `*1.2` | If the price is more than 10 and equals or below 15, Then, the price is multiplied by 1.2 or a markup of 20%. Use price\_f when the comparison values are numeric. |
| `price_f == 11` | `*1.5` | If the price is 11, Then the price is multiplied by 1.5 or a markup 50% |
| `price > col1_f` | `*1 + col1 + col2` | If the price is more than column 1, then add column 1 and column 2 to the price. Use col#\_f when the comparison values are **numeric** |
| `col5 == "shoe"` | `*1.3` | If column 5 has the value shoe, then multiply by 1.3, It can be used for any column and is suitable for adding markup based on collections. |
| `price_f < 1` | `*0 + current_price` | If the price is less than 1, Then it will use the current price in-store (Shopify only). Use price\_f when the comparison values are numeric. |
| `cost < 40` | `*1.2` | If the cost in the store is less than 40. Then multiply the price by 1.2, The cost value will be taken from the store. (Shopify only) |
| `compare_at_price > 10` | `*1.5` | If compare at a price in the store is more than 10, Then multiply the price by 1.5, The compare at price value will be taken from the store. (Shopify only) |
| `col4_date > now` | `*1.2` | If the col4 date is more than current\_timestamp, Then multiply by 1.2 or markup 20%. Use col4\_date when the comparison is a date. Now refers to current\_timestamp |
| `col4_date > today` | `*1.2` | If the col4 date is more than current\_timestamp, Then multiply by 1.2, Use col4\_date when the comparison is a date. Today refers to today’s date |
| `current_price > price_f` | `*0 + current_price` | To keep your store price unchanged when your store price is higher than the feed price. |
| `current_price > col8_f` | `*0 + current_price` | To keep your store price unchanged when your store price is higher than the value in column 8 from feed file. Use col#\_f when the comparison values are **numeric** or when using in google sheet |

**There is little info regarding the Markets Price conditions (markup)**

i. The Markets Price conditions take effect according to the arrangement. The first conditions have the highest priority. You can move it by using the arrow beside it according to your needs. 

ii. Stock Sync now supports Column Value.

iii. Valid price range keywords are:

* price (Use it when the comparison values are text)
* price\_f (Use it when the comparison values are numeric)
* col#\_f (Use it when the comparison values are numeric)
* any
* current\_price (Shopify only)
* cost (Shopify only)
* compare\_at\_price (Shopify only)

iv. The **symbol** that is used for the statement:

| Symbol | Details |
| ---- |
| == | equal to |
| <= | less than or equal to |
| >= | more than or equal to |
|  | more than |
| < | less than |
| and | only true when both statements are true |
| or | true when either statement is true |

v. There is another method for pricing conditions that you can use:

    For example, **col13 = 'BC'**

![](https://storage.crisp.chat/users/helpdesk/website/b219050a5836c000/screenshot-2024-08-02-at-10524_jghyq9.jpg)

| Formulae | Explanation |
| ---- |
| contains('BC',col13) | If you want to select only **'BC'** from the whole text, **'ABCD'** |
| contains('Large' , col13) != true | Don't update the price when it contains the word **Large != (Not Equal)** |
| left(col13, 2) == 'AB' | If you want to select only **2 letters from the left side** of the whole text. |
| right(col13, 2) == 'CD' | If you want to select only **2 letters from the right side** of the whole text. |
| mid(col13, 2, 2) == 'BC' | If you want to select only **2 letters in the middle** of the whole text. |
| len(col13) == 4 | If you want to select the whole text, the total number of letters must be indicated there. Example: 4 indicated the length of the letters. |
| find('BC', col13) == 2 | If you want to find only **2 letters** from the whole text. |
| substitute(col13, 'BC', 'XY') == 'AXYD' | If you want to substitute selected text from the whole text replace it with another alphabet. |
| max(price, col2, col3) | max(12,10,9) == 12, If you want to take the **maximum** value from the three columns, you can use this method. |
| min(price, col2, col3) | max(12,10,9) == 9, If you want to take the **minimum** value from the three-column, you can use this method. |

# 2. Markets Price Delimiter

The markets price delimiter provided in the price field has three options which are **Comma, Decimal Point, and auto.**  

![](https://storage.crisp.chat/users/helpdesk/website/b219050a5836c000/screenshot-2025-01-27-at-11240_1ehfurl.jpg)

| For example: If your feed file contains the value 42.39.20 and you want to change the delimiter to a comma, you can use the comma option provided here. ![](https://storage.crisp.chat/users/helpdesk/website/b219050a5836c000/screenshot-2024-08-14-at-40646_tzkx9e.png)

# 3. Markets Price Round

A markets price round is used to standardize the prices of the products in the store if a round number is used too often or the prices do not have a clear focus digit.

![](https://storage.crisp.chat/users/helpdesk/website/b219050a5836c000/screenshot-2025-01-27-at-11280_2898z.png =600x124)

How to use **Markets Price Round** according to the examples below:

| Round off example | Result Showing |
| ---- |
| ##.00 or ##.000 | It will change it from 12.57 to 12.00 or 12.573 to 12.000 |
| ##.#0 or ##.#00 | Change it from 12.57 to 12.50 or 12.573 to 12.500 |
| ##.## or ##.##0 | Change it from 12.57 to 12.57 or 12.573 to 12.570 |
| ##.## or ##.### | Change it from 12.57 to 12.57 or 12.573 to 12.573 (Doesn't have any changes) |
| ##.99 | Change it from 12.570 to 12.599 |
| ##.95 | Change it from 12.57 to 12.95 |
| ##.97 | Change it from 12.57 to 12.97 |
| ##.#99 | Change it from 12.570 to 12.599 |
| ##9.00 | Change it from 121.57 to 129.00 |
| ##5.00 | Change it from 123.57 to 125.00 |
| ##9.99 | Change it from 127.57 to 129.99 |
| ##,000.00 | Change it from 12,453.57 to 12,000.00 |
| ##,#00.00 | Change it from 12,345.57 to 12,300.00 |
| ##,##0.00 | Change it from 12,346.57 to 12,340.00 |
| ##,#99.00 | Change it from 12,345.57 to 12,399.00 |
| ##9 (from #.#9 to ##9,000). eg. 129000, 12900, 1290, 129, 12.9... | Change it from 12.57 to 12.90 or 145.67 to 149.00, All the third digits of the number will change to 9 followed by 0. |
| nearest whole number (from #1.## to #2.00) | Change it from 12.57 to 13.00 or 135.33 to 136.00, Every whole number will be rounded up. Its meant added by 1 |
| ##5.00 (0 <= x<= 5) AND ##9.00 (Other) | It converts the price to the NEAREST number ending with 5. Change it from 133 to 135 |


# 4. Don't update the Markets Price when ...

Exclude certain products from updating the Markets price using this option. It can be excluded by **Vendor** , **Product Type (Custom)**, **Product Tags,** and **Custom Data (Metafields)** .

![](https://storage.crisp.chat/users/helpdesk/website/-/b/2/1/9/b219050a5836c000/screenshot-2026-08-20-at-45245_malu3g.png)

| For example: Dont update Markets Price when Vendor = Adibas, All products Market price of Vendor Adibas will not be updated.