Streamlining Accounting Processes: RPA vs. API

Tom Zehentner
Growth & Product

“I want to use automation and, like, do things more efficiently.”

If you work in accounting or with accountants, you likely hear this pronouncement regularly. That's because automating manual processes has obvious benefits: reducing human error and increasing cost savings.

But where do you start? Bots, API, AI, what’s the difference between these things anyway?

In this article, we'll explore what using RPA means versus using an API, the pros and cons of each, and what solving one common workflow with the different approaches can look like. Keep in mind that the automation we're discussing is meant to work with your accounting software, not to replace it.

EXPLAIN LIKE I’M FIVE (ELI5)

What does RPA and API mean?

Robotic Process Automation, or RPA, is like having a virtual assistant that can mimic human actions on a computer. Imagine you trained a robot to do exactly what you do down to the click, scroll, and keystroke. 

These robots follow a set of predefined rules and can work 24/7, making them ideal for tasks that are rule-based and require no decision-making.

When people say talk about bots, they’re talking about RPA.

Accounting processes that are good candidates for RPA are: downloading a PDF statement from one place, formatting a document the same way each time, etc.

An Application Programming Interface, or API, is a data integration that extracts, transfers, and loads data (sometimes referred to as “ETL”). Imagine being able to extract data from a system in its most granular form and put it into a table, and then push that data into another table somewhere else. 

The secret here is that integrations often allow you to access data in an even more granular form than you see on the surface when you login to the app or system. 

Example: In QuickBooks Online you may be able to select a Prepaid Expenses account, but behind the scenes you’d also be able to see additional information, such as:

Account Name = Prepaid Expenses

Account Type = Asset

Account Subtype = Other Current Asset

Breaking information into these smaller bite sized pieces allows you to create more nuanced rules for the automation to follow.

Accounting processes that are good candidates for the API are: sharing data between systems, calculating and booking journal entries, and creating custom financial reports.

LET’S COMPARE API AND RPA

In short: 

RPA is easier to pick up and start using. There are tons of low-code tools that exist that can simply watch you operate your computer and repeat those actions. However, it is much more fragile than using the API. Think about how often an app moves around a button, changes the font size, adds a pop up, etc. All of these things would trip up a robot who is only programmed to follow the steps you showed it at setup.

Using an API requires some coding chops, but will unquestionably provide you with a more resilient and powerful solution. If you’re getting started, we highly recommend using things like Stack Overflow, Khan Academy, or other reputable sources to truly learn. While the power of AI solutions like ChatGPT and Bard is widely touted as a great way to learn coding, there are an equal number of stories warning against using it. We’re not saying don’t use it, we’re just saying proceed with caution for now.

AUTOMATE REPORTING WITH RPA or APIS

So what these things look like in practice? Let’s take one common example and explain how it’d work using RPA vs. an API.

Process: Every month, an accountant downloads three reports from two different systems. These reports are merged into one file and two analyses are done:

  1. Compare data across tabs, looking for anything that exists on one report but not on another (let’s call these “exceptions”). These get flagged and sent to someone for review.
  2. Analyze the consolidated data looking for fluctuations above $10,000 or 10%. Any fluctuations get flagged and sent to someone for review.

USING RPA: 

You’d need to map out every single step in this process, accounting for all possible variations, or your bot will break! 

Since this is a hypothetical scenario, we’ll break out each step and list considerations. 

Remember: In each step you’ll need to consider every click, scroll, and keystroke unless you can creatively bypass certain steps. 

Consider if the screen changes size on different computers (take any website and look at it in full screen, vs. half screen, vs. mobile - they look different, right?). Or, what if buttons change with new system updates, etc.?

1. Login to each system:

  • Should the bot login each time, or will you sometimes already be logged in? 
  • What login info should it use? Should it always be the same person? 
  • Is there 2FA on the systems? If so, consider how you can pass this code to the bot and enter it to successfully login.

