Wednesday, July 17, 2019

Save / approve transaction (Bill, Cash Sales, Sales Order, Expense Report) > Error: The currency on the transaction, xxxx is different from yyyy, the currency of the entity, zzzz on this transaction


        Save / approve transaction (i.e. Vendor Bill, Invoice, SalesOrder, Credit Memo, Cash Sale, Expense Report)

        Error: The currency on the transaction,xxxx is different from yyyy, the currency of the entity, zzzz on thistransaction

Example: The currency on the transaction, GBP isdifferent from USD, the currency of the entity, {Employee Name} on thistransaction."


        The error is derived from amismatch between the transactioncurrency and the entity's availablecurrencies in the entity record's Financial tab > Currencies subtab or

        The employee record'scurrency and its transaction(s) are different from the base currency of itssubsidiary



        Verify that the EntityRecord (customer, project, vendor) has the same currency asthe Sales/Purchase transaction (Invoice, Sales Order, Vendor Bill,Purchase Order)

        If there is a mismatchbetween the two (entity and transaction), user has the option of either:

1.   Adding the Currencyin the entity record's Financial tab > Currencies sub tab or

2.   Choosing another entityfor that transaction with the same currency as the transaction


        Verify that the Employee record's currency and its transaction(s)are the same as its subsidiary

1.   Delete the transaction(i.e. Expense Report)

2.   Edit the Employee record tomatch the employee's currency to the base currency of its subsidiary

3.   Re-create the transactionfor that employee with the correct currency

Tuesday, July 16, 2019

Tax Rate is incorrect in Check/Credit Card transaction created from Reconciliation's New Charges/New Deposit


·        User has default Tax Codewith rate other than zero under Setup > Accounting> Set Up Taxes

·        User navigated to Transactions> Bank > Reconcile Bank Statement / Credit Card Statement

·        User entered an Other Chargein the New Charges tab

·        User opened the Check/Credit Cardvia Transactions > Bank > WriteCheck/Use Credit Card > List

·        Tax Rate for the Tax Code is zero



·        Bank Reconciliation is only concern with the bank account part of a transaction andnot the tax computation of a transaction

·        Adding Tax Code in Bank Reconciliation is still an enhancement (133497)


