-
Notifications
You must be signed in to change notification settings - Fork 44
Additional Pricing Methods
Many of the pricing methods discussed here do not have a nice editing interface so this will get a bit more technical than most user documentation.
CORE currently supports 7 styles of pricing. In the products table, pricemethod
indicates which style of pricing is being used. The normal_price
, quantity
, groupprice
, and mixmatchcode
columns will also play a role in pricing. The special
columns have the same meanings but are used when an item is on sale.
An item rings up for normal_price
. This is the pricing method that the regular item editor uses.
Each item rings up for groupprice
divided by quantity
. This exists for backward compatibility. The customer is not required to purchase a "full set" so using this price method to make an item 2-for-$1 is no different than simply pricing the item at $0.50.
Each full set of items will cost groupprice
in total with quantity
defining the size of a full set. Items with the same mixmatchcode
can all be combined to create sets. If you use this price method on an item with normal_price
$0.60, groupprice
$1.00, and quantity 2, the first item will ring in at $0.60, the second will ring in at $0.40, third will ring in at $0.60 again, fourth will ring in at $0.40 again, etc.
This style of pricing can be configured in a sales batch. After adding an item to a batch, click the edit icon to get both quantity and price fields.
This pricing method specifies two sets of items. A simple example might be "Save $0.50 when you purchase a sandwich and a bag of chips". First you need two groups of items: a qualifying group (e.g., sandwiches) and a discount group (e.g., bags of chips) (it's often irrelevant which is which). The groups are defined via mixmatchcode
. For this pricing method mixmatchcode
must be an integer. Items in the qualifying group should have the positive value (e.g., 1) and items in the discount group should have the negative value (e.g., -1). The customer must purchase at least quantity
items from the qualifying group and at least one item from the discount group. Once all items have been added to the transaction, two additional lines are added to discount the total by the amount in groupprice
. The discount is pro-rated across different departments if the qualifying and discount items are not in the same department.
This style of pricing can be configured in a sales batch. To do so you need to change one batch type's editing interface from standard to paired sale.
This pricing method is nearly identical to SplitABGroupPM. The difference is it adds the discount as a single line rather than splitting it across two. The discount is assigned to the department of whichever item happens to be rung in last.
This method allows for up to 11 groups of items. There can be 10 qualifying groups and 1 discount group. Each group must have the same mixmatchcode
prefix. The qualifying groups should have mixmatchcode
values ending in _q0
through _q9
and the discount group should have mixmatchcode
values ending in _d
. The quantity
column contains the total number of groups (including the discount group). When the customer has purchased at least one item from each group, the final item is discounted by the amount groupprice
.
This method changes the price of all items if more than a specified quantity is purchased - e.g., an item is $1 each normally but $0.90 each if you buy more than 10. Again mixmatchcode
is used to define the group of items. The required quantity goes in quantity
and one minus the percentage discount goes in groupprice
. The Nth item rung in that meets the threshold will ring in at a strange price to adjust for all previous items.