Pricing, Promotions, and Labels
Quasar’s pricing system is layered: target margins and tax defaults start at the subdepartment level and flow down to every item in that subdepartment. You can then adjust individual items, run bulk price changes through Price Batches, set time-limited promotions with Promo Batches, create formula-driven pricing rules with Price Calculations, and print shelf labels with Label Batches.
Target Margins: The Subdepartment Foundation
Pricing begins on the Subdepartment Master. The Main tab contains a defaults table where you set pricing parameters per price zone:
| Column | Purpose |
|---|---|
| Price Zone | The zone these defaults apply to (you can have separate settings for each zone) |
| Purch Tax | Default purchase tax for items in this subdepartment |
| Sell Tax | Default selling tax |
| Target | Target gross margin percentage — the profit margin you want to achieve on items in this subdepartment |
| Variance | Allowed deviation from the target margin before the system flags the item as outside tolerance |
| Price Inc Tax? | Whether the selling price includes tax |
| Price Inc Dep? | Whether the selling price includes deposit |
| Cost Inc Tax? | Whether the purchase cost includes tax |
| Cost Inc Dep? | Whether the purchase cost includes deposit |
How Defaults Flow to Items
When you create a new item in a subdepartment, it inherits the subdepartment’s target margin, allowed variance, tax codes, and tax-inclusion flags. If you change the defaults on the subdepartment later, Quasar asks whether you want to update all linked items — this pushes the change to every item in the subdepartment at once.
Price Zones
Price zones let you maintain different pricing for different markets. For example, you might have a “Downtown” zone with higher prices and a “Suburban” zone with lower prices. Each store is assigned a price zone. See Price Zone Master.
Tax-Included vs. Tax-Added Pricing
One of the most important decisions when setting up pricing is whether your selling prices include tax or whether tax is added at the register. Quasar supports both models, and you can mix them within the same database — different subdepartments (and even different items) can use different approaches.
The Two Models
| Model | How It Works | Common In |
|---|---|---|
| Tax-Added (Price excludes tax) |
The shelf price is the base price. Tax is calculated
and added at the register. The customer pays price + tax. Example: Shelf says $10.00, customer pays $10.00 + $1.30 tax = $11.30 |
North America (Canada, USA), business-to-business sales |
| Tax-Included (Price includes tax) |
The shelf price is the final price the customer pays.
Quasar back-calculates the tax component from the total. Example: Shelf says $11.30, which already includes $1.30 tax. The base price is $10.00 |
Philippines, UK, EU, Australia — anywhere with VAT/GST-inclusive pricing regulations |
Where to Set It
The tax-inclusion flags are set at two levels:
- Subdepartment Defaults — the Price Inc Tax? column in the subdepartment’s Main tab defaults table (see above). When you create new items in this subdepartment, they inherit the setting.
- Item Level — each item’s Prices tab has its own Price Includes Tax flag, inherited from the subdepartment but overridable per item.
How Quasar Handles the Math
When Price Inc Tax? is checked:
- The price you enter is the customer-facing price
- Quasar back-calculates the base price by dividing out the tax rate
- Margin calculations use the base (tax-exclusive) price
- Reports and GL postings use the extracted base price and tax amounts
When Price Inc Tax? is unchecked:
- The price you enter is the base price
- Tax is calculated and added at the time of sale
- Margin calculations use the entered price directly
Cost-Side Tax Inclusion
The same principle applies to the purchase cost. The Cost Inc Tax? flag controls whether your cost figures include purchase tax. This is important for accurate margin calculations — Quasar needs to compare like-for-like (base cost vs. base price) to compute gross margin correctly.
Deposit-Included Pricing
For items that carry a container deposit (e.g., beverages), Quasar provides separate Price Inc Dep? and Cost Inc Dep? flags. These work identically to the tax inclusion flags:
- When Price Inc Dep? is checked, the shelf price already includes the deposit amount
- When unchecked, the deposit is added separately at the register
The deposit amount itself is configured on the item’s stocking information. The inclusion flag simply tells Quasar whether to extract the deposit from the entered price or add it on top.
Price Batches: Bulk Price Changes
A Price Batch (Inventory → Price Batches) lets you review and change prices for many items at once before executing the changes.
Workflow
- Create a new Price Batch and assign a price zone
- Click Add Items to load items by department, subdepartment, brand, vendor, item group, or matrix
- Optionally enter a Same price for all value to pre-fill every item’s new price
- Review the list — each row shows the item’s current cost, target margin, current price, and new price
- Use Calculate Prices to apply formula-based repricing across the loaded items
- Use Round Prices to round to standard price points
- Remove unchanged items with Remove Unchanged
- Click Execute Batch to apply all changes
- Click Make Labels to generate shelf labels for the changed items
Promo Batches: Time-Limited Promotions
A Promo Batch (Inventory → Promo Batches) works like a Price Batch but adds start and end dates. Promotional prices are automatically active during the promo period and revert when the promotion expires.
The Promo Batch has the same Add Items dialog with matrix filter and same-price-for-all option. See Chapter 9 for details on loading matrix items into a promo.
Price Calculations: Formula-Driven Pricing
A Price Calculation (Inventory → Price Calculations) defines a pricing rule that Quasar applies automatically. Unlike batches (which change the stored price), a calculation overrides the price dynamically at the point of sale and on the Invoice screen.
Pricing Methods
| Method | How It Works |
|---|---|
| Price | Sets a fixed price (e.g., $9.99) |
| Cost+ | Adds a percentage markup to the item’s cost |
| % Off | Applies a percentage discount off the regular price |
| $ Off | Applies a fixed dollar discount off the regular price |
| At/For | Buy-multiple pricing (e.g., 3 for $10.00) |
| Multi-Deal | Complex multi-item deals (e.g., combo meals) |
| Gift/Reward | Automatically awards a free gift item when qualifying items reach a dollar threshold (Required Min Amt) |
Required Min Amt (Threshold)
Every pricing method supports an optional Required Min Amt field. When set, the calculation only takes effect once the total of qualifying items in the transaction reaches the specified dollar amount. This is most commonly used with Gift/Reward to create “free gift with $X purchase” promotions, but it works with any method (e.g., “10% off when you spend $75 on clothing”). Gifts are added and removed dynamically as the transaction total fluctuates around the threshold.
Limits: Controlling Scope
Every price calculation uses Limits to define which items, stores, and customers it applies to. You can include or exclude by:
- Store or Store Group
- Price Zone
- Customer or Customer Group
- Item, Department, Subdepartment, Brand, or Vendor
- Item Group
Time and Day Restrictions
Calculations can be restricted to specific date ranges, time ranges, and days of the week — making them ideal for happy-hour pricing, weekend specials, or seasonal promotions.
Price Types: Customer and Quantity Levels
Each item can carry multiple prices beyond the regular selling price. These are set on the item’s Prices tab and are also accessible through Price Batches (the Price Type filter in the Add Items dialog).
| Price Type | Purpose |
|---|---|
| Regular | The standard selling price used for walk-in customers |
| Cust Level 1–4 | Tiered pricing for customer pricing levels. Each customer can be assigned a price level (1–4) on their Customer Master record. When that customer is selected on a transaction, Quasar automatically uses the corresponding level price instead of the regular price. |
| Qty Level 1–4 | Volume break pricing. Each level has a minimum quantity threshold. When a customer purchases at or above the threshold quantity, the lower price applies automatically. |
| Low Price | The lowest acceptable price. Used as a floor to prevent selling below cost or below a minimum margin. |
Customer Pricing in Practice
- On the Customer Master, assign a Price Level (1–4) to the customer
- On the item’s Prices tab, enter prices for each customer level
- When selling to that customer, Quasar automatically selects the matching level price
Quantity Pricing in Practice
- On the item’s Prices tab, enter prices for Qty Level 1–4 along with the minimum quantity for each level
- When the quantity sold reaches a level threshold, Quasar applies that level’s lower price to the entire quantity
Discounts
Discounts are defined in the Discount Master (Sales → Discounts). Unlike Price Calculations (which change the price itself), discounts are applied after the price is determined and appear as a separate line or adjustment on the transaction.
Discount Types
| Type | How It Works |
|---|---|
| Transaction | Applies to the entire transaction total (e.g., 10% off the whole order) |
| Line | Applies to individual line items (e.g., $2.00 off a specific product) |
Discount Methods
| Method | Description |
|---|---|
| Percent | A percentage off (e.g., 20%) |
| Dollar | A fixed dollar amount off (e.g., $5.00) |
Discount Options
| Option | Purpose |
|---|---|
| Auto apply to all transactions? | When checked, the discount is applied automatically to every qualifying transaction without the cashier selecting it |
| Allow discount on other discounts? | Unchecked by default (exclusive). When unchecked, this discount blocks all other discounts on the same line — no transaction discount or additional line discount can stack on top. Check this box to allow stacking with other discounts. See Pricing Priority and the Best-Deal Engine below for full details. |
| Discount makes sale tax-exempt | Items receiving this discount become tax-exempt — used for statutory discounts like Senior Citizen or PWD |
| Require ID capture | The cashier must enter customer ID and name before applying (required for regulatory discounts) |
| Discount on displayed price (tax-inclusive) | Calculates the discount on the tax-inclusive price rather than the base price |
| Loyalty Points | Number of loyalty points required to redeem this discount |
| Account | GL account where the discount is recorded |
Discount Limits
Like Price Calculations, discounts use Limits to control scope. You can include or exclude by store, price zone, customer, item, department, subdepartment, brand, vendor, or group. Discounts also support date, time, and day-of-week restrictions.
Customer-Linked Discounts
In addition to limit-based scope, discounts can be assigned directly to individual customers on the Customer Master. The customer’s record maintains a list of linked discounts. When that customer is selected on a transaction, their linked discounts are automatically available (or auto-applied, depending on the discount settings).
This is how you implement preferred customer pricing: create a discount (e.g., “VIP 15% Off”), then assign it to specific customers on their Customer Master record. Combined with the customer’s Price Level (1–4), this gives you two complementary approaches:
| Approach | Where Configured | Best For |
|---|---|---|
| Price Level | Customer Master → Price Level field + Item Prices tab Cust Level 1–4 | Wholesale/retail tier pricing where the item has a pre-set price for each customer tier |
| Linked Discount | Customer Master → Discounts list + Discount Master | Percentage or dollar-off deals for specific customers (e.g., staff discount, loyalty reward) |
- Discounts appear as a separate line on receipts and track to a discount GL account. They can be transaction-wide or per-line.
- Price Calculations change the unit price itself. The customer sees only the adjusted price, not the original price minus a discount.
Pricing Priority and the Best-Deal Engine
Understanding how Quasar’s pricing layers interact is critical for setting up promotions that behave correctly. This section explains the complete pricing pipeline — what takes priority, how competing discounts are resolved, and how the system ensures the customer always receives the best deal.
The Three Pricing Layers
Quasar applies pricing in three distinct layers, each building on the result of the previous one:
| # | Layer | What It Does | Configured In |
|---|---|---|---|
| 1 | Price Calculations | Determines the base price for each item. Overrides the item’s regular/level/promo price with a calculated price (fixed, cost+, % off, $ off, at/for, multi-deal, or gift/reward). | Price Calc Master |
| 2 | Line Discounts | Reduces the price of a single line item after the base price is set. Appears as a visible discount on the receipt. | Discount Master (Type = Line) |
| 3 | Transaction Discounts | Reduces the entire transaction total after line discounts are applied. Distributed proportionally across all qualifying items. | Discount Master (Type = Transaction) |
Detailed Evaluation Order
When an item is added to a transaction (either in the back-office Invoice screen or at the POS), the following sequence executes:
- Layer 1 — Base Price Resolution. Quasar evaluates the item’s regular price, customer level price (if a customer is assigned), quantity level price (if applicable), promotional price (if a promo batch is active), and all matching price calculations. The lowest qualifying price becomes the item’s base price. If a multi-deal matches and produces a lower combined total than the individual prices, the multi-deal wins (see Price Calc vs. Multi-Deal Arbitration below). The price calculation’s Discountable? checkbox determines whether further discounts (Layers 2 and 3) can reduce this price.
- Layer 2 — Line Discounts. Line discounts are evaluated against the base price — but only on items whose price calculation marked them as discountable. By default, a discount’s Allow discount on other discounts checkbox is unchecked (exclusive). This means that once a line discount is applied to an item, no further discounts — including transaction discounts — can be applied to that line. To permit stacking, the user must explicitly check Allow discount on other discounts on the Discount Master.
- Layer 3 — Transaction Discounts. Transaction discounts are applied last. They only affect lines where the price calculation allows discounts (Discountable? = checked) and any existing line discount also allows further discounts (Allow Other = checked). The system calculates the discountable remainder for each qualifying line (base price minus line discounts) and applies the transaction discount proportionally. When multiple transaction discounts compete, the Best-Deal Tournament runs to determine which one wins. The winning discount is then distributed proportionally across all qualifying lines.
Similarly, a price calculation with Discountable? unchecked blocks all discounts (both line and transaction) on items it prices. This is the primary mechanism for protecting cost-plus and contract pricing strategies.
The Discountable Flag
The Discountable? checkbox on the Price Calc Master controls whether items priced by that calculation can receive further discounts in Layers 2 and 3:
| Setting | Effect | Use Case |
|---|---|---|
| Checked (default) | The calculated price can be further reduced by line and transaction discounts. | Seasonal sales, promo pricing, loyalty deals — situations where stacking a discount on top of a sale price is acceptable. |
| Unchecked | The calculated price is final. No line or transaction discounts will reduce it further. | Cost-plus pricing (e.g., employee at cost + 5%, contractor at cost + 10%) where further discounts would erode the margin below acceptable levels. |
Best-Deal Tournament (Transaction Discounts)
When multiple transaction discounts compete for the same items, Quasar runs a three-phase Best-Deal Tournament to ensure the customer always receives the lowest price. This operates identically on both the Invoice screen and the POS.
| Phase | What Happens |
|---|---|
| Phase 1: Dry Run | Each transaction discount is evaluated independently, as if it were the only discount on the transaction. Quasar calculates the theoretical savings for each one without actually applying any of them. |
| Phase 2: Compare | The best exclusive discount (highest savings among all Allow Other = No discounts) is identified. The stackable sum (combined savings of all Allow Other = Yes discounts) is also calculated. If the best exclusive saves more than the stackable sum, the exclusive wins alone. Otherwise, all stackable discounts are applied together. |
| Phase 3: Apply | Only the winning discount(s) are distributed across the qualifying transaction lines. Losing discounts are zeroed out. |
- A store has a 10% Auto-Apply Sale (exclusive) and a 20% VIP Discount (exclusive) linked to a customer.
- Customer buys $100 of qualifying items.
- Phase 1: 10% saves $10.00. 20% saves $20.00.
- Phase 2: Best exclusive = 20% ($20.00). No stackables.
- Phase 3: The 20% VIP discount is applied. The 10% sale is skipped.
- Result: Customer pays $80.00 — the best deal wins regardless of which discount was added first.
- Exclusive (Allow Other = No): Only this discount can apply. If it wins, no other transaction discount applies.
- Stackable (Allow Other = Yes): Can combine with other stackable discounts. The tournament compares the sum of all stackable discounts against the best single exclusive discount.
Price Calc vs. Multi-Deal Arbitration
When a price calculation (e.g., “20% Off Fridays”) and a multi-deal (e.g., “Burger + Fries for $8.99”) both apply to the same items, Quasar compares the resulting totals before applying either one:
- If the multi-deal produces a lower combined total than the individual calculated prices, the multi-deal wins and replaces the calculated prices.
- If the calculated prices are already lower, the multi-deal is skipped.
- Item A regular price: $4.00. Item B regular price: $5.00.
- A “20% Off Fridays” price calc applies: A = $3.20, B = $4.00. Combined = $7.20.
- A “Buy A + B for $5.00” multi-deal also matches. Combined = $5.00.
- Quasar compares: $5.00 < $7.20 → the multi-deal wins.
- If the multi-deal price were $8.00 instead, $7.20 < $8.00 → the percentage off wins.
Low Price Floor
If an item has a Low Price set on its Prices tab (in the Item Master), no combination of price calculations, line discounts, or transaction discounts can reduce the effective price below that floor. The discount amount is automatically capped so the final price equals the Low Price.
Complete Priority Summary
| Priority | Rule |
|---|---|
| 1 (Highest) | Low Price Floor — No price or discount can go below this. Absolute floor. |
| 2 | Discountable Flag — Non-discountable items are immune to all discounts (Layers 2 and 3). |
| 3 | Exclusive Line Discount — Claims the line and blocks transaction discounts from that line. |
| 4 | Best-Deal Tournament — Among competing transaction discounts, the one with the highest savings wins. |
| 5 (Lowest) | Stackable Transaction Discounts — Applied together only if their combined savings exceeds the best exclusive. |
Label Batches: Shelf Labels
A Label Batch (Inventory → Label Batches) generates printed shelf labels. Label batches can be created:
- Manually, by adding items one at a time
- Automatically, from a Price Batch (click Make Labels after executing a price change)
- From the Add Items dialog, using the same filters (department, subdepartment, brand, vendor, group, matrix)
Price Change History
Use the Price Change History to review historical price changes. You can filter by matrix to see all changes for a product group, or by individual item. This provides a full audit trail of when prices changed and what they changed from.
Pricing Strategy Checklist
- Set up Price Zones for your markets
- Define target margins and allowed variance on each subdepartment’s Main tab defaults
- Set tax codes and tax-inclusion flags at the subdepartment level
- Create items — they inherit subdepartment defaults automatically
- Set Customer Level prices on items and assign price levels to customers
- Set Quantity Level prices for volume break pricing
- Use Price Batches for regular repricing (e.g., after receiving new inventory at updated costs)
- Use Promo Batches for seasonal and time-limited sales
- Use Price Calculations for ongoing formula-based rules (cost-plus, percentage off, buy-multiple deals, and free gift rewards with purchase thresholds)
- Create Discounts for transaction-level and line-level reductions (commercial and statutory)
- Use Label Batches to print shelf labels whenever prices change
- Review the Price Change History to audit price movements
- Chapter 13 — Loyalty, Gift Cards, and Store Credits