Revenue Recognition Field Map
The revenue recognition field map is used to map custom and standard fields from source records to custom and standard transaction column fields in revenue arrangements.
This record is available only when the Advanced Revenue Management (Essentials) feature is enabled.
If you want Project Revenue Line to appear as a Source Record Type option, you must enable the Projects, Project Management, and Charge-Based Billing features. For more information, see Enabling Project Features and Setting Up Charge-Based Billing.
If you want Subscription Line to appear as a Source Record Type option, you must complete the following:
-
Check the Consolidate Jobs on Sales Transactions accounting preference,
-
If it is enabled, disable the Employee Commissions feature.
-
Enable the Subscription Billing feature and all of its prerequisites.
For more information, see Using the Project Consolidation Preference and Enabling SuiteBilling Features.
For help working with this record in the UI, see Mapping Revenue Recognition Fields.
The internal ID for this record is revrecfieldmapping
.
See the SuiteScript Records Browser for all internal IDs associated with this record.
For information about using the SuiteScript Records Browser, see Working with the SuiteScript Records Browser in the NetSuite Help Center.
For information about scripting with this record in SuiteScript, see the following help topics:
Supported Script Types
The revenue recognition field map record is supported in client and server SuiteScript.
Supported Functions
The revenue recognition field map record is fully scriptable. It can be created, read, updated, copied, deleted, and searched.
Code Sample
The following sample shows how to create a new revenue recognition field map:
require(["N/record", "N/format"], (record,format) => {
var startdate = format.parse({ value : '9/20/2023', type : format.Type.DATE});
var enddate = format.parse({ value : '9/20/2024', type : format.Type.DATE});
let objRecord = record.create({
type: "revrecfieldmapping",
isDynamic: true
})
objRecord.setValue({fieldId:'sourcerecordtype', value:'TRANSACTION_LINE'}); // Source Record Type as Transaction Line
objRecord.setValue({fieldId:'transactiontype', value: 'SalesOrd'}); // Transaction Type as Sales Order
objRecord.setValue({fieldId:'customtxform', value: '68'}); // Custom Form as Standard Sales Order
objRecord.setValue({fieldId:'sourcefield', value: '-3078'}); // Source Field as Start Date
objRecord.setValue({fieldId:'targetfield', value: '-33602'}); // Source Field as End Date
objRecord.setValue({fieldId:'startdate', value: startdate}); // Start Date
objRecord.setValue({fieldId:'enddate', value: enddate}); // End Date
objRecord.setValue({fieldId:'autoupdatetargetfieldvalue', value: true}); // Automatically Update Traget Field Value
objRecord.setValue({fieldId:'externalid', value: '15'}); // External Id
objRecord.setValue({fieldId:'description', value: 'First Field Map'}); // Description
objRecord.save({
enableSourcing: false,
ignoreMandatoryFields: false
});
});