docs
  1. Promotions
  2. Managing A Promotion
  3. Managing Pro-rata Distribution

Managing Pro-Rata Distribution

Pro Rata Distribution is a method of allocating a total promotion discount value proportionally across all eligible items participating in that promotion. Instead of applying the full discount to a single item or a subset of items, the discount amount is distributed based on each item's price relative to the total price of all participating items.

Key Considerations and Benefits

1. Activation Requirement

Pro Rata Distribution is not the default method and must be explicitly enabled on Panel during Promotion Creation.

2. Calculation

When Pro Rata distribution is enabled, SCAYLE calculates the discount allocated to each eligible item using a proportional distribution algorithm that incorporates mandatory commercial rounding and error correction to ensure the sum of item discounts exactly matches the total promotion discount.

This distribution mechanism, while ensuring the total discount applied to the order is exactly correct, introduces a necessary rounding correction that can result in a 1-cent difference in unit level prices of an item.

This is an expected and unavoidable consequence of distributing an indivisible monetary amount proportionally across multiple items and the the below example explains how it's done:

  1. Rounding: The individual pro-rata discounts calculated for each item (e.g., $8.67...) are commercially rounded (e.g., to $8.70).
  2. Aggregation: The sum of these rounded item discounts often results in a total that is slightly more or less than the original promotion discount (e.g., total discount is $26.00, but the sum of rounded discounts is $26.01).
  3. Delta Correction: To maintain financial integrity, the small difference (the "delta," e.g., $$−$0.01$$) is added to (or subtracted from) the final discount of a single, designated item (in this example one item would have $8.66 as a price while the other 2 would have a price of $8.67).

3. Commercial Rounding Application

If commercial rounding rules (e.g., standard nearest cent rounding) are enabled for the transaction or the promotion system, the pro rata distributed amounts will also be rounded.

  • Rounding is typically applied to each item's calculated discount.

Note: The sum of the rounded item discounts should match the total promotion discount, with any small difference typically absorbed by a designated item or through an adjustment line to maintain financial integrity.

4. Risk Mitigation for Refunds

Pro Rata distribution is highly recommended for promotions because it significantly reduces financial risk associated with item returns and refunds.

  • Standard Method: If a full discount is applied to a single item, refunding that item means the full discount is "lost" or needs complex adjustment.
  • Pro Rata Method: Since the discount is spread proportionally, each item's discounted price (its unit net price) is lower. When an item is returned, the refund amount is the discounted price of that item. SCAYLE automatically accounts for the promotion by only refunding the price paid for that specific item, simplifying the refund process and ensuring the customer only keeps the discount on the items they retain.

5. Use Case: Replacement for Basket-Level Promotions

Pro Rata distribution serves as an effective replacement or alternative to traditional basket-level promotions (e.g., "Spend $$ $50 $$x , get $$ $10 $$y off the total order").

  • Traditional Basket Discount: Applying a flat discount to the final total can complicate accounting and reporting, as no single item's price is adjusted.
  • Pro Rata with Basket Promotion: By using Pro Rata, the total basket discount (e.g., the x$$ $10 $$ off) is converted into item-level discounts and distributed across all eligible items. This maintains the user experience of a "basket discount" while ensuring all items have an adjusted, traceable net unit price for inventory valuation, taxation, and refund purposes.

As an example, the following Automatic Discount configuration, if set on Panel, will distribute 10 EUR proportionally to all items which are assigned to a Basket:\

Alternatively, the following configuration will apply proportionally 10 EUR discount to all items added to the basket that are under the Category "Schal".