NetSuite OpenAir SRP Integration – Bundle ID 369637 (Previously 2851)

Version

Summary of changes

4.0

  • Added the following settings to the OpenAir: SRP Integration Settings custom record type. These settings are required to set up the upgraded versions of the OpenAir Within NetSuite (NetSuite Single Sign-On Integration) and Real-Time Record Import features. The upgraded features replace the SuiteSignOn integration with a NetSuite as OIDC Provider integration and certificate-based authentication.

    • OpenAir URL

    • OpenAir Database ID

    • Display OpenAir in Project subtab

    • Display OpenAir in Customer subtab

    • Display OpenAir in Employee subtab

    • Display OpenAir in Item subtab

    • Display OpenAir in Contact subtab

    • Display OpenAir in Rate card subtab

    • Display OpenAir in Expense report subtab

    • Display OpenAir in Invoice subtab

    • Display OpenAir in Journal entry subtab

  • Added the following permission to the NSOA Connector role:

    • OIDC Provider Setup (Full)

    • OAuth 2.0 Authorized Applications Management (Full)

    • Log in using OAuth 2.0 Access Tokens (Full)

    • Certificate management (Full)

3.05

  • Added custom field to prevent duplicate exports of credit notes (negative invoices).

3.04

  • Changed Execute as role permission for OpenAir: Add Timestamp v2.1 to the NSOA Connector role.

  • Fixed defect causing the Export to OpenAir box to be cleared when modifying a vendor bill record using inline editing in lists.

3.03

  • Modified the default Preference for SuiteScript OpenAir: Add Timestamp v2.1 to Update Deployments when updating the bundle.

3.02

  • Fixed defect in OpenAir: Rev. Rec. % Complete v2.1 script that caused an error on project exports when updating % Complete.

3.01

  • Changed visibility of OpenAir: Project ID. The custom field shows on custom forms by default.

3.0

  • Added SuiteScript 2.1 versions of all scripts.

    Note:

    For information about switching to SuiteScript 2 versions of the scripts, see Switching to SuiteScript 2 Versions of Integration Bundle Scripts.

  • Added custom record type OpenAir: SRP Integration Settings to hold NetSuite integration settings.

  • Added installation script that copies setting from script parameters to a OpenAir: SRP Integration Settings record.

  • Added option to Duplicate bookings to copy the bookings from an OpenAir project template when you import a new project from NetSuite into OpenAir.

  • Added monitored fields support for employee and project records

  • Added custom fields to prevent duplicate exports of customers and projects.

2.14

  • Added permission for NSOA Connector role (Custom records).

2.13

  • Updated NSOA Connector role to properly handle all other necessary staff (transactions, access tokens, SSO, currencies).

2.12

  • Updated NSOA Connector role to handle custom fields correctly.

2.11

  • Added field custrecord_oa_suitetax_on to Features and Preferences custom record to support SuiteTax.

2.10

  • Fixed monitored fields for conversion from Prospect / Lead to Customer.

2.09

  • Added custom fields to prevent duplicate exports of invoices and expenses.

  • Changed Bundle ID from 2851 to 369637 (due to NetSuite repository deprecation).

2.08

  • Added monitored fields support for customer records.

2.07

  • Added new integration record “Internal NS Application OPENAIR”.

2.06

  • The oa_revenue_recognition.js undeployed by default. (NetSuite hides the Revenue recognition feature in some accounts and this script then unintentionally hides the OpenAir Id)

  • The NSOA Connector role updated to enable TBA token creation under this role

2.05

  • Custom timestamp added for hierarchy objects (department, class, location, subsidiary)

2.04

  • New custom record for Monitored fields – holds fields to be updated to OpenAir.

  • New hidden custom field for project task, add timestamp for Project Task if some of monitored fields was changed

2.03

  • Added SuiteScript for adding current Timestamp before submit

  • New custom field and deployment of “add timestamp” script for Expense Category

2.02

  • Added support of searching record to oa_record_api.js RESTlet script

2.01

  • Removed Center tab 'OpenAir' as it's required only for SSO bundle

2.0

  • Added subtab 'OpenAir'

  • Moved all custom fields to OpenAir subtab for all custom fields managed by this bundle

1.39

  • Added deployments for Vendor Credit type on scripts:

    • OpenAir: PO/VB/VC Save

    • OpenAir: PO/VB/VC Validate

  • Added new Custom preferences parameter on script “OpenAir: PO/VB/VC Validate”

    • Vendor Credit to OpenAir PO Integration – custscript_oa_vc_oa_po_export

    • Added support for Vendor Credit Script oa_purchase_integration.js