·        NetSuite is not designed to split the amount entered in the Account line in the New Charges tab between the account and the Tax Code account (using the TaxCode's Tax Rate)


·        NetSuite will enter in the full amount to the account specified in the NewCharge tab and a zero Tax Ratein the transaction


·        NetSuite will use a zero Tax Ratebecause it will be misleading to end users who will view the transaction ifthere is a non-zero Tax Rate but zero Tax Amount in the transaction.


·        The same is true with the amount and Tax Code from Deposit/ CCard Refund created via Bank/Credit Card Reconciliation'sNew Deposits/New Credits

Custom Role tagged to a subsidiary > Open Tax / Financial Report > An unexpected error has occurred or This Period is not defined for this fiscal calendar


Certain subsidiary is getting unexpected error whenpulling up financial reports:

·        User enabled Multiple Calendars under Setup > Company > Enable Features> Accounting tab

·        User created a new Fiscal Calendar under Setup > Accounting > FiscalCalendars

·        User assigned the Fiscal Calendar to a subsidiary

·        User restricted arole that has access to financial reports/tax reports to just that subsidiary

·        User logged inusing that role

·        User navigated to Reports > Financial and opened any Financial Report or Reports >VAT/GST > open any Tax Report

·        User got theunexpected error:

This Period > is not defined for this fiscalcalendar. Go to 'Setup > Accounting > Manage Tax Periods'and set up orassign the period you need



·        The error is causedby:

·        Home > Set Preferences > Analytics > Report by Period = Financials Only or AllReports

Financial Periods are Period based

Tax Reports are Period based 

·        Periods in ManageAccounting Period/ Manage Tax Period > Fiscal Calendar are unassigned

·        User missed out on assigningthe periods to their respective FiscalYear and Fiscal Quarter

·        Fiscal Period setup/hierarchy is necessary to Tax/Financial Reportsspecially in determining the Retained Earnings (Balance Sheet Report) orInternational Tax Reports



·        User will loginusing Administrator role to checkthe name of the Fiscal Calendarassigned to their role's subsidiary (Setup> Company > Subsidiaries > view subsidiary >(Tax) Fiscal Calendar)

·        User will navigateto Setup > Accounting > Manage(Tax) Accounting Periods > choose FiscalCalendar and either click Set UpFull Year or enter in the New YearOnly and New Quarter Only one byone

Add Item on a Sales Transaction: Sales Description and Item Price Do Not Populate

Cannot add an item on a Sales Transaction like Sales Order, Cash Sale or Invoice. The item shows up on the list of items that can be added but when the user clicks on it, the sales description and price do not populate.
When the user clicks the Add button, the item is not added on the line.

1. On the Item record, navigate to the Sales/Pricing tab > Sales description field : there is a backslash or reverse slash "/" character at the end of the sales description.
2. Remove the  backslash or reverse slash "/" character
3. Click  Save 

After removing the  backslash or reverse slash "/"  from the sales description, the user is now able to add the item on a sales transaction. The Sales description and Price automatically populate on the line item.

Void Journal Entry Permission for Custom Role

To be able to void Journal Entries, the user must have at least Create level of access for Make Journal Entry permission.


Here are the steps to resolve this :

  1. Navigate to Setup > Users/Roles > Manage Roles. 
  2. Edit the role of the User.
  3. Under the Permissions tab > Transactions subtab > Make Journal Entry = Create.
  4. Click Save.

Expose Currency Revaluation Search Amount for Exhange Rate Variance Account Same as the Net Variance of the Currency Revaluation Record

The values in the Amount column, are calculated based on the Consolidated Exchange Rate set in the Results tab of the Transaction Saved Search. If users would like the amount to be the same as the net variance shown on the Currency Revaluation Record, they can perform the following:

1) Edit Search

2) Under Results tab > Consolidated Exchange Rate = None

3) Click Save & Run


Reason Why UPS Shipping Items Appearing in FedEx/More List

If UPS Shipping Items appear in the Shipping Method dropdown after FedEx/More is selected as the Shipping Carrier check to see if the Shipping Item is integrated with UPS.

1. Any Shipping Items not integrated with UPS/FedEx will appear in the More section. These shipping items will all appear in the FedEx/More Carrier dropdown.

2. All Flat rate Shipping Items will also be in the More section and will appear in the FedEx/More Carrier Dropdown.

3. Only UPS Shipping Items using UPS Real-Time Rates will appear in the UPS Carrier dropdown.
-Check this by navigating to Lists> Accounting> Shipping Items> View the Shipping Item>  In the Shipping Rate tab> check if UPS Real-Time Rate is selected.

4. To use the Shipping Items not using UPS Real-Time Rate the Shipping Carrier field needs to be set to FedEx/More.


Find the Date when Vendor Bill is Fully Paid

There is no field on the Vendor bill record that gives the information on when a vendor bill is fully paid directly on the UI.

1) On a Vendor bill record, if you click on the Related Records tab, under the payments sub tab you will see the link to the bill payments that have been applied to set the status of the Bill to Paid in Full. The date when the bill is paid in Full is the link that has the latest date. The Related Records tab is available on Standard Vendor Bill form. If you use a custom form, please ensure to have this sub tab enabled on the form.

2) This date when a vendor bill is paid in full can be retrieved by using dateclosed field on the saved search where transaction type is vendor bill. In order to use dateclosed field:

- Navigate to Reports > Saved Searches > All Saved Searches > New

- Select Transaction link

-  Set the following under Criteria Tab > Standard Subtab:

         Type =Vendor Bill


Under Results Tab > Columns Subtab, add following fields(choose other based on your preference)

               - dateclosed.



Translation for Item Option Label not Displaying on the Web Store

The value set in Customization > Lists,Records, & Fields > Transaction Item Options > ItemOption Display tab > LABEL FOR INPUT will override all languagetranslations set on the Translation sub tab.

