Proposal summary
This proposal covers the scope of saving incoming fund record in NetSuite based on the entity record. The incoming record will be saved only when the donor is approved and the KYD/PRKYD expiry date is not past. If the incoming record is not saved, then send an email to the account services role and check the “For KYD checking” check box. When the donor with the true “For KYD checking” is approved send an email to the grant officer role.
Requirement
The description of the script that is needed for KYD.
- After clicking Save on Incoming Fund transaction, there is a workflow that will check the fields ‘Approved’ and ‘KYD/PRKYD EXPIRY DATE’ in Donor (entity) record.
- If ‘Approved’ is ticked and ‘KYD/PRKYD EXPIRY DATE’ is NOT a past date, the Incoming Fund will be saved.
- If ‘Approved’ is unticked and ‘KYD/PRKYD EXPIRY DATE’ is a past date, then a script will tick ‘For KYD Checking’ checkbox on Donor record then trigger email to Accounts services role. The Incoming Fund will not be saved.
- After the donor is approved (those with ‘For KYD Checking’ ticked), send an email to Grants Officer role.
Deliverables
A client script can be used to validate the donor record field values. To handle the situation where a donor record is approved, use a user event script.
- When a user attempts to save an Incoming Fund transaction, a client script can be used to restrict saving the record by checking the fields entitled “Approved” and “KYD/PRKYD EXPIRY DATE” in the Donor record.
- If the Donor is not approved and the KYD/PRKYD expiry date is in the past, it updates the Donor record and sends an email to the Accounts Services role.
- The user event script will check whether the approved donor’s “For checking KYD” is true or not, if true send an email to the Grant Officer role.
- Record type: Incoming fund and Donor.
Assumptions
- Assumes correct internal IDs for custom fields, and the users in the specified roles have valid email addresses.
- Assumes users have the necessary permissions to execute client script, user event scripts, to modify the Donor records and send emails.
- Assumes that loading and updating records within a client script will not significantly impact performance or user experience.
Risks
- Performance problems may arise when loading and updating a customer record within a client script, particularly if the customer record is big or the network delay is significant. The user interface may become slower when saving an Incoming Fund transaction
- Executing server-side operations like sending emails within a client script could further impact performance and lead to delays.
- If the roles do not have correct users or email addresses, the intended recipients might not receive the notifications.