Skip to content

Additional Pricing Methods

Andy Theuninck edited this page Sep 30, 2016 · 3 revisions

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.

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 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.

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 _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.

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.

Clone this wiki locally