FSM Transaction Base Model Reference
This reference is intended for administrators and developers who work with shared Transaction model mappings and processing properties.
The common Transaction base has record identity transaction. FSM Mobile articles can use it through article.extend: "models/transaction". For transaction reading and record-specific processing, see Transaction Mappings and Processing Properties.
Standard default structure (JSON fragment):
{
"models/transaction": {
"prototype": {
"record": "transaction",
"map": {
"id": "*formulatext:case when {line} > 0 then {internalid} end|internalid",
"type": "formulatext:nvl({recordtype}, lower({type}))",
"createdfrom": "createdfrom",
"createdfromtype": "createdfrom.recordtype|",
"entity": "entity",
"customer": "custbody_nx_customer",
"asset": "custbody_nx_asset",
"case": "custbody_nx_case",
"task": "custbody_nx_task",
"status": "status",
"date": "trandate",
"email": "email",
"contact": "contactprimary.internalid|",
"purchaseorder": "otherrefnum|",
"paymentmethod": "paymentmethod"
},
"defaults": {},
"syncentity": false,
"inventory": false
}
}
}
The prototype.map.project mapping is "job.internalid|job" with Project Management and "job.internalid|entity" without it. The prototype.map.projecttask mapping is "custbody_nx_projecttask" when Project Management is enabled. These conditional entries are omitted from the fragment.
Transaction Mappings and Processing Properties
The following table describes the transaction model's mappings and processing properties.
|
Property |
Purpose |
Standard Value |
Effect and Dependencies |
|---|---|---|---|
|
|
Identifies the transaction to which each returned line belongs. |
Merged transaction ID derived from non-mainline rows. |
Combines transaction lines into one mapped object. Preserve a populated merge key for the rows to retain. |
|
|
Identifies the actual transaction record type. |
Transaction record type, or lowercase transaction type. |
Identifies the actual type used for supported writes. |
|
|
Identifies the source transaction used for transformation. |
Source transaction and its record type. |
Supports creation by transformation. |
|
|
Identifies the transaction's entity, Customer, and Project relationships. |
Native entity, FSM customer, and Project mapping. Project writes to |
Preserves customer/Project sourcing. |
|
|
Links the transaction to FSM service records. |
|
FSM transaction relationships. |
|
|
Keeps the native Entity and FSM Customer values consistent, accounting for Project relationships. |
|
|
|
|
Identifies the line collection whose bin, serial, and lot assignments FSM converts to and from NetSuite inventory fields. |
|
|
|
|
Supplies default attributes when a Transaction model is created. |
Inherited empty defaults. |
No additional explicit Transaction defaults. |
Assignment conversion depends on enabled NetSuite inventory features and the line mappings. This property doesn't control stock availability or fulfillment.
The syncentity and inventory properties control built-in transaction processing. Retain each model's standard values unless a supported feature configuration specifies a change. Their appearance in a default fragment doesn't establish these properties as general customization switches. Employee prototype.map.inventory is a separate field mapping. For the employee inventory-location mapping, see FSM Employee Model Reference.
Project Task mapping is added when Project Management is enabled. The base also supplies date, status, email, primary contact, purchase-order reference, and payment-method mappings. Individual transactions adapt mappings where fields differ or are not searchable.
In dynamic mode, the transaction base preserves selected fields whose values depend on the entity when the entity changes. The base also handles item group end lines. When a line map includes line identity, the base uses that identity to update lines. Inventory assignment conversion depends on enabled bin, serial, lot, and advanced inventory features. Those built-in processors and their maps are not a procedure for copying internal functions.
Saving a complete editable sublist can remove lines missing from the supplied collection. Preserve all lines that must remain, their identities, and their read-only state. For sublist mapping requirements, see FSM Searches and Field Mapping.
Selecting this base for an FSM Mobile article retains the transaction base. It doesn't automatically select the Sales Order, Invoice, Item Fulfillment, or other specialized model, nor does it recreate a standard resource's own synchronization behavior.