Skip to content

Rick-G1/FileIT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT

Overview

With the move from printed bank statements to "paperless" delivery of them, the bank account holder is burdened with downloading each bank statement and then filing it away in whatever filing system the user desires. While this may be pretty easy for one or two statements, it quickly becomes a fair amount of work when you have a number of accounts. As an example, I have 19 different bank, HSA, IRA, and other statements from different institutions (in my case Schwab, Wells Fargo, Lively, Connexus, and PayPal). To move the files from the download area to a specified directory structure and rename the files to an organized name could take an hour or more. Even though I'm retired, I really don't like to do all this work each month and don't wish to have the bank send a paper statement that you then have to file in a file cabinet. By using this program you get paperless files that are organized in a user defined directory structure and with filenames that are all the same format or (any format you desire).

This program consists of two parts --- A section to call up an internet web browser or run an executable file and another section that actually moves and copies the files (bank statements) from a common directory where the files were downloaded to a destination directory where the renamed files end up. The first section can call any browser you like (like Chrome or any other browser) and start up the web page desired. If the user wants a more automated way to download the statements, a user defined executable program (.exe, .com, .bat, .pif, .inf, etc) can be called instead of the browser. This external program could be a user created script for a macro key/mouse automation program like "MacroCreator" or "WinParrot" (or the like) which can automatically open web pages and download bank statements, if desired. Even though you can create a script to download statements via some keyboard/mouse macro creator, many web sites change so frequently that the scripts quickly become worthless. So while this program can be fully automated, it has been found easier to just manually download the statements, with the automated navigation to each web site needed and then use this program to move/rename statements to a directory structure the user specifies when they are downloaded.

The second part of the program takes files (bank statements) from a common source directory where they were downloaded from the bank's website and then renames them to a user defined filename format and moves or copies them to the specified destination directory. The program looks for month and year (and optionally day) in the source filename string (if it is there) and creates destination names that also can contain a date value in whatever format the user desires. This program also looks at all the files in the destination directory and verifies that the new file that is going to be moved into that directory is not identical to a file that's already there (both destination filename and contents of the files is checked). This helps with bank statements that don't have month/year values in their filename that could get renamed/moved incorrectly.

Using this program has saved many, many hours of doing this rather mundane task manually and yields a directory structure of statements that’s easy to figure out and provides quick to access any particular bank statement.

Getting Started

This program was created with Visual Basic .NET 2008 for Windows 7/10/11. Begin by downloading files using one of the following methods:

A. Download the prebuilt release (for Windows)(No installation needed) ; or

B. Download the GitHub repository and then build the executable file using Visual Studio or Visual Basic.

Please note that the pre-built executable provided in the release section is packaged directly from the source using Visual Basic .NET 2008. This version of the program is provided for your convenience. It is possible/likely that your web browser or antivirus program (e.g., Microsoft Defender, MacAfee, etc) will complain about downloading this or perhaps ANY executable. Should this be the case, you can scan the EXE file with your antivirus program. At least my version of MacAfee Antivirus does not see any viruses in the executable.

As an additional safety measure you can also run the Windows provided command line program "CertUtil" (as in "C:\Windows\System32\certutil -hashfile FileIT.exe SHA256") to retrieve the SHA256 hash for the executable downloaded. Compare this value to the value listed in a text file that is part of the release package to insure that the executable you have has not been altered from my original compilation. Even a single bit change in the file will result in a completely different hash value. By comparing the calculated hash of the downloaded or stored file with the known, trusted hash, one can immediately detect if the file has been modified, either accidentally due to data corruption or intentionally by malicious actors.

The SHA256 hash for the current release executable (Vers 1.1.2 5-05-25) is: "0332cf566657181b7b7a477976c6672f7d89405ab03e6c4e51a8e3e29ebcee99"

Compiling Source Files

