Automate with NLS Service

Learn how NLS Service can help you save time by automating:

  • Interest accruals
  • Campaign generation
  • Report generation
  • ACH file generation

Click here to leave a comment


The NLS system will help us automate various functions of the NLS system, four to be exact.

And in addition there is a fifth option in the NLS service setup that allows us to automate the running of any program that we want to have run on a timely basis. So it allows the Nortridge Loan System to work similar to windows task scheduler but for it to run through the Nortridge Loan System with logging and Nortridge security features.

To start with, we’re going to go to ‘setup’ and then under ‘system setup’ we have the NLS Service, the NLS Service has been configured here locally. So I have a connection to a service monitor host, and here we have some NLS service that I setup and we’re going to talk about the various items that we can automate.

The first and possibly the most important item to automate is the nightly accrual process. I have on setup which we can see the one that I setup yesterday it successfully ran at 1am. When you go to set it up here in NLS Service you’re going to simply hit the ‘add’ button. You’re going to configure the time, frequency (daily, weekly, monthly) or none. In this case we’re doing daily. ‘Target type’ (accruals, ACH, or others) others is that thing I talked about that would work like windows task scheduler. In this case we would set ‘accruals’. And it’s not letting me do it because I already have one, I wanted to show you the one that was configured. Click on that one, and we’ll go into ‘modify’ and look at the setup we already have. Now, we set this up with a description called accrual so for those who are familiar with the process of automating this. In the past you could automate the accrual process through the windows task scheduler by calling a program that located in the NLS bin directory. That program was called NLS accruals.exe and then you would use command line parameters through the window task scheduler to pass the username, the password for the login, and the particular database you wanted to attach to. The windows task scheduler would run that a certain time, log-in, run the accruals and logout.

It’s a lot simpler when we do it from within the NLS service. Since we’re configuring the NLS service in a specific NLS database, it doesn’t need to know which database to do in. It doesn’t need a username or password to logon, because its logging itself on. So the only command line parameter possible and if we pull our cursor over here, we get a tooltip of the available command line parameters is /Y.

/Y says, use yesterday’s date. Now why would we do that? The reason is the nightly accrual process is designed to be ran at the end of every day. But recognizing the possibility that people might work late, so you may want to run it late. If you run it really late, you have a really big database so you run it at 11:30p.m. and it takes more than 30min. to run through your million loans. You can have the safety situation of the system clock changing the date in the middle of the accrual process which is not something you want to have happen.

So, let’s run it at 1a.m. Now, if we run it at 1a.m. the system date has already changed. If we run it for the current day, you come in in the morning and your loans have already been closed for the day, not a good thing. So, /Y tells it to run it using yesterday’s date. Mean every morning we’re going to run it for last night. Then, every morning you come in, your accruals are all up to date. Consequently all your reports are ready to be run, your balance report are going to have your balances as of the end-of-day and so forth and your accrual process is automated.

So running it here in the NLS service, we get all of the benefits of running it inside, which as I said, greatly simplifies the issue, and this is the only command line parameter required.


The next thing that we are going to look at is ACH. The generation of the NATCHA file. If we go into ‘setup’ we can see under ‘loan setup’ ‘ACH’ that I have and ACH header that I called test. And I have an ACH company record that I also called test. We go back to the ‘system setup’ in the NLS service, you’ll see that I setup an ACH run. Now I don’t have any status on it because I told it to run weekly on Mondays. You’re generally going to run your ACH maybe once a week. Some companies run them every day though. So if we look at the setup on this one, what we’ll see is that I set this one up to run at 2am. ‘Execute period’ is ‘weekly’ and we’re running it every ‘Monday’. Now, generally when you do ACH, that is going to be creating the NATCHA file that gets sent to your bank and that is going to be a file that is going to include all of the payments that are scheduled to be automatically paid to you through the ACH process.

Usually you’ll do that for a date range in the future. For example, every Monday I’m going to do the ACH payments for the coming week. When that file goes to the bank, it gets loaded to the bank’s computer and the bank’s computer keeps track of how much its suppose to transfer on every particular day and does the transfer on those days for that amount. You’re doing it in advance and sometimes the bank requires to get the file at least two days in advance for that particular payment, it depends on your bank.

