Other Records Created or Updated by the POs (Purchase Orders) Import Workflow

The POs (Purchase Orders) import workflow also creates purchase request, request item and fulfillment records. Mappings are not available for these on the OpenAir NetSuite Connector UI and cannot be modified.

Purchase Requests

The following table describes the information added to the purchase request records created for each purchase order line item imported into OpenAir.

NetSuite Field

Direction

OpenAir Field

Notes

Transaction.internalId

Arrow pointing right

Purchaserequest.netsuite_purchaserequest_id__c

When the integration creates a new purchase request record in OpenAir, OpenAir stores the internal ID of the NetSuite purchase order in the NetSuite Purchase Order ID [netsuite_purchaserequest_id] custom field. This custom field is used to link the OpenAir and NetSuite records for future updates and matching record associations.

Transaction.tranId

Arrow pointing right

Purchaserequest.netsuite_purchaserequest_tranid__c

When the integration creates a new purchase request record in OpenAir, OpenAir stores the transaction ID of the NetSuite purchase order line item in the NetSuite Purchase Order Number [netsuite_purchaserequest_tranid] custom field. This custom field is used to link the OpenAir and NetSuite records for future updates and matching record associations.

Looked up OpenAir field valueid of OpenAir project with netsuite_project_id equal to either:

  • NetSuite field Transaction.custbody_oa_purchase_project_id on the purchase order header

  • NetSuite field Transaction.entity on the purchase order line item

Arrow pointing right

Purchaserequest.project_id