If you choose to download and compile the source files, put the folder "SourceCode" in a location of your choice, and then double click on "FileIT.sln". Once Visual Basic (or whatever Visual Studio you're using) comes up you can simply click on "Build", which will then create an executable file. Then just copy this executable file and the FileIT.ini file to a location of your choosing. Since this was created with Visual Basic .NET 2008 and you probably have a newer version of this, it will probably want to "convert" it to the latest version. This should be easy to do and the resulting executable should work the same.

Program Usage

Usage of this program is pretty straightforward. After copying the executable file (FileIT.exe) and creating a FileIT.ini text file and putting these two files in a directory of your choice, the program is run by simply double clicking on the executable file and optionally following the prompts (if the ini file is configured that way). Depending on how the custom ini file is set up, the user would first download bank statements and then run this program, or if the ini file is set up to call up the web sites, just run the program and follow the prompts. After running the program, statements for the month that have been downloaded will be renamed and filed in the folder(s) specified. The program will output a screen of information as to which files have been converted and filed. If any files are moved/copied and renamed, the program will end after a couple of seconds to allow you to see the progress. If no files are processed, then the program will stop and wait for you to press a key to end the program.

It is important to note that most of the features of this program assume you will run it once a month to download and file statements for the previous month, since most banks don't provide a statement until a day or a few days after the month has ended. There are ini entries to adjust this behavior, if needed. Since some files and the default names downloaded from banks contain a month and year (and sometimes a date) and possibly part of an account number, these types of statements can be downloaded, moved/copied and filed at any time (even months beyond the statement date) and they will have the proper destination file names indicating the month/year. However, some banks just use default names like "stmt.pdf" or "GetDocument.pdf" where there is no month/year as part of the name. For these statements this program must be run on a monthly basis (sometime between the 1st of the next month and the last day of the next month) so that this program can add proper month/year values to the destination file names.

Creating a custom ini file is the key to the smooth operation of this program. See the Project/Program Details section of the FileIT documentation.pdf file to modify the ini file to suit your needs. The sample ini file that is part of this package can be used as a starting point for your particular needs. When you are creating your custom ini file it is best to start with a single bank and get that setup to work the way you want. Then add other banks as desired. There is a key in the "MAIN" section (see below) called "NOCOPY", that if set to "1" causes the program to show what it's going to do, but doesn't actually do any copying / renaming / deleting of any files. This can be handy while creating your custom ini file. Then when you believe you have it set up correctly, set "NOCOPY" back to zero.

This program is divided into two parts. The first part is related to downloading statements with a web browser or running some user defined executable file for each bank. The second part of the program takes all the files downloaded and moves/copies and renames these files and puts them in the directory specified. To use just the second part of the program that moves/copies the files (the main reason for creating this program) do not create an ini file key for "BROWSER". To just use the first part of the program, do not create keys for "SRCPIC" in each bank section.

There is also a batch file that is part of this distribution that is called "AllCopy.bat" that can be configured and run to put a copy of the renamed and filed statements in a folder on your desktop (or wherever you like) or send them to a remote computer (that's been mapped as another drive). I use this to put certain bank statements on my wife's computer, so she can see the statements that she tracks. As with FileIT.ini, to use this program you will need to edit this batch file to indicate the directories that you want to use as source and destination and list the filenames and locations that are relevant to your needs. The directory names are in the variables "SRCDIR", "DSTDIR" and "DSTNAME" and the file names are in the variable "FILELIST". All of these variables are located about midpoint in the batch file. Once customized for your files, just double click the batch file name and answer the questions to copy the renamed and filed statements for the selected month/year back to a common directory.

Conclusion

It is hoped that the use of this program will save you a lot of time and allow you to create a bank statement filing system that is standardized and makes it easy to find statements. The hardest part of this solution is the creation of the ini file that defines how this program should operate. Once this ini file is created, it then becomes very easy to use the program each month to save statements in your filing system. This has saved me many, many hours of manually moving and renaming files.

More detailed instructions and composition of the required ini file is located in the FileIT Documentation.pdf file.

About

A program to download, rename and file bank statements in a user defined structure.

Resources

License

Stars

Watchers

Forks

Packages

No packages published