Price Lists
Manage pricing for products in different stores.
Overview
Price lists are prices applied to products based on a set of conditions, such as store, country and currency. If you want to apply store level specific pricing, add pricing for additional countries, or add more complex pricing types e.g. graduated and volume pricing, then you can create new price lists.
The B2B relationship is very different to the B2C relationship in that there is a need for auditability and approval of all price changes from procurement. When creating price lists for a particular store, these 'offers' must go through a procurement approval flow before becoming live in the store. This is handled through offer approvals, where an offer is a product at a particular price.


Pricing by Country
Pricing can be provided for different countries by creating multiple price lists for the product or variant.
Pricing by Region
Pricing can be provided for specific regions within countries (e.g. the U.S. state of California) by including the region field when creating a price list.
Pricing by Store
Price lists can be created for specific stores for a country. These price lists have to be approved through the procurement approvals process before becoming available in the store for that product or variant.

Pricing by Date
Price lists can be given a start date and an end date. If no start date is provided, it begins immediately. A price list without an end date will last indefinitely. If a new price list is created for the same currency/country/store/dates then this will take precedent over the previously created one/s. Dates are in the format YYYY-MM-DD e.g. 2024-01-31
.
Pricing by Catalogue
Price lists can be created for a specific catalogue by giving it a catalogue identifier. In general, price lists will not need a catalogue identifier as most suppliers will not need to segregate some or all products and services into catalogues.
Tax
The amount of tax can be specified for each price list, along with whether it is inclusive or exclusive of the provided price. This can be done using the two fields of tax_rate
and tax_behaviour
- see here for more information.
Mininum Order Quantity
The mininum_order_quantity
field can be used to specify the mininum quantity of the product that must be ordered for this particular price list.
Guides
I am a supplier, how do I upload additional prices for my client?
To upload additional prices for a store:
Head over to the
Products
page or theFile Imports
page within theProducts
area of the platform.Click
Import
then selectPrices CSV file
Download the provided CSV template (if required)
Populate the CSV file with your prices, making sure that the store_id column is populated with the appropriate Store ID. To find the Store ID for a particular store, search for the store on the
Stores
page. See here for information on all of the other columns.:::info-tip If Store ID is empty, the prices will be created for all the stores you are currently connected to. If not connected to any store, no prices would be created. :::
- Drag & drop or click
Click to Browse
to select the populated file, then clickContinue
I am a supplier, how do I upload additional prices for different countries?
To upload additional prices for different countries:
Head over to the
Products
page or theFile Imports
page within theProducts
area of the platform.Click
Import
then selectPrices CSV file
Download the provided CSV template (if required)
Populate the CSV file with your prices, making sure that the country column is populated with the appropriate differing country codes. For a list of all country codes, click here. Additionally, see here for information on all of the other columns.
Drag & drop or click
Click to Browse
to select the populated file, then clickContinue
I am a supplier, how do I upload additional prices for a specific catalogue?
To upload prices for a specific catalogue:
Head over to the
File Imports
page.Click
Import
then selectPrices CSV file
Download the provided CSV template (if required)
Populate the CSV file with your prices, making sure that the
catalogue_identifier
column is populated with the appropriate catalogue identifier. See here for information on all of the other columns.Drag & drop or click
Click to Browse
to select the populated file, then clickContinue
How do I see if my prices have been approved?
Navigate to the Approvals
page. Here you can see the status of each price: Pending, Approved or Rejected.
Other Common Scenarios
Question | Answer |
---|---|
How do I change a price? | Create a new price for the same country and currency combination |
How do I create a store specific price? | When creating a new price, the store ID must be included, the store operator will then be notified and must approve it |
|
Pricing Model Types
- Standard Pricing - Select standard pricing if you charge the same price for each unit.
- Graduated Pricing - Select graduated pricing if you use pricing tiers that may result in a different price for some units in an order. For example, you might charge £10.00 per unit for the first 100 units and then £5.00 per unit for the next 50. You can also set an additional flat amount for each tier.
- Volume Pricing - Select volume pricing if you charge the same price for each unit based on the total number of units sold. For example, you might charge £10.00 per unit for 50 units, and £7.00 per unit for 100 units. You can also set an additional flat amount for each tier of total units sold.
View Prices for a Product
To view prices for a product, scroll down to the prices island on a product page. Prices can be filtered by approval status (Pending
, Approved
or Rejected
) and a range of other filter options.

