All About a Topic
Library All Articles Selling Common selling features Serial Numbers (selling) Web Browser Selling Advanced Selling More specialised selling Delivery Addresses Product/Case Selling Messages Reminders & Contacts


Accounts Stock Levels Barcodes MYOB


Receipt Formats (sales) Email Purchase Orders Label Formats PreCanned Reports POS Security

Multi Region Pricing

Multi region pricing is where a product has different ticket prices. This is the base price for an item before any special conditions, such as specials or discounts. The term ticket price is used to indicate this is the price you would expect to see on a product price ticket. Any price that has a fixed date range is also not a ticket price.

Regional Breakdowns

Every store has a physical location assigned to it. This can include country (if multi country is configured), state and "region". These are the per store details used for pricing. Region in Fieldpine is a generic term that you get to define the meaning of, although stores only belong to one region for pricing purposes. Region might be the national districts/counties/hundreds/parish if that makes sense for you, or you can define your own regions such as "Sydney Metro" and "Sydney West"

Bread Australia Sydney George St $80 (Example A) This is a very specific price for a single store, it is chosen first. The values of { country state region } are not required, but must be correct if provided
Bread Australia Sydney $74 (Example B) This price is used by all stores in the Sydney region (ie that have been assigned to that region, not that their address is within Sydney)
Bread Australia NSW $69 (Example C) This price is for any store marked as in the state NSW
Bread Australia $65 (Example D) This sets the base price for any store in Australia that does not have a more specific price

You can overlap regions as this example shows. The price chosen for a store in Sydney is based on the region it is defined as

Milk Australia Sydney General $5
Milk Australia Sydney Franchise $4.95
Milk Australia Sydney Premium Stores $5.50

General Guidelines and Notes

It is much easier to understand pricing if you define a single price point for every combination of product/store (see example A above). However this rapidly becomes unworkable, as if you have 50 stores and 20,000 product lines, you will be maintaining 1,000,000 individual prices

Multi region pricing is implemented using Pricemaps with special internal indicators. This means you can bulk load region pricing using pricemaps tools.

Pricemaps also contain logic to select prices by department, product, customer, supplier. This allows you to create very complex rules that can be difficult to reason about, or even for programs to determine which rule applies. If you are building complex rule hierarchies, we strongly adivse careful use of the "priority" field to influence which rule is selected first.


In order to simplify pricing you can define a formula to set the price for a rule rather than an explicit price or discount. These formulas can reference other area pricing to determine the current price. Brief examples:

= { unitprice country(New Zealand) } * 0.9
= { unitprice country(Australia) region(Sydney General) } * 1.1

Multi Country Considerations

In a multi country configuration, each individual product has a single ticket price in the base countries currency. You can enter a price rule that uses formulas to create a default price in Country B, based on the base country pricing.

Consider a New Zealand based store expanding to Australia. Every NZ product already has a price, so a single entry can define default pricing for Australia

Australia {unitprice country(new zealand)} * 0.9

As no product was specified on this rule, it applies to all products that do not have any other rule, ie it is a default price if nothing else matches.

API Implications

When using an API to retrieve product details and pricing then clearly the price returned depends on geographical factors. If your API request includes the geographical factors, then pricing returned will reflect that. If you do not, you will receive an ordered array of price rules to apply.

Requesting /Product/Bread?Store=Sydney George Street Will return $80 in the product.unitprice field.

Requesting /Product/Bread?State=NSW Will return $69 in the product.unitprice field.

Requesting /Product/Bread?Country=Australia Will return $65 in the product.unitprice field.

Now using the Milk pricing above, Requesting /Product/Milk?Country=Australia & Prices=all Will return a default value in the product.unitprice field (not shown in above examples) and also an array of values with all the possible Milk pricing

API users will only receive actual (or % discount) pricing, any rules that contain a formula will be calculated for you.