Prices
Import a supplier price list, change prices, set and schedule sales, with preview, approval and undo.
In Prices you see the prices of all products of your shop and change them: one by one, with a rule for many products, or from an Excel or CSV file. plinth first collects every change in a draft. Nothing reaches the shop before you have checked the preview and confirmed. Every change is kept as a price run that you can look at and undo later.
The short way: import a price list
- Open Prices and promotions > Price import.
- Drag the supplier's Excel or CSV file into the field and click Read file.
- Map the columns: Product number or EAN, plus Selling price (new), List price / RRP or Purchase price (supplier). Set gross or net.
- Click Check and compare. Nothing is changed.
- Read the summary and the hints. Click Next: compare old and new, check the list and write the selection to the shop. The run can be undone under the price runs.
The full guide with all options is under How do I import a supplier's price list?. To plan a sale with a start and an end, see How do I schedule a sale with a start and an end?.
Where to find it
- Prices and promotions > Prices: the price list with the price rule (the price editor).
- Prices and promotions > Price import: read prices from a file.
- Prices and promotions > Price runs: all runs with result, approval and undo.
The buttons Open price editor and Price runs at the top of these pages take you from one to the other.
What you need
| You want to | Permission |
|---|---|
| See the price list, price details and price runs | View prices |
| Change prices, use the rule, set sales, import files, undo your own runs | Edit and import prices |
| Approve large runs of other people, undo runs of other people | Approve price runs |
| Download the list with Export | Export price lists |
| Change approval thresholds and price endings | Price settings |
- The shop must be connected, see Onboarding.
- The shop must be writable. If the shop is marked Read-only at the top of the page, you can view prices, but changes are refused.
- Permissions are assigned by your administrator, see Access.
How do I view prices?
- Open Prices and promotions > Prices.
- Search by Product number, name, brand, EAN or filter with On sale, Not on sale and Brand.
- Use the tiles above the list as quick filters: All rows, Changed, Critical, Review, On sale, Manual. More tiles are behind More quick filters, for example Price below cost, Sale without reference or Unusual ending.
- Click a column heading to sort.
- Click a product name to open Price details. There you see How the price is calculated, Reference prices, Variants and the Price history.
The columns:
| Column | Meaning |
|---|---|
| Current price | Price in the shop (gross). For a sale product the list price and the discount are shown below it. |
| New price | Price after your change. |
| New list price | List price (strike-through price) after your change. A list price above the price makes the product a sale item. |
| New discount | Gap between the new price and the new list price. |
| Change | New price compared with the current price. |
| Margin | Margin at the new price. It needs a purchase price. |
| Tips | What stands out in the row. Hover a note to read the explanation. |
Note: Reload reads prices and products from the shop again. Your draft is kept.
How do I change a single price?
- Click the cell in the column New price or New list price.
- Type the value and confirm.
- The row is marked Manual. Manual prices take precedence over the rule.
- Write the change to the shop, see How do I check and write my changes?.
To drop manual values, select the rows and choose More > Discard manual values. Reset all in the price rule discards the rule, all manual values and all exclusions of your draft.
How do I change many prices with a rule?
- Open Price rule above the list.
- Choose the Type: Markup on purchase price, Discount on current price, Fixed price or Factor on current price. No rule (manual only) leaves all prices as they are.
- Enter the Value: percent for markup and discount, a price, or a factor.
- Choose Price ending and Rounding, see How do I round prices to a price ending?.
- Choose what happens to the List price: Keep list price, Remove list price, Old price becomes list price (sale) or Old price becomes list price if none exists.
- Choose Applies to: Parent products and variants, Parent products only or Variants only.
- Click Apply rule. The list shows the new prices. Nothing changes in the shop yet.
- Check the list, then write the changes, see How do I check and write my changes?.
More options
Under More options: limits, sale rules, brands, period you find:
- Minimum price (€) and Minimum margin (%), with Enforce minimum price to raise prices that fall below.
- Warn above change (%): rows that change more get the note Large change.
- No sale above (€) and Maximum sale discount (%), with Enforce sale rules (remove list price).
- Active products only.
- Exceptions by brand: with Add brand you give one brand its own value or minimum margin.
- Sale period (optional), see How do I schedule a sale with a start and an end?.
Actions for selected rows
Tick rows in the list. A bar with actions appears: Set sale, Price ± %, Fixed price and, under More, Apply ending, Set list price, Apply suggestion, Exclude and Discard manual values. Tick the box for all filtered rows in the bar to include the rows on the other pages of the filter. In the dialog, Dry run counts how many rows would change. Apply puts the values into your draft.
How do I set or end a sale?
A product is on sale when it has a list price above its price. The shop then shows the list price struck through.
- In Prices and promotions > Prices, tick the products.
- Click Set sale and enter the Percent. The previous price becomes the list price. The new price is lower by the percentage.
- Click Apply, then write the change to the shop.
To end a sale, tick the products and choose More > End sale (old list price) (the price returns to the list price) or More > End sale (keep price) (only the list price is removed).
Sale with start and end
A sale that starts and ends by itself is described under How do I schedule a sale with a start and an end?.
Reference for list prices
plinth checks every list price against the lowest regular price of the last days (30 days unless changed in the settings). Rows without such a reference get the note Sale without reference; a list price that is too high gets List price above reference.
Note: If the banner No price history yet is shown, click Record today's prices as reference once. Without history every sale counts as without reference.
How do I schedule a sale with a start and an end?
A scheduled sale starts and ends by itself. You set it up in the price editor with the price rule.
- Open Prices and promotions > Prices and filter the list to the products that go on sale, for example with the Brand filter.
- Open the Price rule. Choose the Type Discount on current price and enter the discount in percent as the Value.
- For the List price choose Old price becomes list price (sale).
- Open More options: limits, sale rules, brands, period and fill in Start and End under Sale period (optional).
- Under At the end choose what applies after the sale: Price returns to the old list price or Price stays, list price removed.
- Click Apply rule and check the list.
- Click Review changes and then Write to shop now. If the run needs an approval, the button reads Submit for approval.
The sale is then listed under Scheduled sales on the page Prices and promotions > Price runs, with Start, End and At the end. It starts and ends without further action.
- Sales planned with bulk editing are listed there under Planned sales from bulk editing. Before a new sale, check whether the products are already part of a plan.
- While a product is on sale or part of a planned sale, a price import does not overwrite its price (see Bring the prices into the shop).
- If an import file has a Sale price with Sale until, plinth ends that sale at the given time by itself. If Sale from is still in the future, those rows are not written: The sale of the file has not started yet (use the sale planner).
- For a sale across many products by filter or list there is also the Sale planner, see Bulk editing.
How do I round prices to a price ending?
- In the price rule, choose a Price ending: .95, .85, .90, .99, .00, x9.95 or x9.85 (prices such as 19.95 or 29.95), Round to cent only or Cents of the supplier price.
- Under Rounding choose Round to nearest, Round up or Round down.
- For single products: tick the rows and choose More > Apply ending.
Prices whose cents are not among the usual endings of your shop are found with the quick filter Unusual ending. If the ending moved a calculated price noticeably, the row gets the note Heavy rounding.
How do I check and write my changes?
- In Prices and promotions > Prices, click Review changes.
- The preview shows the number of Products, the Total of prices before and after, higher / lower, the Largest change, the products On sale afterwards and the rows with warnings, followed by the list of changes.
- Optional: click Dry run. Everything is calculated, nothing is written.
- Click Write to shop now.
- plinth opens Price runs. There you see progress and result.
When a run needs approval
Large changes need a second person. The preview then shows a notice and the button reads Submit for approval. This applies when a run covers many products, when single prices change strongly, or when the prices change strongly overall. The thresholds are in the settings.
- The person who prepared the run clicks Submit for approval. The run gets the status Awaiting approval. Nothing is written.
- A second person with the permission Approve price runs opens Prices and promotions > Price runs and clicks Approve.
- The prices are then written to the shop.
You cannot approve your own run. Cancel stops a waiting run; nothing is written.
How do I import a supplier's price list?
Open Prices and promotions > Price import. The page leads through four steps: Choose file, Map columns, Check result and, if you want, Compare and write. Nothing changes in the shop until you explicitly write at the end.
Preparation: what must be in the file?
- A header row and below it one row per product or per size. plinth recognises title lines above the header row by itself.
- Every row needs a product number or an EAN. plinth looks for the product in this order: by your product number, by the EAN, by the supplier's article number (the manufacturer number of the product in the shop) and by assignments you remembered earlier.
- Plus at least one price column: the new selling price, the RRP (strike price), the purchase price or a sale price with sale start and sale end.
- Excel files (.xlsx) and CSV files up to 25 MB work. Save an old .xls file as .xlsx first.
- You need the permission to edit and import prices.
Tip: Format the EAN column as text in Excel. Otherwise Excel turns long numbers into values like 4.01E+12 and the EAN can no longer be read.
1. Choose file
- Drag the file into the drop field.
- Leave the mapping profile on automatic or choose a saved profile of the supplier.
- Click the button that reads the file.
When a saved profile fits the columns of the file, plinth applies it and says so.
2. Map columns
plinth suggests the mapping. An uncertain suggestion is marked please check next to the column.
-
Check the column of the file for every field. The example column shows the first values. Rarely used fields open with Show more fields.
-
Map the product number or the EAN, both if you can.
-
Map the price columns:
Column of the supplier Field in plinth New selling price selling price (new) Recommended retail price (RRP), when it should be shown struck through next to the price strike price / RRP Purchase price purchase price (supplier) Sale price with a period sale price, sale from, sale to Date from which the prices are valid ("valid from") Prices valid from -
Set the prices and the purchase prices of the file to gross (incl. VAT) or net (excl. VAT). Purchase prices in supplier lists are usually net.
-
Optional: Round selling prices to rounds to a price ending such as .95. That helps with net prices: 41.98 net is 49.96 gross, rounded 49.95. The purchase price and the strike price are never rounded.
-
Rows per size: sizes without a price of their own follow the parent product. With one price per product (all sizes) the price is set once at the parent product, even when the file lists every size. own price per size gives every size its own price.
-
Optional: Minimum margin (%) marks prices whose margin on the purchase price is below it.
-
Remember the mapping for the next file as is ticked and prefilled with the file name. Best enter the supplier's name. The next file with the same columns is recognised automatically. Saved profiles are listed at the bottom of the page.
-
Click the check button. Nothing is changed. When a required column is missing, the page says so above the button, and the button stays off until then.
3. Check result
At the top, sentences say what would happen: how many prices change, how many of them a lot, how many are below the purchase price, how many rows have no product in the shop.
- Hints with one click. When plinth notices something about the whole file, a hint with a button follows:
- Read as net prices, when nearly all prices are about 16 % below the current ones.
- Use as selling price, when the RRP is mapped as strike price and there is no selling price column. Otherwise the products would get a strike price and be shown as reduced in the shop.
- Ignore zeros, when rows match once leading zeros of the product number do not count.
- Assign and remember all, when there is exactly one matching product for rows without a product.
- Set an own price per size, when the sizes of a product have different prices in the file.
- Tiles as filters. A click on a tile (price changes, big changes, below purchase price, with note, errors, no product, size rows) shows only these rows. Show all rows clears the filter.
- Table. Every row shows the current price, the new price, the change, the margin and the messages. Errors come first.
- Rows without a product in the shop. Click a suggestion or Find product … and pick the product by number, EAN or name. plinth remembers the assignment for all later files. Remove assignment takes it back. Products that do not exist in the shop yet are created with the product import.
- Size rows. When the file lists every size, the first row says that the price is set at the parent product. When the sizes of a product have different prices, these rows are refused until you choose Set an own price per size or correct the file.
- Rows with errors are not taken over. The error list (CSV) downloads all rows with errors and warnings, for example for the supplier.
4. Bring the prices into the shop
There are two ways. The first is the usual one.
Way A: compare and write
- In step 3 click Next: compare old and new. Step 4 opens.
- Check the list with purchase price (net), selling price, strike price and margin, old and new each. Big changes and prices below the purchase price are highlighted. You change the threshold under the comparison settings. The search field narrows the list.
- Below the list are the rows without a product in the shop, the rows with errors (not taken over) and the products of the shop that are not in the file.
- Select the rows with the buttons for all, All except conspicuous ones or none.
- Start date (optional): when the file names a valid from date (as a column or in a title line), it is prefilled here and the run starts by itself on that day. Write now empties the field. When the file holds sale prices whose start is still in the future, Set the start to the sale start sets the start to that day.
- Click the dry run to test (writes nothing), or write the selection to the shop and confirm.
After that the run is listed under price runs. There you see the result and undo it if needed, see How do I see the result of a run and undo it?.
Note: Rows of products that are on sale right now or belong to a planned sale are not written on way A. plinth names their number. Big runs need approval by a second person, see When a run needs approval.
Way B: through the price editor
For rules (for example a markup on the purchase price) or single corrections before writing.
- In step 3 click Continue in the price editor. The prices of the file are now a draft in the price editor, the rows are marked as set by hand. Nothing changes in the shop yet.
- Check the list. The quick filters for changed, critical and below purchase price show where to look.
- Check the changes and write them to the shop, see How do I check and write my changes?.
Own prices per size only work on way A.
Importing purchase prices only and calculating the selling price
If the list only has purchase prices, map Purchase price (supplier) and leave Selling price (new) on – do not use –.
- Do steps 1 to 3 and click Continue in the price editor.
- In the price editor open the Price rule and choose the Type Markup on purchase price with your markup in percent, plus Price ending and Rounding.
- Click Apply rule, check the list and write the changes, see How do I check and write my changes?.
The purchase price is shown in Price details under Reference prices as Supplier price (gross). You find products priced below their purchase price with the quick filter Price below cost.
How do I see the result of a run and undo it?
- Open Prices and promotions > Price runs.
- Each run shows When, Run, By, Status and Result: how many prices were written, how many were already up to date and how many were skipped because they changed in the shop in the meantime.
- Click the name of a run to open Changes with Price before, Price after, List price before and List price after.
- To take a finished run back, click Undo and confirm. The prices from before the run are restored and the run gets the status Undone.
The statuses are Queued, Awaiting approval, Running, Done, Failed, Canceled and Undone. A run marked Dry run changed nothing in the shop. Runs are also listed under Jobs.
Warning: If prices were changed again after the run, plinth shows Changed since the run with the products concerned. Undo anyway overwrites these newer changes and needs the permission Approve price runs.
You can undo your own runs. For runs of other people you need Approve price runs.
How do I change the price settings?
The page Price settings needs the permission Price settings and applies to the current shop. It has no entry in the menu; ask your administrator for the link.
| Section | Setting | Effect |
|---|---|---|
| Approval | Approval from number of products | Runs with at least this many products need a second person. 0 = never. |
| Approval | Approval for single change above (%) | If any price changes by more than this, the run needs approval. 0 = off. |
| Approval | Approval for total change above (%) | Applies to the change in the total of the run's prices. 0 = off. |
| Prices | Usual price endings (cents) | Other endings are flagged. Comma-separated, for example 95, 85. |
| Prices | Reference window for list prices (days) | The list price must not exceed the lowest regular price in this period. |
| Prices | Reference gap "close" up to (%) and Reference gap "medium" up to (%) | Color the gap to reference prices in the price details. |
| Prices | Mirror price into quantity-1 tier price | For shops that show a separate tier price for quantity 1. |
| Shop | Currency ID and Custom field for season | Technical values. Change them only together with your administrator. |
Click Save at the end of the page.
Common errors and fixes
| Message | Cause | Fix |
|---|---|---|
| Couldn't load the prices | The shop did not answer or the connection is not set up. | Try Reload. If it stays, check the shop connection, see Onboarding. |
| The shop is not answering properly right now. Please try again later. | The shop is busy or not reachable. | Wait a moment and try again. |
| You do not have permission for this. | A permission is missing. | Ask your administrator, see Access. |
| Banner that another person is editing | Someone else is working on prices right now. Saving is locked. | Wait or talk to the person. |
| There are no changes to write. | The draft contains no change. | Change a price or apply a rule first. |
| The list price must be above the price. Without a list price it is no sale. | The list price you typed is not higher than the price. | Enter a higher list price or leave it empty. |
| The sale discount must be between 0 and 100 %. | Invalid value in Set sale. | Enter a percentage such as 20. |
| The end of the sale must be after its start. | Start and End of the sale period are swapped. | Correct the dates. |
| Someone else prepared this run. | You try to start a preview of another person. | Click Review changes yourself. |
| Approval is refused for your own run | Runs that need approval must be approved by a second person. | Ask a colleague with Approve price runs. |
| Only the person who started the run or someone who may approve can undo it. | The run belongs to another person. | Ask the person or someone with Approve price runs. |
| The file is larger than 25 MB. | The import file is too large. | Split the file. |
| The file is gone. Please upload it again. | Uploaded files are kept for a limited time only (about a day). | Start again at Choose file. |
| The profile needs a column for the product number or EAN. | Neither Product number nor EAN is mapped. | Map one of them in step 2. |
| No row is free of errors. Please fix the errors first. | Every row of the file has an error, often wrong columns or a wrong decimal separator. | Check the mapping and the file options, then Check and compare again. |
| Many rows under Rows without a product in the shop | The numbers in the file do not match the shop. | Check the mapped column, try Ignore leading zeros in product numbers, or map the EAN. |
| All selected rows belong to running or planned sales and were not written | The products are on sale or part of a planned sale. | End the sale first or wait until it is over. |
| Status Failed in Price runs | The run stopped with an error. The message is shown below the status. | Fix the cause and write the changes again. |
| Result shows skipped products | These prices were changed in the shop while the run was prepared. | Use Reload in the price editor and check these products again. |