Purpose

This script supports expense approval routing for Campaign records. It reads setup fields, applies validation, and updates process status when records meet the configured conditions.

Behavior

  • Reads the current record and related configuration fields.
  • Validates the record against the process rules documented on this page.
  • Updates status, queue, or review fields used by saved searches and workflows.
  • Logs skipped records with enough detail for support review.

Runtime and deployment

AreaSetting
Script typeWorkflow Action Script
Deployed toCampaign
StatusReleased
Log levelAudit

Operational notes

  • Review linked fields and searches before changing this script.
  • Test with a small set of records before enabling broad changes.
  • Check execution logs after deployment changes.

CSDocs Script Source

/**
 * @NApiVersion 1.0
 * @NScriptType WorkflowActionScript
 * @author Morgan Ellis
 */
define(["N/record", "N/search", "N/log"], function (record, search, log) {
  function expenseApprovalRouting(context) {
    var recordType = "campaign"
    var project = "Quote Expiration Monitoring"
    log.audit({ title: project, details: "Demo processing for " + recordType })
    return true
  }
  return {
    execute: expenseApprovalRouting,
    beforeSubmit: expenseApprovalRouting,
    onRequest: expenseApprovalRouting,
  }
})

This object references:

Technical reference

Record identity

ItemValue
Record nameQuote Expiration Monitoring Workflow Action
Script IDcustomscript_demo_expense_approval_routing_workflow_action_12
Object typeWorkflow Action Script
Source XMLObjects/customscript_demo_expense_approval_routing_workflow_action_12.xml

Project assignment

ItemValue
Primary projectQuote Expiration Monitoring
Record typesCampaign