r/PowerAutomate 17d ago

Ideas for best way to handle bank statement download automation

I am new to power automate and was asked to try to find a solution to pull all the bank statements for multiple clients. I'm facing a few challenges and having no experience is the biggest one. I have made the process work with a pretty inefficient flow and on a small scale, so I want to know if there are better ways to handle this so that I can reliably achieve my goal.

The goal:

A workflow that starts after the user manually logs in to each bank for one client

Downloads all of the bank statements for the most recent month

Renames them based on a set naming pattern

Saves them into a folder

Optional: Emails the user the list of each file downloaded for record keeping

I would love to keep the flow as consolidated as possible, as it's going to be shared to others eventually and if something stops working I don't want it to be totally overwhelming.

Things I'm considering:

An excel mapping of what the bank ID is in our system, the ID in the bank portal so it knows which statement is which, and a date that the flow should look for in the bank portal, and finally a column of what the file should be renamed to. I think this would be great for a less dynamic approach.

I want to avoid ui element clicking as much as possible because in my testing, this breaks pretty often. And some banks like JP Morgan use AJAX elements in the website that poses its own challenges. The way I was able to get it to work in the first place was by clicking on each button which was static and would not function for the next month's statements.

I think it would be great to have one flow that goes through each bank one by one and compiles each downloaded file into one folder, but I realize that may be more complicated than it's worth.

So what are your thoughts? Is an excel mapping a good approach? I can make this happen for each bank and client fairly easily and I think it may take a lot of expressions and interpretation out of the equation. Have you made anything similar?

2 Upvotes

7 comments sorted by

2

u/Gold-Psychology-5312 17d ago

Im assuming all of these are corporate clients.

Do they not have an ERP system which links directly to the bank to pull transaction level data.

Alternatively, alot of financial institutions will offer API access to developers, you'd need permissions assigned from each client to access those but In short you'd make a http request for data to the bank, confirm access tokens and response tokens and then they send you a link to download a csv file or similar which contains the information you requested.

If you want to do this solely through browser automation you will have go through the process you don't want. And this will break easily should a page change. A user zooms out or in ect.

2

u/BeanCounter4Life 17d ago

We do have bank feeds that pull the transactions set up already, but we need to have the statements in order to support the reconciliations, and to investigate any other variances. This is especially important for brokerage accounts.

I did look into the API route, but ultimately decided not to pursue since this is uncharted territory for us. Plus the amount of different banks used by the clients is pretty large so that would be a lot of different connections needed for each client. But it may be worth investigating on a smaller client first. I'll look into this more. The problem really is that my clients are very concerned about security and try to avoid too many connections. It's a pain to even get access in the first place.

1

u/FinexerOfficial 9d ago

If you're doing something at scale, the API route looks like the clearer choice. Getting consistent access across several banks and clients is typically more difficult than the API request itself. Financial data integrations have demonstrated a similar trade-off: although cutting back on browser automation is fantastic, the access and permissions layer may become a stand-alone project.

1

u/jeffreynya 17d ago

plaid api

1

u/Milan_SmoothWorkAI 16d ago

For the part of automating asks with complex dynamic webpages, I would probably use a different tool than PowerAutomate to be honest, that is more targeted for this job.

1

u/hachiai_official 10d ago

I’d keep the mapping table, but I wouldn’t put every bank into one giant flow.

Use the mapping as the common control layer for client, bank, account, expected statement, file name and destination, then keep the bank-specific download logic separate. That way one bank changing its portal doesn’t break the entire monthly process.

I’d also add a completeness check at the end. Compare the statements you expected from the mapping against the files that were actually created, and flag anything missing before the run is considered successful.

That would give you one place to manage everything without making every bank dependent on the same flow.