Projects:Revenue Cognition/Functional Specifications
This module has not comercial license therefore is not officially supported by Openbravo.
Contents |
Revenue Recognition - Functional Specifications
Overview
This document will contain all the information about the revenue recognition module. You'll find how Openbravo ERP manages the revenues and how the information is shown to the user. Been Openbravo a service company some products/services are delivering all over the year so some times is difficult to track them. For example the sales order for some products could generate 12 shipments one per month.
So One product could have a revenue plan in which the the sales will be Split 50/50 in two month or maybe in the next year (as usual)
Purpose
- Been able to set up a Product with a revenue plan (1 month, 2 month....)
- Of course manage different revenue plans, create new one, modify existing one and delete one or some of them
- View this information in each sales order and been able to modify them.
- Modify some report that should take into account the changes made in product and sales orders.
- Create shipment from Order: Should take into account the revenue plan of each product.
- Avoid shipments from orders: Should take into account the revenue plan of each product.
- Create invoices from shipment: Should take into account the revenue plan of each product.
- The accounting entry will reflects all this movements properly.
- To analyse all this information and to manage it three report needed
- Report sales by month: To see how many product/services will be sold
- Report revenues by month: To see the deliverables by month
- Report invoicing by month. The same as others, but only getting information from the invoices.
Scope
This project will include
- A new window to manage the revenue plan. This window should be under general setup|| product setup, and should include the fields below.
- Client
- Organization
- Description
- Nº Revenues
- Revenues frequency
- Active
- Changes in the sales order line. The information about the revenue plan should appear. Also the organization in charge of the deliverable will appear in this window. This Organization will be used to create the shipment in correct way the starting date of the shipment will use the income date to do it.
- Income Date
- Delivery Org.
- Delivery Resp.
- Three process should also take into account the revenue plan of each product and the new information that the user fill in the sale order line
Create Shipments from Orders
This report is would create as many shipment as defined in the product revenue plan i mean, if the revenue plan of product A is set at 12 month this process will create 12 shipments (one per month) and the starting date of these shipment should be the income date set also in the sales order line.
- Order line 1
- Product A
- Revenue plan 12 month
- Income Date 01/01/2010
- Delivery Org. Support
- Delivery Resp John Q
The sales order line above should create 12 shipment. The organization of this shipments header will be Support. The date of the 1 shipment will be 01/01/2010 the second one 01/02/2010 and so on until completing 12 months The process should shown as a list all of the sales order, the user will select some of the (using a check box) to be processed. Also the user will be able to filter the sales order using this fields
- Business Partner
- Organization
- From Date
- To Date
- Product
- Order Doc. No
And it will show the follow information
- Date Delivered (editable, means that the user will be able to change this information directly in the list)
- Org. Delivered (editable, means that the user will be able to change this information directly in the list)
- Resp. Delivered (editable, means that the user will be able to change this information directly in the list)
- Organization
- Document type
- Document No
- Business Partner
- Product
- Description
- Order Date
- Lines Net Amount
- Qty Ordered
- Qty Delivered
- Unit Price
Avoid Shipments from Order line
This process will open a pop-up window in which the user will inform about which order sales order line want to avoid. If the user does not know which one it is. a sales order line selector search window will appear.
All the Shipments related with the selected order line should be avoided.
Generate Shipments
This process will open a pop-up window with only one selector.
- Organization
This process creates shipments from the selected organization and all its descends
- Also to view, analyse and manage this information three report will be created
- All this report should handle 4 output formats.
- PDF Format
- HTML forma
- XLS Format
- XLS Plane format
- Find below the description of the 3 reports
- Report Sales by Month: This report will include information about the completed sales order month by month.
- Report Revenues by Month: This report will be quite similar to Report Sales by Month report but in this case this report will get the information from the shipments, also the information should be shown month by month.
- Report Invoicing by Month: This report will be quite similar to Report Sales by Month report but in this case this report will get the information from the invoices, also the information should be shown month by month.
Shipments Pots process
The shipment of the service or product will generate the following entry when posting
Process: Shipment posting | Debit | Credit |
---|---|---|
Sales account 700 | 120 | |
Revenues in advance | 120 |
When the company creates a invoice or invoices of the services another entry will be generating, noticed that the entry in the revenue in advance is in the credit side
Process: Invoice posting | Debit | Credit |
---|---|---|
Revenue in advance | 120 | |
Customer receivables | 120 |
When one customer returns any product / service the avoid process of the shipment will generate the following entries:
Process: Avoid a shipment | Debit | Credit |
---|---|---|
Sales account 700 | 120 | |
Revenue in advance | 120 |
Process: Avoid a invoice | Debit | Credit |
---|---|---|
Revenue in advance | 120 | |
Customer receivables | 120 |
References
Design Considerations
Assumptions
The revenue recognition module was a customization done for the OB@OB project and was actually working in a Openbravo 2.35 version. All these customization should be delimited and extracted to a module.
Dependencies
Constraints
Glossary
Functional Requirements
User roles & profiles
Mainly sales managers will be interested in this kind of modules, It is a very interesting information for them in order to manage and analyze the company.
Business process definition
- Create a new revenue plan (for instance 12 month revenue plan).
- Set this new revenue plan to a new product or create a new product with this new revenue plan.
- Create a sales order including one product related with a revenue plan.
- Generate the Shipments using the process "generate shipment from orders". In this case 12 shipments created.
- The user is able to avoid this shipment using the process "Avoid Shipments from Order line"
- Use the commented reports to see how the revenue plan reflect the revenues through the year.
User stories
Andrew is the sales manager of an IT service company, mainly this company sales services on an own product. To manage this kind of services one of the problems is to manage when the shipments will be delivered to the client, for this reason Andrew manages this kind of services using revenue plans. Andrew wants to add a new product to the system, the name of this new product is "One year Gold support" and cost 12.000€. Setting up this product, the revenue plan that Andrew will select in the "12 month revenue" since this service includes all the support for one year. Andrews generates the first sales order, he has sold the first "One year support Gold", then uses the process "Create Shipments from Orders" to create The Shipment related with the order, as been a service with 12 month revenue, 12 shipment should be generated (each one with a 1.000€ valuation). The year goes on and Andrew's company has sold a lot of "One year Gold support". So Andrew could use any of the reports related to this module to get information about how is the year going regarding this product.
Functional requirements based on business processes
Num | Requirement | Importance | Status |
---|---|---|---|
1.1 | Create a new window to manage the revenue plan. This new window should be under general setup - product setup:
| Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
2.1 | Change the product window to add a new filed in it.
This field shows what revenue plan is following the product / service. | Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
3.1 | Change the Sales order line window, include in it the follow fields
| Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
4.1 | Modify the process named "Create Shipments from Orders" under Sales management - analysis tools. This process will create shipments or revenues from the order line. Of course this process should take into account the revenue plan when generating the shipments.
This process has is able to filter the sales order using some fields
And should show the follow information
| Must have | Not Started |
4.2 | As commented this process should take into account the 3 new fields inserted in the sales order line
| Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
5.1 | Create a new process named Avoid Shipments from Order line under Sales management - analysis tools. This process will cancel all the shipments generated from a concrete order line, remember that a single order line is able to generate n shipments. | Must have | Not Started |
5.2 | This process should open a pop-up window with a order line selector. Using the selected order line this process should cancel all the shipments created from the order. | Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
6.1 | Modify the process named Generate Shipments. This process should open a pop-up window with a organizationa selector. The user will select the organization and all the sales order for this organization will have a shipment, also the sales order with a concrete revenue plan should take into account this point to generate the proper number of shipments | Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
7.1 | Create a new report named Report Sales by Month. This report will include information about the completed sales order month by month. | Must have | Not Started |
7.2 | The information shown will be filter using the fields below
| Must have | Not Started |
7.3 | The information should be shown grouping by business partner and for each business partner, one line per product. Also the information shown should be the next:
| Must have | Not Started |
7.4 | There will be 4 buttons in this report window, one per report output format. The button will open a pop-up window that going to open the report in the selected format. The supported output formats for this report are the follow.
| Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
8.1 | Create a new report named Report Revenues by Month. This report will be quite similar to Report Sales by Month report but in this case this report will get the information from the shipments, also the information should be shown month by month. | Must have | Not Started |
8.2 | The information shown will be filter using the fields below
| Must have | Not Started |
8.3 | The information should be shown grouping by business partner and for each business partner, one line per product. Also the information shown should be the next:
| Must have | Not Started |
8.4 | There will be 3 buttons in this report window, one per report output format. The button will open a pop-up window that going to open the report in the selected format. The supported output formats for this report are the follow.
| Must have | Not Started |
Num | Requirement | Importance | Status |
---|---|---|---|
9.1 | Create a new report named Report Invoicing by Month. This report will be quite similar to Report Sales by Month report but in this case this report will get the information from the invoices, also the information should be shown month by month. | Must have | Not Started |
9.2 | The information shown will be filter using the fields below
| Must have | Not Started |
9.3 | The information should be shown grouping by business partner and for each business partner, one line per product. Also the information shown should be the next:
| Must have | Not Started |
9.4 | There will be 4 buttons in this report window, one per report output format. The button will open a pop-up window that going to open the report in the selected format. The supported output formats for this report are the follow.
| Must have | Not Started |
User Interface Mockups
- The new window "Revenue plan" under master Data management-Product setup
- To manage the revenue plans, the product will be handle a new field
- Three new field should added to the sales order line, this field going to be useful when creating the shipments
- The new process should be added to the sales management area
- The Filter window will be the same for all of the reports.
- Report Revenues by Month
The other reports should show the same information except the Backlogs. This concrete fields is only available for the report revenues by month. This field reflect the accumulated amount of revenues coming from the last year and amount left from the next one.
Technical Requirements
This report will be designed using iReport 2.0.4.