1.38

  • Scripts

    Added RESTlet scripts

    • oa_get_field_info.js – get all fields name and labels for specified field and sublist

    • ping.js – test script to test RESTlet communication

    • oa_record_api.js – record api (get,add,update,upsert,delete)

1.37

  • Added “NSOA Connector” role to be used for script execution.

  • customdeploy_oa_credit_tax

1.36

  • Scripts

    Added deployment of customscript_oa_invoice_tax for Credit Memo

1.35

  • Custom fields:

    custentity_oa_pco_value (OpenAir: Percent Complete Override)

  • hidden custentity_oa_pco_date (OpenAir: Percent Complete Override Date)Scripts

    setPrjPcoSublistBeforeSubmit.js

    added setPrjPcoSublistBeforeSubmit method for project percent complete integration with NetSuite “Advanced Revenue Management” feature

1.34

  • Custom fields:

    • custentity_oa_ns_purchaser (OpenAir: Employee is NS purchaser)

    • custevent_oa_export_to_openair (Export to OpenAir; exposed on support cases)

  • Scripts

    Updated oa_export_to_openair_flags.js

    • Added beforeSubmitSetSupportCaseFields method for support case integration.

    • Added company custom preference “Export Support Cases to OpenAir”

    • Added setExportToOpenAirSupportCaseClient method to automatically set the “Export to OpenAir” on support cases. It is deployed as client script.

1.33

  • Custom fields:

    custcol_oa_wbs_phases_ancestry (OpenAir: Phases Ancestry)

1.32

  • Custom fields

    • custevent_oa_export_err_msg (OpenAir: Export Error)

    • custevent_oa_export_to_openair (Export to OpenAir)

    • custevent_oa_milestone (OpenAir: Milestone)

    • custevent_oa_project_task_name (OpenAir: Project Task Name)

  • Scripts

    Updated oa_export_to_openair_flags.js

    • Added beforeSubmitSetProjectTaskFields method for project task integration

    • Added company custom preference “Enable OpenAir Task Integration”

1.31

  • Custom fields

    custentity_oa_project_currency (OpenAir: Project Currency)

  • Custom record new fields

    Features and Preferences custom record

    custrecord_oa_mc_customer (Multi-currency customer)

  • Scripts

    Updated oa_export_to_openair_flags.js

    • When advanced projects enabled, copy project currency to custentity_oa_project_currency

    • Renamed setLimitTimeAndExpensesFalseUE to setProjectFieldsUE

  • Updated features_and_preferences.js

    Detect the multi-currency customer feature

1.30

  • Custom fields

    • custentity_oa_export_err_msg (OpenAir: Export Error)

    • custitem_oa_export_err_msg (OpenAir: Export Error)

    • custbody_oa_export_err_msg (OpenAir: Export Error)

    • custrecord_oa_export_err_msg (OpenAir: Export Error)

1.29

  • Custom fields:

    custentity_oa_copy_expense_policy (Duplicate expense policy)

1.28.1

  • Updated name of custom record from customrecord_oa_project_rate to customrecord_oa_project_rate_card

1.28

  • Add support for adding a rate card to a project

    Custom fields

    custentity_oa_project_rate_card

  • Add support for creating rate cards using a custom record

    Custom records

    customrecord_oa_project_rate_card

1.27.1

  • Fix issue with journal entry creation from time entries where project was not set on the journal entry

1.27

  • Add support to export OpenAir project task assignments to NetSuite opportunity line items

    Custom fields:

    • custcol_oa_line_from_oa (OpenAir: Line from OpenAir)

    • custcol_oa_wbs_phase_name (OpenAir: Phase Name)

    • custcol_oa_wbs_task_name (OpenAir: Task Name)

    • custcol_oa_wbs_assignees (OpenAir: Assigned Users)

    • custcol_oa_wbs_planned_hours (OpenAir: Task Assignment Planned Hours)

    • custcol_oa_project_task_id (OpenAir: Project Task ID)

    • custcol_oa_task_assignment_id (OpenAir: Task Assignment ID)

    • custcol_oa_project_task_id_number (OpenAir: Project Task ID Number)

