Home / Help Center / pos-app-wholesale / wholesale / Price Lists
📋 wholesale

Price Lists

Price Lists is where you define B2B pricing per product — one or more named lists, each with quantity-tiered prices, an optional case size, an optional customer-tier restriction and optional contract validity dates — so different trade accounts automatically see the right price at the right quantity.

📍 Menu path: Wholesale → Price Lists
👤 Who uses it: All roles with the Billing feature enabled

Overview

Each price entry belongs to a List Name (e.g. "Standard", "Festival Season"), a specific product (searched and optionally linked to your catalogue, or free-typed as a name-only entry), a Min Qty it applies from, an optional Case Size, and a Price per Unit.

An entry can be left open to all customer tiers or restricted to one (STANDARD/RETAILER/DISTRIBUTOR/VIP) — restricted entries are what Trade Accounts pulls into its "Applicable Price List" panel for a matching account.

Entries can carry Valid From / Valid Until dates for time-boxed contract or seasonal pricing; expired entries stay visible (dimmed) rather than disappearing, and upcoming ones show a "Starts " note.

The page groups entries by product name, with all of a product's tiers/quantity breaks shown together in one table, sorted by Min Qty ascending.

Before You Start

Step-by-Step Guide

1 Add a price entry

  1. Open Wholesale → Price Lists and click "+ Add Price".
  2. Enter or keep the List Name (defaults to "Standard").
  3. Type into Product Name to search your catalogue and pick a match — this links the entry to the product (shown as "🔗 linked") — or leave it as free text for a name-only entry.
  4. Fill in Unit, Min Qty, Case Size (0 = no restriction) and Price per Unit.
  5. Optionally restrict to a Customer Tier, set Valid From / Valid Until, add Notes, then click Save.

2 Set up quantity-break pricing for one product

  1. Add multiple price entries for the same Product Name with different Min Qty values (e.g. 10 units, 50 units, 200 units) and a lower Price per Unit at each higher break.
  2. All entries for that product appear together in one grouped table, sorted by Min Qty, so the quantity-break structure is easy to review.

3 Filter by list or customer tier

  1. Use the "List" chips to switch between price lists (or ALL).
  2. Use the "Tier" chips to narrow to entries for a specific customer tier — entries with no tier set are treated as applying to every tier and are not filtered out by a specific tier selection.

4 Toggle, edit or delete a price entry

  1. Click the Active/Off pill in the Active column to toggle an entry on or off without deleting it.
  2. Click Edit to reopen the entry pre-filled, or Del to remove it permanently after a confirmation.

5 Import prices from CSV

  1. Click "Import CSV" and choose a CSV file with a header row.
  2. BazaarPOS parses the file client-side and posts the parsed rows to the import endpoint; a result banner then shows how many rows were created and how many were skipped, plus any row-level errors.
💡 CSV parsing is quote-aware (handles commas and quoted fields) but happens entirely in the browser before the rows are sent — review the result banner's error list if the created/skipped counts look off.

6 Export the current price list to CSV

  1. Click "Export CSV" to download the full price list (not just the currently filtered view) as a .csv file.

Every Field & Button, Explained

Field / ButtonWhat it does
List NameGroups price entries into named lists (e.g. "Standard", "Festival Season"); defaults to "Standard" for new entries.
Product NameRequired. Type-ahead search against your product catalogue; picking a suggestion links the entry to that product ("🔗 linked" badge), otherwise it is saved as free text.
UnitUnit of measure for the Min Qty / Case Size / Price per Unit on this entry.
Min QtyThe quantity threshold this price applies from; multiple entries per product create quantity-break tiers.
Case SizeOptional case/carton size; 0 means no case restriction.
Price per UnitRequired. The wholesale price per unit at this quantity break.
Customer TierLeave blank for "All Tiers", or restrict the entry to STANDARD/RETAILER/DISTRIBUTOR/VIP so it only applies to accounts on that tier.
Valid From / Valid UntilOptional contract/seasonal date range. Entries past Valid Until show "Expired" and are dimmed; entries before Valid From show "Starts ".
Active toggleTurns a price entry on/off without deleting it; shown as a Yes/Off pill in the table.
NotesFree-text note shown in the table row.
Import CSV / Export CSVBulk-loads price entries from a CSV file (reporting created/skipped/errors), or downloads the full list as CSV.

Tips & Best Practices

Troubleshooting & FAQ

An entry with a Customer Tier set isn't showing up for an account on that tier.
Check that the entry is Active and, if it has Valid From/Until dates, that today's date falls within that window — expired or not-yet-started entries are excluded from tier matching even though they remain visible (dimmed) here.
CSV import reported skipped rows.
Open the import result banner's error list — it lists why individual rows were skipped (e.g. missing required fields). Fix the source CSV and re-import; already-created rows are not duplicated by re-running a corrected import for the remaining rows.
Export CSV downloaded fewer rows than I expected.
Export always returns the full price list regardless of the current List/Tier filter chips — if the count still looks wrong, verify directly against the total entry count shown when List filter is set to ALL.
I can't tell which entries are linked to real products.
Linked entries show a small green "🔗 linked" badge next to the product name header; unlinked (free-text) entries show no badge.