How to Auto-Generate QuickBooks Report (Using Zapier & AI)

Isaac shows how to automate QuickBooks financial reports in Zapier using AI-driven custom actions. He builds a monthly balance sheet generator, pulls the company ID from QuickBooks, validates the JSON response, then pipes it to OpenAI to analyze cash positions and notable items before emailing the results.
Chapters
Hey, this is Isaac from Upstart.co where we help accounting firms streamline their operations and automate their processes. In this video, I want to quickly share a quick tutorial on how to download and generate reports within QuickBooks from Zapier using AI. So it's going to be a quick little tutorial to share a beta feature that's going on in Zapier that I think you'll find incredibly, uh, powerful. So let's look at it. Let's assume that we have a client that we want to generate a report for every so often. It could be, for example, every month. For the sake of this example, I'm just going to assume— let's just do every month for now. We can come ahead and change it in a bit. But here I can select the time and the date. So it could be, okay, every 7th of the month, every 1st of the month, or depending on whenever you kind of have those reports ready in your firm. For this example, let's assume that it is today. So let's assume 19, and time of day, I'll just assume it's 4 PM. So in about 30 minutes or so. So I'm going to click on test triggers here real quick. And the important thing is that now what do I want? I want to generate a report within QuickBooks. So let's go into the second step here and let's look for QuickBooks Online here in the search bar. And in the event, I'm going to look for report. If you notice, there is no such thing. If I look for balance sheet or profit and loss, nothing comes up. However, as you can see here, it suggests that if I don't see what I need, I might be able to build it with the help of AI, which is the feature I want to share today. So let's click on Create Action here and let's see what this leads us So here, as you can see here, I just have a big box powered by AI and just the ability to write in natural language. So I'm going to say I want to generate financial statements in my QuickBooks account. I'm going to click on Generate. So this will allow us to have a couple of ideas. For example, here you can see I want to get a detailed P&L, I want to get a cash flow report, I want to get a balance sheet. Right, in this case, let's do the balance sheet. I'm going to just click on Build. This takes a couple of seconds, uh, while Zapier does its thing on the background, and then it will have the ability for me to use it and test it, which is what we're gonna do today. Let's just wait for a few more seconds here. Okay, there it is. So I'll just click on Use, and if I scroll down, I should be able to see the inputs this particular request requires from me to run correctly. So I can see here there are, there are a couple that are not required at all. They seem to be more relevant for the computer, right? What are you going to accept? What's the version of this API, etc.? But there's one that's required and it relates to the company ID. So what I'm going to do, I'm just going to go ahead and Go to this test tab here. I'm able to select my account that I already have connected, and here I'm able to put the company ID. Now the company ID, I've been able to get it multiple times just running these examples, and it is— if you click on subscription and billing, the company ID of that particular QuickBooks account show up. I'll just pause here for a second and show you what that looks like. Okay, so this is a QuickBooks demo account that we use, and as you can see here, I have a company ID right here just by clicking on this little gear icon and the Subscriptions and Billing tab. So if I copy this and I go back to my custom actions, let's remove the spaces just in case, and let's click on Send Test Request. And see what happens. Okay, API response 200, which is for the techies out there, that means it was— might have been successful. But I see a business validation error, so let's actually go ahead and test again. Or I see a space here, can you see it? Okay, let's delete that and test again. Maybe that's the issue. Okay, so again, now we can see perfect report name. What's the date? This calendar year to date looks like that's the default, uh, report basis on a cash basis. You can start to see how you have various, uh, data points. Even if I scroll down, I should be able to start to see some of the columns. So assets, current assets, Stripe, different accounts we have internally, etc. So it worked perfect. So let's actually go ahead, and now we should be able to go back to API requests, save it. And I believe there should be a way publishing this directly. So here it is, I just refreshed and I have the ability to publish. So by publishing it, now when I go back to my SAP I should be able to click on custom actions. And here I'll be able to see retrieve balance sheet report. There are the various fields here that are not required unless they seem to have a value by default. We'll just leave it like that. We'll just paste the company ID here. Let's delete the spaces. And mind you, even though I'm doing it with just one account, I could, if I had a database with all the clients of her firm and all their company IDs, I can very easily just run this through as many times as I want it using a loop function within Zapier. And I'll be able to get the balance sheet of all of our clients or maybe, maybe other reports if that's what you wanted. So let's actually go ahead and test. So we'll see the data here as it comes up. It comes in a big JSON format. This is for the techies out there. You'll be able to use that and manipulate it as you wish. Although if you continue to scroll, you'll see the various, uh, types of the various fields at the bottom. So you can see, okay, this is a balance sheet, what's the date, this is the calendar year to date, this is on a catch basis. This is a start period. This is the end period. This is the currency. So I could, let's see what else we have below. We have like some sort of total, like net income contributions from the partners, et cetera. So you could have all of this, you know, formatted in whatever way you like. And then you could, for example, let's just say I wanted to send that as an email. I could very easily send that as an email, maybe to myself, maybe to an internal team member. Maybe to the client directly if you have that process, if you want that process a little bit more streamlined. And I could even, you know what, let's do that. I could even use OpenAI and tell OpenAI to give me insights and analyze the report for me. So let's actually try that out. If I create, if I send a prompt, I'm not connected. Let me connect that real quick. Okay, so I've gone ahead and connected it, and let's assume I have a prompt that simply says analyze the following. Let's just do something simple and highlight anything that stands out. You could have a more detailed version of this here, and I'll just give it the, the whole body that we had with all the brackets And all this stuff, we should be able to understand and interpret. Okay, upon analyzing the following, the following key points stand out. The report is in euros and cash. It covers this— this is the total current assets. This is negative balance of this account, which might stand out maybe because that's weird to have a negative balance there. The company has significant funds in these 2 accounts. These are the net assets. The company has had negative income. The partners have both contributed this amount, etc., etc. So that's interesting. It kind of like picked up a couple of different things and it's able to just analyze that. You could give it prompts that are much more directed to what maybe you actually look at in the balance sheet so that over time, even if you're not using this to fully automate the process, you are at least getting insights on what you would And then you can simply complete the process from there. Maybe you use this then to send this response to yourself as an email. If you, for example, simply took the response right here, so you could simply populate this, get your email address on here, and then every month you would get an email with the balance sheets analyzed by AI. And maybe from there, that will use be used as a trigger for you to maybe from there send it to the client. So this is just a test of what I wanted to use AI to build a custom action within QuickBooks as a, uh, at least for illustration purposes, and also use OpenAI to analyze some of the results. I hope that was useful. As always, if you found this useful, give it a like, and if you loved it, feel free to subscribe for future videos where we automate stuff in public. Feel free to comment down below if you have any ideas on things you would like to see us automate next. Until next time, have a nice one.
More from Isaac

This Boring AI Automation Could Save Your Accounting Firm 40 hours (But most ignore it)

How to Build AI Systems With Claude (So Your Accounting Firm Runs Without You)









