Group by Time, Group by Other, and Group by Fee Mapping Groups

Use the Group by Time, Group by Other, and Group by Fee mapping groups to map information from time (“hourly” or “other” rate) and fixed fee (“flat rate”) charges on the OpenAir invoice as description line items on the NetSuite invoice.

To do so, add custom mapping definitions to the mapping groups corresponding to each of the charge types you want to export to description line items.

Information from each charge may be mapped to one description line or non-expense charges are rolled up by service items if the Combine charges by service on invoices box is checked on the Invoices (Invoices) workflow settings form. If the Combine charges by service on invoices box is checked, charges that are not linked to a sales order are also included in the above description item mappings based on the slip type.

Important:

The Group by Time, Group by Other, and Group by Fee mapping groups are used only when al the following conditions are met:

  • The Customer POs (Sales Orders) import workflow is enabled and in use. See Customer POs (Sales Orders) Import Workflow.

  • Some charges on the invoice (but not necessarily all charges) are associated with a customer PO imported from a NetSuite sales order line. Information from all OpenAir time (hourly rate), time (other) or flat rate charges, including charges that do not reference a customer PO imported from a NetSuite sales order line, exports to description line items based on the charge type.

  • The Enable charges to map to NetSuite description items box is checked on the Invoices (Invoices) export workflow settings form. See Enable charges to map to NetSuite description items

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

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]

Description Line Item [InvoiceItem]

Schema: InvoiceItem (2020.1)|InvoiceItem (2023.1)

XSD: tranSales (2020.1)|tranSales (2023.1)

Charge [slip] of type:

  • T — Hourly rate time bill (Group by Time)

  • O — Other rate (day rate, for example) time bill (Group by Other)

  • F — Flat rate time bill (Group by Fee)

Data Dictionary: slip

  • Group by Time [INVOICE_LINE_TIME_GROUP_BY]

  • Group by Other [INVOICE_LINE_OTHER_GROUP_BY]

  • Group by Time [INVOICE_LINE_FEE_GROUP_BY]

Default Field Mappings

None

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.

You can use advanced mappings to export detailed information from OpenAir time (hourly rate), time (other) or flat rate charges to NetSuite as description line items. See Advanced Mapping and Filter Notation Reference.

You can group or sort charges when exporting information from OpenAir charges to description line items on NetSuite invoices using field declaration. See Field Declarations (OA_FIELDS_GROUP_BY and OA_FIELDS_SORT_BY ). If charges are grouped, the description line shows summary information for all the charges in each group such as calculated total monetary amounts and number of hours, for example.

Use \\n to insert a line break in the description.

Important:

Conditional branching is not supported for advanced mappings exporting information to description line items (Group by Time, Group by Other, and Group by Fee mapping groups).

Refer to the following examples of advanced mapping to export charge information to description line item for each supported charge type.

Group by Time Advanced Mapping

In this example, a description line item in NetSuite is created for each “hourly” time charge in OpenAir generated by a time billing rule. Note that a description lines may be created for each sales order line, and combine all charges associated with that sales order line, if Combine charges by services on invoices box is checked on the workflow settings form. Description line items are sorted by the name of the employee and include information from the OpenAir charges including the name of the employee, date, hours, rate, notes, and total amount.

              OA_FIELDS               user_id, notes, hour, date, total, rate, id
NS_FIELDS              description
OA_FIELDS_SORT_BY      user.name
 
description             'Name:', lookup=user_id:lookup_table=user:lookup_by=id:lookup_return=name,
                       '\\nDate:', date, '\\nHours:', hour, '\\nRate:', rate,'\\nNotes:', notes, '\\nAmount:',
                       total, '\\n\\n\\n' 

            

Group by Other Advanced Mapping

In this example, information about “other” time charges on the OpenAir invoice (for example, time charge using a day rate instead of an hourly rate) is grouped by project task. A description line item is created for each task on the NetSuite invoice with summary information combining all charges associated with the task. Summary information includes the service name, quantity, rate, total amount across all charges for the task, and project task name.

              OA_FIELDS               notes, cost, id, total, quantity, project_task_id
NS_FIELDS               description
OA_FIELDS_GROUP_BY      project_task_id
OA_FIELDS_SORT_BY      project_task.name

description            'Service: ', lookup=category_id:lookup_table=category:lookup_by=id:lookup_return=name, '\\nQty: ', 
                     quantity, '\\nRate: ', cost, '\\nAmount: ', total, '\\nProject Task Name: ', 
                           lookup=project_task_id:lookup_table=project_task:lookup_by=id:lookup_return=name, '\\n\\n\\n' 

            

Group by Fee Advanced Mapping

In this example, information about “flat rate” charges on the OpenAir invoice is grouped by project task A description line item is created for each task on the NetSuite invoice with summary information combining all charges associated with the task. Summary information includes the name of the project task (milestone), the user name, and the total for that milestone.

              OA_FIELD                  project_task_id, total, user_id 
NS_FIELDS               description
OA_FIELDS_GROUP_BY      project_task_id
OA_FIELDS_SORT_BY      user.name
description            'Milestone: ', lookup=project_task_id:lookup_table=project_task:lookup_by=id:lookup_return=name, 
                           'Name:', lookup=user_id:lookup_table=user:lookup_by=id:lookup_return=name, '\\nAmount:', total, '\\n\\n\\n'