Custom GL Lines Plug-in Implementation Development
You can develop a Custom GL Lines plug-in implementation for each use case where you want to modify the general ledger entries for transactions. A single plug-in implementation can process multiple types of transactions or you can create a separate plug-in implementation for each transaction type.
To create a plug-in implementation, use a developer account to develop and test the plug-in implementation. Then, use SuiteBundler to bundle the plug-in objects and distribute them to other NetSuite accounts. NetSuite administrators use the bundle to install the plug-in implementation in a NetSuite account and enable the implementation. For more information about administration tasks for a Custom GL Lines Plug-in bundle, see Custom GL Lines Plug-in Implementation Administration.
If you use the Custom GL Lines Plug-in with Custom Segments, any segments affected by the implementation must be flagged as having GL impact. When the plug-in uses a custom segment that is not marked as having a GL impact, you will see an error message.
The functionality that you include in a Custom GL Lines plug-in implementation depends on the type of accounting features used in the NetSuite account where the plug-in implementation runs and the following properties that you configure for each plug-in implementation:
-
Transaction types. A Custom GL Lines plug-in implementation runs when you save a transaction for which the plug-in implementation is configured to run, where the entity for the transaction is associated with a specific subsidiary. You can include code in the plug-in implementation script file that applies only to specific transaction types.
-
Subsidiaries. In a One World account, the plug-in implementation only affects the general ledger entries for the subsidiaries that you configure for the plug-in implementation.
-
Accounting books. The plug-in implementation affects only the accounting books that you configure for the plug-in implementation. If you have the Multi-Book Accounting feature enabled, you can direct the plug-in implementation to modify existing or add custom general ledger entries in multiple accounting books. If you do not have the Multi-Book Accounting feature enabled, the plug-in implementation affects only the general ledger entries in the primary accounting book.
You can have multiple Custom GL Lines plug-in implementations enabled in an account. If you enable a plug-in implementation that conflicts with an existing implementation, NetSuite displays a warning message that several implementations for one transaction can cause longer save times. You are allowed to save the implementation, however if you notice long transaction save times, you can resolve this by setting one or more plug-in implementations to run asynchronously.
For more information about how a Custom GL Lines plug-in implementation modifies the general ledger impact for a transaction, see Custom GL Lines Plug-in Process Flow.
The following table describes the basic steps in developing a single plug-in implementation of the Custom GL Lines plug-in:
Step |
Description |
---|---|
Enable features |
Enable the Custom GL Lines Plug-in and Server SuiteScript features. See Enabling Features for a Custom GL Lines Plug-in Implementation. |
Gather required internal IDs |
In a plug-in implementation, you can reference internal NetSuite IDs for records and accounts. Before you create the plug-in implementation script file, you must note these values. |
Create script file |
Create the script file that contains the Custom GL Lines plug-in implementation. See Plug-in Implementation Script File Creation for SuiteScript 1.0. |
Add the plug-in implementation |
Add the plug-in implementation using the plug-in script file and any required utility files that you created in the previous step to the development account. |
Test the plug–in implementation |
Verify the behavior of the plug-in implementation. |
Bundle the plug-in implementation |
Bundle both the plug-in implementation and other objects required by the plug-in implementation for distribution to other NetSuite accounts. |