RE: E-Invoicing UAE – A Comprehensive Guide

morganbrooks Rookie Asked on November 7, 2026 in No Category.

Try asking your users if they are using the “Make Copy” button – this will inherit all the fields and attached documents from the original.

on September 9, 2019.

test

on September 10, 2019.

Are you talking about an actual field on a bank deposit? Or do you mean the posting column on the gl impact.

on September 10, 2019.

Please elaborate on your question.

“Is posting” if I understand what you are saying is not a status that can be changed on standard transactions without a custom GL impact script.

I would not advise fudging with make deposit as well. Perhaps a custom transaction might suit your process better.

It might be beneficial to include additional information about the business process driving this question.

on September 10, 2019.

You will not like the SuiteAnswer article on this topic. https://netsuite.custhelp.com/app/answers/detail/a_id/20714

on September 11, 2019.

hi, this link seems to be pointing to the previous generation help center? At least I’m ending nowhere. Do you have an alternative (or a copy paste of the article)? Much obliged

on September 11, 2019.

Can you share some screenshots of your saved search setup? Specifically the criteria and results tabs?

on September 11, 2019.

Navigate to SuiteAnswers and paste in 20714 in the search box. This will bring you to the above SuiteAnswer article.

on September 11, 2019.

Thanks for the assistance. And what a *** solution that is 🙂 …

on September 11, 2019.

Can you share your code where you are doing the search? I won’t be able to help you, but others who could will do better seeing what you are trying to do.

on September 11, 2019.

How does your Related Sales order ID get populated in the first place? If it is a select field, that should link the 2 records.

on September 11, 2019.

@KevinJ – Nothing more complex than this:

nlapiSearchRecord(null, ‘5893’);

or

nlapiSearchRecord(‘quota’, ‘5893’);

on September 12, 2019.

Can you share your selection criteria for the cogs section? It’s plausible you have not quite gotten that right.

Additionally – I often find it helps to exclude the account from the other section it normally would show in.

on September 12, 2019.

I have the following:

Account Type = COGS

Account Type = Expense

Account Name = none of expense accounts.  I’ve excluded the expense account I want to see from this criteria.

 

When I view Account Order, all the accounts I want under this section shows.  If I put these section by itself, meaning not a child of any other section, the amount shows.  When I make it a child of Cost of Sales, the amount doesn’t show.

on September 12, 2019.

I just tried excluding the expense account from the other sections and that appears to work 🙂

on September 12, 2019.

You probably need to give more details about how your form is generated and its relation to the keys you need to set on your javascript object.

on September 12, 2019.

can you add the screenshot?

on September 13, 2019.

can you elaborate a bit – sending email to customers what?  From the report, saved search or via customer center?

on September 14, 2019.

RE: E-Invoicing UAE – A Comprehensive Guide

on September 16, 2019.

On the primary subsiiary section i have two different subsidiaries e.g one called LLC: and the other Energy LLC.. I want the filter above the customize button to give me an option of only one subsidiary because it gives both

on September 16, 2019.

RE: E-Invoicing UAE – A Comprehensive Guide

on September 16, 2019.

want this to show only one either LLC or energy LLC but not both …..Thanks

Path:: Transactions => Customers => Generate Statements

on September 16, 2019.

Some important information is how the client script was added. Was it added by a suitelet or user event script? Or is it a regular client script.

Some other information like why you want to use log.debug vs console.log generally helps. I personally have never bothered with log,debug if you want to output values in a client script.

on September 17, 2019.

Even connection thru suitetalk returns the same error

on September 17, 2019.

Is your computer is protected/remember authentication?  i think this is related with  2FA ?

on September 17, 2019.

You  may consider creating a saved search of recent inbound messages. You would not have to use a workflow and could maintain some control over them within NetSuite.

on September 17, 2019.

You sound like you have a lot of logic trying to manipulate a ready checkbox. Im not really sure why all your logic isn’t simply in the beforeSubmit entry point. From your description, its because you needed the order internal id for something, but you don’t need the order internal id to get the value of a multi select field. You would need the item internal id for that, and that is available beforeSubmit.

on September 17, 2019.

Not a rev rec expert by any stretch – do you *have* to populate it at the header?

on September 17, 2019.

The header Start Date is explicitly mandatory. The header End Date is not but adding an item will require it regardless before being allowed to be saved.

SO either way both header date fields are needed for the Contract Renewals Module.

on September 17, 2019.
var thereIsNoIndentHere = 0;
for (var i = 0; i < thereIsNoIndentHere; i++) {

var thereIsOneIndentHere = 2;

}
on September 17, 2019.
var thereIsNoIndentHere = 0;
for (var i = 0; i < thereIsNoIndentHere; i++) {
   var thereIsOneIndentHere = 2;
}
on September 17, 2019.

Perhaps you should share your recognition rule setup here so that others who are more experienced can see it. It’s plausible there’s a setting wrong in the rule.

on September 17, 2019.

It is not

on September 18, 2019.

It sounds like a client script saveRecord function would be fine if you’re not processing may item lines.
You need to loop through the lines gathering the item id’s, perform a search to ascertain the item custom field values and then apply logic on the result to display /not display a message / set your checkbox (if it’s even needed).
You could return false if you do not want the record to be saved until everything is correct. 

on September 18, 2019.

@battk search.lookupFields is what I needed to get grab the data w/o an orderId. Thank you for the help! That allowed me to move almost everything to beforeSubmit, where it worked with the previous customizations. Appreciate it!

on September 18, 2019.

are people that lazy for even to scroll?

RE: E-Invoicing UAE – A Comprehensive Guide

on September 18, 2019.

You are going to need to be a lot more details in this question. Sublist fields and body fields have different scripting mechanisms.

on September 19, 2019.