To ensure that translations for itemoptions are used, leave the Labelfor Input field blank andjust enter the preferred translations under Translation > Language > Label (Customization > Lists,Records, & Fields > Transaction Item Options > ItemOption).

Note as well that when LABEL FOR INPUT field (under Display tab) is blank, name of the custom field displayed in the Web Store will follow the LABEL field (Main area) value.

Change Payment Terms on Invoice Sourced from Sales Order Instead of Billing Schedule via CSV

When the Billing Schedule attached to a Sales Order has Payment Terms assigned, the Invoice created will follow the terms set on the Billing Schedule instead of the Sales Order, which populates from the Customer Record.

If you want to change Invoices already created to use the terms from the Sales Order instead a search can be created to find the affected Order and you can use the search to do a CSV Import to update the terms on the Invoices.

1. Create a search to find affected Invoices and the terms set on the Sales Order:
    a) Navigate to Reports> Saved Searches> All Saved Searches> New: Select Transaction
    b) Rename the search
    c) In the Criteria tab:
           Type = Invoice
           Applied to Transaction fields... then select Billing Schedule 
    d) In the Results tab:
        Applied to Transactions fields...
then select Terms
    e) Save and Run
    f) Export as CSV
    g) Save CSV file

2. CSV Import to Update Invoices with the Terms from the Sales Order:
    a) Navigate to Setup > Import/Export > Import CSV Records and set the following:

1.     Import Type: Transactions

2.    Record Type: Invoice

3.   Browse the file from the computer and click Next.

     b) In the Data Handling, choose Update.

     c)  Map the following in the Field Mapping page:

1.     Number – Number (Invoice folder)

2.   Terms - Terms (Invoice folder)

      d) Click Next
      e) Enter an Import Map Name and click Save & Run.


Search Saved to Show Profitability Per Transaction

To create this search please follow the steps below:


1) Navigate to Reports > New Search > Transaction

2) Under Criteria tab:

-- Add Type is Sales Order

-- Add Main Line is False

3) Under  Results tab:

-- Add Sales Rep -- Summary Type is Group

-- Add Number (this is the SO number) -- Summary Type is Group
-- Add Amount -- Summary Type is Sum
-- Add Item  
-- Add Quantity
-- Add Item Fields...Purchase Price (this is the cost of the item)-- Summary Type is Sum -- Label is Cost
-- Add Formula (Numeric) = {quantity}*{item.cost} -- Summary Type is Sum -- Label is Total Cost

-- Add Formula (Numeric) = {amount}-({quantity}*{item.cost}) -- Summary Type is Sum -- Label is Profit

4) Create Saved Search

5) Rename Search

6) Click Save & Run

Transaction Search for Sales Orders with Items Without Class

  1. Navigate to Reports > Saved Search > All Saved Searches > New.
  2. Click on Transactions
  3. Under Criteria tab > Standard subtab, add the following:

        - Type: is Sales Order

        - Item Fields...: Class: any of None.

     4. On Results tab, there are pre-populated fields to show the sales order information. You may add/remove any fields you want to see the results differently.

   5. If you want to see the results with just the Sales Orders in each line (without line items displayed), you can set the following on Criteria > Standard subtab:

        - Main Line=True

  6. Changing the value to False/Remove Main Line field will show you the line items of the sales orders. You may add the following field in the results tab if you prefer to see the name of the items:

        - Item Fields...: Name

Reference Checkout: Hide "This is a Residential address" Box in Shipping Address Page

Applicable for thefollowing version(s):
Reference Checkout  v2.02.0
Reference Checkout v2.03.0
Reference Checkout  v2.04.0

1. Navigate to Documents>Files > File Cabinet > Web Site Hosting Files > Live Hosting Files >SSP Applications > NetSuite Inc. - Checkout <version> > ReferenceCheckout > templates > address > macros

2. Copy address_form_macro.txt file to the Custom Checkout folder for the implementation
* Ensure that the location of the file is exactly the same.

3. a. For v2.02.0, find the Residential Address line of code then add a DIV tag:


