Automation of the End-to-End Process for Recognizing Revenue against Revenue Schedules
The RevenueScheduleAutomationService is a global API that allows you to automate the end-to-end process for recognizing revenue against revenue schedules, from generating the schedules through to creating FinancialForce Accounting journals.
The processes that can be started from the RevenueScheduleAutomationService are:
Sequential Order |
Process |
---|---|
1 | Delete Schedules Where Source Unavailable |
2 | Generate Schedules |
3 | Recognize Schedules |
4 | Summarize Transactions |
5 | Create Journals |
The processes always run in the sequential order shown in the table above, but you can specify which process to start from and which process to finish at. For example, if you have a customization that posts revenue recognition transactions to a third party accounting system you might want the automation service to only run processes 1-3.
The configuration parameters you can specify for the RevenueScheduleAutomationService are:
Config Parameter |
Description |
---|---|
firstProcess | The process to start from. For example, if firstProcess = Generate and lastProcess = Summarize, then Generate, Recognize and Summarize will be run in that order. |
lastProcess | The process to finish at. For example, if firstProcess = Generate and lastProcess = Summarize, then Generate, Recognize and Summarize will be run in that order. |
summarizeTransactions |
Note: If this option is not specified it defaults to true. When the Summarize process is included in the processes to run:
When the CreateJournals process is included in the processes to run:
|
shouldSendEmailAtEndOfProcesses |
Note: If this option is not specified it defaults to true. When true, email notifications are sent after each individual process. When false, no email notifications at all are sent as a result of the API call. |
For more information about using the RevenueScheduleAutomationService, see the Revenue Management API Developer Reference which is listed in Permission Sets and Other Technical Documentation.
Delete Schedules Where Source Unavailable
The asynchronous Delete Schedules Where Source Unavailable process ensures that obsolete revenue schedules do not accumulate and affect your data.
A source record might be unavailable for any of the following reasons:
- The source record has been deleted.
- The source record is no longer marked as active for revenue recognition.
- The source record has had its recognition template removed.
For more information about what happens when you run this process, see Deleting Obsolete Revenue Schedules.
Generate Schedules
The asynchronous Generate Revenue Schedules process creates or updates revenue schedules for all valid source records in the org.
The process generates a revenue schedule per source record, with separate revenue schedule lines for each period that the source record covers. If a revenue schedule already exists for a source record, the process updates it to reflect the latest source record details.
If Revenue Management is set up for both revenue and cost, revenue schedules are generated with both revenue and cost amounts.
Recognize Schedules
The asynchronous Recognize Schedules process recognizes revenue on all valid revenue schedule lines up to the current period. For example, if the process runs in February, revenue up to and including January is recognized. The recognition period in this example is set to January. The recognition date is set to the date the process runs.
If Revenue Management is set up for both revenue and cost, the process amortizes cost in addition to recognizing revenue.
Summarize Transactions
The asynchronous Summarize Transactions process only summarizes a revenue recognition transaction if it meets all the following criteria:
- The transaction was created by the Recognize Schedules process.
- The transaction's Recognized Date is within the last 30 days.
- The transaction's status is "Committed".
- The transaction is not already summarized.
The batch size is controlled by the Schedules Transaction Summary Batch Size field in the Revenue Management Batch Settings custom setting.
For information about how transaction lines are grouped for summarization, see Revenue Transaction Summaries.
Create Journals
The asynchronous Create Journals process creates FinancialForce Accounting journals from a revenue recognition transaction if it meets all the following criteria:
- The transaction's status is "Committed".
- The transaction has a valid Grouped By value.
- The transaction is not already linked to a journal.
Separate journals are created for revenue and cost amounts. The journals are created with the status "In Progress".
The batch size is controlled by the Schedules Create Journals Batch Size field in the Revenue Management Batch Settings custom setting.