Discussions

Stay up-to-date with the latest news from NetSuite. You’ll be in the know about how to connect with peers and take your business to new heights at our virtual, in-person, on demand events, and much more.
Now is the time to ask your NetSuite-savvy friends and colleagues to join the NetSuite Support Community! Refer now! Click here to watch and learn more!
Update your Profile with your Support type to get your Support Type badge.
Expand your NetSuite knowledge by joining our Ask A Guru Live sessions. RSVP on this event now.
Uncover the power of data with the Analytics Hub —your ultimate guide to mastering NetSuite Saved Searches and Reports. Simplify the complex and unlock your organization's true potential. Dive into the Analytics Hub now and soar to new heights!
SuiteWorld 2025 registration is officially OPEN

SuiteWorld is the largest annual gathering of the NetSuite community! It will be held in Las Vegas on October 6-9, 2025. Our customers and partners look forward to SuiteWorld every year as a place to hear the latest from NetSuite, get hands-on learning, and connect with each other. Register now!
Starting June 1st, 2025, you may notice that our regular e-Fix releases are being referred to as ‘Minor Releases’. It’s still the same release schedule, with a different name. (Link can be found here)

How to Map the Invoice lines to its SO lines via SuiteScript 2.0?

edited Jun 2, 2025 2:38PM in Ask A Guru 7 comments

Hello. I'm running a script on the Invoice record. This script's aim is to take the value of the line field "custcol_altsales_invoice" from the invoice and map it to the corresponding SO line in a field called "custcol_ccaw_test_field_1". The issue is that this works if everything is invoiced at once (all the lines from the SO are present on the invoice). It will map incorrectly if, say, I only invoice some lines from the SO. Is there a way to map each line from the invoice to its exact line on the SO?


/**
 * @NApiVersion 2.x
 * @NScriptType UserEventScript
 * @NModuleScope SameAccount
 */
define(['N/record'], function(record) {


  function updateCommissionOnSalesOrder(context) {
    //only run if it's edit or create
    if (context.type == 'create' || context.type == 'edit') {
      //reference the current invoice
var invoiceRecord = context.newRecord;
      // Get the Sales Order ID from the Invoice record's "Created From" field
      var salesOrderId = invoiceRecord.getValue({ fieldId: 'createdfrom' });
      
      // Get the line count on the Invoice record
      var lineCount = invoiceRecord.getLineCount({
        sublistId: 'item'
      });


      // Update the "Commission Calculated" field on the

Howdy, Stranger!

Log In

To view full details, sign in.

Register

Don't have an account? Click here to get started!

Leaderboard

Community Whiz

Quarter 2 (Apr-Jun 2025)

This Week's Leaders

This Month's Leaders

All Time Leaders