Setting Up Bulk Approvals Screens

Bulk approval screens can be configured to allow approvers on NetSuite to approve multiple records at the same time. Configuring the Bulk Approvals Screen requires a working knowledge of SuiteQL queries. 


Bulk Approval Screen Overview

Here is an example of what the bulk approval screen looks like:


When a user navigates to the bulk approvals page, check boxes can be used to select one or more records:


The comments button can be used to add a comment to all selected lines at the same time:


And finally the Reject or Approve buttons can be used to approve or reject all selected records. 



Bulk Approval Screen Configuration

Currently the Bulk Approve screen depends on using SuiteQL Queries to determine which records should be shown. There are currently two ways of setting up the bulk approval screen. How to configure each is described later on in more detail. 

1) Approval Process Based  - relies on approval processes configured in the bundle. Only shows users records for which they are the current approver based on approval steps. When records are bulk approved, only the current approval step is approved and the process is moved forward by one more step. The user can only see records currently pending their approval based on the current step. This is generally used when one user is the approver on a large number of transactions such as a finance review step on purchase orders. 

2) Direct Update - this can be used to bulk-approve record types that do not have approval processes setup. When records are approved, the whole underlying record is moved from pending approval to fully approved. This is useful for single-step approvals which do not go through a routing such as approving transactions bulk-loaded in via CSV. If multi-step approval processes have been setup in a record, using this 2nd method will bypass the process and immediately fully approve (or reject) the record. 


Creating a Bulk Approval Screen

In order to create a bulk approval screen, an administrator will need to go to the following menu option:

Approvals > Configs > Bulk Approval Screens > New


The setup screen looks like this:

The Name field can be filled out with a useful description. It is for internal reference only.

The next three fields are filled out depending on weather one wants to setup bulk approvals to be Approval Process Based  or Direct Update.



Setting up Approval Process Based Bulk Approvals

To setup approval processes which respect the configured approval process steps use the following procedure. 

Firstly, make sure to leave the Direct Update Record Type blank. If a value is added here the bulk approval screen will not approve individual steps but rather the entire record will be fully approved immediately. 


Next you can construct a query starting with the approval step record which is part of the approvals bundle. The name of this record type for the query is: customrecord_b4ca_approval_step. 

Any columns desired can be returned by the query. 

Important: The query does not have to include filters for the current user and the pending approval status. Once the list of approval steps are returned by the query, the bundle will further filter the results down to only show approval steps for the current user and those which are in a pending approval status and have been entered. 


There are only two rules for building queries for bulk approval screens which are based on approval process steps:

1. There must be only one row returned for each record being approved

2. The internal ID of the approval step record being approved must be returned as a column labeled exactly as follows:  "_id" 


A few useful tips for constructing these queries:

  • You can join to the transaction table from the customrecord_b4ca_approval_step table using the custrecord_b4ca_as_transaction field
  • The query will return all approval steps pending approval for the user by default but you can filter for specific record types using the custrecord_b4ca_as_record_type field 
  • Any other columns desired can be added to the query. 
  • The transaction foreigntotal field is generally the most useful field from the transaction table for total amounts when multiple currencies have been enabled on the NetSuite account. 
  • For currency formatting refer to the Oracle SQL page on formatting numbers and currencies.



Setting up Direct Update Bulk Approvals  

For simple record bulk approvals (ignores steps, just fully approves immediately) the Direct Update Record Type field must be filled out with the underlying record type:

Then a SuiteQL query is entered which returns a list of records to be approved. This is filled out in the Custom Query field. 


When Direct Update  bulk approvals queries are being written there are three requirements: 

1. There must be only one row returned for each record being approved

2. The internal ID of the underlying record being approved must be returned as a column labeled exactly as follows:  "_id"

3. Using this method you must make sure to filter for only the records that are pending approval. Usually via the approvalstatus field for transactions which support this field. 

4. Make sure that you only return rows that match the Direct Update Record Type indicated otherwise other random records will be approved or rejected. 


Important: Unlike bulk approvals based on approval steps, the query results will be directly written out in table format on the bulk approvals screen without further filtering. Thus it is important to include filters in the query for approval status. 


Further Formatting Result Columns

Further formatting can be applied to result columns by defining an array of properties in the Custom Query Columns Configs field. This can be used to add custom formatted labels to the bulk approval table. 

When properties are defined here the name property must match the name of the column returned by the SuiteQL query. 

Properties which can be set are:

label  - the formatted label for the column
align - right, left, center

 



Was this article helpful?