Automating basic financial tasks can help your company save time and money and let your employees be free of repetitive tasks. Toptal’s finance expert Miklos Lukacs discusses how creating an easy Python bot could streamline your company.
Authors are vetted experts in their fields and write on topics in which they have demonstrated experience. All our content is peer reviewed and validated by Toptal experts in the same area.
Miklos is an expert in fintech, finance processes, and Python programming. Alongside being a Toptal expert in finance and software programming, he’s the Director of a firm that offers structured finance consultancy Pylink Ltd.
The idea of a workplace of the future could bring up images of machines that take over labor-intensive and repetitive tasks. But the future is here. The advancement of technology, such as cloud-based apps, software platforms, and ERP systems, which aid companies in achieving maximum operational efficiency, has made automated offices an actuality.
According to the firm consultants McKinsey, Finance departments in corporate organizations have reduced costs by 30% in the past decade by implementing technology-driven solutions for accounting, procurement, and payroll. These advances have transformed finance processes and eliminated a lot of inefficiencies.
Deloitte has come to similar findings: Referring to research done by Ayehu, the company declares that intelligent automation reduces the cost of business processes by 25 to 40 percent. Gartner’s research has revealed that a business with a full-time accounting team of 40 members could cut out more than $870,000 of expenditure each year by automatizing tasks and removing the need to correct human errors.
In this post, I’d like to present some of the basic automation strategies I’ve employed for my company and clients. They are easy fixes that can benefit any organization of all sizes.
Off-the-shelf products such as QuickBooks are an excellent option for smaller companies. To maximize efficiency, I suggest using programming languages such as Python to customize your solutions, including bots to help businesses. Python has been proven to be highly user-friendly and comes with a vast tool library and access to specific libraries for finance, making it more adaptable than Excel.
As I wrote in my previous article for Toptal, I demonstrated how simple it is to utilize Python to build custom cash flow models for companies. I suggest you read this article if you want to study the language. In this article, however, I’ll give you an overview of practical applications–ranging from time tracking to payroll to email–that a developer can quickly and easily implement for you if you’re not interested in delving into the code.
How My Firm Leverages Bots for Finance: Easy, Efficient Payments
Let me show you how effective customized automation can be by providing you with an example of my business that could serve as an example. Even though we’re a small company, my colleagues at Pylink and I are confronted with a lot of difficulties in the area of payments and other payments, such as:
We have various projects that are which are based on hourly contracts. We need to keep track of the time of each task.
Our clients come from many nations, and we accept payments in various currencies.
We have an in-house team of software engineers on specific projects; we contract other tasks to developers from different nations.
From a tax optimization standpoint, We have three businesses based in the UK with an EU base, one and one EU-based freelancer.
Each of our businesses has separate bank accounts with multiple currencies, such as USD, EUR, GBP, and HUF.
Our regular expenses include tax, benefits, and salaries of full-time workers, office spaces, equipment, and software. All of these are in different currencies.
What You Can Do With Automation
Let’s examine some valuable tools for automation, employing the tools I’ve discussed previously. For reference, I’ll also provide some code examples to serve as a reference that you can use for in-house or contract, or freelance developers, or you in case you decide to study Python to aid in your work for clients or in your own company.
Tracking Work Hours and Projects
Each month it runs the robot (using Everhour) runs the “close_the_month” function that collects all the hours spent on various assignments:
My time spent on consulting projects (revenue).
The hours of developers are based on client projects (both in terms of revenue and cost).
The developer’s hours in our software creation (price).
This is a straightforward function that will return the Pandas DataFrame, i.e., it is a table with columns and rows which includes all projects and hours for the time frame of an individual user. It is important to note that, as previously mentioned, the following and subsequent code excerpts are only excerpts from the entire codebase and not a step-by-step guide to creating our bot.
Creating a PDF Timesheet and Invoice
Each worker’s work hours are automatically recorded, then the next step involves creating timesheets and invoices. There are a variety of Python programs that can be used to create PDF documents. We employ PyFPDF, a small document generation program that provides the simplest of options and the ability to draw shapes and include images and text. You can observe in the below example it produces an attractive and professional invoice.
While there are other more sophisticated ways to create reports, PDF is an excellent option due to its universal format that’s used in all fields and is easy to make. It can also send files to anyone and guarantee that all images, fonts, tables, fonts, and formatting are transferred. It also functions independently of your computer’s and operating system’s hardware and can be utilized offline.
Sending Emails
Amazon Simple Email Service is an affordable and flexible tool to create and distribute well-formatted HTML emails. In addition, the data analytics of SES collect and share data about feedback loops to inform users if recipients report your email as spam either through error or due to the email was not sent to the correct address. Analytics also assess the effectiveness of every email in terms of engagement, such as open and click-through rates. This is especially useful for emails that are targeted at marketing.
Automating Banking Activities
We selected Wise for business and personal accounts because we earn and pay costs in various currencies. This financial technology firm offers competitive exchange rates, an easy user interface, and an API that is flexible and has detailed documentation.
We utilize this API to perform these tasks.
Get statements for every company and each currency so that I can quickly check the total and actual liquidity.
Get historical transaction data to discern trends across different cost elements and determine if the customer has paid their previous month’s invoice. If not paid, the API sends an email reminder.