1.26

  • Add support for including OpenAir loaded costs on time entries

  • Scripting to allow creating journal entries from time entries

    • Custom records:

      customrecord_oa_cost_center (OpenAir: Cost Center)

      • custrecord_oa_cost_center_debit (Debit Account)

      • custrecord_oa_cost_center_credit (Credit Account)

      • custrecord_oa_cost_center_subsidiary (Subsidiary)

      • custrecord_oa_cost_center_department (Department)

      • custrecord_oa_cost_center_class (Class)

      • custrecord_oa_cost_center_location (Location)

    • Custom fields:

      • custbody_oa_je_from_time_id (OpenAir: Created From Time Entry)

      • custcol_oa_lc_0 (OpenAir: Primary Loaded Cost)

      • custcol_oa_lc_0_curr (OpenAir: Primary Loaded Cost Currency)

      • custcol_oa_lc_1 (OpenAir: Secondary Loaded Cost)

      • custcol_oa_lc_1_curr (OpenAir: Secondary Loaded Cost Currency)

      • custcol_oa_lc_2 (OpenAir: Tertiary Loaded Cost)

      • custcol_oa_lc_2_curr (OpenAir: Tertiary Loaded Cost Currency)

      • custcol_oa_lc_department (OpenAir: Loaded Cost Department)

      • custcol_oa_lc_class (OpenAir: Loaded Cost Class)

      • custcol_oa_lc_location (OpenAir: Loaded Cost Location)

      • custcol_oa_lc_subsidiary (OpenAir: Loaded Cost Subsidiary)

      • custcol_oa_lc_debit_account (OpenAir: Loaded Cost Debit Account)

      • custcol_oa_lc_credit_account (OpenAir: Loaded Cost Credit Account)

      • custcol_oa_lc_timesheet_date (OpenAir: Timesheet Start Date)

      • custcol_oa_je_from_time_error (OpenAir: Journal Entry Error)

      • custcol_oa_je_from_time_error_msg (OpenAir: Journal Entry Error Message)

      • custcol_oa_je_from_time_created (OpenAir: Journal Entry Creation Date)

    • Subtab:

      OpenAir: Cost Data (appears on journal entry)

    • Custom lists:

      • customlist_oa_je_from_time_cost_level (OpenAir: Cost Level for JE)

      • customlist_oa_je_from_time_classes (OpenAir: JE From Time Classes)

      • customlist_oa_je_from_time_use_date (OpenAir: JE Date to Use)

    • Saved search:

      customsearch_oa_cost_center_search (OpenAir: Cost Center Search)

    • Scheduled script:

      customscript_oa_create_je_from_time (OpenAir: Create JE from Time)

    • Script deployment:

      • customdeploy_oa_create_je_from_time

      • The following parameters are on the script deployment:

        • custscript_oa_je_from_time_error_email (OpenAir: Journal Entry Error Email)

        • custscript_oa_je_from_time_error_from (OpenAir: Journal Entry Error Email From)

        • custscript_oa_je_from_time_level (OpenAir: Cost Level To Use for JE)

        • custscript_oa_je_from_time_location (OpenAir: Location for JE)

        • custscript_oa_je_from_time_dept (OpenAir: Department for JE)

        • custscript_oa_je_from_time_class (OpenAir: Class for JE)

        • custscript_oa_je_from_time_ow (OpenAir: This is a OneWorld Account)

        • custscript_oa_je_from_time_use_date (OpenAir: JE Date to Use)

1.25

  • Add support for creating revenue recognition rules through the sales order integration

  • The following were added:

    • Custom fields:

      custcol_oa_rev_rec_rule (OpenAir: Rev Rec Rule)

    • Custom records:

      customrecord_oa_rev_rec_rules (OpenAir: Revenue Rules)

    • General preference:

      customsearch_oa_rev_rec_rule_type (OpenAir: Revenue Rules Search)

    • Script deployment:

      customdeploy_oa_rev_rec_rule (deployed on sales orders)

1.24

  • Add support to export NetSuite vendor bills to OpenAir purchases orders

    • oa_purchase_integration.js modifications

    • “Vendor Bill to OpenAir PO Integration” company custom preference

    • Add two more script deployments

      • customdeploy_oa_vb_integration (client script)

      • customdeploy_oa_vb_integration_save (user event)

1.23.1

  • Fix issue with credit charge type records not included in the custom record.

1.23.

  • Allow expense line Canadian overridden taxes to be displayed.

    Custom fields:

    • custcol_oa_gst_override

    • custcol_oa_pst_override

1.22.1

Minor tweak to ensure to check for a non-empty string, non-null value in the Canadian tax override custom fields prior to copying to tax fields.

