This proposal covers the automation of the performance period segment
Proposal summary
Automatically set values on the performance period segment upon journal creation. And also set the journals after creation using a scheduled script.
Requirement
Automate the Performance Period segment selection on the transactions based on the Posting Period.
Our Solution
Action 1: Scheduled script
We can create scheduled events which will run in a preferred interval of time on the journal entries with a blank performance period. This feature will work as follows.
1.When there is a blank performance period in the journal entry this event is triggered. So the amortization Journal entries and other entries will be included.
The script will run only for a blank Performance Period which is on the body level. So it will not override existing values.
If it is, the blank system will check for a performance period based on any matching criteria as below it can be implemented as any of the following.
Matching criteria: We can create a field named the Posting period list field in the performance period entries to map the corresponding posting period. User can specify the matching accounting period in the posting period.
- If there is a matching performance period will be updated in the body level performance period field.
- If there is no matching posting period, the system will create an error log to let the user know the performance period is missing. And we will create an entry on a custom record if we couldn’t find a match on the performance period for the selected posting period. We also mention in the custom record that, for which posting period the performance period is missing. So the user can create the performance period based on that. And there will be only one custom record entry created for one missing performance period based on the posting period.
Action 2: Real time journal restriction
We will set up the performance period segment on the journal entries and advanced journal entries upon its creation using a script.
- Upon the journal creation, we will check the posting period of the transaction to find the related performance period for that. The script will run only for a blank Performance Period which is on the body level. So it will not override existing values.
- To find the performance period, we will run a “Performance Period” custom record search and thus we will get the data.
- We can set the Performance Period if it is blank and if we could find a mapped Performance Period for the Posting Period ,upon the creation regardless of the source of the transaction(even if it is UI, CSV, integration etc) But for showing alerts and restricting the journal creation, please check the following method.
- If we couldn’t find a match,(If there is no Performance Period mapping,) we will do the following. And there won’t be any message displayed to the customer upon save action.
- But we will create an entry on a custom record if we couldn’t find a match on the performance period for the selected posting period. We also mention in the custom record that, for which posting period the performance period is missing. So the user can create the performance period based on that. And there will be only one custom record entry created for one missing performance period based on the posting period.
Assumptions
- The script will be applicable to journal entries and advanced journal entries.
- Posting period should exist in the journal upon creation.
- The script will work in the creation context of the journals. (As per Action 2).
- The journal creation which cannot be restricted through Action 2 will be updated through Action 1.
- The script will be applied for every journal entry without considering the type of journal. We assume that this is ok in the business scenario. Please let us know your confirmation on the same.
- We assume that the “Performance Period” field will be available in the body level for all the journals.
- As we have gone through the account it is seen that the “Performance Period” fields are in the line level for some of the journals based on the form. But we are not updating in the line level. We will update only on the body level.
Risks
- The script will be applied for every journal entry without considering the type of journal.