Create a New Price List
To create a new price list for a product, follow these steps:
- Click the
+ Price
button in the prices island of the product page. - Choose which connected store the price is for, along with which country or country & region.
- Choose the appropriate pricing model and enter the relevant price information, including currency and public price. For more information on complex pricing models see here.
- Optionally choose a start date and end date. If no start date is provided it will begin from the moment of creation. End dates are only indicative, as regardless of end date, prices will continue indefinitely until replaced. Dates are in the format YYYY-MM-DD e.g.
2024-01-31
. - Optionally provide any necessary tax information by specifying whether it is inclusive or exclusive of the price, and what the tax rate percentage is.
- Optionally provide a mininum order quantity that must be ordered for this price list.
- Click
Save
in the bottom right - The price will now be pending in the price lists island.
Complex Pricing Models
If volume or graduated pricing models are selected, the currency must be selected, and then the table can be populated.
New rows/tiers can be added to the table by clicking + Add another tier
, and can be deleted with the trash icon.
For each row of a volume pricing model table, the last unit value refers to the inclusive cutoff quantity for that tier. Per unit is the price per unit for all units, if the total quantity falls within that tier, and flat amount is an optional additional price for that tier.
For each row of a graduated pricing model table, the last unit value refers to the inclusive cutoff quantity for that tier. Per unit is the price per unit for just the units within that tier, and flat amount is an optional additional price for that tier.
Importing Price Lists
To import price lists from a CSV file, go to the File Imports
tab on the products page, select Import
, then select Prices CSV file
.

On the price lists import page you can download the prices template if required. Once you have completed your prices file by populating all of the relevant columns, it can be uploaded via the same page.