3. b. For v2.03.0 & v2.04.0, find the line<div class="control-group"data-input="isresidential"> and add the code, style ="display: none". The code should look like:

4. Click Save.



Update Home Bread Crumb Link in Reference My Account

Applicable to the following versions:
Reference My Account 1.05 (Bundle 69018)
Reference My Account Premium 1.05 (Bundle 69017)

With an External Catalog Site (WSDK) making use of the Reference My Account implementation, one might need to update the links on the page especially the Home link to redirect to the site's custom URL.

To do this:
1. Copy breadcrumb_macro.txt from Reference My Account to the Custom My Account folder in a similar path: Web Site Hosting Files > Live Hosting Files > SSP Applications > NetSuite Inc. - My Account Premium 1.05 > Custom My Account Premium > templates > globals > macros
2. Edit breadcrumb_macro.txt.
3. Remove the line:

and replace it with:

4. Save the file

Note: is your external site's domain name.

Line Column Fields with Values Does Not Guarantee To Be Sequential

As mentioned on Issue #193584, line numbers (ID: line) for item fulfillments are not guaranteed to be sequential and most likely will not match the line numbers in their originating transactions (sales orders/transfer orders).  This can be demonstrated with the following steps:

1. Create and save a Transfer Order with multiple line items.

2. After creating the Transfer Order, approve it (if needed) and click the Fulfill button.

3. Run the script below on the Script Debugger:

var rec = nlapiLoadRecord('transferorder', 8128); //change 8128 with internal ID of the transfer order
var rec1 = nlapiLoadRecord('itemfulfillment', 8129); //change 8129 with internal ID of the item fulfillment

for(var i=0; i<rec.getLineItemCount('item'); i++)
    var lineField = rec.getLineItemValue('item', 'line', i+1);
    var lineField1= rec1.getLineItemValue('item', 'line', i+1);

The logs of the debugger will show that the values for "lineField" and "lineField1" are different on each iteration.

Set the Reserve Time checkbox to False for Logged Phone Calls and to True for New Phone Calls through Workflow

To create the Workflow:


1. As an Administrator, navigate to Customization > Scripting > Workflows > New
2. Enter a Name, for example "
Set Reserve Time for Phone Calls"
3. Set Record Type = Call
4. Set Execute as Admin = True
5. Set Release Status = Released
6. In the Initiation section, mark Event Based
7. In the Event Definition section, mark On Create
8. Set Trigger Type = Before Record Load
9. Click Save
10. Click New State
11. Enter a Name
12. Click Save
13. Click New Action
14. Click Set Field Value
15. Set Trigger On = Before Record Load
16. In the Condition section, mark Visual Builder
17. Set the following in the Condition field:

Field = Status
Compare Type= any of
Selection = Completed

18. Click Save
19. In the Parameters section, set Field = Reserve Time
20. In the Value section, mark Static Value
21. Set Checked checkbox = False
22. Click Save
23. Click New Action
24. Click Set Field Value
25. Set Trigger On = Before Record Load
26. In the Condition section, mark Visual Builder
27. Set the following in the Condition field:

Field = Status
Compare Type= any of
Selection = Scheduled

28. Click Save
29. In the Parameters section, set Field = Reserve Time
30. In the Value section, mark Static Value
31. Set Checked checkbox = True
32. Click Save

Note: This can be an alternate solution for Enhancement 114731 - Lists > Relationships > Entity records (Customers/Prospects/Leads/Vendors/Contact/etc.) > General tab > Activities subtab: Ability for the Admin to control the default value for the "Reserve Time" box when logging or creating new phone call.

Change Price on a Billed Sales Order and Paid Invoice

To reflect a price of an Item decreasing on a Sales Order that has been Billed and an Invoice that has been paid the following can be done:

1. Edit the Sales Order and change the price in the Amount column. You will receive the notice: Items on this line have been fulfilled and billed. Are you sure you want to modify it?
2. Click OK
3. Click Save.
4. Edit the connected Invoice and change the price in the Amount column.
5. Click Save. You will receive the notice: This invoice has payments applied to it. The payments will be applied differently. Are you sure you want to edit it?
6. Click OK.

