From Spreadsheet Hell to Automation Heaven (Almost!)

Alright, buckle up, fellow automation enthusiasts! Today, I want to share the rollercoaster ride of building an intelligent expense tracking system for a local assisted living home right here in Wisconsin. What started as a simple desire to ditch manual spreadsheets turned into a deep dive into serverless APIs, cloud automation, and a whole lot of debugging!
The Client's Challenge: Hours Lost to Manual Expense Tracking
My client, a local assisted living home, provides exceptional care for their residents. But their back-office financial process was a significant drain on their administrative staff. Each month, they faced the daunting task of manually reconciling their bank statements.
The process was a classic spreadsheet headache: reading hundreds of lines of cryptic transaction descriptions, deciphering each one to assign a category and vendor, and then painstakingly typing it all into Excel. This workflow was consuming hours of valuable time and was susceptible to errors that made accurate reporting a challenge. They needed a solution, and I knew we could build something special.
The Grand Plan: A "Zero-Touch" Expense Pipeline
The goal was ambitious: create a system where financial transactions would flow from a source file, get smart about their category and vendor, and land neatly in a database, ready for analysis, with almost no human intervention.
To achieve this, I chose a powerful combination of modern cloud tools:
Airtable: To serve as a clean, structured database for the final, categorized expenses.
Azure Functions: To act as the custom "brain" of the operation, housing all the client's specific business logic in a Python script.
Make.com: To act as the reliable "glue," orchestrating the data flow between all the components.
The idea was simple on paper: Make.com watches a spreadsheet, sends a transaction to my custom "brain" in Azure, and files the categorized result in Airtable. Easy peasy, right?
Well, that's where the rollercoaster part kicks in!
The Debugging Journey: From "404 Not Found" to "Victory!"
Building a custom solution is never a straight line. We hit a few bumps on the way to a fully working system:
The "404 Not Found" Labyrinth: My brand-new Azure Function was playing hide-and-seek. After much head-scratching, I realized the Python code I'd written was structured for an older Azure model. A quick refactor to the modern v2 programming model (using an
@app.route
decorator) and a more robust "Run From Package" deployment strategy finally made the function visible to the world.The "Bad Request" Blues: Next, Make.com started getting a "400 Bad Request - Invalid JSON" error. My function was complaining that the data wasn't in the right format. A simple fix in the Make.com HTTP module; wrapping the transaction description in the proper
{"description": "..."}
structure got the two services speaking the same language.The Airtable Impasse: In the final step, Airtable threw a permission error. It refused to create the new dropdown option "Needs Review" on the fly. This was an easy fix, but a crucial one: I manually added the option to the
Category
field in Airtable, ensuring our data would always have a valid place to land.
The Impact: A Real-World Business Solution
After navigating the technical hurdles, the final system came to life, and the impact on the client's operations was immediate and significant.
Time Savings: The primary benefit was the elimination of hours of manual data entry each month. This has freed up the administrative staff to focus their time on resident care and other high-value activities.
Improved Accuracy: The automation has removed the risk of human error. The categorization is now consistent and reliable, leading to more accurate financial reports for budgeting and taxes.
Enhanced Visibility: With all their expense data neatly organized in Airtable, the management team now has a much clearer, real-time view of their spending patterns, allowing for better financial planning.
This project was a fantastic journey. It started with a common business problem and ended with a custom-coded, cloud-native solution. By replacing a frustrating manual process with a smart, reliable automation, we delivered real value and helped a local Shorewood organization focus on what they do best: caring for their community.
What automation projects are you tackling? Share your stories and any debugging adventures in the comments below!
Subscribe to my newsletter
Read articles from Gladys Dalla directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
