|
| Vol.2 Issue 9, September 2006 |
|
|||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
Explore Consulting is a full service technology consulting firm that specializes in database and web-based solutions. We provide expertise in eCommerce and web design as well as back-office applications, customizations, and integrations. Explore the possibilities ... Contact Us for more information, questions or comments |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
| Featured Case Study | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
Another Customer Success Story: |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
Starting with the 11.0.4 release, all report results will be deleted automatically when they become more than 30 days old. By clicking the "Alert me when ready" link, you will be taken to the Report Results screen. You can also configure your Reports tab to include the Report Results listing.
Click image below to enlarge.
Reports Tab Click "Customize this Page" Once the report completes, you will be emailed a link to the results. |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
Issue: Sales Order client-side custom code taking 45 minutes to validate complex business logic for 40 line item order. Resolution: Moved logic to server-side SuiteScript, eliminating the user interaction of clicking a button and a matter of seconds now to enforce the same business rules. Background Client's business model in one in which the company does not stock the majority of its physical inventory items. Instead, the company utilizes NetSuite's Drop Ship and Special Order inventory management features to create Purchase Orders based on Sales Orders placed by Customers. The company will create an Estimate and shop Vendors for the best terms. This process may lead to the use of Vendors other than the preferred Vendor on the Item record, and carry with it a different COGS. For this reason, it was important to include the Vendor and COGS fields on the Estimate. Client's requirements also mandated that this information be tracked through the sales process, from Estimate to Sales Order, through the PO generated from the order, and eventually to the Invoice. Because of their heavy use of Drop ship and special order items, and the automatic creation of purchase orders for these items, it was critical that the vendor and COGS values on the Sales Order exactly mirror the information entered on the Estimate. It was equally important that this information be tracked through to the Invoice to clearly indicate the source and cost of the goods purchased. NetSuite does not natively provide for COGS and Vendor columns to be added to the line item level on Estimates and Invoices. Ordinarily, when selecting an Item held in stock, the company will already know the Vendor and COGS. There would not be a discrepancy between the Vendor and COGS fields across any forms, because the fields would be sourced from Items already received into inventory. However, because Client did not know the Vendor from whom the Items would be purchased until the creation of the Estimate, it was necessary to find a way to include this information on the forms. Ordinarily, one could customize the Estimate, Sales Order and Invoice forms to include custom COGS and Vendor fields at the line item level. The values entered on the Estimate can be sourced to the Sales Order and finally to the Invoice. A problem arises, however, at the Sales Order stage, as NetSuite already provides Vendor and COGS columns. This means there would be duplicate fields on the Sales Order, holding potentially differing values. If the NetSuite Vendor and COGS fields are hidden so as not to appear on the Sales Order, the sourcing will overwrite the values entered into the custom Vendor and COGS fields by pulling the default values from the Item Record. If custom information has been entered during the creation of the Estimate, then the Sales Order, Purchase Order, and Invoice will all display incorrect Vendor and COGS information, meaning incorrect Purchase Orders being created and COGS values transferring through to the PO and Invoice. Client-side Solution To remedy this problem in the past, the only option would be to use JavaScripting. Through client-side scripting, an administrator could hide the custom vendor and COGS fields, and attempt to overwrite the standard NetSuite fields with the values from the custom fields. However, when only the standard NetSuite fields are displayed, they will still pull default information from the item record. Despite using JavaScripting, the NetSuite Vendor and COGS fields in would still end up with default values. The proposed workaround was to use additional Java Scripting to "Verify Vendors," whereby the Sales Order could not be saved without first clicking a custom button that would initialize a Java Script. The script would run through each line of the order, verifying that the visible NetSuite Vendor and COGS fields contained the values from the custom fields. This would ensure value integrity from Estimate through Invoice. This process, however, was very slow. As each line of the Sales Order was checked by the script, it would initialize additional Java scripting within NetSuite. This cascade effect resulted in approximately one minute per line to run the vendor verification. When verifying sales orders with 30 or more lines - a common task at Client -- the process could take as long as 45 minutes. A more efficient solution was required. Server-side Solution Through the use of server-side SuiteScript Explore was able to craft a solution that was both efficient and elegant, and significantly streamlined the process from a user interaction perspective. Client could not abandon the need for tracking Vendor and COGS information on all three forms. Through SuiteScripting we were able to circumvent the need for lengthy JavaScript (approximately 200 lines of code), in addition to eliminating the user interaction of clicking a button to verify the correct Vendor information. These improvements not only ensured the correct Vendor and COGS information was carried from Estimate to Invoice, but also cut the time required to enter or modify lengthy sales orders from 45 minutes to a matter of seconds. The SuiteScript interacted with both the custom and NetSuite fields at the time the Estimate was turned into a Sales Order. Before the Sales Order is actually created from the Estimate, the SuiteScript looked to the value stored in the custom Vendor and COGS fields, and copied that information into the standard NetSuite fields. Because this process happens at the time of creation of the Sales Order, the system will not pull the default values from the Item record. The result is that the Vendor and COGS fields on the Sales Order (and subsequently the Purchase Orders and Invoice) contain the same information entered on the Estimate, even if the values have been modified from their defaults. | ||||||||||||||||||||||||||
|
back to top |
||||||||||||||||||||||||||
|
Home | Services | Portfolio | Partners | Our Team | Support | Contact Us Copyright © 2006 Explore Consulting. All rights reserved. |