9
Jan
2012
I have seen several occasions where a consultant is called in to help a company do cash flow projections in SurvivalWare, and many of the base assumptions are already in Excel. The question I get from the consultant: “Is there a way to load this data into SurvivalWare?” The answer is Yes!
The key is to create an Excel file using the exact same names as the Fort Knox model, or whatever model you are using. And label the columns in a way that SurvivalWare can understand – e.g. 1/1/2012, 2/1/2012, etc.
Also: make sure that you do not use the Excel percentage format for percentages. Excel stores these as decimal numbers (e.g. 0.10 for 10%), and SurvivalWare expects any percentages to be 0..100. In the sample below, we convert the Gross Profit Percentage to a SurvivalWare number by multiplying by 100.
Here’s what it looks like in Excel:
Then from the Projections Module select File / Import XLS file…
Here is the result of importing the Excel file. You can import several different files if you want. Each one affects only the variables for which it has values.
Sample Excel file with Sales Projections
Complete list of projection variables in the Fort Knox Model
8
Jan
2012
Here is the problem:
An owner has two units, each with its own set of books. He wants to combine the two units, and then do a single combined budget. When actuals come in again, he wants to combine the history, but leave the combined budget intact..
There are two problems if you simply combine the two center files (of the form, USXXX.MTX):
1. The resulting combined file uses a different logic file (AG-Consol.XL instead of AG-Proj.XL). This means that normal budget calculations, such as allocating sales according to sales mix, are not done. Instead, each line in the combined file is the addition of the same line in the two center MTX files. Percentages and ratios are calculated in the AG-Consol logic file so they don’t get added up. You can check to see what logic file is being used by going to Rusty’s Toolbox, selecting File / Properties.
2. Each month that you update actuals in the two center files, combining them will wipe out the combined budget you entered into the combined file. The budget would contain all zeroes because it would be the addition of the budget for each of the two centers, which contain zeroes in their budget columns.
This implies that Budget vs. Actual reporting should take place at the combined level, too. It also means that the monthly updating and combining of center financials should not disturb the budget.
There are four main steps to accomplish this:
1. Create a CSF file that combined the centers, and uses a special setting to allow the budget to be prepared at the combined level.
2. Combine the two centers using this CSF file to give a historical basis for doing the budget
3. Create a budget at the combined level
4. Each month: Run a special applet to combine the actuals
Use Notepad or any Text Editor to create a CSF file that defines which files to combine. This file must end in the extension .CSF (Not .TXT!), and reside in the ..\Data folder.
In this example, we are combining the two centers, US998 and US999, and calling the combined result “Two-Centers-Combined.MTX”.
From Rusty’s Toolbox, select Analyze / Cosolidate using CSF file…
Browse to the CSF file you just created:
Verify that it references the files you are trying to combine, then click “Combine.” At this point the files are combined, and you are left viewing the combined file in SurvivalWare.
Enter the budget module just as you would for an individual center.
Here is a screen shot from the Revenue sub-module in the Budget. Note that the name of the Combined file appears in the Window title.
Click on the Automator Icon from the main menu, and select the applet, “AG-Combine-File-History-but-Leave-Budget.RCL”
Browse to the CSF file to use for combining, and also the last historical month to combine, then click OK.
Sample CSF file (put this in ..\ AlphaGraphics\data\)
www.survivalware.com/download/Twin-Centers-combined.CSF
Special combine applet (put this in ..\AlphaGraphics\UserStuff\)
www.survivalware.com/download/AG-Combine-File-History-But-Leave-Consol-Budget.RCL
17
Aug
2011
SurvivalWare Pro includes the ENCORE! Editor and documentation to show you how to create your own logic, input, and report files.
Recently I was able to test this feature out for a new customer who runs an auto repair shop in Alberta, Canada. He wanted to track Parts vs. Labor Sales, Number of Invoices, Shop Hours, and various measures per hour and per invoice. He also has a target billing rate for labor, and wanted to track the number of hours used per job vs. the number billed for.
I just had to make sure we mapped the Labor Sales to “Sales 1 – $”, and the Parts Sales to “Sales 2 – $” in the Fort Knox Model.
Here are the steps to customize the plug-in.
Working on the files in ..\ FortKnox\User_Plugin_Files:
Enter a comment on line 1 of the Plug In logic file. This line will be displayed when the user looks at File / Properties in Rusty’s Toolbox.
Any valid logic line can be used in the Plug In logic. Remember that this logic is calculated after the rest of the model logic. In this example, for an auto repair shop, we assume that Labor Sales are mapped to “Sales 1 – $” and Parts Sales are mapped to “Sales 2 – $” so that we can access these numbers in the KPI calculations.
Additional Non-Financial inputs should be assigned to the class “ImportOth”.
FortKnox-Proj.Log has an include statement referencing the Plugin File. This should be compiled first, and then the other 3 logic files. This should be done in the same folder where the changes to FortKnox-Plugin.Log were made (i.e. in in ..\SurvWare\ FortKnox\User_Plugin_File\).
To compile the logic files, open each one in the ENCORE! Editor, then select File / Compile Current Document.
There are three INP files which reference the custom stats, and cause them to be displayed in the grid in the Budget Module, DataViewer, and Projections Module respectively. The DataViewer INP also controls what appears in Rusty’s Toolbox.
Essentially you replace the generic tab, “Custom Stats” with your new set of variables.
Add the new variables where you want them to appear on the report.
If you mis-spelled a variable name in one of the INP files, you will get an error message.
You can also go to Rusty’s Toolbox and select File / Properties to make sure the right Plug-In is active.
Copy all the files in ..\SurvWare\FortKnox\Base_Plugin_Files\ to ..\SurvWare\FortKnox\
10
Aug
2011
c:\SurvWare\SystemApplets\SurvWare-MassPrint-FK.RCL
This applet allows a user to select one or more MTX files from the same folder, and then prints a full set of financial statements (7 pages in all) for each one.
{********************************************************************************************************************************
Special Applet to mass print a full set of financial statements for each of several selected MTX files
*********************************************************************************************************************************}
<NumFiles> = FileMenuMultiSelect <DataPath>, "*.MTX", "Select all files you want to do reports for"
//****** Confirm it is OK to run the reports **********************************
<YesNo> = AskYesNo "OK to run the reports for <NumFiles> files?","Confirming OK to Run Reports"
IF <YesNo> NE "Yes" THEN
Begin
Exit
End
//****** Select a Printer (or PDF) **********************************
<OK> = AskPrinter
IF <OK> NE "OK" THEN
Begin
Exit
End
<StartTime> = Now
{ ****************************************
Cycle through the files
Read in the MTX file
Print the reports
***************************************}
<Ctr> = "1"
SetPageNum "1"
HourGlass ON
<RepFile1> = "FortKnox-Summ.rep"
<RepFile2> = "FortKnox-PL.Rep"
<RepFile3> = "FortKnox-Opex.Rep"
<RepFile4> = "FortKnox-BS1.Rep"
<RepFile5> = "FortKnox-BS2.Rep"
<RepFile6> = "FortKnox-CF-POM1.Rep"
<RepFile7> = "FortKnox-CF-POM2.Rep"
<RepName1> = "Key Performance Indicators"
<RepName2> = "Income Statement"
<RepName3> = "Operating Expenses"
<RepName4> = "Balance Sheet - Assets"
<RepName5> = "Balance Sheet - Liabilities & Equity"
<RepName6> = "Cash Flow Statement - Part 1"
<RepName7> = "Cash Flow Statement - Part 2"
While <Ctr> LE <NumFiles>
<MTXFileName> = GetFileName <Ctr>
GetMatrix "<MTXfilename>"
<LastActMonth> = GetLastActMonth
PrintReport "<ModelPath>FMMASTER.REP" ,"<ModelPath><RepFile1>","<RepName1>","<ModelPath>CS-12MON.REP","Rolling 12 Months", "<CompName>",<LastActMonth>
PrintReport "<ModelPath>FMMASTER.REP" ,"<ModelPath><RepFile2>","<RepName2>","<ModelPath>CS-12MON.REP","Rolling 12 Months", "<CompName>",<LastActMonth>
PrintReport "<ModelPath>FMMASTER.REP" ,"<ModelPath><RepFile3>","<RepName3>","<ModelPath>CS-12MON.REP","Rolling 12 Months", "<CompName>",<LastActMonth>
PrintReport "<ModelPath>FMMASTER.REP" ,"<ModelPath><RepFile4>","<RepName4>","<ModelPath>CS-12MON.REP","Rolling 12 Months", "<CompName>",<LastActMonth>
PrintReport "<ModelPath>FMMASTER.REP" ,"<ModelPath><RepFile5>","<RepName5>","<ModelPath>CS-12MON.REP","Rolling 12 Months", "<CompName>",<LastActMonth>
PrintReport "<ModelPath>FMMASTER.REP" ,"<ModelPath><RepFile6>","<RepName6>","<ModelPath>CS-12MON.REP","Rolling 12 Months", "<CompName>",<LastActMonth>
PrintReport "<ModelPath>FMMASTER.REP" ,"<ModelPath><RepFile7>","<RepName7>","<ModelPath>CS-12MON.REP","Rolling 12 Months", "<CompName>",<LastActMonth>
<Ctr> = <Ctr> + 1
EndWhile
// Close up the PDF file if you're printing to PDF
PrintEndDoc
HourGlass Off
<Time> = ElapsedTime <StartTime>
MsgBox "<NumFiles> Reports Printed. <CR><CR> Elapsed time: <Time>"
FileMultiSelect
“AskYesNo” confirmation
“AskPrinter”
Elapsed Time confirmation
2
Aug
2011
So here’s the deal: I’m hard at work on the SurvivalWare Pro documentation. I’m really trying to make it complete for a couple of reasons.
1. I want to teach other people to do what I do for customers, so that the growth of my company is not limited by the hours in a day.
2. I’m comptemplating a huge development effort to get a web version of SurvivalWare to run in the cloud (whatever that means), and I need to document its functionality very carefully in preparation.
One of the things I am doing is taking inventory of all the custom applets I’ve developed over the years to solve real world customer problems or improve my own productivity. I want to do it in a systematic fashion, eliminate duplicate copies, and then select the top 100 to reveal in a series of blog articles. By doing it through the blog, I can make them accessible by search, tags, and categories. The hope is that if you need to develop a SurvivalWare applet, you can find a similar one that has already been developed so you have a starting point and code you can use. We want to save you heaps of time, and help you learn how to use the SurvivalWare Automator
I ended up with about 350 unique applets, but 100 or so were just test files. The first one appropriately is a tool I created to help me generate the master list of applets. I started off using Windows Explorer and taking screenshots of the multitude of folders containing the applets I had developed for myself and customers. That helped me get a sense of what was there, but I found I really wanted to get the list into an Excel file, so I could sort by filename, look at file dates, and determine what was a duplicate. I could also use the Excel file to classify the applets into categories and sub-categries.
I plan to put the blog articles in a standard format
“An Applet to create a list of file names and put them in an Excel File”

