Price Lists and Quantity Discounts
Give wholesale buyers and suki their own prices, with lower prices from a set quantity up, applied automatically when the customer is attached.
7 min read · Updated 28 Sep 2026
On this page
A price list is a named set of prices, such as Wholesale or Suki. You give a customer a list, and from then on every sales order and POS sale for that customer uses the list's prices, including its quantity discounts ("1 to 11 at ₱50, 12 or more at ₱45").
Needs the Customer Memory & Promos add-on (₱300 per branch each month), the B2B Sales Orders add-on, or any bundle that includes either one. Without one of them the Price Lists page is locked, the customer form has no price list field, and every sale prices as it does today.
Creating a list
Sales → Price Lists, then New price list.
| Field | What it does |
|---|---|
| Name | What staff see on the order line and in the customer form, e.g. Wholesale |
| Description | Optional note for yourself |
| Default for customer type | Every customer of that type gets this list, unless they have a list of their own. Only one active list can be the default for each type |
| Active | Inactive lists are kept but not used anywhere |
Creating and changing lists needs the products.manage permission (Owner and Manager have it). Staff with products.view can look at them.
Adding prices and quantity breaks
Open the list, then use Add a product to this list… to pick a product. For each product, or for each variant of a product that has variants, enter one row per quantity break:
| From qty | Price each |
|---|---|
| 1 | ₱48.00 |
| 12 | ₱45.00 |
| 100 | ₱40.00 |
A row means "from this quantity up". A line of 30 pays ₱45.00 each, the price of the highest break it reaches. If the first row starts above 1 (say only a 12+ row), smaller quantities pay the normal retail price.
Leave every row blank and save to take the product off the list.
Variants are priced one by one. A product-level price never applies to a variant; give each variant its own rows. A variant with no rows pays retail.
Bulk price change
Bulk price change on the list page changes many prices at once. Pick one:
| Change | Example |
|---|---|
| Change list prices by % | 5 raises every price on the list by 5%; -5 lowers it |
| Change list prices by ₱ | 2 adds ₱2.00 to every price; -2 takes ₱2.00 off |
| Set from retail price | -10 sets each product to its retail price less 10%, and adds products that are not on the list yet |
You can limit it to one category and round the new prices to the nearest ₱0.25, ₱1 or ₱5. Preview shows every price that would change, old and new; nothing is saved until you press Apply. Set from retail price only sets the "from 1" price; higher quantity breaks you already have are kept.
Giving a customer a list
Open the customer (Sales → Customers, then edit) and choose a Price list. Leaving it on the first option gives the customer the default list for their type, or regular prices if their type has no default.
Which price a line gets
When a customer is attached, each product line is priced in this order:
- A custom price someone typed (this still needs its own permission).
- Wholesale, if someone picked it for the line.
- The customer's own price list.
- The default list for the customer's type.
- The normal retail price.
Two rules keep this safe:
- A list never charges more than retail. If retail is lower than the list price (for example after you mark an item down and forget the list), the customer pays retail.
- Walk-ins always pay retail. Price lists need an attached customer.
The quantity break is checked again whenever the quantity changes, so raising a line from 11 to 12 drops it to the 12+ price.
Sales orders
On a new sales order, pick the customer first. Lines the list covers switch to the list's name as the price type and show:
- Your price: the list price, used for the line and the total;
- the retail price struck through, with the saving under the line total;
- the next quantity break, such as "12+ at ₱45.00", so you can offer it.
You can still switch a line back to Retail, or to Wholesale or Custom. The price is fixed when you create the order: changing the list later does not change orders already created.
At the POS
With the new app versions, the POS applies the customer's list as soon as you attach them, online or offline. The cart shows the list price with retail struck through. Removing the customer puts the lines back to retail.
Older app versions (mobile before the price-lists release, desktop before its matching release) ignore price lists and charge retail, exactly as before. Update the app on every till before you rely on lists at the counter.
Keeping one line at retail. Tap a list-priced line and choose Retail to charge the normal price for that line only. The choice stays on the line when you change the quantity, hold and claim the order, or attach a different customer. Remove the line and add it again to go back to the list price.
Open tables and kitchen tabs. With the matching app update, items you send to the kitchen for a table with a customer attached are priced from that customer's list, and the table's bill shows the same amount.
- Changing the table's customer moves the open tab to the new customer. Items already sent keep their price; items you send afterwards are priced from the new customer's list. A tab that already has a payment or redeemed points keeps its customer. Attaching a senior citizen or PWD customer gives the whole tab their 20% discount, exactly as if they had been attached before the first order was sent (it replaces a manual discount; the two never combine). Moving the tab off that customer removes it. A discount for a walk-in cardholder whose ID was typed at the counter stays.
- Changing the quantity of an item already sent moves a list-priced item to the quantity break it now reaches, but never makes it dearer per item: a smaller quantity keeps the price it was sent at, so no guest is overcharged mid-meal. Items at the regular (retail) price keep that price.
Older apps still bill tables at retail.
"A manager PIN is required" on a list price. If a price on the list went up and a till still has the old price, an online sale (for example from Order Mode) is refused because the till's price is now below the list. The app refreshes its price lists and shows the updated prices: check the order and send it again. A manager's PIN approves the lower price instead.
Promotions and senior citizen or PWD discounts
A list price is the item's price for that customer, not a discount. Everything at checkout works on top of it the same way it works on a retail price:
- A promo code is checked against the cart total at list prices, so it can never take off money the list already took off.
- The senior citizen and PWD discount is worked out on the list price, the price the customer actually pays, exactly as it is on retail. It is never blocked or reduced because a list applied, and it is never applied twice.
- A sale still carries only one discount: a promo, a manual discount, or a statutory discount.
Limits
- Price lists price products only, not services, memberships or packages.
- At most 10 quantity breaks per product or variant.
- A price rung up offline is kept exactly as rung, even if the list changed before the till synced. If a till sold below the list's current price, the sale is recorded and shows up in the audit log for the owner to review; it is never refused.