Instead of submitting a new question, please edit your previous one (https://netsuiteprofessionals.com/question/how-to-get-sublist-in-suitelet-based-body-field/).

Also, please try and make your question clearer and provide as much information as possible. Doing so will make it much more likely that you receive useful advice.

on September 19, 2019.

No one should have to scroll or resize the tiny little window that pops up for help, when the technology and how how has existed for decades to appropriately size UI elements based on their content and the browsers reported real estate automatically without the end user input.

I refuse to live in a weak UI/UX world and NS is no example of excellence in either area.

on September 19, 2019.

Could you set a custom field in beforeSubmit with whatever you need, and then get the value in afterSubmit?

on September 19, 2019.

Is it possible “i” is global (not declared with var)?

on September 19, 2019.

Well, that’s embarrassing. Yes, you’re right!

on September 19, 2019.

Need more details.

on September 20, 2019.

As @rtanner mentioned, the main issue seems to be with variable scopping and also I noted a few issues with your code.

From performance perspective, you should not create searches in loop as it would consume a lot of time and execution points and as you mentioned, you are using the above script in client script, so you should make a few changes.

  1. Use search.create.promise as it won’t cause UI to lag.
  2. Use single search using OR in filterExpressions.

Once you have the searchResults filter out the records which are not present and create them.

 

on September 20, 2019.

The problem is each search is unique per array index. So I don’t see any way around it. As I iterate through the array, I have to run a search with the unique index parameters. I can’t search just one time and be done with it, unless I’m missing something.

I guess maybe you’re saying to use OR to combine each index set of values/scenario into one search … but then I’ll need to figure out a way to map the results back to the array indexes so I know which indexes returned results and which didn’t, because the search is there to prevent duplicates and tells me whether or not to create a custom record for each array index.

Right now, the logic is easy. It grabs the index values, searches for an existing custom record, and if the search returns zero, then it creates a custom record for that iteration. I’m not crazy about running a search for every loop iteration, this just seemed the most straightforward way to do it.

on September 20, 2019.

You can simply add a searchColumn for event, attendee or training (whichever is unique) or all of them. Its just that current approach has a few limitations but you are right your approach is easy.

on September 20, 2019.

Have you considered turning on PO Approval Routing? (Warning – this could be more than just a light undertaking)

on September 20, 2019.

Thanks for the reply! We have fairly complicated workflows driving PO approvals but  what we see in the app is a generic list of open PO’s. What i don’t understand is why it says My Approvals when that is not what is being shown. We could make a saved search to view in the app but I’d rather have My Approvals work as the name describes. I can’t find any documentation on how to change these settings or even what My Approvals is supposed to show so any advice you have is appreciated.

on September 20, 2019.

The reason I suggest turning on PO approval routing is that this changes the behavior of the approve PO page. This would update it to check the workflow against the record to determine if the approve button is visible. I would expect this to extend to the mobile application as well.

However, turning this on will require that you make changes to your workflow so that the buttons only show up at the correct time, and what fields they set, and you might have to mark all the existing ones approved before you can turn it on.

If you have a sandbox I would try it there

on September 20, 2019.

Hi,

In all Oracle products,  we can add custom Banner item on the home page, like Dev, Stage or Prod, etc..  if new person login into instance they can easily identify the instance name by seeing the banner.

 

below is the example of Oracle Bi home page…

 

 

How can we add this in Netsuite? please help.

 

Thanks

 

on September 23, 2019.

Where did you change it? Where is it displaying? Screenshot?

on September 23, 2019.

Hi JRC,

Thanks but there is nothing in the Bin Putaway Worksheet. The bins being out of sync with the locations is I believe as a result of process, i.e. deleting transactions or transfers. Deleting these rectifies the inventory in the location but it does not reconcile the movements to and from bins. The bin quantities remains intact, hence the discrepancy between Location and Bin

Mike

on September 24, 2019.

Hi Mike,

I think that too hard to reconcile. my suggestion is have physical count.

Then apply to inventory.  hope this will work!

on September 24, 2019.

Have you tried unchecking and rechecking that box on your items?

on September 25, 2019.

It didn’t end up being a revenue recognition rule issue. I think it’s just a scenario in ARM (custom rev rec dates) that’s poorly documented. 

For posterity, we were able to resolve this via configuring Transaction Line custom date fields and setting them up on the Setup-> Accounting -> Revenue Field Mapping page.

SuiteAnswers Id: 61890

on September 25, 2019.

Yes – unfortunately that hasn’t worked.

on September 26, 2019.

Its not very clear what you want, primarily because I don’t know what you mean by account no. My guess is that the value in your company key is being used to lookup the internal id of the company you want to set in the company field on the support case. In which case you would use:

 objRecord.setValue({
  fieldId: "company",
  value: account_no
});

on October 1, 2019.

Sorry, let me try to explain. I am creating a RESTLet which is to create a case from a website. As you know the case requires a company. When customer records are created we send the customers a portion of the Customer ID. Ex: in NS we may have 10001 Test Company, but the customer is sent 10001 as their ‘account no’.

Now, when the customer submits the online form we ask for their ‘account no’. For me to set the company field on a case record I need the account no to do a lookup in a saved search and get the customer’s internal ID, which is what I need to set the company field. For now, I am just hard coding the internal ID for test purpose.


{"data":[{"customform":"121","company":"10001","title":"AAA Postman Test 6","incomingmessage":"Sending From Postman 1"}]}

Let’s assume the above is sent to the RESTLet. I don’t want to set the company value to 10001, instead I do a lookup and get the corresponding internal ID – say 106750. But I get an error as it is setting 10001.

on October 1, 2019.

The sort property might be read-only. It’s not actually documented as a property on the Column object, and with some quick testing in the console I was unable to change the sort order. I was essentially trying the same approach as you, using the search.Sort enum values instead.

on October 1, 2019.

This very useful, thanks Jen!

on October 7, 2019.

Thanks.  I wasn’t sure how to mark it as best but I see you’ve done that (thank you).  Still getting used to this forum.  Trying to get code to format properly is ….challenging?

on October 7, 2019.

Share the code that fails.

on October 15, 2019.

How do you have a button to email? Is it it native?

on October 15, 2019.

From the NetSuite Terms of Service:

“(b) HIPAA. HIPAA. Customer agrees that: (i) Oracle is not acting on Customer’s behalf as a Business Associate or subcontractor; (ii) the Service may not be used to store, maintain, process or transmit protected health information (“PHI”) and (iii) the Service will not be used in any manner that would require Oracle or the Service to be compliant with the Health Insurance Portability and Accountability Act of 1996, as amended and supplemented (“HIPAA”). In the preceding sentence, the terms “Business Associate,” “subcontractor,” “protected health information” or “PHI” shall have the meanings described in HIPAA”

https://www.netsuite.com/portal/assets/pdf/terms-of-service-v032618.pdf

on October 16, 2019.

In general, isn’t emailing PII a bad habit anyways?

Also – NS expressly forbids requirements to comply with HIPAA.

Opportunitistic TLS seems like it’d be a good thing, not a bad… if you have a requirement to force TLS, you’re probably emailing stuff you shouldn’t really be storing in NetSuite anyways…

on October 16, 2019.

@martin it didn’t worked. Still making request to production site.

on October 16, 2019.

Thank you. Do you happen to know why the font is so tiny on a saved search export?

on October 16, 2019.

What transaction are you working with? It sounds like you are working with a vendor bill and the expense sublist of a vendor bill does not have a quantity column.

on October 17, 2019.

Purchase Order

RE: E-Invoicing UAE – A Comprehensive Guide

on October 21, 2019.

On the purchase order form, there is the Amount in the Item subtab and Expense subtab. I created the Quantity field and PPU field and I want the PPU field to return the price per unit by dividing the {amount} / {quantity}

on October 21, 2019.

Update:  In order to create a new Parent Company, you must have the “Subsidiary Hierarchy Modification Feature” enabled.  NetSuite support can enable this feature for you.  After this was enabled, i could create the new parent company and make the subsidiaries children of it.

Also, another sticking point for us was that we only requested 2 Subsidiaries when we first provisioned Oneworld.  NetSuite counts the parent company as a subsidiary as well.  So, in our case, we needed 3 subsidiaries to be provisioned.

  • Parent Holding Company
    • Subsidiary 1
    • Subsidiary 2
on October 21, 2019.

Do you want to exclude item price from the order total amount? Also, is it just one item(meaning one fixed SKU) or can it be multiples too?

on October 21, 2019.

Off-loading the process to a scheduled script and/or map reduce script will not guarantee immediate execution as you will be at the “mercy” of the Netsuite queues or availability of processing pipes especially if you have multiple scheduled scripts and/or map reduce scripts running in the background. The best you can hope for by going that route is to save those generated PDFs to the file cabinet.

on October 23, 2019.

Not the total amount of the order, just the discount calculation. Its one item to exclude

on October 23, 2019.

 

try {
                    var xmlStr = '<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd"><pdf><head>TEST</head><body header="nlheader" header-height="10%" footer="nlfooter" footer-height="20pt" padding="0.5in 0.5in 0.5in 0.5in" size="Letter">TEST BODY</body></pdf>';//Test string to be rendered as PDF
                    var pdfFile = render.xmlToPdf({ xmlString: xmlStr });
                    pdfFile.name = '1traveler.pdf';
                    pdfFile.folder = 616;   // folder: AM Travelers
                    var fileId = pdfFile.save();
                } catch(e) {
                    log.audit('error', e);
                }

 

on October 23, 2019.

Are you saying you want to find bills where there are no messages yet, or bills where there are messages, but certain fields on the messages are blank?

on October 24, 2019.

I want to find invoices (revenue side) where we have not sent an email/message to the customer.  I’ve tried the below, but it returns invoices that have saved messages in the record.

 

RE: E-Invoicing UAE – A Comprehensive Guide

on October 25, 2019.

What you’re really looking for is not a particular field like Message. You’re trying to see if there are any message sublist records for an invoice. So, instead of using the message field for your search criteria, do a lookup of the messages record (Select “Messages … “) and select the Internal ID field from the message record, then set the value to “none”. Basically you’re looking for messages where there is no internal ID. That should give you the results you’re looking for.

on October 25, 2019.

Post a screen shot of what you have in mind and I might be able to help out!

on October 29, 2019.

I definitely do not know the answer to this, but I would bet that it heavily depends on what a workflow is doing versus a script.

If they were one for one doing the same exact thing, my guess is that the difference would be negligible. Just my 2 cents.

on October 30, 2019.

I believe you can edit the form and uncheck the mandatory field.

In the top right corner of the Journal Entry form. Click on Customize > Customize Form.

Then look under the Screen Fields subtab for the field in question and uncheck the Mandatory box.

on October 30, 2019.

I suppose that depends on what you mean by “handle”. Certainly you could design custom records and such to input and track information on Competitors, then build reports around those records.

on October 31, 2019.

@leacc

Hi

It is not not working for me. I tried the same way

Below is my client script

/**
* @NApiVersion 2.0
* @NScriptType ClientScript
* @NModuleScope Public
*/

define([‘N/search’, ‘N/currentRecord’], function(search,currentRecord) {
var record = currentRecord.get();

function fieldChanged(context) {
if(context.fieldId == ‘custpage_customers’) {
/* var location = record.getValue(‘custpage_customers’);

if(location == ”) return;*/

// var vendorSearch = search.create({
// type: ‘vendor’,
// filters: [[‘custpage_customers’,’is’,location]],
// columns: [‘entityid’]
// });

// var vendorSearchResults = vendorSearch.run().getRange({ start: 0, end: 1000 });
var filters = [
search.createFilter({
name: ‘subsidiary’,
join: ‘msesubsidiary’,
operator: search.Operator.ANYOF,
values: subsidiary
})
];
var paymentSearch = search.create({
‘type’:’customer’,
‘filters’:filters,
‘columns’:[‘entityid’]
});
var componentsSearch = ”;
var counter = 0;
var vendfield = record.getField(‘custpage_customers’);
vendfield.removeSelectOption({value : null});
for(var i=0; componentsSearch.length >= 1000 || i == 0; i++){
componentsSearch = paymentSearch.run().getRange({
start: counter,
end: counter + 1000
});
if( componentsSearch.length > 0 ){
for(var j=0; j<componentsSearch.length; j++){
/*var id=componentsSearch[j].getValue({name :’internalid’});
var entityName=componentsSearch[j].getValue({name :’entityid’});*/
//log.debug(“paymentSearch result count”,componentsSearch[j].getValue({name :’entityid’}));
/*customerField1.addSelectOption({value : id, text : entityName});*/
vendfield.insertSelectOption({
value : componentsSearch[i].id,
text : componentsSearch[i].getValue(‘entityid’)
});
}
}
counter += componentsSearch.length;
}

}
}

return { fieldChanged : fieldChanged };

});

on November 7, 2019.

Where’s the line where you’re getting the value of ‘subsidiary’? I would suggest troubleshooting the search first if it’s returning a result. Also, ensure that you’re referencing the correct Client Script.

on November 7, 2019.

Are you able to share the criteria?

on November 12, 2019.

We have a dashboard in our SuiteBundle and I’ve found it to be particularly finicky.

What type of error are you getting? What type of portlet are you trying to add?

on November 14, 2019.

I don’t have the knowledge to help you, but I have the knowledge to warn you to be careful because once you set those unit types on an item, you are stuck with them.

on November 14, 2019.

I think I would log this with Netsuite support. For the life of me, I can’t imagine why it would be trying to delete a form when you’re hitting save.

on November 18, 2019.

@dmashburn3 Sorry for late reply, the issue in the script is solved, But I am still not understanding how I can make a good dashboard for my bundle. Is there any tutorial for that? can we make charts and graphs with portlets aswell?

on November 19, 2019.

Import Asset > No Asset Value generated

Published 05/30/2019 06:31 PM   |    Updated 08/06/2019 12:50 AM   |    Answer Id: 85337

Applies To

Product:  NetSuite 2019.1

Scenario

Customer imported Asset Records > Was not able to check on Run Server SuiteScript and trigger WorkFlows under Advanced Options during the importation process > Result: No Asset Value record generated by the system. 

Solution

To generate the corresponding Asset Value record of the imported Assets, the guidelines below should be followed:

1. Create a CSV template file with “Internal ID” alone as column header with the corresponding internal ID of the assets imported without asset value record generated by the system. 

2. Go to Setup > Import/Export > Import CSV Records.

3. Under Scan & Upload CSV File step, select the following parameters:

>Import Type=Custom Record

>Record Type= FAM Asset 

>Select the file

4. Under Import Options step:

>Data Handling=Update

>Advanced Options-check Run Server SuiteScript and trigger WorkFlows 

5. Under Field Mapping, map Internal ID to FAM Asset : Internal ID.

6. Save and Run

Once this is done, FAM Retrieve Asset Values MR should be ran. To do that, follow the guidelines below:

1. Go to Customization > Scripting > Script Deployment.

2. Look for the FAM Retrieve Asset Values MR deployment and click Edit.

3. In the Parameters tab > Asset ID field > enter the Internal ID of the assets separated by a comma.

4. Save and Execute.

on November 19, 2019.

Definitely going to need some more context here Amitkr1901. What type of script are you doing this with? What does your code look like that adds the payment method? Etc.

on November 19, 2019.

I’m not sure we know that yet. I don’t see a ton of people using N/query, and NetSuite certainly isn’t publishing any performance data.

Likely something you’ll have to test on your own unfortunately.

on November 21, 2019.

Would a “SuiteApp” / “Bundle” be the solution ?

on November 22, 2019.

When asking a question, particularly a scripting question, the more detail you can provide, the better. Especially when it comes to scripting, it is almost impossible to help you without seeing any of your code.

on November 22, 2019.

can you post your item saved search code? just tried in a demo account and am getting the expected result here.

on December 2, 2019.

Do you want to add a custom field on the Entry form in NS  which would hold some text values? Can you clarify the question pls?

on December 6, 2019.

I’m guessing you looked at the standard transaction template(say invoice) for their list layout already? I feel like I’ve done this before without any extra work.

on December 9, 2019.

I’m not putting this as an answer, as I’d like to be proven wrong. I’m confident that there’s no native way to do this outside of lot numbered inventory or serialized inventory, or custom fields and boat load of manual work.

on December 9, 2019.

I am using an advance pdf layout and it doesnt work the way I needed.

on December 10, 2019.

Thanks for the quick response! We are using serialized inventory and bins.

on December 10, 2019.

What are the values in date and formatDate. If formatDate  is a Date, I prefer to know the value of formatDate.toISOString()

on December 20, 2019.

battk, date is like this ’01/04/2020′

I format it and formateDate is “2020-01-04T08:00:00.000Z”

Running it through the format was the only way I could get NS not to error out on setCurrentSublistValue

But I don’t think my problem is the date. I can change ‘expectedreceiptdate’ to ‘quantity’ and hard code a simple value in, and it does the exact same thing: no error, but does not change/update/set the sublist value.

 

Additionally, if it is helpful, I can put a log before and after the commitLine({…}) call and both of those logs will show in the execution log

on December 20, 2019.

Looks reasonable. You probably could have used setCurrentSublistText with date and it should work. That said, are you saving the record?

on December 20, 2019.

When I add rec.save() after the rec.commitLine({sublistId:"item"}); line, I get this error: “INSUFFICIENT_PERMISSION”,”message”:”Permission Violation: You need a higher level of the ‘Transactions -> Purchase Order’ permission to access this page.  

But here’s the thing  . . . I already have that permission set on the role that is executing this script (set the role in the deployment, set Transactions -> Purchase Order’ on the role). So I am not sure why I am getting that permission error when it is clearly set, and indeed, I got that error the in the GET part of this suitelet when I was building the form. So, is the POST / form submission breaking that permission?

on December 20, 2019.

So I didn’t have the permission of ‘Transactions -> Purchase Order’ quite high enough . . . I set it to Full.

But still, same thing: nothing happens. No errors (so setting it to high removed the permission error), but save didn’t fix it either.

on December 20, 2019.

Try a simple hardcoded script

var rec = record.load({
  type: record.Type.PURCHASE_ORDER,
  id: "hardcodeMe",
  isDynamic: true
});
rec.selectLine({
  sublistId: "item",
  line: 0
}); 
log.debug('value before', rec.getCurrentSublistValue({
  sublistId: "item",
  fieldId: "expectedreceiptdate"
})); 
rec.setCurrentSublistValue({
  sublistId: "item",
  fieldId: "expectedreceiptdate",
  value: new Date("2020-01-04T08:00:00.000Z")
}); 
log.debug('value after', rec.getCurrentSublistValue({
  sublistId: "item",
  fieldId: "expectedreceiptdate"
})); 
rec.commitLine({ sublistId: "item" }); rec.save(); 

on December 20, 2019.

Hi, I just want to clarify the question a little bit. So do you want to not show the “Pending Approval” button on the Sales Order when the Billing Schedule needed is checked?

 

on December 20, 2019.

Share the code

on December 20, 2019.

Hi Rikta, thanks for answering. I dont want the Junior Accountant to approve any sales order when the field billing schedule needed is checked.

on December 23, 2019.

Ritika, Is it possible to help me with screenshots please? Whatever rule i am creating its not working:(

on January 2, 2020.

Ma, could you elaborate more on “linked as other relationships”? What is the broader process you are trying to complete?  Knowing that would help in answering your question.

on January 6, 2020.

I don’t think you are going to get more help than what Kevin got when he asked in slack without sharing more of your script. Generally the error occurs when NetSuites evaluates a script file and determines that you are using a netsuite module outside of the define function. This evaluation generally occurs in the ui when you try to create a script or edit a file. As an example something like the code below will trigger the error.

log.debug("i", "shouldn't be here");
define(["N/record"], function(record) {/* whatever entry point stuff here */});
on January 6, 2020.

Hello Brad,

We have company that are both Customers & Vendors of ours. Therefore, we would like to upload companies in bulk, as vendor & customer at the same time. Except doing it manually from one of the two records, I haven’t been able to find a better way

Thanks,

Ma

on January 7, 2020.

UPDATE:  The issue was related to a random workflow that no one seems to know why it was added.  Changed the status to Not Initiating and it solved the problem.  Thanks!

on January 10, 2020.

I got this to work by adding the appropriate fields in the footer section of the pdf template.

on January 10, 2020.

Hi Seven,

Have you received any inventory for this item?

Thanks,

Chris

on January 15, 2020.

Hi,

If that’s the case then it might have to be script. Are you able to create a search that picks out only these tasks?

Thanks,

Chris

on January 15, 2020.

Hi,

Could you explain a little further about how the two records are linked?

Thanks,

Chris

on January 15, 2020.

Hi,

Whilst I think you could limit the available items based on the user, I can’t immediately think of an option that would allow you to do it based on another field.

Typically, when faced with this sort of scenario, I have needed to do some scripting of a new custom field that then feeds in to the standard field. But that may not be ideal if you have a large number of items as the scripted fields a standard drop-down.

Thanks,

Chris

on January 15, 2020.

Hi both,

 

thanks for your reply! I am not familiar with scripting, so thats challenging. @ Chris: yes I can create a search to pick out those tasks including the field that needs to be adjusted (unit price, which is per resource, 1 task could have more resources allocated with different unit prices per resources).

on January 16, 2020.

Hello Mohammed,

Could you please give me your email address, I will contact you as we have the opposite requirement, we want commissions to be based on gross amount (NET & VAT).

Kr,

Ma

on January 17, 2020.

Hi Rob,

Please provide me with your email address and I will get in touch.

Ma

on January 17, 2020.

You can go through the NS help and suite answers to understand how it works:

https://netsuite.custhelp.com/app/answers/detail/a_id/88180

If you have any specific question I can try.

Thanks!

on January 17, 2020.

Hi Chris,

I haven’t, and the strange thing is that checking its details page, Netsuite shows the “Record does not exist” page. Changing its Internal ID in the address bar of my browser(currently 1026), to the succeeding and preceding items’ codes loads them up properly.

Would this mean someone accidentally deleted it, or something else? And if so, what are the recommended solutions to restore or recreate the form while maintaining the same Internal ID?

Thanks.

on January 19, 2020.

Would love to see this but all sources say this is not possible.

on January 20, 2020.

Without seeing the filters and columns, I would try decreasing the page size

on January 28, 2020.

We have decreased the page size to multiple different numbers.  We also get the same timeout problem if the methodology is the search.run().each iterator (each search is return less than 10k).

on January 28, 2020.

What are the details in the Login Audit Trail?

on January 30, 2020.

In theory your approach sounds fine. Share the relevant code to see if you are missing somethinig.

on January 31, 2020.

Your question is easy enough that I suspect you arent fully explaining it. You can add a standard item criteria (with an anyof operator) if you want to limit items. And you can add an item result column if you want items for your invoice to appear on different rows.

on January 31, 2020.

@battk I was concerned I may not have elaborated well enough myself. I’ll go through my circumstance with a bit more detail.

 

  I have a search I have designed where we want every invoice with XXX-XXXXX Item number, the issue is that some invoices have multiple entries of this item with multiple different details (description, price, etc) The criteria of what I want to pull is correct, it is how I present it in the results.

There is multiple item filters and subfilter filters, but all seem specific to one item and do not allow any reference of different line items on a list of items in an invoice.  

 

An example of what I would like to be able to do is have a formula similar to:  

CASE WHEN {item.2} = XXX-XXXXX THEN ‘<font color=”#BE2625″ size=”+1″><b>’||{item}||'</font>’ END  

But I have found no information of how to reference specific line items in a list.

on January 31, 2020.

Ive tried reading this multiple times and dont know what you are trying to describe.

on February 18, 2020.

What is the impact of the various brands they supply? How does brand affect your data and/or reporting?

on February 25, 2020.

You can check the Log In Audit Trail details to get a better idea of what the error is.

on February 26, 2020.

@ apaule , Thanks for looking into the issue will check the login audit trail and try to resolve  …..

on February 27, 2020.

We’d like to be able to issue one purchase order, or at least pay one vendor in a single check for multiple brands. Think about Coca Cola — if we carried stock from Powerade, Vitaminwater, Sprite — different enough to want to a degree of separation when ordering inventory or classification, but the same “vendor. “

on February 27, 2020.

I think I figured out the answer to my own question. It looks like you can only apply the new fields to a product invoice, and I need it for a service invoice.

on February 27, 2020.

Did you ever figure this out? I’m running into the same issue . The parent record is a field on the child record but “Show In List” is “No” and I can’t change it because it’s part of a managed bundle. Curious if you had the same issue. Thank you!

on February 28, 2020.

If you get a good answer don’t forget to up-vote and “mark as best answer”.

on February 28, 2020.

I believe items need to be Lot Numbered in order to access inventory details and have USE BINS checked.

on February 28, 2020.

What is the errror?

Do you have Charge Based Billing enabled?

Does your PDF have the rest of the necessary code to render? This is just an in-body snippet, you still have the rest of the needed tags right?

on March 3, 2020.
  1. RE: E-Invoicing UAE – A Comprehensive GuideError Message

  2. Do not have charge based billing enabled
  3. Yes, the pdf does have the rest of the code, I just swapped out the table I had previously setup, with this table
on March 3, 2020.

Sidenote: one change I did make to the code snippet above, before trying to print a statement, was change:

<#list statement.lines as line> to <#list record.lines as line>

on March 3, 2020.

I would caution you concerning their price increases year to year as well as having to upgrade your website Site Builder module to a much more expensive version like SuiteCommerce if they make Site Builder unusable to do eliminating functionality. I have used Netsuite since 2006.

on March 4, 2020.

Hi KAJ710, thanks for the reminder 🙂 I try to do this all the time but got distracted with other matters. I’ll be looking at this today or over the weekend and I’ll update then.

on March 6, 2020.

That is not possible. Why do you want to do that, though? There may be other ways to achieve your ultimate goal.

on March 10, 2020.

You may have omitted some information from your problem. I do not see the issue. You said:

We are a non-profit and I need to be able to hide all donors and their donations (customers and cash sale records) from most roles. Only a few roles will have access to these records.

 

So what is the gap?

on March 11, 2020.

Sorry if this wasn’t clear.  I need to have roles that have access to customer and sales order, but I need to restrict a segment of those customers and their associated transactions from those roles.  So regular customers and sales orders are accessible, but donors and donations are not.  I am thinking of doing this by restricting users to their location only, but that has some drawbacks.  Just wondering if there is another way…

on March 11, 2020.

I’m unsure of any PDF/video demonstrating the pick/pack/ship functionality, however i’d suggest setting it up in your  sandbox account, trialing it then implementing into your live account if you’re happy with it,

We have made a custom script that brings all our sales orders to one screen once they’re ready to be picked, the whole pick/pack/ship process is done from teh one screen. Once its shipped, the sales order disappears from this one screen,

Ideally we’d like to get this into Netsuite workflow or similar setup rather than a script so it can have added functionality, but its still a work in progress project

on March 11, 2020.

This sounds like an error with a filter or column that’s causing a time out, doesn’t look like a size issue. Are there any deleted fields being referenced in the saved search? I would try making the search with less filters or columns until finding what’s going on.

on March 16, 2020.

Need more details, please. Which transaction report?

on March 16, 2020.

I’d be glad to help you but I need more details. Looks like something that can be done through scripting.

on March 16, 2020.

Line field for what? Cases don’t have a sublist section, unless you mean secondary linked records types (like time)?

on March 27, 2020.

I figured it out. There was some custom work done and they set up a custom record and made it into an effective sublist. Thanks!

on March 28, 2020.

I am having a similar problem. With Forms on Custom Record.

An unexpected error has occurred (custform_141_t2161167_331)
Details: The quickAdd value of the name field object cannot be modified.
File: ~/Objects/custform_141_t2161167_331.xml

on March 31, 2020.

Hi apaule,

Even i am trying the same RestWebService (beta) do u have any idea please share to me.Thank u

on April 1, 2020.

Share the search filter Criteria and search Results columns.

on April 3, 2020.

Notification to who?

on April 6, 2020.

Email notification to the customer.

on April 6, 2020.

You will want to share your code, or describe a lot more.  There are several ways you can get a button to make a request to a suitelet, and several ways you can make the suitelet display a pdf. You might also need to share the expressions used in your templates as well.

on April 7, 2020.

You can use different vendor codes for different items at the same vendor I believe.

Say for example you have item ‘A’ (we’ll call it a Water Bottle in this example) in your inventory items, you can add vendor codes for that item for when you order with a purchase order for example.

Will you have multiple brands at both the supplier end and yours? How would this look when it comes to your system, are you on-selling as a single item or multiple different items?

on April 7, 2020.

Thanks man. It is done. I used request.getParameter(recId); recid is the record id passed from beforeLoad. You can see the code below:

function addButtonBeforeLoad(type,form)
{
if(type == ‘view’)
{
var linkURL = nlapiResolveURL(‘SUITELET’, ‘customscript_suiteletforbutton’, ‘customdeploy1’, null);
var param = ‘&recId=’+nlapiGetRecordId()+’&recType=’+nlapiGetRecordType()
var finalURL = linkURL+param;
var script= “win = window.open(‘” + finalURL +”‘,’_blank’);”;

form.addButton(‘custpage_testbutton_2’, ‘Click here’,script );
}
}

 

on April 8, 2020.

Hi Can u please let me know if ur able to integrate payment page using suitelet

on April 9, 2020.

Hi, did you ever get this working? currently stuck with the same issue.

on April 14, 2020.

This error occurs when you read a property or call a method on a null object . That’s because the DOM API returns null for object references that are blank. An object is expected somewhere and wasn’t provided. So, you will get null is not an object error if the DOM elements have not been created before loading the script. In JavaScript , null is not an object; and won’t work. You must provide a proper object in the given situation.

We can resolve this type of issues by adding an event listener that will notify us when the page is ready. Once the addEventListener is fired, the init() method can make use of the DOM elements.


document.addEventListener('readystatechange', function() {

if (document.readyState === "complete") {

init();

}

 

on April 16, 2020.

Hah. I just thought that was my demo account. How annoying.

I’d be shocked to find out you could remove this without creating a custom role in a custom center.

on April 17, 2020.

Crazy! I also posted a question about this. https://netsuiteprofessionals.com/question/how-to-remove-suiteapps-tab-on-customer-center/

Specifically because it shows in the customer center. It’s super confusing to my customers. I don’t want it there and can’t figure any way out to get rid of it. Hoping someone comes up with an answer to this. I’ll be keeping an eye out. I’ve spent hours trying to figure it out and have given up.

on April 20, 2020.

Yup! That’s exactly why I was asking too… Showing up in our customer center. Very annoying.

on April 22, 2020.

Hi Angel,

Have you found a way to address your issue?

If so, how did you?

I have the exact same requirement and I don’t believe there an out of the box feature to support this.

 

Greg

on April 22, 2020.

Hi All, I am presuming this cannot be done?

on April 22, 2020.

seems to work on an update but not a create? if that helps anyone

on April 23, 2020.

Thanks for sharing this! We issued a fix, do let me know if this still persists.

on April 23, 2020.

What field does this correspond to in the UI?

on April 27, 2020.

Very nice go through, been using 2.1 for a while but must have missed that promises are supported server side now

on May 3, 2020.

What is your question?

on May 4, 2020.

Unfortunately, I did not.

on May 11, 2020.

Why do you want to store W9 info on your vendor record in NetSuite? What will you do with that information?

on May 15, 2020.

Did you ever find a way to accomplish this? I have the same issue. The responses below do not solve it, it just does exactly what you described above where it will return that one account alone, which is what you are trying to avoid.

on May 23, 2020.

You’ll probably need to share a lot of your code, specifically the field addition and the form rendering on GET vs POST.

on May 26, 2020.

There’s no difference really, at the end of both GET & POST just have:
`response.writePage({ pageObject : form });`

I am thinking anyone should be able to replicate this, just having a Submit button on the form and then adding an additional certain field on the Form object in scenario of request.method === ‘POST’

on May 26, 2020.

FYI for anyone who comes across this in the future … I ended up using a Formula (Text) field in the search results and added this formula. Depending on the record type you want to indent, you might have to change the fields.  Just modify the padding to increase/decrease the indent.

CASE WHEN {parent} IS NOT NULL THEN ‘<span style=”padding-left: 10px”>’ || {name} || ‘</span>’ ELSE {name} END

on May 26, 2020.

To clarify… Are you asking if the results from Search A can be used as criteria in Search B?

on May 26, 2020.

You probably need to share you your orders are being created in NetSuite. If via SuiteTalk SOAP, then the request xml  from the logs would help. If via suitescriptm the code used to set the shipping cost and tax would be needed.

on June 3, 2020.

mreser,

Did you find the root cause here? I’m trying to set taxcode via a Client Script and am finding that commitLine isn’t working.

Thanks,

Chris

on June 8, 2020.

abbott, I don’t recall exactly what fixed this, but I believe it was the date formatting. Sometimes when the date is not formatted correctly, I receive an error, other times just nothing seems to happen like what happened in this scenario. This seems dependent on the type of SuiteScript and maybe other factors; I honestly am not sure.

on June 8, 2020.

Thanks, mreser.

In case anyone else finds there way here, I think I just solved my issue with:

https://netsuite.custhelp.com/app/answers/detail/a_id/67333/kw/commitline

on June 8, 2020.

So now with https module and using returnexternalurl = true, I do not get the error. However, as response I get an HTML text containing “You are not allowed to navigate directly to this page” and “Log In Again”.

on June 22, 2020.

Use https, set external to false and add

suiteletUrl  = ‘https://YOURACCOUNTID.app.netsuite.com’ + suiteletUrl ;

before the https post. Fetch the base URL from a deployment parameter, or build it using the account ID from runtime if you’re concerned about the hardcoding.

 

on June 22, 2020.

What do you mean by attached an invoice to communication –> Files ??

Where this invoice should attached to which record, can you please verify more ?

on June 25, 2020.

Not to be rude – but if this is an urgent issue, you should probably be working with an NS Partner firm to find a solution. This seems more complex to me than just a short response.

on July 1, 2020.

If you are using suitescript 1 you can use


var internalId = nlapiGetRecordId();

if you are using suitescript use n/record or n/currentRecord 2

Record.id
CurrentRecord.id

on July 6, 2020.

You probably want to explain this better, I cant tell if you have a client script calling a suitelet, or if you have a suitelet with a client script. Its always best to include your code in your question. You should also explain what your data is and what you want to save it as.

on July 7, 2020.

So is your definition of cross-subsidiary fulfillments where the Customer OR the Sales Order subsidiary doesn’t match the IF?

If not, can you describe the scenarios that you want to cover?

on July 9, 2020.

Hi,

Are you doing this with multiple imports or using Import Multiple Files, as described here:

https://netsuite.custhelp.com/app/answers/detail/a_id/9939

Thanks,

Chris

on July 14, 2020.

What do you see logged and so you see any further messages in the Chrome console?

on July 15, 2020.

Hi Katrina, I’ve got a couple of thoughts here:

  1. When you say “chunk just holds the value of the BAI2 file”, is that the string contents of the file? Could you share the code that is setting chunk?
  2. It may not get to the heart of the issue but I’m wondering whether you could group the data before you send it?

Thanks, Chris

on July 15, 2020.

Hello thanks for your response. If executing via pageInit (which is working) I can see .then and .catch executed right after post.promise, when I ran javascript profiler. If executed via clicking the button, after post.promise, it does not show then and catch and jumps straight to the last debug.

on July 15, 2020.

Hi Chris,

 

  1. Correct it’s the string contents of the file. It’s literally pulling the values from a BAI2 file as a string and setting it there. the addDataChunk function is from NetSuite’s financial connectivity plugin
  2. Yes, I’ve tried that as well and it will just error everything out

I’ve been using NetSuite’s standard parser for BAI2 – I think that might be the issue. I’ve verified that the values of these 3 files are being sent to the parser but it seems to be able to only handle one. Unfortunately its locked and can’t be edited or viewed and I’d rather not have to go down the path of creating my own BAI2 parser.

on July 15, 2020.

The things that you will want to clarify are the encoding involved for the encrypted value and the decrypted value, and what they represent. The way you are using the encrypted value in CryptoJs means that it will be interpreted as a Open-SSL compatible format. If it is not, you want to create a CipherParams object. Keep in mind that that will probably involve parsing your encrypted text using an encoding.

Also be very wary about the difference between a secret key and a passphrase. A passphrase is a convenience method used to derive the bytes of a secret key. By default, CryptoJs uses the same passphrases as OpenSSL. If you are working with secret keys and not passphrases, then your secret key has been encoded and you need to use one of CryptoJs’s encoding to parse it as bytes (WordArray in Crypto Js terms)

on July 16, 2020.

How are you looking to print the barcodes? i.e. Is this standard document templates, Advanced PDF, or something else?

Thanks,

Chris

on July 16, 2020.

Could you share a little more detail on the purpose of this transaction as well as what result you are expecting in terms of GL impact?

on July 27, 2020.

First, identify what modules do you need.

Second, try to look for those modules on the internet. I’m sure there are bunch of resources out there 🙂

on July 27, 2020.

Hi Steve,

Which API are you referring to? SuiteTalk, REST Web Services, etc.

Thanks,

Chris

on July 28, 2020.

Chris

It’s the Rest Web Services.

Regards

Steve

 

 

on July 29, 2020.

OK, based on the answer given below, my colleague who started working on this was on the right track.

But we can’t get it to work and not sure what we are doing wrong.

Below is an extract of the relevant bits of code.  We create the ItemFulfillment object and assign it a RecordRef with the interanl id of the transfer order.

The for each TransferOrderItem we create a ItemFulfillmentItem and assign that a RecordRef with the internal id of the TransferOrderItem

Set the quantity.

When we try to add the fulfillment we get Unable to find a matching line for sublist item with key: [orderLine] and value: [1].

 

// Creates a fulfillment for the transfer order
// netSuiteTransferOrderToPost is the TransferOrder from netsuite

ItemFulfillment toFulfillment = new ItemFulfillment()
{
createdFrom = new RecordRef()
{
internalId = netSuiteTransferOrderToPost.internalId,
type = RecordType.transferOrder,
typeSpecified = true
},
tranDate = orderUpdatedDates[netSuiteTransferOrderToPost.tranId],
tranDateSpecified = true
};

ItemFulfillmentItemList fulfillmentList = new ItemFulfillmentItemList();
List<ItemFulfillmentItem> fulfillmentListItems = new List<ItemFulfillmentItem>();
fulfillmentList.replaceAll = true;

// Loop through through the transfer order items
// netSuiteTransferOrderToPostItem is the TransferOrderItem from netsuite
// correspondingUpdateItem is from our system and corresponds to the netSuiteTransferOrderToPostItem we are trying to update

ItemFulfillmentItem ifi = new ItemFulfillmentItem()
{
orderLine = netSuiteTransferOrderToPostItem.line,
orderLineSpecified = true,
item = new RecordRef()
{
internalId = netSuiteTransferOrderToPostItem.item.internalId
}
};

ifi.quantity = (double)correspondingUpdateItem.QtyReceived;
ifi.quantitySpecified = true;

fulfillmentListItems.Add(ifi);

// finailze the fulfillment and add

fulfillmentList.item = fulfillmentListItems.ToArray();
toFulfillment.itemList = fulfillmentList;

service.NetSuiteService.add(toFulfillment);

// the add returns status isSuccess false
// the status details report: Unable to find a matching line for sublist item with key: [orderLine] and value: [1].

 

Thanks for looking at this.

 

Steve

 

on July 29, 2020.

Could you please share both the URL and data that you are currently attempting to use.

on July 29, 2020.

Could you please share a sample of the output that you are seeing?

on July 29, 2020.

Could you please share a sample of the request that you are sending.

on August 4, 2020.

Is it possible for you to share the XML request that is being generated from this code?

on August 4, 2020.

Here is a sample payload.  

{
    "trandate": "2020-01-01",
    "entity":{"id":"1111111"},
    "shippingAddress":{
        "phone":"555-555-5555",
        "addressee":"Buddy Brown",
        "addr1":"11111 Home St",
        "addr2":"",
        "city":"Metropolis",
        "state":"XX",
        "zip":"90000",
        "country":"US"
    },
    "paymentMethod": {"id": 1},
    "department": {"id":1},
    "item":{
        "items":[
            {
                "item":{"id":"115913"},
                "quantity":1,
                "rate":448.99,
"taxCode": {"id":"12345"} } ] } }
​

 

on August 4, 2020.

Share the request xml from the web service logs.

on August 4, 2020.

Hi, how do you know the “as of date” ?

on August 10, 2020.

Sorry for the delay in replying below is the body of the xml message received by NetSuite <soap:Body> <add xmlns=”urn:messages_2019_2.platform.webservices.netsuite.com”> <record xsi:type=”q1:InventoryAdjustment” xmlns:q1=”urn:inventory_2019_2.transactions.webservices.netsuite.com”> <q1:account internalId=”1660″/> <q1:inventoryList> <q1:inventory> <q1:item internalId=”3966″/> <q1:location internalId=”34″/> <q1:adjustQtyBy>10</q1:adjustQtyBy> </q1:inventory> </q1:inventoryList> <q1:customFieldList> <customField scriptId=”customlist_reason_code” internalId=”2″ xsi:type=”SelectCustomFieldRef” xmlns=”urn:core_2019_2.platform.webservices.netsuite.com”> <value internalId=”2″/> </customField> </q1:customFieldList> </record> </add> </soap:Body>

 

The internal id used in the custom field is fro mthe list pulled from netsuite:

Damaged 1
Stock Count Error 2
Rework 3
Obsolescence 4
Work Order Closure Error 5
Shrinkage 6
Internal Consumption 7

 

although we send a 2, the stock adjustment appears on netsuite as Damaged.

on August 12, 2020.

I know enabling Multiple Shipping Routes allows you to put location on the line level for sales order so you can ship items to different locations for customers. I’m not sure that it applies to purchase orders. Maybe use a custom transaction line field?

on August 14, 2020.

I am having the same issue with a brand new SC website. Have you been able to fix it?

on August 26, 2020.

No, I haven’t yet, but it’s interesting that it’s happening with SC, I thought it was because we were using sitebuilder, is it also with Paypal for you?

on August 31, 2020.

Did you ever figure this out? I have the same issue.

 

on September 8, 2020.

Hey, have you tried using the Convert to Custom Record option within the custom list you created in the first place?

on September 10, 2020.

Hi, steps 1 and 2 can be merged with the use of a workflow or user event. The NCMR is loaded (if it is a record, is it?) and the VRA is added. You can also change the process by transferring inventory via a transfer order instead to a dummy location named after the vendor, since you expect the items to come back and the credit is not actually happening. Once they transfer back, you may create another transfer order for it.

on September 10, 2020.

I’m probably stating the obvious, but it looks like none of the existing payment processing profiles support this combo: selected payment method (this is automatically sourced when you set the credit card), currency and subsidiary. I would try to log the values of the Payment Method subtab right before saving the record just to see what’s in there. Also, try to “force” (setValue) of the Payment Method or Processor and see what happens. Good luck!

on September 11, 2020.

Hi Lia, when on the execution are you setting the country? Have you solved this one yet? I’m happy to help.

on September 11, 2020.

Hi, this error doesn’t say much, maybe you can paste your code here?

on September 11, 2020.

I don’t quite visualize it without the output, but I would imagine something like this:

<#list [‘a’, ‘a’, ‘a’, ‘b’, ‘c’] as record >
<#if last_dpt??>
<#if last_dpt != record>
${record}
</#if>
<#else>
${record}
</#if>
<#global last_dpt=record >
</#list>

on September 11, 2020.

Is it work on the client script?

on September 16, 2020.

How are you sending the invoice? Does the XML only contain the PO? And then you need to attach it to that particular email?

on September 16, 2020.

You should maybe just change the item receipt’s item category since that’s the posting transaction.

on September 16, 2020.

Would you send a screenshot? Any scripts? It looks like an item configuration or something missing. I would check if the items on the POs are the same, or the vendor, if they have “last purchase price” on the selected location.

on September 21, 2020.

Did you ever work out how to do this? I am trying to create a similar solution after recently turning on FedEx label integration. I’m trying to set it to the created from document number. I know there’s a way to do this within settings on the Set Up Shipping page, but we have multiple subsidiaries with different requirements for this field. Thanks!

on September 21, 2020.

I want to get the field”recordcreatedby”  by suitetalk webservice,but the response xml does not contain the filed,anyone can help?

on September 22, 2020.

Update: the tax code lookup for Canada shipments is still happening even though the customer’s United States tax nexus is NOT set “Enable Tax Lookup on Sales Transactions”.

on September 24, 2020.

I checked the options on the customer (see attached image) and it looks like it is set right

RE: E-Invoicing UAE – A Comprehensive Guide

on September 24, 2020.

Can you provide more detail? I.e. Website? Excel? What are your requirements?

on September 28, 2020.

I removed your email address – given that this is a public facing website – publishing your email may be unwise.

on September 28, 2020.

Brad, did you figure out how to do the above. I am struggling to set it up.

on September 30, 2020.

You will need to share what type of search this is along with the criteria filters and result columns

on October 6, 2020.

You can delete the auto-populated field before saving the address.

on October 8, 2020.

Thats interesting. Where do you find free-form text input for dates?

on October 9, 2020.

If your search is based on the PO which it should be, then you need to reach into the Item receipt for that information.  There is a field called. “Fulfilling/Receiving Transaction” That will get you the IR, to pull fields from the IR, you need to got to  “Fulfilling/Receiving Transaction…” at the bottom and select fields from that record.  Below is a screen grab of what my search looks like. Bear in mind that this creates multiple lines if there are partial receipts.  So if you want it all on one line and you do have multiple receipts you’ll need to do a summary search and set the date the maximum. That will get you the date of the latest receipt.

RE: E-Invoicing UAE – A Comprehensive Guide

 

 

on October 23, 2020.

Commenting to follow! I am looking to set up something similar.

on November 4, 2020.

I should clarify, with the original package you can call things like L.tilelayer and so on (works fine). But this plugin lets me do things like L.geodesic so it adds the ‘geodesic’ function to the L object.

on November 12, 2020.

To piggy back off this question, since the manual re-authentication every 7 days requires a user to enter a valid Username/Password, does Oauth 2.0 present the same drawback that NLauth had? Basically, if the integration application automated sending the Username and Password every 7 days, that application would still need to update the NetSuite password after it expires (180 days) correct? If this is the case, I would assume that OAuth 1.0 would be the preferred method for an integration that is setup to run in the background without any user interaction. Even though you generate the Token ID/Secret associated with a User/Role, as long as that User stays active, the Oauth 1 Client ID, Client Secret, Token ID, and Token secret should never expire.

 

Any/all feedback is appreciated!

on November 17, 2020.

As a follow up to this, it seems to only be POST/PUT/PATCH requests that are throwing the error, GET requests to beta endpoints still work.   Can anyone provide more information on this please?   Thanks!

on November 27, 2020.

@devmatt, are your GETs still working against beta objects in Production?  If I disable the REST Record Service in the sandbox and try a GET against purchaseorder I am getting the same error as you above.  So just to confirm, based on your screenshot above you have no option to toggle Rest Record Service and yet GETs against beta endpoints are still working??

on December 8, 2020.

Just following up, I’m assuming this may not be possible given no responses?

on December 21, 2020.

Or alternatively if anyone has any way you can report on both inbound shipments and purchase orders in the same search, that would be great.

Thanks, Jordan

on January 6, 2021.

Did this search work?

on January 12, 2021.

Are you using Celigo’s FBA settlement add on or just the basic integration?

on January 13, 2021.

Hello, I am having the same error while to trying partially receive a transfer order using !transform/itemReceipt

on January 14, 2021.

I’m curious: Why would you want to? What’s your use case?

on January 20, 2021.

Are you using Celigo for Shopify <> NetSuite integration? If so a script in IO would be a good solution and easy.

If not or you want to try doing it in NetSuite, you can see if you can use the SQL function


REGEXP_REPLACE

https://www.techonthenet.com/oracle/functions/regexp_replace.php

on January 22, 2021.

i have the same question,  did you made the changes? do i have to create the items again?

on January 27, 2021.

What did you try? The obvious approach of getting both fields and subtracting them from each other and setting the result in another field should have gotten you very close to what you want

on February 5, 2021.

Have you read the SuiteScript documentation? Your question is lazy.

on February 11, 2021.

Can you edit your post and use the code formatting? It makes it so much easier to read

on February 16, 2021.

Not long ago this was a licensed module. Check with your account manager

on February 16, 2021.

Hey Krishaj – Did you find a workaround to your problem?

on February 16, 2021.

Hi Jeff, I’m using NetSuite since a few time, but I would use items in journal entries

have you found how do this?

Kind regards

on February 23, 2021.

Might be related to the current outage. https://status.netsuite.com/

on February 25, 2021.

Thanks Phil. I’ll try after some time.

on February 25, 2021.

Check out this app from Precisely – https://www.suiteapp.com/Precisely-Address-Email-Validation-for-NetSuite

Offers postal certified address verification directly into your NetSuite app

on February 25, 2021.

Please remove your secrets from the post.

on February 26, 2021.

What is the object you are working with?

on February 26, 2021.

Please post your implementation of the signRequest function — it is  likely that your error is there.

on February 26, 2021.

I removed characters from the secrets and tokens, so they are incomplete values

on February 26, 2021.

Has this been resolved already?

 

on March 2, 2021.

I’d just use the soap api to create the transactions that you need.

on March 2, 2021.

Share the code, preferably with hardcoded variables

on March 10, 2021.

Has anybody found a solution for this?  I can’t find a way to remove it for custom roles or custom centers.

on March 18, 2021.

If you can post sample code for your restlet, we can walk you through the suitescript to save the file to  the filecabinet.  You can also do this easily using suitetalk.

on March 21, 2021.

what’s the type of transaction here?

on March 21, 2021.

var file,log;

define( [ ‘N/file’, ‘N/log’], main );

function main( fileMod, logMod ) {

file = fileMod;
log = logMod;

return {
post: postProcess
}

}

function postProcess( request ) {

if ( ( typeof request.function == ‘undefined’ ) || ( request.function == ” ) ) {
return { ‘error’: ‘No function was specified.’ }
}

switch ( request.function ) {

case ‘fileCreate’:
return fileCreate( request )
break;

default:
var response = { ‘error’: ‘Unsupported Function’ }
return response;

}

}

function fileCreate( request ) {

// Load the file.

try {

var myfile = file.create(
{
name: request.name,
fileType: request.fileType,
contents: request.contents,
description: request.description,
encoding: request.encoding,
folder: request.folderID

}
);

// Save the file and get its ID.
var fileID = myfile.save();

// Load the file.
myfile = file.load( { id: fileID } );

// Create the response.
var response = {};
response[‘info’] = myfile;
response[‘content’] = myfile.getContents();

return response;

} catch (e) {
return { ‘error’: e }
}

}

on March 22, 2021.

Are you still having the issue? We are. All our users are using Incognito mode, but it’s hardly a long term solution.

on March 23, 2021.

Yes, still having issue. I found another thread on reddit (r/chrome) –it doesn’t look it is just Netsuite. 

It is also not every user here.  We are about 50-50 here with the stations having this problem.  Same version of chrome.  My laptop doesn’t seem to have this problem, I have tried everything I know to recreate, but can’t.   

on March 24, 2021.

We have a similar issue , did you find anything?

on April 1, 2021.

just serialize it manually

on April 7, 2021.

Maybe should have mentioned that we do not just set rate, other fields that are set: item, isbillable, price, rate, overriderate, class.

We have tried to use commitLine and then selectLine again and it looks ok, but then the row cannot be saved after adding description and hours due to the service item. Even though an item is added and it is visible we get an error saying “Please enter values for: Service item”.

on April 8, 2021.

Can you add the rate upon validateLine or does the user need to see the rate before clicking okay?

on April 8, 2021.

Never mind. I found the answer to my own question. Looks like Documents > Mail Merge > Bulk Merge does the trick!

on April 8, 2021.

Preferably they should see the rate before saving the line

on April 9, 2021.

Hi,

I am running NetSuite version 2021.1 with the Beta REST API enabled.  I have a working proof of concept of using the REST APIs with OAuth2 with a user available to authorize the request when the access token expires using the authorization URL.

I would also like to use OAuth2 for long-term system integrations via cron jobs where a user is not available for authorization.  I thought OIDC was the answer.  However, I have yet to get it working.

My questions are

  1. Does NetSuite 2021.1 support OAuth2 long-term (meaning no user available when the job runs and no password expiration) system-to-system integration?
  2. If so, is OIDC part of the solution or are my expectations wrong?

As mentioned above by the previous poster on this subject, any feedback or insight is appreciated.

on April 21, 2021.

I usually use this to get what exactly in NetSuite UI

<#if record.checkbox == true> [<span style=”color:green; font-size:12px;”> √ </span>]<#else>[<span style=”color:red; font-size:12px;”> X </span>]</#if>

on April 23, 2021.

maybe each time you are using with a different user,  and that user needs write permission/read permission for that directory.

on April 29, 2021.

are you using cash sales or invoice & payment.

on May 8, 2021.

Expect to share enough code to reproduce the problem. The code you shared is not enough to reproduce the problem. Running it would make no changes to any record.

on May 20, 2021.

Try few things:

1. Try updating payroll information and run a dummy paycheck to see how hours are reflected under Available Now tab of the Employee record.

2. You can always use Time-Off Changes feature to update the balance for an employee.

on May 21, 2021.

Can you check if approval status with id 11 is not inactive now?

on May 25, 2021.

I do not see approval status being setup anywhere else in the system. Any idea where I can check the active items? It is certainly providing all the values within the workflow.

on May 25, 2021.

Formula (Numeric) | {quantity}-{quantityshiprecv}

Kind of like this on a search but per line Item on the transaction form

 

on May 25, 2021.

Hi, We have not currently go this to work as required.

on May 26, 2021.

The following is from SuiteAnswers:

 

Resolve Error: “Syntax Error in the SQL Statement” When Using LISTAGG Function in ODBC

Published 06/12/2020 05:06 PM   |    Updated 03/31/2021 03:26 AM   |    Answer Id: 93558

Applies To 

Product:  NetSuite 2020.2

Scenario 

The user wants to use LISTAGG function on their ODBC query, however, they get the Error: “Syntax Error in the SQL statement”. 

Solution

The LISTAGG function is not supported by SuiteAnalytics Connect. It’s not compliant with SQL-92.

on May 31, 2021.

ChasePounders did this help?

on July 20, 2021.

I think your post just saved me a ton of time and effort! Thanks!

on July 21, 2021.

Use nlapiCopyRecord api

on July 25, 2021.

But this code snippet is from version 1.0, correct? Wouldn’t that cause a conflict?

thank you anyway

on July 26, 2021.

Sounds like you are pulling those additional lines in from the purchase order. Set the main line to true under the purchase order fields and you should be able to get rid of those dups.

on July 29, 2021.

Hi Liran, Can you provide some additional details? Depending upon the field type and reference to the vendor record, this can likely be achieved via a NetSuite Workflow or as part of the custom field itself, using the “Sourced From” functionality.

on August 5, 2021.

@Chris Abbott, thank you very much! I did stumble my way here and that link solved my issue!!!

on August 9, 2021.

any suggestion on this, please?

on September 4, 2021.

We are also looking for a solution like that 🙂
Have you received any solution ?

BR

Hakan Magnusson

on September 8, 2021.

Please check out this [stack overflow answer which answers your question].(https://stackoverflow.com/questions/52172297/netsuite-unable-to-get-sublist-line-count)  The sublist id will be RECMACH + the script id of the custom wbs record

on October 5, 2021.

Tnx. Thus, I’m not working on a custom record. “Allow Child Record Editing” is not applicable to “standard” record that I’m working on. Any other ideas?

on October 6, 2021.

Why won’t inventory adjustment  allow you to adjust the inventory?  That is the standard way to modify quantity on hand.

on October 6, 2021.

are you using the rest api or the soap api?

on October 6, 2021.

We’ve filed a support ticket for this to no avail.  Short answer that support will provide is that this just happens and you should build in retries.

on October 6, 2021.

My bad, I think what you will have to do is to search for wbs records where the project equals the project of interest.  The schema browser (https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2021_1/script/record/wbs.html) seems to imply that wbs is a first class record that you can search for directly.

on October 6, 2021.

But what if the quantity is over on what we actually have ?   How do i clear that extra 356pcs we have ‘On Hand’ if it does not have a Bin Location?

on October 7, 2021.

Are you calling window.webkitStorageInfo in your client script? Don’t be afraid to

 console.log('') 

on October 14, 2021.

We get the same error. It also says TokenRejected in the Login Audit Trail Search. We tried with postman using the Netsuite Postman Collection as well as in python with oauthlib.oauth1 using HMAC-SHA256.

We would appreciate some help here? We could also provide more details.

on October 21, 2021.

Were you able to get this working? We have been stuck on this for months now (same error).

on December 30, 2021.

Hi Parameswarangp,

I need the same, did you receive any answer or any workaround you have done about this case?

Thanks in advance.

Best Regards,

Ahmed Safwat.

on January 12, 2022.

That’s an excellent idea, count me in

on January 13, 2022.

Hello, I have a solution that should work in a saved search if the account structure is the same for all the accounts you are trying to pull, it will always dig into the third “:” set and display everything after it. I am going to give you the formula for this example and then give you the one you should replace your field with. making a Formula(Text) and putting the following into the formula

SUBSTR(SUBSTR(SUBSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,INSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,’:’)+2),INSTR(SUBSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,INSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,’:’)+2),’:’)+2),INSTR(SUBSTR(SUBSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,INSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,’:’)+2),INSTR(SUBSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,INSTR(‘6104010003 OPERATING EXPENSES : OPERATION EXPENSES : OPERATION – TRAVEL EXPENSE : OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION’,’:’)+2),’:’)+2),’:’)+2)
 