Price List Fields
When creating a price list, you will be asked to provide certain information. Here is a description of each field:
- Type: Either
product
orproduct_variant
. - Identifier: The
product
orproduct_variant
identifier. - Currency: This is the currency in which the prices are listed. It's important to select the correct currency to avoid any confusion or errors.
- Country: This is the country where the price list is applicable
- Region: This is the specific region within a country where the price list is applicable
- Store ID: The ID of the store the price corresponds to. Can be found on the stores page. :::info-tip If the Store ID field is not specified, prices will be created for all the stores you are currently connected to. If you are not connected to any store, no prices will be created. :::
- Catalogue Identifier: The identifier of the catalogue that this price list is for.
- Billing Scheme: If you want to offer different prices for different quantities or types of customers, you can set up standard, volume or graduated pricing.
- Price: This is the cost of the product specific to the store the price list is for. This field is only relevant for billing schemes of type standard.
- Public Price: This is your public price for the product.
- Tax Rate: A percentage rate of tax based on the provided price. Minimum is 0, maximum is 100.
- Tax Behaviour: Whether the tax is
inclusive
orexclusive
of the provided price. - Mininum Order Quantity: The minimum quantity that can be ordered.
- Start Date (optional): If you want the prices in this price list to be valid from a specific date, you can specify that date here. If you leave this field blank, the prices will be valid from the time of creation. Dates are in the format YYYY-MM-DD e.g.
2024-01-31
. - End Date (optional): If you want to indicate that the price in this price list is valid until a specific date, you can specify that date here. Note that the price will continue indefinitely until replaced or archived.
- Price Tiers (optional): If you want to offer different prices for different quantities or types of customers, you can set up price tiers. Each tier can have its own minimum quantity, maximum quantity, and price.
Create a Price List with the API
- You can create one or more price lists per product
- Every product has a default price list for a country, this is a price where a store is not specified and can be regarded as the public or list price for that country. The first price created for the product will automatically be set as the default price for that country.
- Prices cannot be edited or deleted, only overridden by new prices.
- If a price is created for a specific store this price must first be approved by the supplier (if required) and then by the store. Until the price is approved the status will be "pending".
- Prices created without a store specified are automatically approved.
Examples
Standard Price List - Public
New price list for the public pricing of a specific product in a specific country and currency
curl --location --request POST 'https://api.axiomdata.io/api/suppliers/price-lists' \
--data-raw '{
"name": "New Price List", //optional
"priceable_type": "product",
"priceable_identifier": "testproduct",
"billing_scheme":"standard",
"unit_amount" : "300.00",
"currency_code" : "CHF",
"country_code": "CH",
"tax_behaviour": "inclusive"
}'
Standard Price List - Store
New price list for the store pricing of a specific product in a specific country and currency
curl --location --request POST 'https://api.axiomdata.io/api/suppliers/price-lists' \
--data-raw '{
"name": "New Price List", //optional
"priceable_type": "product",
"priceable_identifier": "testproduct",
"billing_scheme":"standard",
"unit_amount" : "300.00",
"currency_code" : "CHF",
"country_code": "CH",
"tax_behaviour": "inclusive",
"store_id": 1
}'
Volume Price List - Store
New price list for the pricing of a specific product in a specific store, country and currency, with volume pricing.
curl --location --request POST 'https://api.axiomdata.io/api/suppliers/price-lists' \
--data-raw '{
"name": "New Price List", //optional
"priceable_type": "product",
"priceable_identifier": "testproduct",
"billing_scheme":"volume",
"tiers": [
{
"up_to" : 100, //integer only
"flat_amount" : 50, //accept digit and decimal
"unit_amount": 50 //accept digit and decimal
},
{
"up_to" : 200, //integer only
"flat_amount" : 50, //accept digit and decimal
"unit_amount": 50 //accept digit and decimal
}
],
"currency_code" : "CHF",
"country_code": "CH",
"tax_behaviour": "inclusive",
"store_id": 1
}'
Graduated Price List - Store
New price list for the pricing of a specific product in a specific store, country and currency, with graduated pricing.
curl --location --request POST 'https://api.axiomdata.io/api/suppliers/price-lists' \
--data-raw '{
"name": "New Price List", //optional
"priceable_type": "product",
"priceable_identifier": "testproduct",
"billing_scheme":"graduated",
"tiers": [
{
"up_to" : 100, //integer only
"flat_amount" : 50, //accept digit and decimal
"unit_amount": 50 //accept digit and decimal
},
{
"up_to" : 200, //integer only
"flat_amount" : 50, //accept digit and decimal
"unit_amount": 50 //accept digit and decimal
}
],
"currency_code" : "CHF",
"country_code": "CH",
"tax_behaviour": "inclusive",
"store_id": 1
}'
Create Price for a Store
When creating a new price list you must specify the store where the price is applicable. Once the price list has been created and approved by one of the store administrators it will become live in the store.
Delete a Price
In order to make it easy for suppliers and store operators to maintain trust in their pricing it is not possible to fully delete approved prices. If you would like to update your pricing for a particular store you will have to upload new pricing and have it approved. If you would like to remove your pricing for a particular country or if it is incorrect, then you can archive it.
Archive Prices with Files
Prices can be archived, allowing incorrect pricing to be removed from the store, or for a product price to be removed from the store for a particular country, or catalogue.
To archive prices with a CSV file:
Head over to the
Products
page or theFile Imports
page within theProducts
area of the platform.Click
Import
then selectPrices CSV file
Download the provided CSV template (if required)
Populate the CSV file with the prices you wish to archive. Only the
type
,identifier
,store
andcountry
fields must be populated. The other columns can be left empty, but the headers must remain in the file. If you are archiving a catalogue specific price, include thecatalogue_identifier
field.Add an additional column with a header of
command
and a value ofarchive
for each row.Drag & drop or browse for the populated CSV file, then click
Continue
to begin the import and the archiving of prices.
When archiving the price for a product, it will be most recently created price that is archived (for the selected store and country, or store, country and catalogue).
Price Resolution
The resolution of multiple price lists for one supplier over time, for a specific product and store/country/currency can be found below.

- Overview
- Pricing by Country
- Pricing by Region
- Pricing by Store
- Pricing by Date
- Pricing by Catalogue
- Tax
- Mininum Order Quantity
- Guides
- I am a supplier, how do I upload additional prices for my client?
- I am a supplier, how do I upload additional prices for different countries?
- I am a supplier, how do I upload additional prices for a specific catalogue?
- How do I see if my prices have been approved?
- Other Common Scenarios
- Pricing Model Types
- View Prices for a Product
- Create a New Price List
- Complex Pricing Models
- Importing Price Lists
- Price List Fields
- Create a Price List with the API
- Examples
- Standard Price List - Public
- Standard Price List - Store
- Volume Price List - Store
- Graduated Price List - Store
- Create Price for a Store
- Delete a Price
- Archive Prices with Files
- Price Resolution