Projects:Discounts & Promotions
Contents |
Introduction
The aim of this project is to extend current Price Adjustments to make it adaptable to new rules.
Current Design
Currently Price Adjustments are defined by a Discount Amount and/or Discount % or Fixed Price and applied based on a series of filters (BP Categories, Business Partners, Product Categories, Products and Price Lists)
When a price adjustment is applied to an order/invoice line, Net Unit Price is recalculated and a new Price Adjustment line is inserted (as child of the order/invoice line).
Logic is implemented in:
- DB Triggers in c_oder_line, c_invoice_line to add new price adjustments lines.
M_GET_OFFERS_PRICE
PL to calculate the adjustments that are applicable as well as the final price.- Callouts in Order/Invoice lines to calculate prices using
M_GET_OFFERS_PRICE
- Note
M_GET_OFFERS_PRICE
is used by many other PL functionsC_GENERATESOFROMPROJECT
C_ORDER_POST1
C_GENERATESOFROMPROJECTORDER
M_COPY_PRODUCT_TEMPLATE
M_REQUISITION_CREATEPO
MRP_PURCHASEORDER
C_INVOICE_POST
C_GENERATESOFROMPROJECTPHASE
C_PROJECT_GENERATE
C_CREATE_PINVOICE_FROM_OUTS
M_INOUT_CREATEINVOICE
Functional Requirements
General Improvements
- Discounts & Promotions can be used from Web POS.
- Ability to define different types of discounts and promotions. Each type has its own rules and fields to work with.
- Add Organization as new filter, so promotions can be applied based on Organization.
- Ideally organizations can be optionally selected based on tree
- New flag to stop applying other discounts. Discounts are applied based on their priority, when a discount flagged in this way is applied, no other one will be.
- User friendly description. Currently discounts are identified by a name, this name can be internal but not giving much information to end user. There should be a way to describe the promotion to be presented to the end user (being possible also to use some kind of expression to include variables).
Concrete implementations
Current implementation will be named "Price Adjustments" and will continue working as is now.
2 new promotions types will be implemented in the short term:
- "Discount". Works in a similar way "Price Adjustments" does but is simplified in the sense it only accepts percentage discount.
- "Buy X pay Y"