will get you
OPERATION – TRAVEL EXPENSE : OPR. – TRAVEL : TRANSPORTATION
 
 
you will want to use the following formula(text) and replace {account}
with the field, you are trying to pull from.
 
SUBSTR(SUBSTR(SUBSTR({ACCOUNT},INSTR({ACCOUNT},’:’)+2),INSTR(SUBSTR({ACCOUNT},INSTR({ACCOUNT},’:’)+2),’:’)+2),INSTR(SUBSTR(SUBSTR({ACCOUNT},INSTR({ACCOUNT},’:’)+2),INSTR(SUBSTR({ACCOUNT},INSTR({ACCOUNT},’:’)+2),’:’)+2),’:’)+2)
 
 
This may not work completely as intended but its as close as I could get without knowing all the accounts
You could always add a case statement around this so you can determine when it should go build that
on January 25, 2022.

quick thought,

Have you tried only getting transactions that are in a ‘pending billing’  status? i.e not partially filled/pending billing

on January 25, 2022.

This is great and would love to collaborate further. I’ve designed and implemented many of the above (sans open source of course).

on January 26, 2022.

Thank you for the suggestion. Most of the orders are invoices, so they are not billed until after they have shipped. The search already filters out orders that are not fully billed (when the order requires billing prior to shipping)