The payment amount applied to the Invoice will decrease to the new total of the Invoice and the remaining payment amount will remain as a credit on the Customers account. This amount can then be refunded or applied to the next Invoice.


Properly Making Radio buttons Mandatory on Suitelets

Create a Suitelet like the one below:

function mySuitelet(request, response)
        if(request.getMethod() == 'GET')
                var form = nlapiCreateForm('my form');
                form.addField('custpage_radio', 'radio', 'Alpha', 'a');
                form.addField('custpage_radio', 'radio','Beta','b');
                form.addField('custpage_radio', 'radio','Charlie','c');
                form.addField('custpage_radio', 'radio', 'Delta', 'd'); 
                form.getField('custpage_radio', 'a').setMandatory(true);
                var machine = form.addSubList('custpage_mysublist', 'inlineeditor', 'my sublist');
                var selectField = machine.addField('myselectfield', 'select', 'My Select Field');
                selectField.addSelectOption('1', 'One');
                selectField.addSelectOption('2', 'Two');
                selectField.addSelectOption('3', 'Three');


After that, run/launch the Suitelet. Without making any selection, click Submit. The form would be submitted and no error would be triggered. In order to make the radio button field mandatory, use setDefaultValue instead. See sample below:

function mySuitelet(request, response)
        if(request.getMethod() == 'GET')
                var form = nlapiCreateForm('my form');
                form.addField('custpage_alphbets', 'radio', 'Alpha', 'a');
                form.addField('custpage_alphbets', 'radio','Beta','b');
                form.addField('custpage_alphbets', 'radio','Charlie','c');
                form.addField('custpage_alphbets', 'radio', 'Delta', 'd');
                form.addField('custpage_alphbets', 'radio','Echo','e');
                form.addField('custpage_alphbets', 'radio','Foxtrot','f'); 

                form.getField('custpage_alphbets', 'a').setDefaultValue('a');  //instead of setMandatory
                var machine = form.addSubList('custpage_mysublist', 'inlineeditor', 'my sublist');
                var selectField = machine.addField('myselectfield', 'select', 'My Select Field');
                selectField.addSelectOption('1', 'One');
                selectField.addSelectOption('2', 'Two');
                selectField.addSelectOption('3', 'Three');


Locate Missing Transactions not Appearing on Customer Profitability Report

When navigating to Reports > Customer/Receivables > Customer Profitability > Detail and if Credit Memos or other transactions are not appearing one possible reason could be the account that is being impacted on the Credit Memo or other transactions are not the same as the account that is being impacted on the invoice or it is not an accounts receivable account.

Move the Credit Hold field on the Customer Record to a New Subtab

The Credit Hold field is a standard NetSuite field on the customer record which is located under the Financial Tab. When users try to move this field in a new tab, it is not showing on the available fields that can be moved.

Steps to Reproduce:
1. Navigate to Customization > Forms > Entry Forms.
2. Click Customize on Standard Customer Form.
3. Under Fields tab> Financial subtab> Note that Credit Hold is grayed out.
4. Click Save & Move Elements to try to move this on another tab.
5. On this Move Entry Form Elements page, navigate to Fields tab> Financial Subtab.

Actual Result: Credit Hold is not shown.

In order to ensure that a field is available to moved, it should not be set to the Same Row as Previous. To resolve this, a user may follow the steps below:

1. Navigate to Customization > Forms > Entry Forms.
2. Click Customize on Standard Customer Form.
3. Under Fields tab> Financial subtab> Credit Hold> Uncheck Same Row as Previous checkbox and assign check the said checkbox on the field before it.
4. Click Save & Move Elements.
5. On this Move Entry Form Elements page, navigate to Fields tab> Financial Subtab and note that Credit Hold is already exposed on the page and can be moved to another tab.
6. Check the Select checkbox for Credit Hold, and on the Subtab dropdown= select the tab as to where you will move this.
7. Click Save when done.