I'd be careful with downloading any chrome extensions which could gain full access to NetSuite.com domain. The extension could potentially see the NetSuite login-cookies that could pose a massive security issue. (Also the user who just posted this has literally created their reddit account today. )
So there is the old way of using a virtual location for Vendor B and assembly items in NS. DM me your email address and I'll send you the best practice white paper.
https://www.screencast.com/t/9u5da9DroEP
Basic flow is:
Setup virtual location for Vendor B
PO issued to Vendor A with Location set to Vendor B (which should pre-fill the Ship To address on the PO with Vendor B's address)
Receive components into Vendor B's virtual Location. You can add landed costs here if you want.
Assembly Build at Vendor B virtual location. You can add a non-inventory item to BOM to capture the cost of Vendor B's services (or you can add Vendor B's costs as a landed cost in next step)
Transfer Order from Vendor B virtual Location to Amazon FBA Virtual Location. You can add more landed costs on this TO if you want.
​
Or the new way of using the Outsourced Manufacturing function. There is a video and slide deck in SuiteAnswers that demos this new built-in method. (Note: This method requires a separate virtual location for each contract manufacturing vendor, so you may not like this, whereas the old method above you can get away with having just 1 virtual location for all the contract manufacturers)
You have to setup a Discount item first, then pick that Discount item in the header (see screenshot), and you can change the percentage in the header from the default percentage set on the Discount item.
So read in the online help about the "Filter By" drop-down on the Item Fulfillment screen. You want "Respect Ship Complete" or "All Items Fully Committed". Since that's an official option in the drop-down, that implies there is an official function for ship complete, so you'll have to poke around in online help to learn about it. I would advise you to read the PDF manual to learn the entire topic, because the PDFs combine all the related online help articles into discrete sections by topic, so it's much easier to read about an entire topic rather than poking around in random online help articles.
This assumes that you create the Item Fulfillment first then print a Packing Slip from the IF record. If you print a Picking List from the Sales Order first and you send the Picking List to the warehouse, then you have a different problem of needing to suppress the Picking List from printing unless you can Ship Complete. I don't know how to do that. So it may be better to just modify your process and use the filter on the Item Fulfillment so achieve ship complete.
It's in the Records Browser for Sales Order. Those 2 fields may not be exposed in saved search. Open a ticket with NS support and tell them that {povendor} is not working, but it should be according to the Records Browser.
Yes it does use the ISO standard!
Go to:
Set Up Countries
That is the entire native list in NS.
Hover over "Afghanistan". Notice in the URL that the id = 'AF'
Screenshot:
https://www.screencast.com/t/RboaYKAeaCE
In your custom record field, type = List/Record, then choose "Country"
In your script:
Var Code = nlapigetfieldvalue('customrecord.customcountry');
On the Item record:
nlaptsetfieldvalue('countryofmanufacture',Code);
That will work
Code contains the InternalID of the Country from the built-in Country list. Then the drop-down on the Item record you set the drop-down using the InternalID
You're not understanding the difference between InternalID of a record and the friendly display name.
It prints the item name already. " Anime Tshirt-T-M " is the Item Name on the item record. If you use Display Name, that should print instead of Item Name. Is that what you want, or are you looking for Sales Description (what copies in the description column on a SO) or Purchase Description (which copies in the description column on a PO) ?
You need to setup your DKIM and SPF because your customer's email server is blocking email from you because it looks like spam. NS sends email using your domain but it comes from NS's IP addresses, so that is spoofing and it gets flagged as spam. DKIM and SPF tell the world that it is okay if email is using your domain in the return address but it's actually being sent from netsuite.com servers.
Yeah, we've done it after we found Skyvia. It's a 3rd-party tool that doesn't require any coding. Thus, we save time and efforts significantly.
I provide SuiteScript training and mentoring services; you can check my website for more details or book a call with me directly.
Sorry this isn't really an answer to your question, but I am really hoping that the new partnership between NetSuite and Microsoft leads to a tight integration with Power BI: https://powerbi.microsoft.com/ . Looks to have huge potential.
You can already integrate with Power BI using the NetSuite ODBC connector (as @BirdsTheWurd mentioned as well), but it is extremely cumbersome to build out the right queries and data sources.
I use rf-smart. We have 1 ct40 and 5 Android tablets with Bluetooth scanners.
https://www.amazon.com/gp/product/B07VDB92RK/ref=ox_sc_act_title_1?smid=ATVPDKIKX0DER&psc=1
Much easier to type on the tablets.
So I've looked into Expense Allocations, and while it looks perfect for my needs, I can confirm it is an advanced financial module feature. This is $14,000 a year normally, but we get 50% off additional modules. Nevertheless, it seems doing it manually once a month is more cost effective than the fee for the module. So we're back to creative ideas to make it easier for free.
http://www.filedropper.com/distributedcostsexample
Here's an example of the current way I create the JE.
Thanks so much for your assistance.
Ok, so here is a real merchant agreement for Stripe who processes all their transactions through First Data.
Note this gets confusing because each acquiring bank makes you sign a contract which has a bunch of restrictions. A lot of the contract provisions originate from the Visa & MC rules where the acquirer has also included them in their contract. Then all merchant agreements have an overall catch-all that says you agree to comply with all V & MC rules.
So it is possible that your acquirer has a stricter contract provision than what V & MC actually allow in their rules. Of course legally you must obey your contract, so effectively the stricter rule wins. Or for example, your acquirer has an older contract which prohibits pre-charging, but V & MC liberalized their rules to now permit pre-charging before shipment (I don't know--just a hypothetical). You are bound by your contract, so the stricter rule prevails.
I tried reading thru the Visa Rules PDF but it's huge and I couldn't find it either. So get a copy of your merchant agreement from your processor and see what's in there. If your merchant agreement prohibits is like Stripe, then you're dead in the water, unless you can argue to your acquirer that Visa changed their rules and therefore the acquirer should liberalize its contract to allow this practice (I don't know--another hypothetical).
Page 16, paragraph 2(a)(ii):
https://stripe.com/files/legal/FDMS_Agreement.pdf
​
>You may not submit a transaction for processing until after the merchandise has been shipped or the service has been provided to the customer. (Visa will permit the immediate billing of merchandise manufactured to the customer’s specifications [i.e., special/custom orders] provided the Cardholder has been advised of the billing details.)
NetSuite will default to the entire file system, like you say. You would need a script to get around this. For instance, a custom email interface can be created that only shows the relevant attachments using a suitelet.
We're happy to work with you on implementing this. If you're just looking for some pointers and want to implement it yourself, we can give you some free tips during our weekly webinar. https://calendly.com/dataongoing/weekly-webinar-dataongoing
This is likely why FiveTran stopped working in early November, but existing users should have been grandfathered to be able to continue using the old netsuite.com data source, so FiveTran should have only broken for brand new SuiteAnalytics Connect users who added Connect module after 11/8/2021. There is still the roadmap issue of what is FiveTran's plan to switch their pipe over to using netsuite2 data source (and then all the tables are different so users will have to re-write all their queries)
​
>Important As of November 8, 2021, new Connect users can access the Connect Service using the NetSuite2.com data source only. If you gained access to the Connect Service before this date, you can still access the NetSuite.com data source to ensure a smooth transition to NetSuite2.com.
Note that the NetSuite.com data source is no longer being updated with newly exposed tables and columns, and support for this data source will end in a future release. The use of the NetSuite.com data source is no longer considered a best practice, and all Connect users are encouraged to use the NetSuite2.com data source. For more information about this change, see New Accounts and Access to the Connect Data Source.
using netsuite.com I can see both TRANSACTIONS and TRANSACTION_LINES tables. In netsuite2.com, can see none of them.
Is TRANSACTION also a joined table?
Try connecting to netsuite.com datasource and see if you see it with OA_TABLES in that old data source with the same credential. If no, then it's permission issue. If yes, then it's what I said that you can't see the joined tables.
Can't use netsuite.com data source as its been deprecated - don't want to set myself up with something that might not work a year from now.
Tried all those other things but to no avail. You can view the notes just fine on the record, which further adds to my confusion...
We don't query it directly so speed isn't so much of an issue, we pull all tables and all data down to a data warehouse and query against that.
Defects ... where do you want to start?
- There are missing fields in netsuite2.com that are available in SuiteQL (they 'should' be identical, that's the whole point of NS forcing the change so everything is aligned)
- Missing fields that are in the older netsuite.com schema
- Primary key columns with null values (so you can't set the PK and do deltas)
- Tables that completely timeout with no response
- Tables that don't return results in a timely manner (some response times are a few seconds, some can be minutes ... even small tables so row count is not the issue)
- No admin access so you have to use the new DWI account (for full access without setting role permissions) which has a joke of a TBA implementation. Not a defect as such, just a PITA when you want full read access to everything
Other than that its perfect! :)
First, thank you VERY much for talking to me about this. I feel like very few people are dealing with this.
Is it just me or is it far, far slower for even simple queries?
What other defects have you found?
Using various software I can probably figure out the changes myself. At this point that's a real pain in the butt, but it's not unassailable. What is deeply concerning right now is - and NetSuite has admitted as much to one of my coworkers - it is considerably, considerably slower. I had to be creative and thoughtful with some of my bigger queries just to get them to run in the 10 minute timeout window we have. Now that that ten minute means a damned sight less than it used to...I don't know, I don't see how it's even remotely possible to migrate. But they're saying they're going to cut the old NetSuite.com service off, so what is there to do?
Hi u/djshubs,
I am with Celigo. We should be able to help. Are you able to hop on weekly office hours at 10am PST tomorrow? They can walk you through this. You can sign up here.
Hmm, we tried it in incognito mode (Chrome) and were able to see September 09/30 as a choice at 2:30PM MT.
Would you mind trying again?
https://calendly.com/dataongoing/weekly-webinar-dataongoing?month=2020-09
https://www.screencast.com/t/1cFqfp5iGTv6
I've never dug into this before.
I see what you mean that there are 3 lines for every one line on the TO.
So looking thru them, Line 0 (with the asterisk) is the mainline. We don't want that.
Line 1 is the line from the TO itself. That is just a placeholder, we don't want that.
Line 2 is the fulfillment. Notice the Qty is negative and the Applying Link Type = "Receipt/Fulfillment". This is the line you want!
Line 3 is the receipt. And notice that Location and To Location are the same value--which is the receiving Location. We don't want that.
​
So Line 2 is the line we want to isolate. Notice these 2 things about Line 2:
Quantity < 0
Applying Link Type = "Receipt/Fulfillment"
That should only give you back the one line for each TO line that represents the fulfillment.
Now since the Qty is negative, you need the absolute value
Formula (Numeric) = abs({quantity}) - {quantityshiprecv}
Now what I don't know is if you don't have a fulfillment yet, then you would want the Line 1 placeholder from the TO and that's way more complicated. But this may be moot: do you always create an Item Fulfillment and use Pick, Pack, Ship and put the IF in "Pick" status? If yes, then you will always have a fulfillment line so we don't have to worry about this use case. Report back your answer.
If you're not using the new outsourcing manufacturing feature in NS, here is a whitepaper on how to do it the old way, which sounds like how you're doing it. Note this says to use Non-Inventory item or Service item for the manufacturing charge, so you're good.
Unselect every item in the Contexts box, then at the bottom it will say "Selected ALL". I don't know exactly which Context is needed for bulk processing. I looked thru the list and couldn't spot one easily, so just turn them all on!
Click on the "Accounts" column so it turns green, then uncheck the "Group" checkbox.
https://www.screencast.com/t/2zw8wAA2
But if you're trying to re-create I/S and B/S from T/B in Excel that's going to be very tedious. For the I/S you need the change in T/B from last month to this month, but the T/B gives you ending balance, NOT change. So you have to take 2 T/Bs and calc the change.
Since that's a PIA, why don't you just export the I/S and B/S from NS as-is into Excel and reformat from there?
After Field Edit is NOT the same event as onBlur in javascript. After Field Edit event only fires if the data in the field was changed, NOT when you tab out of the field! And note that there is not recursive events to prevent endless loops. There is a reference chart in the Workflows manual that describes the events:
It's on the "Accounting" subtab on the Cash Sale. That tab may be hidden on your form, but it's there underneath. If you're not changing the radio button, then the radio button is defaulting from the Payment Methods list, so you need to change the default there.
https://www.screencast.com/t/t7kIM00YQsGs
"Type" has to be the same field type as the "Source From" which is your custom body field
Store Value = Unchecked
Source List = Created From
Source From = your custbody field from the Sales Order
Applied To = Item Fulfillment
I think the Header Discount is converted to a hidden discount line underneath. My suggestion would be create a custom header field sourced to a saved search that searches the lines and gets this amount for you. Then you can reference the header custom field in your template.
There is a field on the Invoice which you can try {discountamount}, but I would run a saved search first of all the transaction lines to understand how NS stores header discounts vs line discounts:
Here I used the console in Chrome. Note I chose "Afghanistan". Then I used nlapigetfieldvalue and notice the value is "AF" which is the 2-char ISO code for Afghanistan. Therefore if your script/workflow writes the 2-char ISO code into the field, NS will pick the correct country.
See screenshot:
What is your business model and use case(s) so we can give you relevant feedback on contract module vs SuiteBilling.
Contracts module is really designed e.g. selling a piece of hardware with service contract attached to it. Or where licenses are sold with the base product that have to be kept track of and renewed. It was NOT designed for SaaS subscriptions. Some customers get by, but that's not what it was designed for.
Here is some reference material, including the Contract Renewals instructions from the SuiteSuccess Leading Practices document for Software vertical.
Your culprit is the "Consolidated Exchange Rate" setting. Read in the online help how the different options affect your saved search. NS will change the Amount using the FX method that you choose in this drop-down. Don't assume that you running the saved search via script with a SearchInternalID uses the same setting that you saved in the saved search, that may be a bug...and you need to explicitly (re)set that value in your script search definition object.
The consolidated financial reports use "Per-Account" so that's probably what you want to use if you want your saved search to balance to a consolidated financial report.
Yes. The instructions contemplate 5 different rebate agreements per line. I'm not sure about the order header level, but isn't the order level basically just the sum of the lines? I think you can just calc what you are calling the order header separately on each line and let the module sum it up.
Here a link to the Rebate Module manual so you can read how it works:
The I/S statement you can use the native method I described above. Pick 12 months in the date range, and change the Column drop-down to "Accounting Period" or "Month". No need to customize. See screenshot:
Here is the native thumbnail picture field on the item record. This links to a file in the file cabinet.
https://www.screencast.com/t/bHDCZeWB
Where are these images currently stored? Don't you already have this problem in your main sales system that they are constantly changing? How have you solved that in your main sales system?
Inline HTML field, set it to nonstored, then use some concatenation logic to concatenate the correct URL. For example if these images are on your public website, then concatenate the URL to the image on your public website perhaps passing the item name as a parameter? I need to see how you do this today in your sales system that is also using these same images.
Good that you setup an external virtual location already! Since you are using just 1 external virtual location, then you still have the problem that you need to override the Ship To Address on the PO. (The above design assumes that you have separate external virtual locations for each vendor, so the address on the location record will be correct; but since you're using only 1 external location, then the address on that location record is wrong and you need to be able to override it on the PO).
Here is a screen shot on the Shipping subtab on the PO. Notice the "Ship To Select" has "- Custom -" That will unlock the Ship To address so you can type whatever you want. But "Ship To Select" is not displayed on the PO form by default, so you have to customize the PO form to display that field.
Hello, I am with Celigo and tested your use case to confirm that it is possible to accomplish what you are trying to do.
Here is a video showing the process, https://www.screencast.com/t/pEYOjvub
As you can see if the source file has the values in a single column with + and - values then NetSuite will put those into the appropriate Credit or Debit column on import.
Please let us know if you have any additional questions.
Check your record renaming screen:
Setup > Company > Rename Records
Here is a screenshot from my account, and notice that Item Fulfillment is called ITEMSHIP as the abbreviation. The abbreviation is used as a prefix on transaction numbers.
Can you just stuff that info into the "Description" field? In fact, I think if you choose the Shipping Item as a line item on an SO it will even copy that "Description" into the line on the SO. (You have to test, but that's generally how Items work to copy from Item record to Transaction record).
Why can't you just click the "Deposit" button on the SO which does exactly that? (You need to be in View mode, so after you save it, then click "Create Deposit")
https://www.screencast.com/t/4IStM8lKpOtw
And to answer your question, what you want is called Transform, not Go To Record.
A Sales Order can be "transformed" into "Item Receipt", "Invoice", and "Create Deposit". Transform take the source transaction and creates the next related transaction in the chain. Go to Record simply navigates to some other record in view mode.
See screenshot. This screen is for US taxation but you are configured for VAT taxes. Do you know if you're using SuiteTax or Legacy International Tax? I would open a ticket with NS support or your implementer. Because again once NS is configured correctly, you should not have to be overriding anything. NS should should correctly determine the tax code based on your subsidiary, the destination country ship to, and the nature of the item. (And I don't know if NS has been updated for non-EU treatment of UK--that's a different question, but may be related here on why NS didn't pick the correct UK tax code automatically)
That sounds like a permissions issue. Go look at your Customer Center role, under Transactions > Generate Price Lists
Scroll down to the bottom where it says "Item Pricing". Expand the tree to see "Item Pricing 1". You can click the circle + to add additional rows. Add however many you need that you have in your file. Do you have columns or rows in your file? If you have rows, then you need just one Item Pricing 1 and NS will import each row of pricing in your file with the same Item Name. If you have columns in your file, then you need to click the circular + and add as many Item Pricing X blocks as you have columns in your file. (It's probably easier to have multiple rows in your file since you need the columns for the different qty price breaks, but that's up to you)
​
Screenshot:
Cary, this is a good question. I found an SA article below. Note that on the Customer Center role, you can define only these forms: Payment, Return Auth, and Sales Order. Those are the forms that are used if the customer initiates those transactions from within the customer center themselves. If you initiate the transactions in the standard UI, then the regular preferred forms will be used per native NS design.
I have a hunch the way the security works to control what fields are displayed to the customer in the customer center, are that only the fields that are marked To Print will show to the customer in the customer center, because these would be the same fields that show on the PDF, hence you must have been okay displaying those fields if you're printing them on the PDF. I have a vague memory I've seen this security concept before, but can't find it. You could test this theory yourself.
https://www.screencast.com/t/EyS6Y4rxr
​
​
Published 03/04/2011 12:16 PM | Updated 08/28/2020 02:48 AM | Answer Id: 9899
When a customer views a sales order in the Customer Center, the form used to display the order depends on how the order was originally entered in NetSuite. You can determine the sales order form that is shown to Customer Center users.
I don't see recipient type. I am on a Vendor record > Communications subtab > Click "Email"
I have a drop-down with fieldid of receipient. This is the union of the email address on the vendor header, plus the email addresses of all linked contact records. All this drop-down does, is copy the email address into the next Field ID: recipientemail field. You can just set Field ID: recipientemail directly and ignore the drop-down.
See this screenshot:
https://www.screencast.com/t/woN7nhYoH
You could also just blank-out recipientemail and then use the Additional Recipients section down below which my script populates. Notice in the Additional Recipients section, there are 3 radio button (checkboxes) for TO, CC, and BCC. So you can pick which type you want the email address to be. So just use the "TO" and that be exactly the same as if you put the email address in recipientemail. Notice my script sets the "cc" checkbox to True. So I would assume that the TO checkbox has the fieldname of "to". You can hack this out by appended ?xml=T to the end of the message dialog URL and reloading the page. It will show you all fields on the page!
Hello,
Accountant here. This is an old program, but they gave it to us in school and I felt like it really helped me grasp what people were doing in the accounting world. It comes with fake invoices that you would enter into the system to learn accounts payable, you create invoices for customers to learn AR, you prepare the financial statements and verify the numbers. I don't know if they are still making it, so you will probably only have used versions unless you can find something similar that's newer. I don't know why all schools don't use these types of programs! Talking about accounting doesn't teach people (that's coming from someone with an accounting degree..)
https://www.amazon.com/Putting-Automated-Accounting-Simulation-Documents/dp/0538677120
The system is doing all kinds of things in the background automatically that accountants used to have to do manually, to see what it's doing, you can look at the GL Impact tab in NetSuite on almost all items that are not Journal Entries.
This is a really common integration use case, and Celigo has several thousand users. Are you on the free edition or a paid edition? Have you stopped by Office Hours to get your question answered in person? You can sign up below:
Leading software review site G2 Crowd has it ranked as the #1 A/P automation on the market: https://www.g2.com/categories/ap-automation?tab=highest_rated
They also partner with Netsuite so you can find them in the SuiteApp. Stampli also helps in automatically doing a 2 way & 3-way match.
Hope this helps :)
I actually switched back to NetSuite.com for development because NetSuite2.com will prevent admins from making queries. Sometimes you just want to query without switching roles.
Thanks. I can query the Accounts table using NetSuite.com instead of NetSuite2.com I'll check out DBeaver when I have a chance.
Now I'm encountering another issue. I ran SELECT * FROM ACCOUNTS and it returned 0 row even though there are accounts. I connect to a different environment, ran the same query and I can see the data in the table.
Any help is appreciated.
Hmm. This code returns true.
<script> const urlParams = new URLSearchParams("https://netsuite.com/?Id=12345&e=T"); alert(urlParams.has('e')); </script>
But this returns false
alert(urlParams.has('e'));
open chrome, go to netsuite.com, login, realize you cannot use the scanner this way.
You need a warehouse management system to use mobile computers/scanners. Either a 3rd party provider like rfsmart, or netsuite's addon, WMS. It is not exactly cheap. If you go with netsuite's WMS, I strongly advise to NOT use netsuite to do the integration
I'll have them look at that. This would be so much easier to troubleshoot if I had some level of developer/admin access. I always thought the netsuite.com email address was assigned 1:1 for a queue, but I've been told numerous times that if the original "to" address doesn't match what Netsuite is looking for it won't route properly. Which, just makes no logical sense to me.
Thank you for the information. Do you know what the initial type of saved search this would be based off to get to the order items area? From the url netsuite.com/app/accounting/transactions/orderitems.nl?whence= I thought it should fall under a transaction type but there is nothing for orderitems. What am I missing to target that area with the saved search?
yeah sounds about right. Good on you to ditch the half-a suitecommerce product. With a 20k hike it's probably time to explore your options. You could get someone to do a great implementation of a lot of different software for 20k. What about https://www.xero.com/us/
Hey u/Vh4n,
I would suggest using a really easy to use small business accounting tool. Many are free these days for small guys. You can keep track of your clients, create invoices, AR\AP, small business expenses, etc. All that fun accounting stuff. Many of them will allow you to collect payments for a fee. Something like this for example:
You would typically want to keep track of the fraction hours worked on a project in a log (or service module like NetSuite's) and when you invoice a client that will be the supporting detail of the invoice. The invoice lines will generally contain date, hours billed, rate and line total.
Hope this helps! Good luck!
Smart and Gets Things Done by Joel Spolsky is a quick read with great advice on assessing and hiring developers, although it may be less applicable when hiring through a staffing firm.