on January 27, 2022.

I was created a custom field in Budget Code Record, through that I can limited the Budget Code based on the Department of the current user.

on January 31, 2022.

What do you mean by “Uploaded on the record”? Have you created a script deployment? Can you share the screenshot of the deployment?

on February 14, 2022.

Hi Pena,

If you still need a solution to this, there is the following option

Setting a Service Item to Create a Project Suite Answer ID:9329

I have the same requirement as you and this looks like a solution, I haven’t been able to make it work yet. The project tasks are not being created.

Cheers

on February 16, 2022.

Hi there,

This seems like solicitation for business, this is a community run Q&A site we prefer that you don’t post any solicitation message. Thanks for understanding

on February 25, 2022.

Were you able to figure this out?
I’ve been picking at SuiteTalk SOAP for a couple months, but it hasn’t clicked for me yet.

There’s ample script examples for most of what I’ve needed to figure out…but not so much for NetSuite.
Would it really be so difficult for them to issue a php library with comprehensive examples?

on March 7, 2022.

double check if the user has at least one role assigned to them in prod. This looks to me that they were accidently assigned the role in SB

on March 17, 2022.

If your still looking for support I have a team of three we can support most implementations and cleanups

 

on March 21, 2022.

have you solved this issue?

on April 6, 2022.

