In this episode we address a topic that comes up often when dealing with NetSuite, and really any type of cloud software. That is: Do I need to perform backups, and what do I do about them? We discuss the use of full CSV exports and System Note exports, and the use of automation software such as WGET. Then we look at the use of third party products such as those provided by Sesame Software which also work with the Salesforce CRM. We also talk about the backups that Oracle does for the NetSuite system, corrupt records, and accidentally or maliciously deleted records.
Hi, and welcome to our new weekly series titled, Ask the Professor, here at erpprofessor.com. The first question that we have comes from Tom. Tom writes, "Hey Professor, nice site. Thanks for putting it together. I woke up this morning in a panic after having a dream or rather nightmare about NetSuite and disaster recovery. Do you know of any way to download a backup of our NetSuite database, and keep a transaction log locally at our location? Obviously the next question would be how to use that backup if you needed it. My main concern is not the loss of a data center, but more having to deal with a corrupt database. If I could restore from two days ago and then even manually process a transaction log I'd have a good chance of recovering. Any thoughts on that?" So Tom, to answer your question, I do have some thoughts about this. First, it's a very good question and I've been asked that question quite a bit. So you're probably right, there's very little chance of NetSuite going down all together, and even having a data center go down, they do have backups, they will restore those if they had a data center failure. That's not really the problem. The problem that I've actually seen is one that you don't bring up which is, what if somebody deletes a record or something like that? But you are also right about the question of, you know, getting to a transaction log. So there's a few options that you have that I can talk about here. The first one is that if we go to "Set Up," and go to "Import/Export," we can choose "Full CSV Export." And this will bring us to a screen where we can submit our request and get a full CSV export. Now, I will tell you about this that right from the beginning it's typically not configured correctly. And one way you can tell this is actually doing the export, opening it up and seeing that all of your data is not there. Now, there'll be some of the data there and some of it won't be. This export is based on safe searches and so you'll need to configure certain safe searches for this export, and that's something you can take a look in NetSuite's "Help" and it'll walk you through how to configure the different safe searches. Now, if you're looking for the dirt cheap solution, this is it. This is actually decent once you get it all set up, and you can set up to export just the records that you really care about. So if you have other records in NetSuite that you don't use, you don't have to set those up, or if there's records that you aren't really caring about, maybe you only want your accounting system to be exported. That's fine you could do that here as well. Another option that you can use is if you go to "Reports," "Saved Searches," and "All Saved Searches" and choose "New." You can scroll down to the bottom and create an export for system notes. So if I click on this we could actually do a system note export. Now, system notes are the notes that show up when you go into any type of transaction or record, and it tells you what's happened with that transaction or record. And so what you could do, is you could set up a saved search to export system notes, or to show system notes for all the different records and have things like the record type, record ID, things of that nature show up. And you would then run that search and that search could show maybe the last few days of transactions. And so you run that search maybe once a day or you can even run it hourly and download the results of that search. Now, obviously that's time consuming because you need to go and do a CSV export on that search. But one of the tools that you could use to do this is a tool called Wget. Now, basically what it does is it takes a URL, like you see up here or any other URL, and it will download whatever's there. So if you were to go to a saved search in NetSuite and you ran it, somewhere there's a URL up here that tells you what search you're running and potentially some other variables that you're passing to that search. If you had Wget run that search, Wget could actually download that and you can schedule this because this is a program that you just set up on a server. You could schedule it to run once an hour or something like that. Now, if you did run it once an hour, as an example, you wouldn't want the search to only return results for the last hour. You'd actually want to configure a little bit of redundancy there. So you'd probably want to configure the search for the last few hours or something like that. There'd still be some issues in looking at the data. If you configured it once a day you might go back several days, and even if you configured it once an hour, you might go back several days. What would happen is, eventually, you would build up this long history of all the things that you've done in NetSuite. This also helps with the problem of a record being deleted, so what I mean by that is not that somebody cancels a record, but that literally somebody goes into a recent record, and so I'll just go ahead and open up this bill, and if I were in this bill, and wait just a moment for it to come up, one of the things that I can do if I go into my edit, if I go into "Edit" for the bill and scroll back up the top I can choose to delete. Now, this deletes all record of this bill. This deletes the record altogether, so it's something that only administrators should be able to do just because you can't take that away from them. It'd be nice if you could take it away from everybody. However, doing that transaction log search, like I was saying, with Wget for the most part prevents this because as long as that transaction or whatever had been in there long enough, it would actually download that and so you'd see it there and then it would go away in the next search or something like that if you'd ran it every hour. So those are a couple of options. Another option is Sesame Software, and so Sesame Software is a company that makes software for backing up all types of different cloud provider software. So, they do have one down here for NetSuite, they also have it for Salesforce and this is actually what a lot of customers like about them, I think is that the same software can be used for NetSuite and Salesforce. And to be honest I've seen a lot of installations where people do use NetSuite and Salesforce now. I think that if you know NetSuite's CRM, and you know how well-integrated it is, you'd probably like it better than Salesforce. But a lot of people like Salesforce and Salesforce is one of those things that, realistically a sales organization just starts putting in without any consultation from the rest of the business. And because of that a business grows and they have NetSuite and they have Salesforce as their CRM. But like I say, this can back NetSuite and some other cloud software as well, so this is one of the ones that I recommend. Now, there's a few others if you just go Google NetSuite software backup, or NetSuite backup you can find a few other places that do this. But this is the one that I have worked with people who have used it and they really, really like it. You back it up basically into a database, it doesn't recreate the exact same database structure that NetSuite has. The truth is that when you look at NetSuite's database it's actually a series of views, it's not necessarily looking at the database itself. So it doesn't actually recreate NetSuite's database, but what it does do is give you a database where you can actually go and look at the records and they're in some form usable. Now, I've never actually used this software myself. My team was in the process of implementing this at the last company I worked for, and once we were acquired we kind of moved away from NetSuite as it was anyway, so there was no need for the software. However, like I said, I've worked with several people who have used this and they say that it's really, really good software. One last note actually, and I forgot to mention this about Wget is that you'll notice here, which this was our second kind of option to get this system logs. Wget generally is for Unix, but there is actually a Windows port for it, you know, it's kind of says it down here as well. There is a Windows' port, and so what you do, like I say, you'd set that up on your server and then run in real time. This Sesame Software would also have to have a server as well, so either way, you're going to want a server. Now, it doesn't have to be a dedicated server just to doing this. You could use a different server or something like that. But those are the best three options that there really are, so I hope that this answered your questions. If anybody else out there has questions, feel free to send them to firstname.lastname@example.org, or go to our contact form on our website, that was actually how we got this question, and submit that to us and we will potentially put it in one of our weekly video series, Ask the Professor. Thanks for watching and have a good week.