Sales Distribution
From UG
Contents |
Info
This is a project.
It will impact different components of CT2.
It will have multiple phases.
Parent mantis: 0004230.
Business Need
Main business need Is to accommodate distribution of sales amounts across the CTs in the group. This will allow to report on sales amounts and gross margin on individual CT level.
Currently if CTs are grouped into GRP group sales figures and gross margin figures are only available for entire GRP and not individual CTs that are part of given group.
Main idea on how to manage this distribution is similar to what we are doing on purchase side. But not all logic is identical.
First component that will benefit from this is KPIs module.
In the future we can use this in other reports.
Analysis and Solution
Core logic
Currently if invoice is issued against one or more grouped CTs we associate that sales information with entire group.
That is how it is stored in database and that is how it is available in reports.
New logic will associate sales charges with individual CTs within a group. Info will be stored in DB in a different way to accommodate that.
As a result charges will be "posted against individual CTs" and each CT will have its own gross margin and P/L.
All new logic is used for both Sales Invoices and Credit Notes.
Changes to Sales Invoices
Interface for issuing sales invoice for grouped CTs will change.
Decision related to what and how to associate amounts with specific CTs will be done per line item in TOC table.
Each line is linked to unique charge code (CC).
M/I class
CC can be of two types "Master"(M) or "Individual"(I). Let's call it "M/I class"
M/I class selector will be added to TOC line item interface.
Default is set as defined in Charge Code Admin.
CBV type
CBV type selector will be added to TOC line item interface.
Default is set as defined in Charge Code Admin.
To remind CBV type (Chargeable Weight vs Gross Weight vs CBM vs CT Count) dictates how to distribute charges entered across selected CTs. We use similar logic for PIs.
Invoice level CT list
As it is currently done system will ask user to "Select CTs in the group" when user clicks "Create new invoice button".
User will select a subset of CTs in the group relevant to this invoice.
Let's call it "Invoice level CT list".
For line items that have #M/I class = "M" system will distribute charges across this list.
TOC level CT list
This is a new feature. If TOC line item is defined of I-class then system will ask user to select a list of CTs across which to distribute charges. This list is a subset of #Invoice level CT list.
Let's call it "TOC level CT list" .
Summary of new UI controls
To summarize the following new controls will be added at the TOC line item level:
- M/I selector
- CBV selector
- CT selector (for I-charges)
Change in parameters
Sales amounts will be assigned at the moment of creating/saving Invoice and can not be changed.
More specifically change in parameters that define distribution will NOT force re-distribution:
- CTs can be added or removed from group/Master
- weight, CBM, chargeable weight could all change
Please note that this is different from PI philosophy of recalculating amounts when parameters above change.
Phases
Phase 1 will cover the following SOWs: 1, 2, 3.
Phase 2: TBD.
See Also
SOWs
SOW 1 Core logic and changes to Sales Invoices
mantis:
spec: implement these 2 sections - see below
SOW 2 Update KPI logic accordingly
We can now change all logic (cost logic, association, inclusion, etc) to be on per CT vs per Group basis.
Details pending discussion with Sasha.
SOW 3 Pre-calculations
This is pending investigation and can be dropped/postponed if speed is OK.
SOW 4 Modify non KPi reports to show per CT sales amounts for grouped CTs
This is phase 2.
Spec: TBD.