Custom GL Lines Plug-in Process Flow
A Custom GL Lines plug-in implementation executes depending on how the plug-in implementation is configured. The implementation executes when you save a transaction of the type and subsidiary configured for the plug-in implementation. The subsidiary is the subsidiary to which the transaction belongs. The plug-in implementation may also run multiple times, one time for each accounting book configured for the plug-in implementation.
For example, the following plug-in implementation is configured to run when you save an invoice for the Parent Company or Czech Subsidiary, and runs on both the primary and secondary books.
The following diagram shows the processing model of the Custom GL Lines plug-in implementation:
The plug-in implementation executes according to the following process:
-
User saves a transaction for the entity belonging to a subsidiary. Using the plug-in implementation configuration, any configured transaction type with an entity associated with a configured subsidiary triggers the plug-in implementation execution on the transaction. The plug-in can run either during transaction save or asynchronously, depending on the Asynchronous box on the plug-in configuration page The subsidiary is the main subsidiary for the transaction, or the subsidiary to which the transaction belongs.
NetSuite first creates the standard lines for the primary book.
-
Plug-in implementation executes on the primary accounting book. NetSuite executes the customizeGlImpact(transactionRecord, standardLines, customLines, book) or customizeGlImpact(context) functions with the primary book AccountingBook object.
NetSuite creates any custom lines in the primary book configured for the plug-in implementation. If you do not use the Multi-Book Accounting feature, the plug-in implementation process completes. Otherwise, NetSuite continues with the mapping of standard and custom lines to the secondary books.
-
NetSuite determines which lines should be applied to any secondary books. By default, NetSuite maps standard lines to the appropriate secondary accounting books, according to any mapping rules set up for the Multi-Book Accounting feature. NetSuite performs the same mapping for all custom lines with the setBookSpecific(bookSpecific) or isBookSpecific() methods set to false.
-
NetSuite creates standard lines. NetSuite creates any of the appropriate mapped standard lines and any custom lines that are not specific to the primary book in the secondary accounting books.
-
Plug-in implementation executes on the secondary accounting books configured for the plug-in implementation. NetSuite executes the customizeGlImpact(transactionRecord, standardLines, customLines, book) function for each secondary book AccountingBook object for the transaction.
NetSuite creates the custom lines on the secondary accounting book.
-
Transaction save completes. You can view the general ledger impact of the transaction by selecting Actions > GL Impact. If an asynchronous implementation is used and the plug-in is still pending, an information message appears on the GL Impact page. Custom GL Lines from asynchronous plug-ins are shown after the plug-in is executed. When costing updates are performed (for example, the COGS update), the plug-in may run asynchronously, and the values on the GL Impact page may change after the update is completed.
The current version of the Custom GL Lines Plug-in is always used.