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
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.
Price Method 0: BasicPM
An item rings up for
normal_price. This is the pricing method that the regular item editor uses.
Price Method 1: GroupPM
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.
Price Method 2: QttyEnforcedGroupPM
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
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.
Price Method 3: SplitABGroupPM
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.
Price Method 4: ABGroupPM
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.
Price Method 5: BigGroupPM
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
_q9 and the discount group should have
mixmatchcode values ending in
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
Price Method 6: MoreThanQttyPM
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.