Suite Script: Update Due date to the last Day of the month (term EOM)

const afterSubmit = (scriptContext) => {

    try {

            let newRecord = scriptContext.newRecord;

            let lookupFields = search.lookupFields({

                type: search.Type.TRANSACTION,

                id: newRecord.id,

                columns: [‘terms’]

            });

            let paymentTerms = lookupFields.terms[0].text;

            if (!paymentTerms || paymentTerms.indexOf(‘EOM’) === 1) {

                return;

            }

            let dueDate = newRecord.getValue({ fieldId: ‘duedate’ });

            if (!dueDate) {

                return;

            }

            let dueDateObj = new Date(dueDate);

            let lastDayOfMonth = new Date(dueDateObj.getFullYear(), dueDateObj.getMonth() + 1, 0);

            record.submitFields({

                type: newRecord.type,

                id: newRecord.id,

                values: {

                    duedate: lastDayOfMonth

                },

                options: {

                    enableSourcing: false,

                    ignoreMandatoryFields: true

                }

            });

        } catch (error) {

            log.debug(‘Error’,error.message);

        }

    }

    return { afterSubmit }

});

Leave a comment

Your email address will not be published. Required fields are marked *