Downloading, naming and printing bank statements

has anyone figured out a way to automate this? Its the bain of my existence and seems like something that would lend itself to automation. I just bought David’s Siri Shortcuts guide and am eagerly trying to learn how it all works and practical ways to implement automation in my life. Thanks in advance for any suggestions.

In this case the guide you want is likely the Hazel guide - Shortcuts is fabulous but Hazel can watch your downloads folder on your Mac and automatically fish out the statements for you if you set it up right.


If you want to you might also be able to use Keyboard Maestro to even automate finding and downloading the statement.

Be cautious with this, since you’ll need to put your bank password into the automation.


Electronically storing passwords unencrypted is not a good approach. All it takes is one compromising step with your device and a competent bad actor will have your password and a reasonable chance of accessing your bank account.

Admittedly if someone has access to a device then there’s a good chance they may get a period of access to your e-mail which opens a lot of doors; but low hanging fruit makes a prime target. Making that fruit banking related sounds unwise to me.

1 Like

Agreed! I just thought I’d throw it out for completeness.

That said, I have considered what it would take to figure out how to automate getting statements after logging in. So far it’s not been worth it to me…

1 Like

Thanks for the input everyone. Have not yet tried Keyboard Maestro or Hazel so this is a good opportunity for me to learn how they work and what they can do.

I’m not sitting at my Mac right now. But I’m pretty sure keyboard maestro can access the keychain. If that’s true there’s probably a secure way to log in to your bank account using KM

There is also a way to work with passwords in AppleScripts or shell scripts and store them in Keychain instead of unencrypted in a script.

See here for more info:


On the first day of every month I login to my Banks website using 1Password and manually download the previous months Bank Statement. I have Hazel set up to watch my Downloads folder and check for certain criteria within the Statement pdf. Hazel renames it with a more ‘friendly’ date and statement number and moves it to a folder with my other Bank Statements. It took a little while to work out, but it works like a charm. If you would like a little more detail let me know and I will upload a couple of screenshots.

Hi Jeff, Sorry for my late reply. Am just getting around to installing Hazel and can’t figure out the renaming bit. Am I correct in assuming I need OCR to properly rename files? Most of my statements are just named “Statement_” and then a date appended so it would seem Hazel needs something more to go on to rename. Would love to see your screenshots if you have time to share. Thanks!

Hi, Presuming the file is OCRed you can use a match rule to find a date in the document to use as part of the remaining process. Problem is that Hazel does not always find the most relevant date.

To ensure accuracy I run a Hazel workflow where the file will open up in Preview (via AppleScript) so I can see the relevant information

I then run another AppleScript that allows me to rename the document based on the information gathered when viewing the file

Using the Token that was generated by the AppleScript I then rename the file

Then the last AppleScript is run to close the Preview window

Not totally an automated approach but it ensures accuracy in the renaming of the documents

Presuming you can download the statement data in OFX format my preferred workflow for bank data will use the Account Name, From Date and To Date Fields in the file to accurately rename the file automatically so you get something like American Express 01-12-2018 to 31-12-2018.ofx

Once you get a hang of the power of Hazel combined with scripts and workflows you will be amazed at how much automation you can achieve.

Hi Lemonzestlife, a short reply to acknowledge I’ve seen your post. I’ll have a more detailed response once I have a bit more spare time. You are right, the files will need to be OCR’d for Hazel to search through them. This is not usually a problem (for me at least) because my bank statements are already in pdf which is searchable.

1 Like

I could never figure out how to automate logging in and downloading statements. I am looking forward to see how you’re doing it.

Hi andveg38. I haven’t actually automated logging in to my banks website as they block password managers such as 1password and I could never figure out another secure way to do it. I only download my bank statements on the first of every month when they become available so it isn’t such a hassle. Once logged in though it is a one click process to download the statement and when it hits the downloads folder Hazel takes over from there, renaming it to the way I like and filing it away in the correct folder. I use a similar process for all of my other bills.

I highly recommend David Sparks’ video tutorials on Hazel though, he does an excellent job of explaining it, much better than I could ever do here.

Ok, for what it’s worth, this is my process. I have changed some of the details to be on the safe side.

I download my monthly Bank Statement as a pdf and it is named something like this:


Hazel is watching my download folder but it needs something unique and consistent about this file to identify it as my Bank Statement. The filetype is always a pdf and its name always begins with my AccountName, so this is where I start.

I could have Hazel rename the file and move it simply based on the filename but I have found that the bank has not been consistent with the date stamp on the file and I also want my filename to contain the statement number. This requires Hazel to search within the file.

This is where it becomes tricky. The two pieces of information I want to retrieve from within the Bank Statement are the Statement Period and the Statement Number. Note that the Statement Number is badly formatted and there is no space between the number and the bracket. I use this to my advantage by having Hazel look for this within the document.
These are set up within Hazel as contents contain match conditions.

Similarly to find the date match Hazel looks for the word “to” followed by a space and then a date.

All of the criteria have been met and so Hazel performs its magic by renaming the file based on the information it has extracted and moving it to the correct folder as shown below.


A tip for when you are setting up a contents contain match condition is to open the file in a pdf viewer and do a search (⌘F) for the text you are trying to locate. If you can find it this way Hazel should be able to find it.

This is a long post, but I hope someone finds it useful. If someone has any tips to how I can improve this please let me know.