Projects (Projects) Import Field Mapping Definition

The Projects (Projects) import workflow includes one mapping group:

Project Mapping Group Tab

Use the Project mapping group to map information on project records in OpenAir with information on project records in NetSuite. The mapping group supports filters.

For reference information and best practice guidelines, review the following topics:

  • References — Overview of record types in OpenAir and NetSuite with links to the relevant reference material for information about fields available for mapping.

  • Default and Custom Filters — Overview of default filters and how to modify the default behavior, and custom filters. Custom filters are supported for this mapping group.

  • Default Field Mappings — Overview of default field mapping definitions including notes and best practice guidelines where relevant. Information imported by default includes project name, associated customer, currency, and start date. Filters are supported.

  • Additional Field Mappings — There are no specific guidelines for custom field mapping definitions in this mapping group.

References

The following table gives reference information about the records and fields available for custom field mapping definition with links to the relevant reference material. See also Schema Reference Documentation.

NetSuite Record type [SOAP object]

OpenAir Record Type [table]

Mapping Group [Integration point]

Project [Job]

Schema: Job (2020.1)|Job (2023.1)

XSD: JobSearchRowBasic platformCommon (2020.1)|platformCommon (2023.1)

Project [ project]

Data Dictionary: project

Project [JOB_TO_PROJECT]

Default and Custom Filters

By default, project records are imported from NetSuite into OpenAir if the following conditions are all met:

Custom filters are supported for this mapping group. For more information about adding filter conditions, see Using Filters and Filter Definition.

Default Field Mappings

The following table describes the default field mapping definitions for the Project mapping group tab.

NetSuite Field

Direction

OpenAir Field

Notes

Job.internalId

Arrow pointing right

Project.netsuite_project_id__c

When you import a new project record from NetSuite into OpenAir, OpenAir stores the internal ID of the NetSuite project in the NetSuite Project ID [netsuite_project_id] custom field. This custom field is used to link the OpenAir and NetSuite records for future updates and matching record associations.

  • Job.companyName

  • Job.entityId

Arrow pointing right

Project.name

If the Project Name [Job.companyName] field is empty on the NetSuite project record, the Project Name field on the OpenAir record is set to the NetSuite Job ID [Job.entityID] value.

If the Project Management feature is not enabled for your NetSuite account, the format of the Job ID value is <customer> : <Project ID> and the Project Name is set to <Project ID> in OpenAir.

Looked up OpenAir field valueid of OpenAir customer record with netsuite_customer_id equal to the NetSuite field Job.customer

Arrow pointing right

Project.customer_id

OpenAir NetSuite Connector looks up the internal ID of the OpenAir customer record matching the NetSuite customer entity associated with the project in NetSuite. The integration returns an error if a match cannot be found.

Important:

The Projects (Projects) import workflow cannot be used to update the customer associated with an existing project in OpenAir if the association already exists. The integration will return an error if the customer entity associated with the project in NetSuite was changed and no longer matches the customer associated with the corresponding project in OpenAir.

Job.startDate

Arrow pointing right

Project.start_date

Initial Only, unless the Allow project start date to be updated box is checked on the workflow settings form. See Allow project start date to be updated.

="1"

Arrow pointing right

Project.active

[Initial Only] By default, the Active box is checked when the Projects (Projects) import workflow creates a new project record in OpenAir. If the Inactive box is checked on the project record in NetSuite, OpenAir NetSuite Connector does not import the project into OpenAir — the record is excluded from the integration.

  • If you clear the Inactive box on the NetSuite project record, OpenAir NetSuite Connector will import the project record in the next integration run, and create or update the corresponding project record in OpenAir according to the field mapping definitions set for the workflow.

  • Checking the Inactive box on the NetSuite project record does not clear the Active box automatically on the OpenAir project record. If you check the Inactive box on the NetSuite project record, clear the Active box manually on the properties form for this project in OpenAir if required.

  • [Initial Only] Looked up OpenAir field valuecurrency of OpenAir customer record with netsuite_customer_id equal to Job.customer

  • Job.custentity_oa_project_currency

Arrow pointing right

Project.currency

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

If the Multiple Currency features is enabled for your NetSuite account, you can import currency information for customers and projects from NetSuite into OpenAir, and the integration supports transactions in currencies other than your base currency.

  • If the Multi-Currency Customers feature is available separately from the Multiple Currency feature but not enabled in NetSuite, the project currency must be the same as the customer currency.

  • Otherwise, the project currency can be any of the transaction currencies on the customer record Financial > Currencies subtab.

Note:

The custentity_oa_project_currency custom field and integration support for multiple currency customers are added when you install NetSuite OpenAir SRP Integration bundle 369637 (previously 2851) 1.31 or later version. For more information about multiple currency customers in NetSuite, see Customers and Multiple Currencies (external link to NetSuite SuiteAnswers | Answer ID: 18856).

Looked up OpenAir field valueid of OpenAir project stage record with name equal to the NetSuite field Job.custentity_oa_project_stage

Arrow pointing right

Project.project_stage_id

Not visible on mapping definition table

Project stage information is imported if the Map the NS OpenAir project stage from the NetSuite project box is checked on the Projects (Projects) import workflow settings form and the project stage is set using the OpenAir: Project Stage custom field on the project record (OpenAir subtab) in NetSuite. If the OpenAir: Project Rate Card is empty on the project record in NetSuite, the Project Stage field is not changed in OpenAir. For more information and guidelines, see Map the OpenAir project stage from the NetSuite project.

