Revenue Recognition
This documentation is incomplete.
Revenue recognition is an accounting principle that outlines the specific conditions under which revenue is recognized. The revenue recognition program considers the various values to suggest the revenue recognition amount.
- Revenue recognition method selected for the project
- Accumulated cost for the project (project work in process - PWIP)
- Accumulated revenue for the project
- Approved cost and revenue recognition doc for the project
- Project and milestone task statuses
The revenue recognition program only calculates the revenue recognition amount for the project. It does not create accounting entries. You need to run create accounting program to create accounting entries. The system also allows you to update revenue recognition amounts before accounting entries are created.
The accounting process for revenue recognition creates two sets of accounting entries.
- Transfer balance from PWIP to COGS
- Generate revenue against Unearned Revenue
Unearned revenue account gets Cr when project revenue recognition is accounted for and gets Dr during the revenue recognition process
Revenue Recognition Method
A revenue recognition method is an object that is assigned to all projects. It defines the revenue recognition method for the project.
The system provides four standard revenue recognition methods. However, you can create your revenue recognition method.
Percentage Of Completion (POC)
In the POC method, the system recognizes revenues in proportion to the completeness of the project. To use POC, you need to create a primary cost and revenue recognition doc for the project. (i.e., cost and revenue recognition doc for the project with revision 0). The system will calculate the revenue recognition amount based on the project completion percentage.
Percentage of completion = (Total Collected Cost / Total Budgeted Cost) * 100
Total Revenue Recognition Amount = (Percentage of completion * Total Budgeted Revenue)/100
Accumulated Revenue Recognition Amount = Sum of all previous revenue recognition amounts
New Revenue Recognition Amount = Total Revenue Recognition Amount
- Accumulated Revenue Recognition Amount
The system considers all material, resources, and misc—expenditures against the project for the total cost.
Completed Contract (CC)
You can use the completed contract method when you want to recognize a project's revenue after the project's completion. You collect costs and generate invoices throughout the project life cycle. However, the system keeps all the costs on a separate balance sheet (PWIP account). The system recognizes the revenue and generates the required accounting entries when the project is completed.
In the Completed Contract method, the system recognizes the total revenue once at the end of the project. The system takes the amount from the revenue budget. Thus, if the budgeted revenue is not equal to the total revenue recognition amount, the system will show a balance in the unearned revenue account.
Total Revenue Recognition Amount = Total Budgeted Revenue
Balance Amount in UnEarned Revenue = Total Revenue Recognition Amount -
Sum of all revenue recognition amounts
Milestone
You can use the milestone method when you want to recognize revenue for a project at the completion of certain milestones. The method is similar to the completed contract method. The only difference is in milestones; the system recognizes the revenue at the end of a milestone task.
You collect costs and generate invoices throughout the project and task life cycle. However, the system keeps all the costs in a separate balance sheet account(PWIP account). The system recognizes the revenue and generates the required accounting entries when a milestone task is completed.
To use the milestone method, you need to maintain the below information
- Create one or more milestones for the project
- In the budget line, add a budgeted revenue amount for milestone tasks.
Total Revenue Recognition Amount = Total Budgeted Revenue Of All Completed Milestones
Manual
If you recognize revenue in a different system and want to collect it in inoERP, then you can use the manual method. You can also use this method to record the revenue recognition amount manually. When you run the revenue recognition program for a project with the manual method, the system adds a new revenue recognition line with zero amount. You can update the amount in the revenue recognition line.
Revenue Recognition Line Amount = 0
Revenue Recognition Document
You can create/update a draft revenue recognition doc for a project from several screens
- Running the "Generate Draft Revenue" button on the project screen
- Running the "Generate Draft Revenue" button in the project budget screen
- Running the "Refresh Revenue" button on the revenue recognition screen
To create/view/update the revenue recognition doc, navigate to the "revenue recognition doc" screen from your dashboard/favorite.
Enter the revenue recognition doc details or other criteria in the search form and click on the search button to view an existing revenue recognition doc.
The system will show you all the revenue recognition docs if you don't enter any search criteria. If your organization configures any field mandatory for search, you must enter those fields to search revenue recognition docs.
The application will fetch all the server data and take you to the search result screen. The search result screen looks a bit different on desktop and mobile devices.
If you click on the create a new button, the system will open a simple step form to create a new revenue recognition doc. You can click on the detail right bottom to view all the fields available for the object.
To view the search result in a table format, click on the table icon in the bottom left corner.
To view specific revenue recognition doc details, click on the menu of that record, and click on view/fetch & view.
You can also click on the expand icon against any item on the search result screen to view the revenue recognition doc header details such as description, various revenue recognition amounts, etc.
The system will fetch all the selected document detail line data. Depending on the device size, the document details are shown either right to the search result screen or on a separate screen.
Project Number: System shows all the project details, such as project number, name, etc., as read-only fields.
Description: Description is one of the few fields that is not read-only. You can edit the description to keep notes on the revenue recognition doc.
Scroll left, right, up, and down to view all the details. The document line and details are shown in a separate tab. The default configuration shows fields in various functional groups, such as
- Finance
- Entity
- Reference
- Data
- Control
- Etc
You can configure the application to show which fields should be shown under which group. You can also create new groups as per your business requirements.
All Fields
Sequence | Name | Label | InputType | Field Group |
---|---|---|---|---|
10 | vvProjectName | Project Name | defferedSelect | DEFAULT |
10 | vvProjectNumber | Project Number | defferedSelect | DATA |
20 | vvTotalCost | Total Cost | InputType.text | FINANCE |
30 | prjRevenue RecognitionHeaderId | Prj Revenue Recognition Header Id | InputType.text | REFERENCE |
40 | srcEntityName | Src Entity Name | defferedSelect | DEFAULT |
50 | srcEntityId | Src Entity Id | InputType.text | REFERENCE |
60 | prjProjectHeaderId | Prj Project Header Id | defferedSelect | REFERENCE |
70 | prjProjectTaskId | Prj Project Task Id | defferedSelect | REFERENCE |
80 | versionNumber | Version Number | InputType.number | DATA |
90 | versionName | Version Name | InputType.textField | DEFAULT |
100 | versionType | Version Type | InputType.select | CONTROL |
110 | description | Description | InputType.textField | DEFAULT |
120 | status | Status | InputType.textField | CONTROL |
130 | materialCost | Material Cost | InputType.textField | FINANCE |
140 | resourceCost | Resource Cost | InputType.textField | FINANCE |
150 | otherCost | Other Cost | InputType.textField | FINANCE |
160 | revenue | Revenue | InputType.textField | DEFAULT |
170 | confirmedBy | Confirmed By | InputType.textField | DEFAULT |
180 | confirmationDate | Confirmation Date | InputType.date | DATE |
190 | docStatus | Doc Status | InputType.text | CONTROL |
200 | approvalStatus | Approval Status | InputType.text | CONTROL |
5210 | createdBy | Created By | InputType.text | REFERENCE |
5220 | creationDate | Creation Date | InputType.text | REFERENCE |
5230 | lastUpdatedBy | Last Updated By | InputType.text | REFERENCE |
5240 | lastUpdateDate | Last Update Date | InputType.text | REFERENCE |
Revenue Recognition Items
Navigate to the "revenue recognition doc line" tab to view/add/update revenue recognition doc items.
The system will fetch all the revenue recognition items for the selected revenue recognition doc. The revenue recognition items can be viewed in a table or in a list format.
You can add multiple revenue recognition items to each revenue recognition header. Each item shows a revenue recognition amount, date of revenue recognition, etc.
You can view/add/update revenue recognition details in the revenue recognition items tab.
To add a new revenue recognition item, run the "Refresh Revenue" button in the revenue recognition action screen. The system will add a new revenue recognition item using the revenue recognition method assigned to the project.
You can also manually add a new revenue recognization item by clicking on the add new entity button. If a line already exists, click on copy entity to copy all the details. You can enable/disable fields allowed to be copied in the menu configuration.
Revenue Amount: The final revenue amount for the revenue recognition item. The system uses this amount to create accounting entries.
Suggested Amount: The amount suggested by the system to be used for the revenue recognition item. The system calculates the suggested amount based on the revenue recognition method assigned to the project. When the system creates the revenue recognition item, it creates the item with the same value for both revenue amount and "suggested amount."
Total Cost Amount: Total cost collected for the project at the time of the revenue recognition.
Budget Cost Amount: The budgeted cost amount for the project at the time of the revenue recognition.
Budget Revenue Amount: The budgeted revenue amount for the project at the time of the revenue recognition.
Scroll left, right, up, and down view all other fields.
The default configuration shows fields in various functional groups, such as
- Reference
- Control
- Etc
You can configure the application to show which fields should be shown under which group. You can also create new groups as per your business requirements.
Enter all the other fields and click on the save button to save the revenue recognition doc. The app will post all the data to the server and show the messages returned from the server.
All Fields
Sequence | Name | Label | InputType | Field Group |
---|---|---|---|---|
10 | vvInvOrgId | Inv Org Id | defferedSelect | REFERENCE |
10 | vvOrgCode | Org Code | defferedSelect | ENTITY |
20 | vvTaskName | Task Name | defferedSelect | DEFAULT |
30 | vvTaskNumber | Task Number | defferedSelect | DATA |
40 | vvProjectName | Project Name | defferedSelect | DEFAULT |
50 | vvProjectNumber | Project Number | defferedSelect | DATA |
60 | vvComponentItemNumber | Component Item Number | defferedSelect | DEFAULT |
70 | vvUomCode | Uom Code | defferedSelect | DEFAULT |
80 | vvComponentItemDescription | Component Item Description | defferedSelect | DEFAULT |
90 | vvResourceName | Resource Name | defferedSelect | DEFAULT |
100 | vvResourceDescription | Resource Description | defferedSelect | DEFAULT |
110 | prjRevenue RecognitionLineId | Prj Revenue Recognition Line Id | InputType.text | REFERENCE |
120 | srcEntityName | Src Entity Name | defferedSelect | DEFAULT |
130 | srcEntityId | Src Entity Id | InputType.text | REFERENCE |
140 | prjRevenue RecognitionHeaderId | Prj Revenue Recognition Header Id | InputType.text | REFERENCE |
150 | description | Description | InputType.textField | DEFAULT |
160 | prjProjectActivityId | Prj Project Activity Id | defferedSelect | REFERENCE |
170 | componentItemIdM | Component Item Id M | defferedSelect | REFERENCE |
180 | hrResourceId | Hr Resource Id | InputType.text | REFERENCE |
190 | uomCode | Uom Code | defferedSelect | DEFAULT |
200 | quantity | Quantity | InputType.textField | DATA |
210 | rawCost | Raw Cost | InputType.textField | FINANCE |
220 | revenueQuantity | Revenue Quantity | InputType.textField | DATA |
230 | revenueAmount | Revenue Amount | InputType.textField | FINANCE |
240 | overheadCost | Overhead Cost | InputType.textField | FINANCE |
290 | docStatus | Doc Status | InputType.text | CONTROL |
5250 | createdBy | Created By | InputType.text | REFERENCE |
5260 | creationDate | Creation Date | InputType.text | REFERENCE |
5270 | lastUpdatedBy | Last Updated By | InputType.text | REFERENCE |
5280 | lastUpdateDate | Last Update Date | InputType.text | REFERENCE |
Actions
You can use action buttons to perform the following actions:
Update Revenue: Run the program to create new revenue recognition items for the project. The system uses the revenue recognition method assigned to the project to create the revenue recognition items. If all the available revenue recognition items are already created, the system will not create any new revenue recognition items.
Create Accounting: Create accounting entries for the revenue recognition items.
Accounting
The accounting process in inoERP is quite flexible, and you can configure the system to generate the accounting details for any business process.(Refer to Journals for more details)
Dr Unearned Revenue
Cr Revenue
Dr COGS
Cr PWIP/PIP