Xero Automation 101 for Accountants (API Tutorial)

Isaac from Appcenter.co shows accountants how to automate Xero using APIs and no-code tools like Zapier and Make.com. Sync contacts between your CRM and Xero, pull invoice line items into Google Sheets for revenue analysis, or use ChatGPT to auto-categorize bank transactions back into Xero.
Chapters
Hey, this is Isaac from Appceter.co, and in this video I'll show you what's possible to automate with Xero's API, a super explanation of how it works, and some live examples on how you could automate stuff within Xero without having to deal with code or like weird developer terminology. Okay, so what is an API in the first place? In its most brief and concise format, it's essentially a link for robots. Fundamentally. And if you think about as a human, what do you do with a link? If I send you a link to zero, uh, zero URL, for example, you have to log in, number one, and then you are able to do stuff, the stuff that I've authorized you to do based on the user privilege you have. So maybe you can add employees, you can add journal entries and remove them, invoice them, and create invoices and clients and vendors and contacts and bills and download reports, right? There's all of these things that now you're able to do by going to specific links as a human being, right? That's the user interface or UI. It's what you do as the human. Similarly, companies often create what's called an API or application program interface, which is the same thing but for another program. So similarly, those other programs have to log in first, right? And they'll have certain privileges of things they can do. In this case, Automatically. Ultimately, the format's slightly different, right? The URL is going to look slightly different. The format at the return, like you don't need buttons, you don't need beautiful design because it's just giving it to another program. So the format's much more text-based, but the goal is the same, to do stuff in this case automatically or through another program. Now, what can you automate with it? Technically speaking, anything a third-party app in Xero has done, you can too. And 3 examples come to mind that are very popular. And those 3 examples are reporting, getting data into the software, and getting data out of the software. I can think of 3 apps that we've seen some clients use on the accounting world that might be representative of those particular use cases. One example is Sift, right? How can you, from different clients, pull their reports to try and balance a profit and loss, graph them out, or do whatever it is that you want with that data? That's one example. Another example, it's A2X. It's an e-commerce accounting application and allows you to get data into the software in the first place. So whenever you have a lot of transactions in Amazon, in eBay, in Etsy, in Shopify, whatever, how can you get the data into the software in a way that's more easily and more automated? And also another example, it's Giacon, which is an app that allows you to get the data out. It has some data-in functionality as well, but primarily you want to get a list of accounts, you want to get a list of contacts. Similarly, maybe you want to get the reports into a spreadsheet in a more standardized format. So as long as an app has done it, it means that the data is accessible. You can use their API reference, which is just a big document, a big page to where they tell you what you can or can't do. But just at a high level, provided that this, this video is more kind of tailored to people getting started in that world, if an app has done it, then you can do it too. Now the question is, Isaac, but how? I'm not a coder. Well, the great thing is these days you don't have to be. For starters, I actually always recommend using tools that don't require code like Zapier and Make.com. Now I do wanna share 3 examples for you so we can see like an easy, intermediate, and advanced format of what this could look like in practice. So the first example I have for you, it's the example of syncing contacts. So this simple automation that you see right here, it's built within Zapier, one of the most popular low-code tools, and has 2 steps. This first app, it's Google, and the other is Xero, but it can be other apps. It's just there kind of representing an example. And the reason this is important is for you to be able to keep a clean list of contacts with all the apps you use today. For example, you might have a CRM, you might have a project management tool, you might have a proposal tool, you have your accounting software. All of those tools have contacts might be your clients, might be leads, might be opportunities, might be vendors, might be employees. And then how you make sure that you can keep that in sync with your Xero account so you don't have to, you know, go ahead or not know where to go to find the, uh, for example, the accurate information of a particular contact. If they change their email, then you have to change it everywhere else. Like, make sure you have to do that if you set up a simple automation like this. As I mentioned, it's just there as an example from Google to Xero, but it could be HubSpot, your CRM, proposal software, Ignition, Anchor, whatever it might be, whatever tools you use where that contact is initiated. Could be also like scheduling link, a Calendly, when people will call so you can make sure those people are added in or updated as needed. So that's the first like easy basic example. Let's look at one that's a little bit more advanced. In this case, using Make, we go from 2 steps to 3 steps. Okay. And this is actually just getting all the invoice line items. Okay. And the idea here is to do that on a regular basis. So you don't have to, for example, go into your Xero account to download all your reports and put it on a spreadsheet to analyze, for example, revenue by service, revenue by client, those kinds of metrics that you might want to look at when you're going to get more granular about your revenue that might be stuck within the line items of your invoices. And here's what we're doing is we simply getting the invoice. We're using an iterator that's iterating through the line items of each invoice, and then it's mapping those to a Google Sheet to have the date, the client, the service, which is the description. I'm assuming it's the description of the line item and the line item amount. So sometimes we've heard clients that they are downloading their invoices or they're kind of getting the report from zero, but they don't. If they have their service as a description in the line item, they might not be able to easily get like revenue by service. So this could be a way just to push that data on a regular basis and sync it with the spreadsheet so then you can analyze it for yourself. The last example I have for you, it's a little bit more complex. And as you can see, it's many steps, but fundamentally just to simplify it, this is actually just doing 4 different things. Okay. The first thing is doing, oh, actually probably 5. So the first thing is getting a list of clients. That's actually optional because you could run it just for one client. But what we found is accounting firms that are interested in creating workflows that apply to a subset or possibly all your clients so you can get leverage in that way. But number one, you're getting clients. Number 2, you're getting the accounts for those clients. And that's useful because we want to give that to ChatGPT. To pick from. Number 3, we're getting all the transactions, right? In this case, you see we're getting the bank accounts, the report from that bank account, so that then we can extract the uncoded transactions for all the accounts of that client. 4th, we're just running that through ChatGPT and telling it, hey, this is the list of categories. There's a good prompt. I'll go ahead and assess what's the best category for this transaction. Usually with, with a search-based model, a search that has the functionality of doing web search. So if it has to Google a particular vendor, it can do that and assess, better assess what the right— what's the right category for that particular transaction. And last but not least, these final steps is just going back into Xero and posting that transaction with those details. Now if you want to get more detailed into some of these use cases like the one I just shared, it's too detailed to get into this video, but I actually have a separate video where I share more details. I go into how this automation works and how to build it for yourself. So feel free to check that video out that was showing up the screen right now. I'll see you on the next one, and until then, stay efficient.
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)