Has anyone found a solution to this request? I’m struggling to find a way to do this as well and would appreciate any help given.

on April 25, 2022.

Hello, Did you ever manage to sort this? We are just about to go Live with NetSuite and I am trying to do the samething. Be glad to hear how you got on?

on May 5, 2022.

note only bank accounts have a currency defined, others can have entries of any currency

on May 5, 2022.

im from PH. if you could consider me, ill send you my cv

on May 15, 2022.

Hi,

I’m not aware of anything but don’t use it all that frequently. How does it crash? Freeze up or any errors?

Thansk,

Chris

on May 23, 2022.

no errors, console will print : null and its basically frozen, until i stop debugger :/

on May 27, 2022.

Hi,

Did you ever find a response for this? Looking to implement the same as well.

on June 2, 2022.

you tried using only :

var value = 2
parseFloat(value )

on June 3, 2022.

You can get the lineItem Id then set it to disabled
Try this https://stackoverflow.com/questions/70863051/how-can-i-disable-line-item-field-without-disabling-entire-column-using-client-s

on July 3, 2022.

Hi. Were you able to print a label with composite barcode?

on August 3, 2022.

I’m guessing you had some rows with QTY = 0?

on September 9, 2022.

Are you using the advanced PDF template or the standard template? Are you trying to add the shipping address to your customer statement template, or you’re trying to add a shipping address to a customer, or both?