Create-Spreadsheet-with-RCL-Filenames.RCL
This applet accepts a list of folder names (relative to the SurvivalWare app directory) and model names in a simple text file as input. It builds a list of all the files ending in “.RCL” in each of the listed folders, and puts the filename, folder name, model name, and file date in an Excel file.
Not much to see. The second time you run it, it asks if you want to overwrite the Excel file:
At the end, you get stats on elapsed time and number of files detected:
www.survivalware.com/download/MP3-Applets/Create-Spreadsheet-with-RCL-Filenames.zip
www.survivalware.com/download/MP3-Applets/Create-Spreadsheet-with-RCL-Filenames.MP3
{***************************************************************************
Applet to create an Excel file with file names and dates and associated models for
all Applets I've created.
My plan is to weed out the duplicates, and organize the
files so that a large library of existing applets can be shipped with the software.
We'll publish them in such a way that developers can quickly find what they are looking for, and make use of what was done before.
*******************************************************************************}
// Set up a New XLS file
//************************* Explanation #1 (MP3) *********
<StartTime> = Now
NewXLSFile
// Open the file containing the paths to search, \SystemApplets\Paths-Containing-RCL-Files.txt
// read it a line at a time until the last line is read
{**************************************************************
This is what the file looks like:
AlphaGraphics\DemoUserStuff,AlphaGraphics
AlphaGraphics\UserStuff,AlphaGraphics
Amcon\UserStuff,Amcon
Culver\UserStuff,Culver
DailyFlash\UserStuff,DailyFlash
FortKnox\UserStuff,FortKnox
FortKnox\FranchiseApplets,FortKnox
FortKnox\ITSI_UserStuff,FortKnox
Gulliver\UserStuff,Gulliver
Homevestors\UserStuff,Homevestors
Hospital\UserStuff,Hospital
IST-DailyFlash\UserStuff,IST-DailyFlash
My Applets\UserStuff,FortKnox
SoftCo\UserStuff,SoftCo
SystemApplets,SystemApplets
SystemApplets\AppletsFromAllOver,SystemApplets
TechPro\UserStuff,TechPro
****************************************************************}
//************************* Explanation #2 (MP3) *********
//********* I'm being lazy and hardcoding the file name with paths instead of prompting for it
<FileNameWithPaths> = "<AppPath>SystemApplets\Paths-Containing-RCL-Files.txt"
<FileNameToCreate> = "<AppPath>SystemApplets\Excel-Containing-RCL-Files.xls"
<XRow> = 1
//************************* Explanation #3 (MP3) ********* OpenTextWindow
OpenTextFile "<FileNameWithPaths>"
<EOF> = "False"
While <EOF> NE "True"
<LineStr> = ReadLine
<Field1> = GetCSVItem <LineStr>, 1
<Field2> = GetCSVItem <LineStr>, 2
<PathToCheck> = "<AppPath><Field1>\"
//************************* Explanation #4 (MP3) *********
<NumFiles> = BuildFileList "<PathToCheck>*.RCL"
<FileNum> = 1
While <FileNum> LE <NumFiles>
<FileName> = GetFileName <FileNum>
<FileDate> = GetFileDate "<PathToCheck><FileName>"
//************************* Explanation #5 (MP3) *********
WriteCellXLS <FileName>, <RowCtr>,1 WriteCellXLS <PathToCheck>, <RowCtr>,2 WriteCellXLS <Field2>, <RowCtr>,3 WriteCellXLS <FileDate>, <RowCtr>,4 Display "<FileName> <FileDate>" <RowCtr> = <RowCtr> + 1 <FileNum> = <FileNum> + 1 EndWHile //************************* Explanation #6 (MP3) *********
<EOF> = EOFTextFile EndWHile //************************* Explanation #7 (MP3) *********
CloseTextFile SaveXLSFile "<FileNameToCreate> " CloseXLSFile <Time> = ElapsedTime <StartTime> MsgBox "Elapsed time: <Time> <RowCtr> Files Detected."
28
Jul
2011
We recently ran into two separate cases of CSV files that appeared to have different numbers from the XLS files they were created from. Customers were importing the CSV files into SurvivalWare, and couldn’t figure out why the Import Checks failed. The first clue that something was amiss was the fact that some numbers just didn’t add up in the Balance Sheet. Upon closer inspection, we noticed that there were no negative numbers at all in the CSV file we were importing. We got the customer to send the original XLS file, which had been produced by an accounting package called Profit 21.
In the XLS version of the Balance Sheet, there were a few numbers in Red, and when we clicked on them, the minus signs appeared in the formula bar. But sure enough, when we did a Save As to CSV file, the minus signs disappeared.
Here’s what the data looked like in Excel:
Clicking on Format / Cells in Excel revealed the number format used. It turns out that the second format for negative numbers causes the Save As to CSV to convert them to positive numbers. The solution is to change the number format for negative numbers to any of the other three, or to import the data directly from the XLS file.
6
Mar
2011
We offer to map and load a customer’s data as part of our QuickStart service. Recently a customer sent us a set of files that were from the Infor ERP software, and were definitely not the same format as Quickbooks.
There were a series of Excel files (.xlsx format), one per month each for the Income Statement and the Balance Sheet. The excel files had prior year values, so there was the opportunity to load two months from each of the 11 months of 2010 that were available.
There was a minor hitch: the Cost of Goods Sold accounts (3 of them) appeared as negative numbers. SurvivalWare expects them to be positive numbers.
I decided to write a “Pre-Processor” applet to take care of 3 things all at once:
1. To automate the loading of a range of months, instead of just one month at a time
2. To change the format to QuickBooks style for ease of mapping and loading
3. To reverse the sign of the Cost of Goods line items so that they load into SurvivalWare properly
This is what the applet looks like when you run it. The first time you run it, just process a single month (which creates a P&L and Balance Sheet CSV out of the XLXS files), and set Load CSV to “N”. Then go to the load data module and map the rows just like you would with a set of QuickBooks generated CSV files. After that, you can re-run the pre-processor and load several months at once.
You can download the complete source code for this applet at www.survivalware.com/applets/Infor-data-pre-processor.zip.
8
Feb
2011
If you are on a calendar year, the time to “Rollover” your SurvivalWare files is fast approaching. This is something you should do before loading January data.
The Rollover does three things:
1. It makes an archive copy of the data file
2. It copies the “Next Year Budget” data into the “Current Year Budget” columns, and clears out the Next Year Budget for you to work on later in the year.
3. It shifts historical and projected data over by 12 months, dropping off the oldest 12 months.
Here’s how to do the rollover:
1. On the Main page of Survivalware Select Rusty’s Toolbox
2. Select Data / Roll over this file
3. Set the month to January and the year to 2011. Leave the Budget Options set to the default value “Move Next Year Budget into Current Year Budget”. Click OK.
4. Click OK to the next two windows.
Your file has been “Rolled Over”, and an archive copy saved under the name “
1
Sep
2010
The shopping cart is simply a tool to collect in one place a number of variables for viewing or reporting. When you are in the Dataviewer, Projections Module, Budget Module, or Rusty’s Toolbox, the variables are organized into tabs for viewing. There is one tab each for the three primary financial statements: Income Statement, Balance Sheet, Cash Flow (circled below). There are additional tab for things like Breakeven Analysis, Working Capital, and Valuation.
Since the Fort Knox model is designed to be used by a variety of businesses, chances are that you use some, but not all of the variables provided. When you’re doing analysis or projections, it can be useful to have the 10 or 20 most important variables in your business visible on one screen. These may be different for you when doing historical analysis vs. projections. They may also be different for you over time. Problems may crop up that require special monitoring, and a view of a different set of performance indicators.
We provide the shopping cart as a means to collect variables from the far reaches of the model and put them in one place. You can quickly graph them in succession using the Next and Back button with the trend charts or Comparanator. In the Reports module there is a selection to print out the variables in the current shopping cart with any of the column sets.
We allow you to create multiple shopping carts, and edit their contents
At any time you can Left Mouse Click the Survival Cart icon and it will bring up the rows in the current shopping cart. Notice the “Back” icon has been activated. Click on this to leave the shopping cart view and go back to the previous view.
Since the Fort Knox model is designed to be used by a variety of businesses, chances are that you use some, but not all of the variables provided. When you’re doing analysis or projections, it can be useful to have the 10 or 20 most important variables in your business visible on one screen. These may be different for you when doing historical analysis vs. projections. They may also be different for you over time. Problems may crop up that require special monitoring, and a view of a different set of performance indicators.
We provide the shopping cart as a means to collect variables from the far reaches of the model and put them in one place. You can quickly graph them in succession using the Next and Back button with the trend charts or Comparanator. In the Reports module there is a selection to print out the variables in the current shopping cart with any of the column sets.
We allow you to create multiple shopping carts, and edit their contents
This is a two step process, and we will be the first to admit it is a little clumsy. First select the row you want to add by clicking on it or one of its cells. Then Right Mouse click the Survival Cart Icon. If you Left Mouse Click by mistake, the tabs will disappear and the rows contained in the current shopping cart will appear. If this happens, you can click on the “Back” icon to restore the previous screen.
When you move the mouse over the SurvivalWare Cart icon, the message bar tells you how many rows are in the shopping cart.
At any time you can Left Mouse Click the Survival Cart icon and it will bring up the rows in the current shopping cart. Notice the “Back” icon has been activated. Click on this to leave the shopping cart view and go back to the previous view.
The Edit Shopping Cart feature is under the File Menu in the DataViewer, Projections Module, Budget Module, and Rusty’s Toolbox.
Here’s what it looks like. You can delete a row, move a row up or down in the list, or empty the cart altogether.
You can also save the shopping cart under a new name, or read in a previously saved shopping cart. Shopping carts can be stored in any folder, but preferably in the Model folder. The file names use the extension, “.SHP”.
Click on the Reports Icon from the Main menu to access the Reports module.
Then:
29
Aug
2010
The comparanator has been much improved in version 3.1. There are now a total of ten “Styles”:
(right click)
To select a comparanator style, and make it the default going forward, simply Right Click on the Comparanator Icon or select “Set default Comparanator style…” from the File Menu in the DataViewer or Projections Module.
Graphs the focus row (and Next and Previous rows as requested) against a single comparison row. You can browse through a list of variables in the Fort Knox model to pick a comparison row. Once selected, it is “sticky” – i.e. it remains the default comparison row until you explicitly change it.
The Basic Line Chart uses a single scale for the Y-Axis, which means it is useful only when comparing rows of similar magnitudes, e.g. two different expense lines.
Here is “Total Overhead” vs. “Sales”:
Useful for comparing variables of different magnitudes.
Graphs the focus row (and Next and Previous rows as requested) against a single comparison row, using separate y-axis scales for each row You can browse through a list of variables in the Fort Knox model to pick the comparison row. Once selected, it is “sticky” – i.e. it remains the default comparison row until you explicitly change it.
Here is “Delivery Costs” vs. “Sales” in a Dual Scale Line Chart. The scale for “Sales” goes from zero to 250,000. For “Delivery Costs” it goes from 0 to 15,000.
Graphs the focus row (and Next and Previous rows as requested) against the twelve month moving average for that row. Note that you are not given the option to change time periods like you are with the other comparanator styles.
Graphs the focus row (and Next and Previous rows as requested) for the twelve months of the current year. For the same 12 months, the Budget numbers are graphed, as well as, last year’s numbers. Note that you are not given the option to change time periods like you are with the other comparanator styles.
Note: Current Year Budget values can be entered in the Budget Module.
Graphs the focus row (and Next and Previous rows as requested) for the twelve months of the current year. For the same 12 months, the Budget numbers are graphed, as well as, the numbers for Next Year’s Budget. Note that you are not given the option to change time periods like you are with the other comparanator styles.
Note: the Next Year Budget values can be entered in the Budget Module.
These can be separate locations if you have multiple outlets, or clients of yours who have agreed to share data files. This style graphs the focus row (and Next and Previous rows as requested) with one line representing each group member. It is useful for small groups.
You can create a CSF file in the DataViewer, Projections Module, or Rusty’s ToolBox. Select “File ‘ then “Create CSF File”.
This does the same really as Peer Group Members, but the group members are different scenarios for the same company as opposed to different companies. You create the scenarios by typing in different assumptions or using the Forecast Tool to access different forecast techniques. Then save each result under a new name (File / Save Company As…).
You would normally select this style from the Projections Module as opposed to the DataViewer.
Here’s “Total Overhead” for the month of March 2010 for the group. US201 was selected to be the benchmark.
You can build your own benchmark file and enter published industry stats by setting up a new company. Check the box “Use this file for Benchmark data only.” This allows you to enter values for calculated measures such as “Inventory Turns” or “Days of Cash.”
In SurvivalWare a Comparison Group has special meaning: it is a collection of company or locations which have been assembled in a central area (e.g. by a corporate analyst for a franchise company), and analyzed through the Company Stats module in Rusty’s Toolbox. The analysis produces a set of “meta data” files than can be re-distributed to the participants without compromising anyone’s privacy.
These two comparanator styles let you graph your performance against the percentiles of the group – either 3 at a time (25th percentile, Median, 75th percentile) or 5 at a time by including the 5th and 95th percentiles as well.
We’ve included a sample comparison group so you can see how this works. It is called “fake-meta-data” and the files are all contained in the folder ..\Survware\FortKnox\ComparisonGroups.