Looked up OpenAir field valueid of OpenAir rate card record with name equal to the NetSuite field Job.customrecord_oa_project_rate_card

Arrow pointing right

Project.rate_card_id

Not visible on mapping definition table

Rate card information is imported if the Map the NS OpenAir rate card from the NetSuite project box is checked on the Projects (Projects) import workflow settings form and the project stage is set using the OpenAir: Project Rate Card custom field on the project record (OpenAir subtab) in NetSuite. For more information and guidelines, see Map the OpenAir rate card from the NetSuite project.

Job.subsidiary

Arrow pointing right

Project.netsuite_subsidiary_id__c

If you use NetSuite OneWorld, the internal ID of the subsidiary associated with the project is imported into OpenAir and stored in the NetSuite Project Subsidiary ID [netsuite_subsidiary_id] custom field on the project record.

Note:

This mapping is active for each project import made after July 13, 2022. Previously it was only available if the Recognition transactions (Revenue Recognition Transactions) export workflow was enabled. To populate the NetSuite Project Subsidiary ID [netsuite_subsidiary_id] custom field for project records imported before July 13, 2022, run a full synchronization — see Running a Full Synchronization on Demand.

Subsidiary.name

Arrow pointing right

Project.netsuite_subsidiary__c

If you use NetSuite OneWorld, the name of the subsidiary associated with the project is imported into OpenAir and stored in the NetSuite Project Subsidiary [netsuite_subsidiary] custom field on the project record.

Note:

This mapping is active for each project import made after July 13, 2022. Previously it was only available if the Recognition transactions (Revenue Recognition Transactions) export workflow was enabled. To populate the NetSuite Project Subsidiary [netsuite_subsidiary] custom field for project records imported before July 13, 2022, run a full synchronization — see Running a Full Synchronization on Demand.

Subsidiary.currencyName

Arrow pointing right

Project.netsuite_sub_currency__c

If you use NetSuite OneWorld, the currency of the subsidiary associated with the project is imported into OpenAir and stored in the NetSuite Subsidiary Currency [netsuite_sub_currency] custom field on the project record.

Note:

This mapping is active for each project import made after July 13, 2022. Previously it was only available if the Recognition transactions (Revenue Recognition Transactions) export workflow was enabled. To populate the NetSuite Subsidiary Currency [netsuite_sub_currency] custom field for project records imported before July 13, 2022, run a full synchronization — see Running a Full Synchronization on Demand.

Job.custentity_oa_opportunity_id

Arrow pointing right

Project.netsuite_project_opportunity_id__c

Active and visible only if the WBS (Opportunity) box or the Enable NS OpenAir project to NetSuite opportunity integration box is checked on the OpenAir NetSuite Connector administration form.

If the NetSuite project is associated with an opportunity in NetSuite, the internal ID of the NetSuite opportunity is imported and stored in the NetSuite Opportunity ID [project_opportunity_id] on the project record in OpenAir.

Note:

Features controlled by the following workflow settings add additional information associated with the project when creating or updating a project using the Projects (Projects) import workflow. For more information, see the settings descriptions.

Additional Field Mappings

Important:

Review the following guidelines

  • You should contact your OpenAir Professional Services representative if you need to make changes to your integration configuration and field mapping definitions.

  • For advanced mapping usage and best practice guidelines, see Advanced Field Mapping Definition.

  • Familiarize yourself with the NetSuite and OpenAir technical documentation before attempting to set field mapping definitions using the advanced notation — See Schema Reference Documentation.

The following table describes additional field mapping definitions for the Project mapping group tab that may be required or useful in some cases.

NetSuite Field

Direction

OpenAir Field

Initial Only

Notes

Looked up OpenAir field value

NS_FIELDS custentity_oa_project_stage
NS_CUSTOM_FIELDS project_stage_id
lookup=custentity_oa_project_stage:lookup_table=project_stage:lookup_by=name:lookup_return=id 
Arrow pointing right

Project.project_stage_id

Check mark

Project stage information is imported if the Map the NS OpenAir project stage from the NetSuite project box is checked on the Projects (Projects) import workflow settings form and the project stage is set using the OpenAir: Project Stage custom field on the project record (OpenAir subtab) in NetSuite. If the OpenAir: Project Rate Card is empty on the project record in NetSuite, the Project Stage field is not changed in OpenAir. If you want to import the project stage information only the first time a project record is imported from NetSuite into OpenAir, use a custom field mapping definition and check the box in the initial only column. The project stage information will be imported when the integration creates a record in OpenAir but not when it updates a record already imported. For more information and guidelines, see Map the OpenAir project stage from the NetSuite project.

actualTime or similar standard calculated fields

Arrow pointing right

any

To map the actualTime or similar NetSuite standard calculated fields, the Monitored Fields feature must be turned off for the Projects (Projects) import workflow.

This is necessary because NetSuite calculates the actualTime value based on time entries. A change of the actualTime value does not trigger the script that updates the monitored fields timestamp, and the project record is not imported unless this timestamp was updated since the last import.

If the Monitored Fields feature is turned off, the integration uses the lastModifiedDate instead of the monitored fields timestamp to determine which records to import when importing projects from NetSuite into OpenAir. To turn off the Monitored Fields feature for project imports, contact OpenAir Customer Support.

Note:

Turning off the Monitored Fields feature for project imports may lead to a degradation of performance for the integration, particularly if fields other than those mapped in the Projects (Projects) import workflow are updated regularly for projects in NetSuite.