Date posted: 17/09/2025 6 min read

What one accounting firm built with AI

How one accounting firm is building custom AI tools to automate tedious tasks and scale finance workflows.

In brief

  • Accounting firm founder Enzo O’Hara Garza creates bespoke automations to address pain points in finance systems.
  • Tools include multi-route automations, a Chrome extension for reconciliation and AI-driven PDF parsing.
  • These innovations turn repetitive tasks into seamless workflows, demonstrating just some of the practical ways AI can be applied in accounting.

The generative AI boom has reached every corner of work. ChatGPT and its rivals now handle questions once sent to Google and AI is quietly appearing in the business software we use every day. But some accountants aren’t waiting for vendors to catch up. They’re building their own tools to solve real-world problems.

Enzo O’Hara Garza (they/them) is one of them. The founder of US-based firm Accounting Prose, Garza supports high-growth SaaS and startup clients with finance systems built to scale. When off-the-shelf software couldn’t handle messy Stripe feeds or rigid compliance workflows, Garza decided to build their own suite of automations.

They don’t have a computer science degree, just curiosity, persistence and a strong dislike of clicking ‘OK’ 1000 times.

Stripe to Xero: sorted, synced and structured

SaaS companies selling to consumers or small businesses can generate thousands of Stripe transactions every month. One of Garza’s clients, a high-growth startup, processed everything through Stripe, from US$20 subscriptions to US$50,000 enterprise invoices. But the feed into Xero was patchy, and the detailed chart of accounts made cash coding impossible.

“It was very particular for their use case and super high volume,” Garza says.

Before reconciliation could begin, Garza had to get the data into Xero in a clean, categorised and auditable format.

Using automation platform Make, Garza built a multi-route automation that sorted transactions by type – charges, refunds, invoices – and sent them to the correct ledger in Xero. Each route used metadata from Stripe to determine where the transaction belonged, supporting revenue recognition and deferred income tracking.

Automating the ‘OK’ button in Xero

Once Stripe transactions were flowing cleanly into Xero, another problem emerged: reconciliation. Despite the automation, every matched transaction still needed someone to manually approve it. For a client with thousands of entries a month and a complex chart of accounts, the work was mind-numbing.

“There was this additional step that required a human, and it just felt incredibly boring and meaningless. I feel like it was probably in a moment of despair where I was like, oh my god, what am I doing with my life?” Garza says.

“It just felt silly to have a human do that again and again.”

With no API access to automate the approval step, Garza built a Chrome extension instead. It scans the Xero screen and clicks ‘OK’ where there’s a green match and at least three matching data points – vendor name, date and amount.

It works with any bank feed, not just Stripe, and dramatically speeds up reconciliation. Garza also built in guardrails to keep the team comfortable. “My team were a little bit more risk averse, so I [built a version] where I can start and stop and pause the automation,” they say.

Fixing Stripe–Xero mismatches

There are other challenges to integrating Stripe and Xero. The two systems organise customer data in fundamentally different ways, which can cause chaos at scale.

Stripe uses unique customer IDs to track transactions. Xero, by contrast, relies on contact names rather than unique IDs – a design choice that makes duplication and errors almost inevitable at scale. That mismatch sowed havoc with Garza’s Stripe-to-Xero pipeline.

“Sometimes I’d have a John Smith with 100 invoices in Xero, and then there’ll be three John Smiths in Stripe,” Garza says.

To overcome this challenge, Garza built a bulk contact updater using Make. The automation scans Xero for existing contacts, then compares them to Stripe records by their email address. If a match is found, it updates the existing Xero contact by appending Stripe’s unique ID to the contact name and account number.

If no match exists, it creates a new contact with a uniquely identifiable name, ensuring future transactions sync cleanly.

The result is a self-cleaning, scalable system for contact management, especially useful for clients running multiple Stripe environments.

From PDF chaos to clean payroll entries

Payroll systems are frequently a source of pain for accountants. When one client’s payroll provider refused to deliver anything but PDFs, Garza turned to AI.

The reports were unusable – broken headers, merged columns, unpredictable formatting. Manual data entry was slow and error prone. So, Garza built a custom GPT to extract and structure the data automatically.

Initially, Garza used ChatGPT to parse the report and output structured rows they could paste into a spreadsheet. Later, they automated the process entirely using Make.

The latest version of the automation copies a Google Sheets template, feeds the PDF into ChatGPT, parses the data into a clean format and creates a draft bill in Xero, complete with correct tracking categories and source documentation attached.

It handles hundreds of lines in seconds, turning a painful monthly task into a seamless workflow.

Although these automations were built for a single client, Garza now uses them across their firm whenever the opportunity arises.

As AI continues to reshape business, stories like Garza’s shift the conversation from hype to practice. AI is more than a fad; it’s quietly improving the work of accountants who choose to engage with it.

Develop your AI fluency

CA ANZ offers the Certificate in AI fluency, plus a range of micro courses to help you understand and implement AI in finance.

Learn more

Audio articles

Explore Acuity on Air, the playlist where the pages of Acuity magazine come to life.

Listen now