1.22

  • Fix credit memo import issue by allowing charge type to be specified.

    • Saved search:

      customsearch_ oa_credit_charge_type

    • Custom record:

      customrecord_oa_credit_charge_type

    • Custom field:

      custcol_oa_credit_charge_type

  • Add ability to create project workspace in OpenAir on initial export of NetSuite project.

    Custom field:

    custentity_oa_create_project_workspace

  • Add ability to override calculated tax on Canadian expense reports and vendor bills.

    • Script:

      • oa_expense_tax_override.js

      • OpenAir: Canadian Tax Override

    • Custom fields:

      • custbody_oa_gst_override

      • custbody_oa_pst_override

1.21.1

Fix issue with default description item that has null value and “Enable billing rules for SO discounts”

1.21

  • Added ability to indicate the OpenAir project stage in NetSuite via custom field. This can set the project stage in OpenAir.

    • Saved search:

      customsearch_oa_project_stages

    • Custom record:

      customrecord_oa_project_stages

    • Custom field:

      custentity_oa_project_stage

1.20.2

  • Restored OpenAir: Opportunity custom field on project record

1.20.1

Removed OpenAir: Opportunity custom field on project record

1.20

  • Add hyperlink custom field for the feature to store the URL of an OpenAir invoice in NetSuite

    Custom fields:

    custbody_oa_invoice_link, OpenAir: Invoice Link (invoice record)

1.19

  • Adding ability to update NetSuite opportunity based on the OpenAir project work breakdown structure

    Custom fields:

    OpenAir: Opportunity (project record)

1.18

  • Added ability to integrate OpenAir expense reports with NetSuite vendor bills. Relaxed restriction on exporting vendors so that vendors may be exported to OpenAir users and vendors

    • Custom fields:

      • OpenAir: Parent Vendor (vendor record)

      • OpenAir: User Currency (vendor record)

      • OpenAir: Map Exp. Rep. To Parent Vendor (vendor record)

      • OpenAir: Map Exp. Rep. To Vendor Bill (vendor record)

      • OpenAir: User or Vendor (vendor record)

      • OpenAir: User Tax Nexus Type (vendor record)

      • OpenAir Expense Report Creator (vendor bill record)

    • SuiteScript:

      • oa_export_to_openair_flag.js (updated)

      • user event script = customscript_oa_set_vendor_fields

      • client script = customscript_oa_vendor_for_vb_int

    • Custom preferences:

      Expense Report - Vendor Bill Integration

    • Custom record:

      • customrecord_oa_record_type_synch

      • customrecord_oa_vendor_nexus_type

    • Saved search:

      • customsearch_oa_user_or_vendor

      • customsearch_oa_vendor_nexus_type

1.17.5

Fix issue with tax imported to NetSuite when there is both PST and GST tax.

1.17.4

  • Add adjustments for time zones and new custom preference “OpenAir Forex Time Zone Adjust” script parameter for the exchange rate integration.

1.17.3

Additional error handling for the exchange rate integration for OneWorld accounts. Fix issue with currencies being skipped due to incorrect internal ID comparison.

1.17.2

  • Add additional custom record for handling accounts with very large numbers of currencies that goes beyond the scheduled script usage limit. Script will be rescheduled immediately and generate other cross rates.

1.17.1

  • Fix date handling in exchange rate synchronization.

1.17

  • Added ability to copy exchange rates to a custom record so that all cross rates based on each subsidiary base currency can be synched to OpenAir. This is a OneWorld specific feature.

    • SuiteScript:

      • openair_exchange_rate.js

      • script = custscript_oa_forex_rate; it is a scheduled script

    • Custom preferences:

      Exchange Rate Integration - OneWorld

    • Custom record:

      custrecord_oa_forex_daily

    • Saved search:

      customsearch_oa_forex_rate

1.16.1

  • fixes purchase order scripting issue by adding Validate OpenAir Purchase Order user-level custom preference. This will validate purchase order line data for export to OpenAir when enabled.

1.16

  • adds the following custom fields and scripts to handle the NetSuite/OpenAir purchase order integration.

    • Custom fields:

      • custbody_oa_purchase_project_id (copies customer/project in header, shipTo, to a custom field)

      • custbody_oa_export_to_openair (header-level export to OpenAir - need this for transaction search to get header fields)

      • custcol_oa_po_rate (this is the custom column that holds the copied rate)

      • custcol_oa_po_line_tax (line-level tax - the tax is copied here)

      • custcol_oa_export_to_openair (line-level export field - specifies which specific lines to be exported to OpenAir)

      • custitem_oa_export_to_openair_product (this is an additional custom field used for exporting items to OpenAir as products)

      • custentity_oa_export_to_openair - we need to associate this with vendors too

    • SuiteScript:

      oa_purchase_integration.js

    • Custom preferences:

      Enable OpenAir Purchase Integration – account-level custom preference to enable the integration

    • Custom record:

      Features and preferences has a new Advanced Receiving field to check for the Advanced Receiving feature