on October 3, 2022.

Hello James,

Thank you for responding. Yes we are using Advance PDF template. We have a customer which is a Parent of other customers. We can generate Individual Statement (Consolidated) for the Parent Company. What I am trying to add is the line or statement line shipping to address.

For example a line statement Invoice#1234

 I want to add the ship to or shipping address of that Invoice#1234. 

I have tried ${line.shippingaddress} also ${line.shippingaddress_text} or ${line.shipaddress } but to no avail.

I have tried to look at the NetSuite Record browser but Customer Statement, is not even there.

The Parent Company is requesting to add the shipping address of the statement line (per invoice). So they will know on which child company is that invoice items was shipped.

Hope you can give a light to my inquiry.

Thank you in advance.

on October 10, 2022.

What datepicker popup? Where in NetSuite? Reporting? Scripting? On a particular transaction record? A screenshot could be helpful if you’re not totally sure how to answer those questions.

on October 20, 2022.

Interesting – I’d expect them to be available via N/config.load(), but it doesn’t appear they are. Perhaps a gap in functionality or perhaps there’s some other way, but I’m not aware of it yet.

on November 3, 2022.

I am curious about the actual answer here as well. I have documented some frustrations with how time zones and scheduled deployments work when deploying via SDF in this github issue: https://github.com/oracle/netsuite-suitecloud-sdk/issues/645. Script Deployments with a scheduled component seem to adjust based on the time zone preference of the user who saved it last.

on November 11, 2022.

It worked on my case. Thank you @Bessy126

on November 11, 2022.

Similar Issue (respone.code is 406 via RESTLet). I am sending a third pary POST request to SharpSpring. I have successfully sent request with 200 response via PostMan and PHP script on a mini test webserver. For some reason RESTLet https.post does not want to return the results. My Headers, body and URL are transcribed exactly to NS SuiteScript.

