Pricing and Price Rules

Write a price rule for a channel, or match prices with your best marketplace or conditional pricing for individual items, available in SA.


Pricing is the most important part of e-commerce. Sometimes you need to lower prices to be competitive or for a sale event, sometimes you need to match with other market places, sometimes prices changes happen in different countries... You can tend to all of your pricing needs through StoreAutomator's pricing rules and options.

There are three levels of product pricing control in StoreAutomator; inventory level, channel level, and channel item level.

Also, you can read about Price Rule Fields, including Custom Fields in rules, and some Price Rule Examples.

You can define your channel-based pricing rules in the Pricing tab under channel settings. This controls the price of all items for a specific channel.

Repricer: if enabled for a specific channel, it automatically calculates and changes an item’s price, for the sole purpose of staying competitive in a specific channel, according to the predefined rules, restrictions, conditions, and competition data, for the supported channels. If you would like to read more about “Repricer” click here.

Inventory level Price Controls

The price and cost of an item are defined in the inventory level first.

Go to Menu > Inventory > Products and select the product you want to assign a price. Click on the Pencil icon towards the right-hand side of the item. On the coming screen select the “Pricing” Tab, you have the following Fields:

  • Cost is the cost of the product; it is necessary to calculate profit profit margin in analytics and used by Repricer algorithm.

  • Price is the regular price of the item,

  • Sale Price is the discounted price when the item is on sale. When an item is on "Sale" SA needs the Sale price start and end dates,

  • MSRP, Manufacturer’s suggested retail price; this usually means as the manufacturer’s allowed max price,

  • MAP, Minimum Advertised Price,

  • Tax the tax rate rule that applies to the product;

  • Fill out all the information you have and click “Save and Close”.

  • It is recommended that you should add all the information you have into the system; as the repricer will not be accurate without cost data for example; to learn more about repricer, please read this article.

Channel Item Level Price Controls

If you view inventory details in the Channel; then you can click on “Edit In channel” towards the upper right-hand corner to make changes to channel level values.

On the next screen Click on the “Pricing” tab, here you can see values entered in inventory level and you can override these values by clicking on the “Override” button.

  • Overriding prices at the channel level is useful when you want to assign a different price for different channels.

  • Also for different channels, tax information is sometimes different.

  • Make sure to save your work, click on “Save and Close”

The system will send all information to the channel during the next synchronization.

Channel Level Price Control and settings

After defining prices and costs for all your items, you can define prices assigned to channels. This is especially useful when you want to discount prices for a specific channel; e.g. you want to give a black Friday discount on Amazon USA while you want to keep Amazon UK prices the same. This feature can be done in the Specific Channel's Settings section. Go to:

Menu > Channel > Channel Settings > Common and click on Pricing Tab.


Chanel cost selection mode, you can select from Min. and Max. values, only active in Multiple Inventory mode,

Ignore Global sale price, if you have a global discount in the inventory level going on, this will ignore the inventory listed Sale price and displays the regular price for this channel,

Price Factor, simply use the slider to set up a factor to be multiplied by the inventory price; this applies to all items in the channel. If you want to keep item prices unchanged you can click on the number and write down 1,

Price Rule, this text box is for writing pricing calculation rules, for detailed rules please refer to document “Template Functions and Syntax”,

Price Match matches this channel’s item prices with the selected one. When checked none of the prices of this channel cannot exceed the matched channels' prices. This feature is only available when the repricer is activated for the channel.

Minimum Price Rule, is for writing a rule for calculating minimum prices for items and sending them to the "ItemMinPrice" field in the channel. If the channel does not support this field, any written rules will be ignored. If there is no rule written the item's Min. price will be sent.

Maximum Price Rule, is for writing a rule for calculating maximum prices for items and sending them to the "ItemMaxPrice" field in the channel. If the channel does not support this field, any written rules will be ignored. If there is no rule written the item's Max. price will be sent.

Beautify Pricing, replaces cents with the choice of decimal, i.e. .99,

Beautifying up, after replacing cents with the decimal of choice this will keep the major number the same,

Beautifying down, after replacing cents with the decimal of choice this will lower the major number by 1,

Don’t beautify will keep the cents value as is,

Beautify Decimal, is the decimal of choice, that was mentioned above. Enter a decimal value for replacement of cents, default value is 99.


How StoreAutomator Calculates Prices

Procedure to calculate Product Price is as follows:

  1. SA gets the Cost from Channel Cost Selection and the Price field from Channel Settings>Common>Field mapping. These field can be used while writing a price rule, so they are needed,

  2. Internal Currency conversion is applied if necessary,

  3. Price factor rule is applied to all items, default rate is 1,

  4. Price Rule if entered, is applied to all items in the channel, see below for some examples, also for further information please read this article,

  5. Tax is added, if chosen in Channel Settings>Common>Tax,

  6. Then comes Price Beautification, if enabled it will apply beautification,

  7. Next step is Price Matching, if the price from the selected channel is less than the current channel, then the price from selected channel will be used

  8. Finally calculated price is sent to channel as Product.ActualPrice.

Procedure to calculate Max and Min Product Price is as follows:

  1. SA gets the Cost, Price, MinPrice and MaxPrice fields from inventory,

  2. Applies a Price Rule if entered, to obtain Rule based Min and Max prices. These rules are applied to all the items in the channel, see below for some examples, also for further information please read this article

  3. Finally calculated Min and Max Price is sent to channel as Product.MinPrice and Product. MaxPrice.

Price Rule Fields

Below fields can be used to write price rules after Product.:



















Product.QuantityPrice1 to 5






SA rule writing parser allows you to add as many conditions as you need after adding a dot. Arithmetic Operators include:





Custom Fields

If you are utlizing values from a custom field make sure to write the custom field in the following format:


Any deviation from the given syntax, will result in error.


Example Pricing Rules

Below are some useful examples for programmable pricing rules:

  • Product.Price.Multiply(1.25) : Product price X 1.25

  • Product.Price.Add(2): Product price + 2

  • Product.Price.Add({Product.Sku.StartsWith(FBA-CAN).Then({Product.FbaFee},0)}): this function adds FbaFee value to product price if Product.Sku starts with “FBA-CAN”

  • If({Product.Cost.Multiply(1.5).Add({Product.ShipCost}).LessThan({Product.Msrp})},{Product.Msrp},{Product.Cost.Multiply(1.5).Add({Product.ShipCost})}) : This function checks the condition: if (Product.Cost X 1.5 + Product.ShipCost) < Product.MSRP THEN it returns Product.MSRP value, ELSE it returns the result of (Product.Cost X 1.5 + Product.ShipCost)

  • Product.Price.Add({Product.IsFba.Then({Product.FbaFee},0)}): this function checks the condition: If Product.IsFba =TRUE, THEN (Product.Price + Product.FbaFee) and returns that value, ELSE (Product.Price + 0) together and returns that value.

  • Example for min max price Product.IsFba.Then({Product.InvPrice.Add(4)},{Product.InvPrice.Add(4)})

  • Example for min max price rule Product.IsFba.Then({Product.Cost.Multiply(1.27).Add(4)},{Product.Cost.Multiply(1.27).Add(4)})

  • If({Product.CustomFields[very-big-product]},{Product.Price.Multiply(1.25)},{If({Product.Price.LessThanOrEqualsTo(10)},{Product.Price.Add(5)},{Product.Price.Multiply(1.08)})}) : If the custom field 'very-big-product' is true, then multiply the price by 1.25, else check the product price; if the product price is less then or equal to 10, then add 5 else, multiply the product price by 1.08.

Was this article helpful?

0 out of 0 found this helpful