So, for our command line parameters if you go here (hover over the parameters input bar) we’re going to see the command line parameters. It’s going to tell us which ones are required, which ones are optional. The first one required is the company header and you can see that I put /H=Test, then I have /A=Test for the ACH company. The ACH company is optional, so if we don’t put it, it means it’s going to run it for all companies. So I didn’t need that so I don’t have one. Then, the next one /M=+7 is how many days in advance are we running it. So what this is saying here the M+7 is that every Monday I’m going to run it for all of the ACH payments that haven’t been ran yet, up through next Monday. Then /F=C:\ACHFIles\%m%d%y is where we’re putting it, and what it’s file name is going to be. It’s going to create the file at C:\ in the root of our C drive there is going to be a directory called ‘ACHFiles’ you want to make sure that directory exists when it runs. Then, the percent figures as you can see in the tooltip, will define how we’re going to create the file names. So that if it ran today, that file name would be 12.04.13. You can put other text there, not just the date but these are for variable dates that is designed to keep the file name automatically different every time it runs.

In that directory which would’ve already exist we’re going to find a file after it has been run of the appropriate file name and we can send it to the bank by whatever means you have setup with your bank. If I had set this up on a Tuesday and it was set to run Monday, we might have a last successful run, but it has not run yet. So that’s how we automate the generation of the NATCHA file.


Now, the last thing is this one is showing an error that the system cannot find the path specified, which given what I put in here when I was setting up a test, it is completely understandable. The idea is, if there is a program that you want to execute at a specific time and you want NLS to trigger it. But this is not specifically an NLS function, then this is how you’re going to call that. You can let the NLS service call it. So, this is similar into the way we use to call the accrual process from the windows task scheduler before we had the NLS service. If there are any command line parameters required for running that thing, then you can put them in here. System cannot find that path, obviously because it was not actually intended to be found.


There are two other items that we are going to be able to automate through the NLS service and those are automatic update of our collection campaigns and the automatic generation of reports.

The collection campaigns…. But see neither of those are configured from here. So let me show you where we go from this. Collection campaigns we talked about last time, two weeks ago for those of you that were with me then you’ll remember that we setup a campaign. This campaign said that every time it executes it is going to refresh the campaign list with the results of the table loan account, field days past due and if the value in that field is greater than 29 that loan is put on the list. You refresh that by hitting this button (exclamation sign on the right side). That’s going to generate the campaign the actual list of loans. But if we want that to be automatically refreshed on a daily basis, or maybe we’re running this campaign once a week. We’re going to do it by right clicking on the campaign and selecting scheduling service and as long as we have the NLS service configured that’s going to be available and we’re going to get this which you can see the configuration that I put in. Automate Campaign Refresh, 4am daily and I check the box that says: ‘close all active campaign under this tree before creating a new one’. What it is doing is replacing the old one with the new one every day when it runs. That is how we’re going to be able to configure on automatic update of our campaign. If we have a big list of campaigns, we could set that up independently for each one so each one can have a different frequency.

The last thing that we are able to automate through the service is how to schedule the automatic of reports. Let’s go look at our reports tree. To automate running of reports through the NLS service, you need to have a saved parameter for the report. Under the ‘trial balance report’ I have a saved parameter called ‘last day of the month’. Once you’ve setup a saved parameter for a report you can put in, on that same parameter, a variable date. You can see that the one that I put in here is ‘variable date’ minus 1 for current rate. Whenever this report is run, it is always going to give us the day balances for last night. If this is to be my report for the end of day balances for the last day of the month I simply want to automate this to run on the first day of the month. In order to achieve that, once I have my saved parameter, I right click the report name, select ‘schedule and service’ and I select the execution time. You’ll notice that I’m staggering all my automatic things, so that they are not all running at the same time. I told it, execute monthly every first day of the month. Then I have the options to save the report. If I save the report it is going to be saved to the database. I’m going to see a PDF right here in the tree that I can click on and bring it to the screen. I can also send the output to the printer. I can also check the box that if there is an old report in here it is going to delete the old one or replace it with the new one. So you have all of those options for the automatic report generation. The one thing to note, is that if you select it to go to the printer, it is going to attempt to print in the middle of the night, so that default printer better be on, otherwise it is not going to go there.