I have been storing my headers as such:
let headerL = [ {“Content-Type”: “application/json”}, {“Accept-Post”: “*/*”}, … etc …];

 

//Third Party body syntax (again, successful outside of NS RESTLet)

let reqBody = {
“method”: “getLeads”,
“params”: {“where”: {}},
“id”: “9999”
};

 

Finally the actual request:
let resp=https.request({
method : https.Method.POST,
url: urlSS,
header: headerL,
body: JSON.stringify(reqBody)
});

resp.code returns 406. I have also tried https.post with simalar results and several permutations of the same thing.

This is a rough one and not sure where the failure is at.

Overall, I’m fairly certain that NS has an issue with the headers but unable to confirm.

Will someone kindly assist on any issues or syntax or similar experience and troubleshooting solution?

on December 1, 2022.

Can you describe the steps to reproduce?

on December 8, 2022.

We have a free SuiteApp that can help. Shared Vendor Bills has been deprecated, but you can download Shared Transactions from the SuiteApp store.  The free version supports line-level intracompany allocations and does a good job of replacing NetSuite’s Shared Vendor Bill

on December 19, 2022.

Not possible with Workflow alone. Either use a Workflow Action Script or a Client Script.

on January 3, 2023.

Did you get it figured out?

on January 16, 2023.

/**
* @NApiVersion 2.x
* @NScriptType UserEventScript
*/
define([],
function () {
function beforeSubmit(context) {
try {

var totalQuantity = 0;
var totalQuantity_rec = 0;

var po = context.newRecord;
var itemCount = po.getLineCount(‘item’);

for (var i = 0; i < itemCount; i++) {

lineLevelQuantity = po.getSublistValue(‘item’, ‘quantity’, i)
if (lineLevelQuantity != ” && lineLevelQuantity != null) {
totalQuantity += parseInt(lineLevelQuantity);
}

}

for (var j = 0; j < itemCount; j++) {

lineLevelQuantity_rec = po.getSublistValue(‘item’, ‘quantityreceived’, j)
if (lineLevelQuantity_rec != ” && lineLevelQuantity_rec != null) {
totalQuantity_rec += parseInt(lineLevelQuantity_rec);
}

}

po.setValue(‘custbody80’, totalQuantity);
po.setValue(‘custbody81’, totalQuantity_rec);

} catch (e) {
log.debug({
title: ‘Error Details’,
details: e
})
}
}

return {
beforeSubmit: beforeSubmit
};
}
);

on January 29, 2023.

An please don’t be offended by the “Sales Pitch” comment.  Nothing personal.

Basically I don’t want you to “tell” me what you can do, I want you to “show” me what you can do.

I am not a fan of Sales People after 40 years in the business world and really have no use for the “hype”.  I am very much a “prove it” kind of person.

Thanks

on March 8, 2023.

Customer Segments is a custom entity and the source is “Entity Group” List/Record but “Entity List” isn’t listed under custom lists or custom records

on March 29, 2023.

This is what my header currently looks like.

 

Authorization: OAuth oauth_signature=”0wrt/F%2BMG457YiEZvK36CPN/LCijt6kzlbhLqYPzN6c=”,oauth_version=”1.0″,oauth_nonce=”1115680″,oauth_signature_method=”HMAC-SHA256″,oauth_consumer_key=”732d1773826c5f43f78b4963343ae01e33311f46bc8bc0553d9f886306693683″,oauth_token=”76bc81b1c4b48061a7242302653c6fa34337fa0677c50992e276f2655e4ef61d”,oauth_timestamp=”1680797548″,realm=”4677524″

on April 6, 2023.

Some progress.  I am able to get 200 OK now from Postman and from C#.  However nothing comes back but a empty response. When I run the restlet from being logged into my account and going to the deployment url throug NetSuite’s UX I get results. Why are the results not coming back in Postman or my App?

on April 6, 2023.

Find the issue on my roles permissions. If anyone needs help with this in the future just let me know.

on April 7, 2023.

I’ve had a look round but have no idea. Perhaps something for a future feature, maybe in APM?

on April 14, 2023.

Are you using a standard field or custom field?

on May 3, 2023.

Standard field

on May 3, 2023.

Hi Abushell,

Did you ever find the answer to this? I have the same problem. Using Suite Analytics Connect ODBC and we cannot find the Inventory detail/Inventory status to give us some insight into transactions and the inventory status that the item has

Regards

MikeR

on May 11, 2023.

I am also getting same error.

My eclipse  mars IDE version – 2023-03 (4.27)
Suite Cloud IDE version – 22.1

Please give solution if your problem was solved.

on May 15, 2023.

…  we set up a custom field with the alt email address, and then set up a workflow to send email to the alternate email address instead of the main email address.  So the sales team would use the standard “Email” address and the Accounts team would use the alt. email address

on May 17, 2023.

Thank you for your response.

Unfortunately, I don’t know what is Workflow or how to make use of it and would be very  grateful if you could explain step-by-step how this could be done, please.

P.S. I do have the field of the alternative email address on the customer’s page…

on May 17, 2023.

Nevertheless, This is resolved. It is a preference need to be enabled under setup.

on May 26, 2023.

2 years later and this is still an issue in NetSuite. Did you get this resolved LauraG?

Thanks

SMP

on June 15, 2023.

Hi,

 

I am also trying to connect via ODBC to DBeaver but I keep getting error messages. Can help me how  you have made the connection?

 

Many thanks,

Jeroen

on June 27, 2023.

Enable logging for your workflow then check the history/logs on records that don’t send the email for any errors

on July 4, 2023.

Setup a workflow on the expense report record that changes the due date upon create of a new record. Use a custom field sourced from a saved search to get the dates from the expenses lines

on July 4, 2023.

In the PDF template builder type your text. Then select your text and in the formatting toolbar click the link icon. Put your URL in the url field and save

on July 4, 2023.

This repo contains a working example of Jest unit tests for modules which include other modules, including custom and native modules.

on July 12, 2023.

Thanks, this help me debugging and fix the issue.

on July 20, 2023.

This question was also asked/answered in the #general channel of the Slack workspace:
https://netsuiteprofessionals.slack.com/archives/C298P0BCK/p1690481889501009

on July 27, 2023.

Hi! My colleague and I ran into this issue this week. We were able to get around this issue by ensuring the ‘aracct’ field is in the Invoice payload and that same account is used on the ‘account’ field in the Customer Payment payload. Once we ensured those were present, all worked great for us!

on August 1, 2023.

already see this if you have other solution to solved much appreciated https://stackoverflow.com/questions/44168920/does-netsuite-advanced-pdf-template-support-absolute-positioning

on August 17, 2023.

The sales order already fulfilled, and we dont want to delete the record to avoid other problems

on August 24, 2023.

also asked/answered in #csvimports and in #general

on September 12, 2023.

Is this Email Message located to a subtab? If so, I don’t think you can’t set this.

on October 10, 2023.

You are updating the the dropdown selection on a sublist. “OK” or “ADD” is the current behavior that the sublist accepts and I don’t think there is other option.

on October 10, 2023.

Try to check first the recipient you’ve added. Try to remove them one by one and see which recipient produce the error

on October 10, 2023.

Ohh,
Thanks for your comment,
let me know if this possible fieldChange. Also if required full code.

on October 11, 2023.

Did you ever resolve this?  I am facing the same issue.

on October 17, 2023.

Hi

on December 5, 2023.

hello i have the same problem

on December 6, 2023.

this seems to be a defect or something. I tried setting Taxable and Non-Taxable, withe refName and id, but the error is the same.;”Error while accessing a resource. Please enter value(s) for: Tax Schedule.”

on January 18, 2024.

Without knowing the existing architecture that’s creating the CDs, it’s pretty difficult to advise on potential approaches. In general, I avoid introducing artificial delays. Instead, I look to adjust or reorganize the triggers for the various stages of a process. Without more details on your system and desired outcomes, that’s all the more specific I can get.

on January 22, 2024.

What kind of field is this? Is it a custom Item field or a custom Transaction Line field?

on March 12, 2024.

Hi, I face the same issue that I requested from the client side.
Is there some way we can solve this problem?
Many thanks.

on April 24, 2024.

FYI, that SRB browser gets updated occasionally with new releases https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2023_2/schema/record/invoice.html. I’ve fallen into the trap of not using a new one and things have changed, not sure whether that applies to the schema or not. Also, I prefer this one https://<accountid>.app.netsuite.com/app/recordscatalog/rcbrowser.nl

on May 8, 2024.

Highcharts is loaded as a  property of window, but your portlet loads in an iFrame so you have to hit the parent scope to get access to highchairs… e.g.:
window.parent.Highcharts

on May 16, 2024.

What sort of NetSuite work are you looking to do?

on June 14, 2024.

I’ve spent quite a bit of time looking at this and can’t find any joins between those records.

on June 27, 2024.

I appended the following string in and it worked!

 var response = https.post({
           url: ‘https://abc4-dev-ed.develop.my.salesforce.com/services/data/v61.0/sobjects/Customer/’+salesforceId + ‘?_HttpMethod=PATCH’,
                    headers: {
                Authorization: ‘Bearer ‘ + accessToken,
                ‘Content-Type’: ‘application/json’,
                    },
on July 12, 2024.

I am trying the same in JE. I couldn’t set the value for the account sublist field but can set the value for the Amount field. Also couldn’t commit the line. whatever changes made are only applying to the first line. (can set body fields though)

The script,

function pageInit(context) {
        try {
            //custbody_ic_reversal_auto_entry
            // throw ‘skipped for now’
            let currRec = context.currentRecord;
            let subsidiary = getParameterByName(‘custparam_subsidiary’);
            // let date = getParameterByName(‘custparam_date’);
            // let memo = getParameterByName(‘custparam_memo’);
            let repInvs = getParameterByName(‘custparam_repinv’);
            try {
                repInvs = JSON.parse(repInvs);
            } catch (error) {
                log.debug(‘repInvs error’, error);
                repInvs = null;
            }
            if (subsidiary) {
                currRec.setValue(‘subsidiary’, subsidiary);
            }
            // if (date) {
            //     // currRec.setValue(‘trandate’, date);
            // }
            // if (memo) {
            //     currRec.setValue(‘memo’,memo+’ Reversal Journal entry’);
            // }
            log.debug(‘repInvs’,repInvs);
            if (repInvs) {
                currRec.setValue(‘custbody_rep_in_je’,repInvs);
            }
            let lines = getParameterByName(‘custparam_lines’);
                try {
                    lines = JSON.parse(lines);
                } catch (error) {
                    log.debug(‘lines error’, error);
                    lines = null;
                }
                log.debug(‘lines’,lines);
                if (lines) {
                    currRec.selectLine(‘line’,0);
                    currRec.setCurrentSublistValue({
                        sublistId: ‘line’,
                        fieldId : ‘account’,
                        value: lines.acc1,
                        ignoreFieldChange: true
                    });
                    currRec.setCurrentSublistValue({
                        sublistId: ‘line’,
                        fieldId : ‘credit’,
                        value: lines.amount,
                        ignoreFieldChange: true
                    });
                    currRec.commitLine(‘line’);
                    currRec.selectLine(‘line’,1);
                    currRec.setCurrentSublistValue({
                        sublistId: ‘line’,
                        fieldId: ‘account’,
                        value: lines.acc2,
                        ignoreFieldChange: true
                    });
                    currRec.setCurrentSublistValue({
                        sublistId: ‘line’,
                        fieldId : ‘debit’,
                        value: lines.amount,
                        ignoreFieldChange: true
                    });
                    currRec.commitLine(‘line’);
                }
        } catch (error) {
            log.debug(‘pageInit error, Terminating pageInit sequence’,error);
        }
    }
on July 16, 2024.

Are they just not seeing the option when creating a new import?

on July 24, 2024.

Were you able to identify this setup?

on August 1, 2024.

That’s right. Sorry for the delay – I didn’t get a notification of this comment.

on August 5, 2024.

check target version of extension it should be less than or equal to SC verison.

on September 10, 2024.
  1. Navigate to Customisation > Lists, Records, & Fields > Record Types
  2. Search for the SC ExtMech Extension record type, then click its List link
  3. Search for the deployed theme/extension and click Edit
  4. There is target version filed, change version to lower version ex ."target_version": {"SCA":">=20.1.0","SCS": ">=20.1.0"}
  5. Also edit manifest file for the same
  6. Save

 

on September 10, 2024.

I have the exact same problem.  Anyone have a solution?I should mention that submitting our workflow using task.create() works the very first time it is executed on a specific record.  Any subsequent attempts end up leaving the task in a “Pending” state.The exact same workflow works just fine executing with workflow.initiate(), but that doesn’t help me as workflow.initiate() is synchronous and I need the asynchronous functionality of task.create().

on September 10, 2024.

Thanks for the response but neither of those tickets have answers on them.

on September 11, 2024.

any resolution?

on December 16, 2024.

Hello,

I’m a student currently researching the WMS field as I’m planning to create my own project in this area. Since I’m just starting, I’m exploring the topic through various general articles about erp wms systems (just one for example) to get a better understanding of the subject.

Could you tell me if these kinds of resources are suitable for learning the basics, or would you recommend something else for a beginner? I’m finding it a bit difficult to navigate this topic as a newcomer, so I’d appreciate any advice or suggestions you might have.

Thanks in advance!

on January 15, 2025.

Ae you still struggling with this?

on January 21, 2025.

Hi,

SuiteScript 2.X allows you to set field values on before load in user event scripts. If this behavior is not happening, then there must be some other script interfering, load time errors which can be checked with debugger, or a browser issue. You can update field values that are blank, or just mimic this logic on the beforesubmit trigger.

on February 5, 2025.

Same question

on February 10, 2025.

Unfortunately, I don not believe this possible.

on February 14, 2025.

I’ve had a look at this but can’t see anything. Do you see any tables at all for files though? I’m wondering whether files are not included at all.

on February 21, 2025.

Hey Sean,

It sounds like you’re looking for a more flexible subscription billing software that integrates well with Salesforce and can handle usage-based billing. There are several options out there, like Chargebee, Recurly, and Zuora, which offer automation for renewals and better customization compared to Netsuite’s native functionality.

Since you’re managing around 400 contracts, scalability might not be a major concern, but having a system that streamlines renewals and syncs with your finance backend would definitely make things smoother. You might find this resource helpful: subscription billing software—it covers key features and implementation strategies for tracking and managing subscriptions more efficiently.

Hope this helps, and I’d be curious to hear what direction you decide to go!

on February 27, 2025.

I’d love to hear what you figured out.  I have debugging on and see an error but can’t figure out how to fix it, and if you had the same thing I’d love to learn from you.

on March 18, 2025.

I believe that the fields your looking for are

Location = From Location.

Transfer Location = To Location.

 

It isn’t entirely clear to me what you’re trying to do, or what you’ve already tried, though.

on March 18, 2025.
  • Could this be due to account suspension, data center migration, or maintenance?
  • Any suggestions on how to resolve this or what to check next before raising a support case?

Any insights would be greatly appreciated! 🙏

Thanks in advance!

on March 19, 2025.

If you’re preparing for the 2025 NetSuite Administrator Certification, it’s a great idea to use a combination of official NetSuite training, hands-on practice within a sandbox environment, and updated third-party resources. Many recent candidates recommend starting with NetSuite’s own SuiteAnswers and training materials to build a solid foundation of core concepts like roles, permissions, dashboards, workflows, and user management. Beyond the official content, using realistic practice exams can be incredibly beneficial for assessing your knowledge and getting familiar with the exam format. One resource that has been particularly helpful for many is the NetSuite-Administrator Exam Questions from Study4Exam. These practice tests are updated to reflect the current version of the exam and simulate real test conditions, making them a great tool for identifying weak areas and boosting confidence before test day. Pairing these with consistent review sessions and scenario-based learning is a smart, well-rounded approach for passing the exam in 2025. If you would like more detailed information or guidance on preparing for the NetSuite Certified Administrator Exam, feel free to send me a direct message. I’m happy to share additional resources and insights.

on May 28, 2025.

Looking to pass the 2025 NetSuite Administrator Certification? A smart strategy combines official NetSuite training with hands-on sandbox practice—but to truly guarantee success, you need exam-realistic preparation. That’s where DumpsMate’s NetSuite-Administrator Exam Questions deliver unmatched value. These aren’t just ordinary practice tests; they’re precision-engineered to mirror the 2025 exam’s difficulty, structure, and content—complete with detailed explanations that transform memorization into mastery. While Suite Answers and NetSuite’s training portal build your foundation, DumpsMate  constantly updated question bank acts as your ultimate performance accelerator, exposing knowledge gaps and building test-taking confidence. Thousands of certified professionals credit their success to this exact resource, making it the undisputed secret weapon for anyone serious about certification. Ready to experience the DumpsMate difference? Their premium materials come with pass assurance—because when your career is on the line, only the most battle-tested preparation will do. Visit DumpsMate today and turn exam anxiety into absolute certainty.

on May 29, 2025.

Could you please share the solution with me? I have the same use case and I’m stuck on it.

on July 15, 2025.

I found that the Netsuite Saved Search Connect tool from DataAnts does this really well. It’s also super cheap compared to most other solutions without the need for an on site expert or developer. You can find DataAnts on YouTube email this dude: sais@dataants.org

on July 29, 2025.

One way around this is to make sure the data feeding those reports is already clean, reconciled, and structured exactly how finance needs it so you’re not constantly re-exporting and massaging numbers.

That’s what we do at Blue Onion, we unify transactions from all your sources (sales channels, payment providers, etc.), automate daily journal entries into NetSuite, and keep point in time accuracy. Then, if you still prefer Excel for presentation, you can pull from a single, consistent dataset without rebuilding every time.

It’s all about making sure your Excel and NetSuite always start with the same truth.

on August 12, 2025.

Did you ever get an answer to this question?

on August 26, 2025.

Have you checked the developer documentation? Specifically the REST web services developer guide? (link requires that you are logged in)

on September 15, 2025.

The steps in the linked article are definitely the ones I would have suggested. I’ve done this several times in the past without issue, so I know that it works if configured correctly.

Perhaps you can provide screenshots of the custom record and the related subrecord?

on September 15, 2025.

Hi, I worked it out.  The field ‘Show in List’ was set to ‘No’, when I set it to ‘Yes’, it worked.  Thanks for replying.

on September 19, 2025.

I don’t believe this is possible.

on October 1, 2025.

It’s been a few years, but I believe your question is a duplicate of this question: https://netsuiteprofessionals.com/blog/question/netsuite-suitefoundation-exam/

on October 3, 2025.

I noticed that you have the ignoreFieldChanged set to true when setting the vendor ID. Is there a reason for that? I wouldn’t have thought that would affect something like this, but perhaps it does.

Can you confirm that the vendor in question is setup as part of Subsidiary 5? I’ve done a lot of stuff with subsidiaries and vendors, and not having the vendor/subsidiary relationship set up is somewhat common (in my experience).

on November 4, 2025.

More data is needed to answer this question:

  1. How many packages are you shipping per day/week/month?
  2. Do you have existing hardware/software that needs to talk to the system?
  3. How big is the warehouse?
  4. Do you need license plating?
  5. Do you need wave picking?
  6. Do you need to shop around for freight for LTL?

You may want to refine your requirements a bit before you ask this question.

on November 4, 2025.

Based on the article, I think you unzip the files from the download link, and they should inflate to the correct locations. Is that not the case? If not, it sounds like you need to create the files on your file system.

If you post your gulpfile.js and your folder structure it might help us.

on November 4, 2025.

Have you tried connecting with the SDF CLI tool for Node or Java? Could you try using one of those to authenticate and report back?

on November 26, 2025.

It would help if you posted screenshots of the criteria and results pages of your saved search.

on December 5, 2025.

Most likely it’s one of these 3:

1️⃣ Custom form button
Go to Customization → Forms → Transaction Forms → edit the Sales Order form.
They probably hid “Approve” and added a custom button called “Book.”
Just rename that to “Place Order.”

2️⃣ Workflow button
Open the Sales Order workflow.
Look for an “Add Button” action or something hiding the standard Approve button.
Rename it there.

3️⃣ Script (less common)
Check Script Deployments on Sales Order.
Search the script for “Book” or addButton.

on February 17, 2026.

ping me – managed NS for a leading Fusion Energy company

on March 31, 2026.

Best way: copy PO memo to Item Receipt with a User Event or Workflow.

on April 3, 2026.

The use-both answer is right for raw model selection. The piece nobody is talking about is what sits between the model and NetSuite. If you let either model talk straight to SuiteQL through a thin connector, you get fast prototypes and fragile production. Three things worth adding before you ship: a typed schema layer so the model cannot invent fields, an evidence block that echoes the SuiteQL it ran and the row count it returned next to every answer, and skill files the model loads up front so terminology like SO vs PO vs IF is consistent across users. Disclosure: I work at eyko. We layer over NetSuite, JDE, and BC and use Claude and OpenAI under the hood for the reasoning passes for exactly these reasons.

on April 29, 2026.

Hello, I see this is a very old post but I had this issue recently. This thread showed up on google and I managed to solve it for my use case.

This SuiteAnswer lead me to the answer.

Creating Inventory Adjustments via SuiteScript Returns Unexpected Error

One possible cause for this is because there are customizations that is trying to set the main body Location field on the Inventory Adjustment.

The body location field on the Inventory Adjustment record is Adjustment Location, and the correct value to use when setting this field is adjlocation.

 

Manually setting adjlocation solved the issue for me.

on May 7, 2026.

Has your problem already been resolved?

We are troubled not only by slow paging but also by frequent timeouts.

on May 15, 2026.

Your concern is valid. Treating managed client funds as AR can create accounting distortions since you’re not recognizing receivables—you’re acting in a fiduciary capacity.

I’ve helped design NetSuite workflows for similar trust/fiduciary fund scenarios. A cleaner approach is usually to track each client’s balance through liability accounts (or sub-ledgers) while keeping the pooled bank account fully reconciled. Happy to review your setup and recommend a native, audit-friendly workflow that also produces clear client ledger statements.

on July 5, 2026.

This happened to us as well.  All users and roles except Admin spontaneously lost access to KPI Scorecards. NetSuite permissions broke over the weekend when no one was using it, so it was not caused by us. All users except Admin now see a “Not enough permissions” when viewing a KPI Scorecard. We confirmed that nothing has changed. Everyone has full permissions to KPI Scorecards. Three roles were affected. We tried removing the scorecard and re-adding it. We tried other KPI scorecards and none will load. We can click direct links to the scorecard and see the content. However, it will not populate on the home page dashboard, so it’s the widget that broke and not access to the KPI scorecard. The widget being removed and re-added does not solve it.

on July 29, 2026.
Add Comment
1 Answers

Yes – UAE e-invoicing is mandated under Federal Decree-Law No. 16 of 2024, with solution providers to be accredited by Q4 2024 and legislation updated by Q2 2025, leading into a Phase 1 go-live in July 2026

Rookie Answered on May 17, 2025.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.