1.15

  • adds new custom preference “custscript_oa_discount_billing_rules” to handle feature to create billing rules related to NetSuite discount lines on sales orders.

1.14

  • adds custcol_oa_time_entry_id for the time entry export and custcol_oa_quantity_not_hours for the OpenAir calculate quantity on % invoiced features. Also updates validation on the custcol_oa_quantity_not_hours field to be valid only on Time billing rules and hides that field on invoices and cash sales.

1.13

  • makes the billing rule column not mandatory

1.10

  • adds the following custom fields, subtabs and saved search for use with the project template feature:

    • Custom fields:

      • custentity_oa_project_template (OpenAir Project Template)

      • custentity_oa_copy_revrec_rules (Duplicate revenue recognition rules)

      • custentity_oa_copy_prbill_rules (Duplicate project billing rules)

      • custentity_oa_copy_prbill_auto_settings (Duplicate project auto-bill settings)

      • custentity_oa_copy_project_pricing (Duplicate project pricing)

      • custentity_oa_copy_custom_fields (Duplicate phase and task custom fields)

      • custentity_oa_copy_loaded_cost (Duplicate loaded costs)

      • custentity_oa_copy_approvers (Duplicate project approvers)

      • custentity_oa_revrec_auto_settings (Duplicate recognition auto-run settings)

      • custentity_oa_copy_issues (Duplicate issues)

      • custentity_oa_copy_notification_settings (Duplicate notification settings)

      • custentity_oa_copy_dashboard_settings (Duplicate dashboard settings)

      • custentity_oa_copy_invoice_layout (Duplicate invoice layout settings)

      • custentity_oa_copy_project_budget (Duplicate project budget)

      • custentity_oa_copy_cost_type (Duplicate cost types)

    • Subtabs:

      OpenAir Project Template

    • Saved Searches:

      customsearch_oa_project_template (OpenAir Project Templates)

    • Custom record:

      customrecord_oa_project_templates (OpenAir Project Templates)

1.9

  • adds fields for credit memo and tax integrations

    • OpenAir Invoice Line ID (CUSTCOL_OA_INVOICE_LINE_ID): Stores the internal ID of the OpenAir charge

    • OpenAir Expense Report Line ID (CUSTCOL_OA_EXPENSE_REPORT_LINE_ID): Stores the internal ID of the OpenAir receipt

1.8.8

  • updates the handling of the Export to OpenAir field.

1.8.2

  • adds the “Combine Detail Items on Expense Reports” preference.

1.8.1

  • adds the fields for sales order linking support:

    • Export to OpenAir (CUSTBODY_OA_EXPORT_TO_OPENAIR): Expose the Export to OpenAir field on the sales order.

    • Export to OpenAir (CUSTCOL_OA_EXPORT_TO_OPENAIR): Expose the Export to OpenAir field on the sales order line.

    • OpenAir Billing Rule (CUSTCOL_OA_BILLING_RULE_TYPE): Field to specify what type of billing rule should be generated from this sales order line.

      OpenAir Billing Rules Custom List (CUSTOMLIST_OA_BILLING_RULES): Enumerates the supported OpenAir billing rules.

1.8

  • adds two fields:

    • OpenAir Revenue Recognition ID (custbody_oa_rev_rec_id): This field is only available when the Revenue Recognition feature is enabled.

    • OpenAir SFA ID (custentity_oa_sfa_id on both customer and job): There is an additional preference for enabling the SFA ID in Setup > Company > General Preferences > Custom Preferences: SFA Integration Enabled.

1.7

  • exposes the Revenue Recognition feature.

1.6

sets ‘Limit Time and Expenses’ to false for projects that have the ‘Export to OpenAir’ flag set.

1.5

adds the filtering fields and script parameters to set their default values.

1.4.4

fixes the location of the supervisor approval fields.

1.4.3

makes the script released.

1.4.2

makes the search public.

1.4.1

simplifies the saved search.

1.4

adds the saved search for relevant features and preferences.

1.3

adds the two multi-select fields for expense approvers.