When an invoice is generated from a Contract, the revenue portion of the invoice is moved to a Deferred Income Contract Control account. At the same time, the standard processing in Eralis Job moves all the costs of a transaction to the Work-in-Progress balance sheet account. Essentially, all the transactions are sitting in the balance sheet. The Process Contract Lines function, or Revenue Recognition function, moves the revenue and cost out of the balance sheet and into the income statement.
It is important to know that the Process Contract Lines function is not an invoice function. No A/R invoice is generated. The process is completely based on journal entries being processed. The generation of the invoice is carried out from the Contract Invoice function. For more information please refer to the Contract Invoicing article.
While Contract invoicing is completely based on Contract billing phases, the revenue recognition process is completely based on the Job transactions that reflect the work done on the Job. In the Revenue Recognition process, the user chooses which Job transactions they want to recognize, and these transactions form the basis for the cost value that will be moved from the Work-in-Progress balance sheet account, through to the Cost of Goods Sold income statement accounts. The user then defines the value that is to be recognized. This value can be based on:
- The value of the Job lines: If each Job line has a sell price defined, the system will calculate the value of the lines being included in the Revenue Recognition process and provide the user with the total line values.
- The overall Contract value: For example, the user can choose to recognize a percentage of the Contract based on the overall state of the project.
- The quoted value of the project or percentage of the quote value.
- A manually set value to be recognized.
With a Contract Job, on the Job Line Processing tab of a Master Job, a new function becomes available to Process Contract Lines. This function is used to carry out the revenue recognition processing. When carrying out a Process Contract Lines function, the system will generate an A/R delivery in SAP Business One, which will have the effect of moving the material items out of the work-in-progress warehouse.
To understand the revenue recognition process it is important to understand the journal entries that go along with the processing. The journal entries however, vary depending on the Item Codes used on the Job lines, specifically relating to whether the Item Code is an inventory or non-inventory item. The associated journal entries are a combination of standard SAP Business One journal entries for A/R deliveries and adjusting journal entries that are created by Eralis Job.
When working with inventory items, the initial journal that is created is the standard SAP Business One journal entry for an A/R delivery (bearing in mind that the value of the delivery is zero). SAP Business One will generate the following journal entry:
- A debit to the Cost of Goods Sold account based on SAP Business One General Ledger determination.
- A credit to the Work-in-Progress General Ledger code and SAP Business One will use the current SAP Business One determined cost for the item for the warehouse.
Due to the nature of the processing, the standard SAP Business One journal entry does not fit the processing requirements for Eralis Job. Immediately after the SAP Business One journal entry for the A/R delivery is created, Eralis Job will process a reversing journal entry. Essentially, Eralis Job will use the same values and accounts that were originally used by SAP Business One, and create a reversing journal entry.
Then, Eralis Job will create a journal entry that is required to achieve the outcome of the processing being done. Although only a single journal entry is created, the entry is separated into two sections.
- The first section of the journal entry surrounds the revenue value that needs to be moved out of the Deferred Income account and through to the income statement. The system will debit the Contract Control account (as defined in the Eralis job System Initialization) and a credit to the income statement revenue accounts at the value specified by the user.
The revenue value that is being posted is entered by the user in a single value. However, the vales will be posted to different revenue accounts depending on the configuration of the system.
When the system posts the revenue amount, the system calculated value determined based on the Job lines is posted to the revenue accounts that have been specified on the Job lines. If no revenue accounts have been specified on the Job lines, the system will post the revenue to the default sales account specified on the Master Job header. The difference between the system calculated value and the user defined value will be posted to the Under/Over Recovery account that is specified on the Master Job header.
The system calculated value is based on the sum of the quantity x the sell price of the lines that were marked as Ready to Process. The user defined value is the value that is specified by the user when they carry out the process. If the system calculated values comes to $5,800 and the user enters a value of $6,000, then $5,800 will be posted to revenue accounts based on the lines or default sales account on the Master Job, while $200 will be posted to the Under/Over Recovery account.
- The second part of the journal entry is the cost part. This is where the system will move the cost of the lines used in the revenue recognition process out of the Work-in-Progress General Ledger account, and into the income statement Cost of Goods Sold account(s). Once again, the system will look to the Job lines to see if there is a COGS account specified on the individual Job line. If none exist, then it will use the default COGS account on the Job header. The overall effect is that income and its related expenses are being recognized at the same time.
Where non-inventory items exist (for example when timesheet or resource lines are included in the revenue recognition process) the journal entries are processed slightly differently. The system will still create A/R delivery in SAP Business One, but due to the fact that no cost is attributed to non-inventory Item Codes in SAP Business One, no journal entry will be created. This means that no reversing journal entry will need to be created by Eralis Job.
Eralis Job will still process the same journal entry that was discussed previously to do with recognizing the revenues and costs associated to the recognition.
When processing a combination of inventory and non-inventory items in one process, Eralis Job will work through all the lines and deal with them in a combined process. First, an A/R delivery will be created for all the items. SAP Business One will automatically create a journal entry for the inventory items on the delivery. Eralis Job will then reverse the SAP Business One journal entry and process a consolidates recognition journal for the Job lines (inventory and non-inventory) included in the process.
The revenue recognition process can be carried out in foreign currency if required. In order to process in a foreign currency, the Use Foreign Exchange functions must be enabled in the Eralis Job System Initialization. The Business Partner used on the Job must be set to Non-local Currency or All Currencies.
With those two criteria met, files will be available on the Job Line Processing tab of the Job allowing the user to choose which currency they want to work in. For a Business Partner that is set to a currency, the options will be to work in the local currency or the currency set on the Business Partner account. Where the Business Partner is set to All Currencies, the user will be able to choose which currency to work with.
The user will be able to choose whether they want to enter the value to be recognized in the local foreign currency.
Reversing a Recognition
If the need arises, the revenue recognition process can be reversed. This may be due to the incorrect revenue value being used or several the other factors.
To reverse the recognition, the A/R delivery document that is created when the original revenue recognition process was carried out must be copied through to a Goods Return using the Copy To or Copy From functions in SAP Business One.
The result of processing the Goods Return will be that all the journal entries associated to the revenue recognition process will be reversed and the Job lines that were included in the revenue recognition process will be returned to a status of Entered. This will allow the company to then use them again in a future process.