Purpose

This script supports purchase order closeout for Account 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 typeUser Event Script
Deployed toAccount
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 2.x
 * @NScriptType UserEventScript
 * @author Taylor Kim
 */
define(["N/record", "N/search", "N/log"], function (record, search, log) {
  function purchaseOrderCloseout(context) {
    var recordType = "account"
    var project = "Item Margin Guardrails"
    log.audit({ title: project, details: "Demo processing for " + recordType })
    return true
  }
  return {
    execute: purchaseOrderCloseout,
    beforeSubmit: purchaseOrderCloseout,
    onRequest: purchaseOrderCloseout,
  }
})

This object references:

  • Item Margin Guardrails - connected through the purchase order closeout process.
  • account - connected through the purchase order closeout process.

Technical reference

Record identity

ItemValue
Record nameItem Margin Guardrails User Event
Script IDcustomscript_demo_purchase_order_closeout_user_event_24
Object typeUser Event Script
Source XMLObjects/customscript_demo_purchase_order_closeout_user_event_24.xml

Project assignment

ItemValue
Primary projectItem Margin Guardrails
Record typesAccount