2. Running the reports:

  • How can the bot get to the page to run a report? Should you have it click through the systems, or is there a way for it to navigate to a specific URL to skip some clicks and data entry?
  • Do the parameters of the report change? Meaning, do you need to apply different filters or select different criteria based on the time of year? 
  • Where does the report save down to once it is run? You’ll need to retrieve it in the next step.

3. Consolidating the reports:

  • Where can the bot find your exported reports? Are they always named the same way? If not, how will it be able to identify the file vs. other Excel files you saved?
  • Do the exports contain multiple tabs? Are the tab names consistent? How will you instruct the bot to extract the correct information?
  • Should the consolidation occur in a new file, or should they be moved to one of the existing files?

4. Analyzing and sharing the data:

  • Are the formulas constant every time? And are they always placed in the same exact cells?
  • How are exceptions identified? Conditional formatting? Are they moved to another tab? 
  • Do you need to review the exceptions before they’re shared? What format will you want to review them, and should the bot continue with sending the email after your review, or do you want it to stop at your review and you handle the exception review manually?

5. General Maintenance & Errors:

  • What if the bot encounters unexpected errors, what should it do? Should it stop or skip a step?
  • How often will you perform maintenance to check for changes to the system that your original setup did not account for?
  • How will you keep a log of everything the bot did and when it occurred?


USING THE API:

This won’t be as quick to learn, but it will give you longer lasting results. We recommend using Python. To do so, you’ll need to install Python, choose a Package Manager, and install Python Packages. 

ELI5: You need to enable your computer to run Python and download a few things to get started.

1. API Data Retrieval:

  • Use API calls to retrieve data from the two systems and the third report. You will bypass any “login” steps by using the API, although at first you’ll need to get access to the API itself through other means.
  • ELI5: API calls are a piece of code that fetches data from another system. 

2. Data Merging and Formatting:

  • Merge the data obtained from the API calls into a single dataset or file.
  • Ensure that the merged data is properly formatted and structured for analysis.
  • ELI5: You'll need to write code or use data manipulation tools to combine the data from different sources into a unified dataset. Imagine an Excel spreadsheet, except not in Excel (i.e. “data tables”). That data structure will give you all of the power you get in Excel plus much more.

3. Data Comparison for Exceptions:

  • Program logic to compare data within the merged dataset to identify exceptions.
  • Define criteria for identifying exceptions, such as missing records or discrepancies.
  • ELI5: You’ll essentially write formulas, except in a coding language rather than Excel. They can be much more powerful and dynamic than your basic Excel formulas.

4. Fluctuation Analysis via Code:

  • Write code to analyze the consolidated data for fluctuations above $10,000 or 10%.
  • Define the criteria for identifying fluctuations, such as mathematical calculations or conditional statements.
  • ELI5: You'll need to develop code that can perform calculations and checks on the data within the dataset to identify and flag fluctuations. Conditional formatting of results will be dependent on understanding the code of the destination as well (e.g. if the data is going into Excel, you’ll need to code it in a way that Excel will apply the format once it is delivered there).

5. Reporting and Notification:

  • Generate reports or notifications listing the identified exceptions and fluctuations.
  • Develop a mechanism to send these reports or notifications to the designated person for review, which can be done through email or another communication channel.
  • ELI5: You’ll want to set up error notifications, whether that’s just via email or in a ticketing platform. 

So what now?

If you’re exploring automation options, ask questions of the company or firm you’re working with. What approach are they using? Why? All automation is not created equally, and it’s important to understand what you’re getting into.

If you’re thinking about automating something yourself, jump in and try it. Seriously - if either approach interests you, you should try it. There are tons of resources out there to help guide you. Start small and focus on something that you know is 1) highly structured, and 2) very repetitive.

Accounting Functions may get wowed by automation and want to automate everything, but it's important to make an informed decision about what to automate and where to spend your precious time.

Tom Zehentner
Growth & Product

Stay up to date with our latest blog posts, podcasts and news

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Featured Blogs