The project can be referenced either in the purchase order header or in each purchase order line item in NetSuite.

  • Purchase order header — The NetSuite Project ID [custbody_oa_purchase_project_id] custom field holds the internal ID of the project in NetSuite (copied from the shipTo field.

  • Purchase order line item — The Project field holds the internal ID of the project in NetSuite.

Looked up OpenAir field valueid of OpenAir customer associated with project with netsuite_project_id equal to the NetSuite field Transaction.custbody_oa_purchase_project_id

Arrow pointing right

Purchaserequest.customer_id

Transaction.tranDate

Arrow pointing right

Purchaserequest.date

Transaction.tranDate

Arrow pointing right

Purchaserequest.date_submitted

  • Transaction.dueDate on the purchase order header, if set.

  • 0000-00-00, otherwise

Arrow pointing right

Purchaserequest.date_required

="NS-"

Arrow pointing right

Purchaserequest.prefix

The prefix part of the PR # is NS- to identify purchase requests imported from NetSuite.

If the Map NetSuite transaction number to OpenAir number when importing vendor bills or purchase orders box is checked on the OpenAir NetSuite Connector administration form, the PO # on the purchase order in NetSuite is used to generate the prefix and number part of the PR #. See Map NetSuite transaction number to OpenAir number when importing vendor bills or purchase orders.

  • Transaction.tranId

  • generated automatically in OpenAir

Arrow pointing right

Purchaserequest.number

By default, the number part of the PR # on the OpenAir purchase request record is generated automatically when the record is created.

If the Map NetSuite transaction number to OpenAir number when importing vendor bills or purchase orders box is checked on the OpenAir NetSuite Connector administration form, the PO # on the purchase order in NetSuite is used to generate the prefix and number part of the PR #. See Map NetSuite transaction number to OpenAir number when importing vendor bills or purchase orders.

  • ="NS-" + Transaction.tranId + "-" + Transaction.line

  • ="NS-" + <generated PO number> + "-" + Transaction.line

Arrow pointing right

Purchaserequest.name

The default mapping definitions for Purchaserequest.prefix (the prefix part of the PR #), Purchaserequest.number (the number part of the PR #), and the line number are used to generate the PR # [Purchaseorder.name].

Looked up OpenAir field value

  • If the purchaser integration is enabled, id of the OpenAir employee with user.netsuite_user_id equal to Transaction.createdBy, if the employee record is associated with a purchaser record with NetSuite Purchase Order Integration purchaser [netsuite_purchaser] box checked.

  • Otherwise, user_id of the OpenAir purchaser record with NetSuite Purchase Order Integration purchaser [netsuite_purchaser] box checked.

Arrow pointing right

Purchaserequest.user_id

Internal ID of the employee associated with the purchaser in OpenAir.

  • If the Enable purchaser integration box is checked on the Employees (Employees) import workflow settings form, the employee who created the purchase order in NetSuite is set as the Requester on the purchase request in OpenAir. Matching records for this employee must exist in OpenAir and NetSuite, and the employee must be associated with a purchaser record marked as a NetSuite purchaser in OpenAir. See Enable purchaser integration.

  • Otherwise, a purchaser designated as the universal NetSuite purchaser is used.

Transaction.currency

Arrow pointing right

Purchaserequest.currency

Active and visible only if the Multicurrency feature is enabled for your OpenAir account

.

Multiple currency — The Currency on the purchase request record in OpenAir is set to the Currency on the purchase order line item in NetSuite.

Transaction.memo

Arrow pointing right

Purchaserequest.notes

="A"

Arrow pointing right

Purchaserequest.approval_status

 

<current date>

Arrow pointing right

Purchaserequest.date_approved

[Initial only]

Request Items

The following table describes the information added to the request item records created for each purchase order line item imported into OpenAir.

NetSuite Field

Direction

OpenAir Field

Notes

= Transaction.internalId + "-" + Transaction.line

Arrow pointing right

Request_item.netsuite_request_item_id__c

When the integration creates a new request item record in OpenAir, OpenAir stores the internal ID of the NetSuite purchase order and the line ID number of the purchase order line item in the NetSuite Purchase Order ID [netsuite_request_item_id] custom field. This custom field is used to link the OpenAir and NetSuite records for future updates and matching record associations.

Looked up OpenAir field valuename of OpenAir product with netsuite_product_id equal to the NetSuite field Transaction.item

Arrow pointing right

Request_item.name

Name of the product

Looked up OpenAir field valueid of OpenAir product with netsuite_product_id equal to the NetSuite field Transaction.item

Arrow pointing right

Request_item.product_id

Internal ID of the product

Looked up OpenAir field valueid of OpenAir project with netsuite_project_id equal to either:

  • NetSuite field Transaction.custbody_oa_purchase_project_id on the purchase order header

  • NetSuite field Transaction.entity on the purchase order line item

Arrow pointing right

Request_item.project_id

The project can be referenced either in the purchase order header or in each purchase order line item in NetSuite.

  • Purchase order header — The NetSuite Project ID [custbody_oa_purchase_project_id] custom field holds the internal ID of the project in NetSuite (copied from the shipTo field.

  • Purchase order line item — The Project field holds the internal ID of the project in NetSuite.

Looked up OpenAir field valueid of OpenAir customer associated with project with netsuite_project_id equal to the NetSuite field Transaction.custbody_oa_purchase_project_id

Arrow pointing right

Request_item.customer_id

Transaction.custcol_oa_po_rate

Arrow pointing right

Request_item.cost

The OpenAir Rate [custcol_oa_po_rate] custom field value is sourced from the Rate on the purchase order line item in NetSuite and imports to the Price field on the request item record in OpenAir.

="each"

Arrow pointing right

Request_item.um

ABS(Transaction.quantity)

Arrow pointing right

Request_item.quantity

The Quantity must be positive in the OpenAir purchase item record.

Transaction.fxAmount || Transaction.amount

Arrow pointing right

Request_item.total

If the Quantity is negative on the purchase order line item, the Total is adjusted automatically so that quantity × cost and total are both negative or both positive. The foreign currency Amount [ fxAmount] or base currency Amount [ amount] value on the purchase order line item is used.

Looked up OpenAir field valueid of OpenAir purchase request record created by the integration and associated with the OpenAir purchase item

Arrow pointing right

Request_item.purchaserequest_id

Looked up OpenAir field value

  • If the purchaser integration is enabled, id of the OpenAir employee with user.netsuite_user_id equal to Transaction.createdBy, if the employee record is associated with a purchaser record with NetSuite Purchase Order Integration purchaser [netsuite_purchaser] box checked.

  • Otherwise, user_id of the OpenAir purchaser record with NetSuite Purchase Order Integration purchaser [netsuite_purchaser] box checked.

Arrow pointing right

Request_item.user_id

Internal ID of the employee associated with the purchaser in OpenAir.

  • If the Enable purchaser integration box is checked on the Employees (Employees) import workflow settings form, the employee who created the purchase order in NetSuite is set as the Requester on the request item in OpenAir. Matching records for this employee must exist in OpenAir and NetSuite, and the employee must be associated with a purchaser record marked as a NetSuite purchaser in OpenAir. See Enable purchaser integration.

  • Otherwise, a purchaser designated as the universal NetSuite purchaser is used.

Transaction.currency

Arrow pointing right

Request_item.currency

Active and visible only if the Multicurrency feature is enabled for your OpenAir account

.

Multiple currency — The Currency on the purchase item record in OpenAir is set to the Currency on the purchase order line item in NetSuite.

Looked up OpenAir field valueid of OpenAir vendor record with netsuite_vendor_id equal to the NetSuite field Transaction.entity on the purchase order header

Arrow pointing right

Request_item.vendor_id

Transaction.tranDate

Arrow pointing right

Purchase_item.date

Fulfillments

The following table describes the information added or updated to the fulfillment records created for each purchase order line item imported into OpenAir if not fulfilled.

NetSuite Field

Direction

OpenAir Field

Notes

  • ABS(Transaction.quantityShipRecv) – <Total quantity fulfilled>

  • ABS(Transaction.quantity – <Total quantity fulfilled>

Arrow pointing right

Fulfillment.quantity

Fulfillment records are created based on

  • The Received field on the purchase order line item if the purchase item can be fulfilled.

  • The Quantity field on the purchase order line item if the purchase item cannot be fulfilled. The quantity fulfilled in OpenAir cannot be greater than the quantity received in NetSuite.

If the NetSuite value is increased after the initial import a new fulfillment record is created. The Quantity cannot be decreased in OpenAir after the initial import — a warning is issued if the NetSuite value is decreased.

Looked up OpenAir field valueid of OpenAir purchase order record created to match the imported NetSuite purchase order

Arrow pointing right

Fulfillment.purchaseorder_id

Looked up OpenAir field valueid of OpenAir purchase request record created by the integration and associated with the OpenAir purchase item

Arrow pointing right

Fulfillment.purchaserequest_id

Looked up OpenAir field valueid of OpenAir purchase item record created to match the imported NetSuite purchase order line item

Arrow pointing right

Fulfillment.purchase_item_id

Looked up OpenAir field valueid of OpenAir request item record created by the integration and associated with the OpenAir purchase item

Arrow pointing right

Fulfillment.request_item_id

Transaction.tranDate

Arrow pointing right

Fulfillment.date