054 The Path To Fully Automated Bookkeeping
9 Jun 2023 · 34 min
Jason Staats explains how cheaper embeddings and vector search let accountants auto-classify transactions by matching them to past ones. Most transactions sort themselves now. Only the weird ones need human review. Firms can build reusable classification models that speed up new client onboarding.
Chapters
Hey, welcome back to a fresh installment of Jason Daly. Today we're talking about fully automated bookkeeping. Does that phrase trigger you like it triggers me? I think we've heard that one for decades, but, man, stuff's about to change. We've talked a little bit about this, but let's do a deep dive today on how the ledger 12 months from now, I think will look very different to the accounting ledgers we've moved, we've used thus far. And, and they're going to take us a step closer to maybe not fully automated, but being a lot closer to that being a thing, to doing less and less of the classifying. So come on in, let's talk about it. Thanks for coming and hanging today. Uh, if you haven't seen it yet, I put out a write up on the LinkedIn about how I see sort of the future of accounting ledgers being impacted by the new AI stuff that has happened just in the last six months. This is all like piping hot, fresh stuff. And.
I think we, like a lot.
Of our tech vendors right now are like, buddy, we've been using AI since, since 1937. Anytime you bring up, like the new AI conversation. And for me, that has turned into a bit of a red flag because AI has changed a lot in the last 12 months and it has caused some companies to be dismissive of the new stuff when the new stuff has fundamentally, like, enabled new opportunities. So I get a little skittish now when I hear companies say, oh, yeah, we've been doing AI forever, like, full stop, it's cool. If you've been doing AI forever. What I want to hear is, I've been doing AI forever, but I'm particularly excited about this. You know, this thing that's happening now, like cutting through AI marketing speak right now is just like a whole. It's a whole thing. But what we're talking about today is a great example of how, man, that stuff is changing. So we've talked about this a bit before, but I don't think I really did it justice and I think I made it really confusing because admittedly, some aspects of this are easier to see than to hear and understand. Let's talk about it more because this is technology that will absolutely change not only how our accounting ledgers work, but a lot of the practice management stuff we've been talking about, like how those apps will change. This is kind of the secret sauce behind it. And it's two bits of technology embeddings and vector search. And if you've listened to this podcast from the beginning. You've heard me say these words before, but let me, like, break it down in a really, really simple way to make sure that we're all on the same page so that we can then see how that gets applied to accounting ledgers and actually moves us past the bank rule paradigm of accounting ledgers that we're like, all kind of living in right now. So two bits of technology. The first, embed and embeddings are not a new thing. But in January, OpenAI released a new embeddings model that was astronomically cheaper and better than anything that had been seen before. So embeddings are not new, but they're newly cost effective and newly more accessible for developers. A lot of the AI stuff that's changed in the last 12 months made AI more accessible to more developers. You don't have to be an AI whiz to like leverage this stuff. And embeddings is one such an example of something that got easier for developers and way cheaper. So there's way more situations where we can now use embeddings. And all an embedding is is you take a string of text.
Could be the word cat.
It could be with OpenAI model, like actually up to several pages of text. It's a string of text. You run it through the embedding model, and what the embedding model gives back is, is an array of numbers. So it's just number, comma, number, comma, number, comma, and that those numbers are a representation of that text string. And all that really matters here is that that set of numbers is more meaningful for a computer to understand than the actual text. So that is an embedding. And what makes embeddings really powerful is the second bit of technology we're talking about, vector similarity search. So those numbers that that embedding model creates for you, those are called vectors. And so the vector representation of the word cat or of the word dog or of an accounting transaction on its own doesn't have any significance. But when it comes to vector similarity search, the relative similarity of those different phrases is important. So really, basic example, let's say we embed two words, we're going to embed the word cat, and we're going to embed the word dog. Vector similarity search will give us a number for how similar those two embeddings are. Cat and dog. Let's embed a third thing. Let's embed golden retriever. Golden retriever is going to be more similar to the word dog. Then it's going to be to the word cat. If we then embed the Empire State Building, that's going to be more different than any of the other words. Cat's going to be closer to dog than Empire State Building is to dog, that sort of thing. And that simple like similarity yardstick is like kind of rewriting almost all of the software that we use right now. And so the more relevant example to us is take a bank statement line description. So let's say you have a purchase from Starbucks. And in the LinkedIn article, I've got some visuals here that may make this easier to understand digits. The software company has put out some great blogs around how they use this stuff in their product. And they are like, absolutely. They're like big time AI thought leaders in our space right now. So some of the graphics in my article borrow from that. But using the example of a Starbucks purchase on a bank statement, you've got that little bank statement description line, right? Of like Starbucks and usually like a number after that, which I think is like Starbucks uses that as like the location number or something like that. But like that is what comes through your bank feed when you are categorizing transactions. So instead of cat and dog, let's embed those bank statement descriptions, right? So transaction comes through, it's a purchase from Starbucks. We're going to embed that transaction and we're going to classify that to. In the article, I joked office expense, whatever, whatever you want to call that Starbucks purchase, let's say meals for simplicity. A week later you have a second purchase from Starbucks. Maybe it's a purchase from the same Starbucks location, but maybe it's a per. Let's start with that example. It's a purchase from the same Starbucks location. We're going to embed that transaction just like we embedded the last Starbucks transaction. And the relative similarity of those two embeddings tells us, hey, this is actually like almost exactly like that transaction you did a week ago. It is not like the Amazon transaction that's embedded. It's not like the McDonald's transaction that's embedded. It's not like the BMW Finance transaction that's embedded. When every single transaction is embedded, when the next one comes through and you embed that one, vector similarity will tell us how similar it is to past transactions that you've already classified. So for example, it would be more similar to McDonald's than it would be to BMW Finance. But ultimately it's most similar to those past Starbucks transactions. And so when we embed that New transaction, we can say, okay, give me all the past transactions that are within some yardstick of similarity. Oh, I see that they're all classified to meals. I'm pretty darn sure this one goes into meals. Right? And when you embed that, you could not only put in the bank statement description, you could put in the amount, you could put in the text of like a receipt, stuff like that. Ultimately, the more context you can provide it, the higher it will perform. But it works pretty darn good just on bank descriptions. Like, that's where we're going to start with all of this. And in the past when it came to machine learning, you had to run like thousands of transactions through a model to get, like a somewhat reliable prediction back. And this is where, you know, the zeros and the quickbooks of the world and all of that would tell us. And you could point to keynote after keynote where they've said this. Our proprietary machine learning models and all of the data that we have that nobody else has gives us this killer advantage to be able to predictively categorize all of your transactions for you. And they've been saying this for like the last five or 10 years. But I don't know about you. When I go into my accounting file, when like a transaction comes through from Chevron, I still have to put it in fuel expense. Like, I have not really seen very meaningful progress on that. Sometimes it will suggest a categorization if the transaction was like, identical to a past one. But like, ultimately this, this is not like a very meaningful categorization engine. Now with vector similarity search, it doesn't take many Starbucks transactions for it to be able to say, oh, yeah, we've got some history that's very, very similar. Let's categorize it the same way. So how does that change how accountants specifically, like, do bookkeeping categorization for their clients and what the resulting, like, accounting product even looks like?
This episode is sponsored in part by dark horse CPAs. Hey, remember last week's Dark Horse ad read some of you were concerned with good reason. Listen, I was kidding about the whole shtick. With dark horse CPAs abandoning computers, maybe sarcasm isn't your forte. Dark Horse actually strives to be the opposite of everything mentioned in that ad. But sometimes it's just helpful to let people know what it is you don't do to help them frame what it is you actually do. Did you write that down? That's a nice tidbit. That's a good bit of advice. So here's what Dark Horse is Not, they're not a franchise. They're not a technology suite that you plug into at arm's length. They're not a bench of outsourced accounting labor for your firm.
Dark Horse is a platform cpa.
And if you don't know now you know.
Instead of spending your time building the.
Wheel for your firm, you could join a firm who's created and constantly evolving the wheel. You don't have to make your own wheel, Cave accountant. Instead of spending your time in the areas that aren't driving value for your clients and revenue for your firm, you just join a firm that's going to help you do all that stuff right, so you don't have to. I'm just saying you could become a dark horse cpa. Think about it. Hey, if you're thinking about having to reinvent the wheel yourself, if you're thinking about going out on your own, but.
You don't want to have to fiddle.
With like all the admin and all.
The, all the just having to, you.
Know, do all that stuff yourself. Check out these peeps. Dark horse cpa.
Check out the link in the. In the show notes.
This episode is sponsored in part by Client Hub. Hey, this week on Tales from the Hub. Yeah, we're doing more of these. Hey, remember last week when Super Smart Accounting Firm, which is totally a real accounting firm, captured all of their workflow.
Processes in Client Hub?
How are your SOPs looking right now, huh?
That's right.
Look in the mirror. Now, partners don't have to stress when staff members take a vacation this summer, knowing someone else can pick up the client work without missing a beat. Because all those SOPs, all that documentation, it is, it is squeaky. It's all where it needs to be. Unlike in your firm, right? Oh, boy.
Talking to myself.
Speaking of the partners, they've been hearing the staff raving about Client Hub, the water cooler, the break room discord, whatever.
The digital equivalent of this is.
So they decided to get in on the fun. The partners, that is. Now, the partners start their day with the Jobs Dashboard and Client Hub. It's an easy to use view of.
All the projects with filters to drill.
Down into just the ones they're interested in, like their own projects.
Tax Project, Accounting Pro. What do you want? Whatever you want to look at.
They get a view into everyone in the firm and what work they're doing for clients.
And they could just look in the.
Client Hub whenever they want to see where the latest, where the stuff's sitting.
You know, where it's.
What, what, what Are. What are. What's everybody doing? Peace of mind delivered courtesy of Client Hub. That's it for this week's tales from the Hub. Check out Client Hub at clienthood clienthub app or just use the link in the show notes. That's probably easier than figuring out what I just said.
So I got a little list of things here. It means no more bank rules. So like the secret to making a bookkeeping file hum right now is a killer set of bank rules. If you run a team of bookkeepers, big thing you're always up against, getting everybody to make the most out of bank rules because that makes them more productive. That rules based accounting paradigm, it's gone. Throw it out the window like we're not doing that anymore. Second, it means managing exceptions instead of each transaction. So if something is within this threshold of similarity to stuff you've had in the past, just going to categorize it, but there's something about it that's different. Maybe the amount is very different. Maybe there's some other. Maybe it's just a vent merchant that it hasn't seen before. But even in that case, when you have situations like McDonald's versus Starbucks, it knows that those are much more similar than McDonald's versus Chevron. So like even for merchants it hasn't seen before, it can probably give you a reasonably good prediction. But rather than classifying all these things or having to create rules for every possible type of transaction that comes in, we're now going to be managing things that are beyond a certain similarity threshold. But that's it. Everything else categorizes itself not based on rules that you created just because last time that's how you coded it. And it knows that now. Right. And that is a model that is specific to that accounting file that will then like on a rolling basis categorize any of the new things that come in. So you're managing exceptions instead of each transaction. It means the classification model of the accounting file is now like a unique thumbprint of that accounting file. Fingerprint, whatever. So like if you think about how that little model is created, those embeddings to keep things simple right now, let's say those embeddings are specific to that company's accounting file. It's like a custom AI model that is just created on the fly based on how you've categorized stuff on the past in the past. And that is now like kind of like this unique fingerprint that is specific to that company accounting file because it's the only company that has that Exact collection of embeddings or transactions. Right now it means also that if you have a set of embeddings within a company file, why not widen that a bit? So let's say you work with construction clients and you put them on the same chart of accounts. How about a pooled embedding model where that classification model could be shared with this other client's classification model. On the back end you have embeddings in like a common like kind of pooled database is what they're called vector databases where the embeddings get stored. But what if, and this has always been a problem with bank rules, right? Is all of your bank rules are siloed within individual accounting files. And QuickBooks did some good stuff around exporting and importing bank rules so that you can pull them into other files. But that's a one time thing, they don't stay in sync. So embeddings and the database that they live in could actually represent multiple accounting files. It also means that when you start a new accounting file from scratch, that could borrow from those same vector databases like the models that you've already trained based on how you've just categorized things in the past. You can also use that on a brand new accounting file. So let's say, let's just say the default QuickBooks chart of accounts which for like generic companies and like micro businesses generally, totally fine. But maybe you've got one for your firm even and like this is the base one that you always use with your clients in your firm. If you've got 20 clients, I mean if you've got one client that is using that classification, that chart of accounts, you've got a pretty darn good vector database or model that is specific to that chart of accounts for classifying things anywhere. So when that new company like quickbooks file gets started up and you use that same classification model from day one, the very first transaction that you classify, it can use that model. And so if they have some vendors that are the same, great, it's going to classify in the same way that you did in that other file. If they have some that are different, you classify those and that enriches the model as a whole that all of those companies are sitting on top of. So like you are doing this on the fly as you categorize things in these different accounts. So when you classify a new transaction in company A, it makes the classification model in company B you even smarter. But like multiply that by however many accounting files that you have that are sitting on a common chart of accounts. Ultimately as this model that is specific to you gets better and better. Like the destination here is you connect a bank account for a new company and near instantly it can classify thousands of transactions, right? And that classification model is an asset for your firm that just keeps getting better and better over time. And all this is is vector database embeddings. It's embedding these transactions and storing them in a vector database. Then when the next transaction comes through, it gets embedded and it's compared for similarity to other transactions in that database. That's all this is. This is completely doable right now. This is the way that digits quality assurance product works. So you can connect Digits to your QuickBooks file and they embed all of the transactions. And, and if there are any transactions that are classified to a certain account that are outside this similarity measurement, then it's going to flag those transactions and say like hey, this is an outlier double check that this looks correct. So like this is already happening in the case of this product. But when the like ultimately this is going to become a core part of our accounting ledgers and change how things get classified. And to me the reason why the kind of legacy talk track of our proprietary data will let us create these incredibly powerful machine models, the reason why that will never work and why it hasn't worked thus far. Three reasons. Different accountants will classify the same transactions differently. And even accountants best case scenario because if you're pulling on the general data of everybody that's classified things in QuickBooks, man, you've got all sorts of numpties that are like checking stuff and office expense and like you know, all sorts of things where it is maybe not up to the level of it of an accountant that is creating noise in that model. Ultimately classification is in the eye of the beholder, right? Like it is the way that you do it. Second, chart of accounts are not standardized across users. So of all of the company files out there, because you can customize the chart of accounts to be anything like what that classification model looks like is going to be a little different for each. That being said, there's also ways AIs can help to bridge those differences in the same way that you can embed transactions. If you have a company with a different chart of accounts, but you have this model with like maybe this like kind of parent like master chart of accounts. If you have a new company and it doesn't have that account, you can also embed the accounts to get a vector similarity figure for okay then what Account is this most similar to classified that way. So like even different chart of accounts can be managed to a degree, I think. But third, the reason why the legacy approach hasn't worked is oftentimes you need more context than just the bank statement line to make a correct classification. And so worst case, this is bank rules on steroids that you don't have to create yourself. That is worst case scenario here is it will do all the things that in the past bank rules have done for us, but like on a super granular level that is constantly updating and ought to be able to bridge across accounting files. Big freaking deal, right? If you run a big bookkeeping team, if you do like a large volume of bookkeeping, that is huge. But particularly if you do tax, you know how some of this stuff can be problematic and how you have like purchases from Amazon that can have line items with different tax treatments and there's just there and like treatment of auto expenses. There's just certain things that like are kind of problematic from a classification standpoint. And with kind of the legacy approach to like a machine learning model to rule them all, that doesn't work. But in a more special like specialized classification model where you have classifications that your firm uses for specific tax treatments, like a sub account to handle, I don't know, an auto expense as a direct expense or not, you know, if they take mileage or something like that, something specific to your firm because you can create your own chart of accounts and then categorize things according specifically to your firm's policies in many ways that like bridges the gap and gets you over the issue of those transactions that are troublesome from a tax treatment standpoint. Now the one exception to that that I can think of that it will never ultimately solve for is tax positions taken after the fact, after classification. So maybe you don't know if you're going to take actual expense or standard mileage on a vehicle deduction yet. Maybe you won't know that until you ultimately file the tax return. There's no way at the time of the transaction happening then to like classify that in the perfect way. But it could absolutely go to a place that's like we don't know yet, right? Or after that first year, like if you're going to do actual like this, maybe you just chuck it, chuck all those into the, you know, actual category each year. But like this is like a subset of a subset of like an exception to the rule that can auto classify the vast majority of things in a way that is specific to you in a way that is specific to your firm, to specific subset of clients ultimately. And this is where I hope we get to. To a pool of clients, like, of your own design. So, like that unique fingerprint of the classification for that model or for that company file that I want, you can think of that as like Bank Rules 2.0, like that rule set or that model that I want to get my hands on so that I can decide this is going to be the one behind not only this company, but this company. This company. This company too. Maybe all my companies that are tagged Construction. Maybe just every company in my firm that has this chart of accounts. Right? So like that unique fingerprint of the model for that specific file that is now a thing as my firm, like for my firm. That is an asset that I could use across different companies that I could also. Hear me out. Hey.
This episode is sponsored in part by firm 360. It is a practice management system that's just gonna.
It's just gonna make it easier to get all.
Get all the stuff done. As we talked about last week, it's firm360 because it covers everything in your firm. Just a single tool. Projects, billing, files, all the goods all in one place.
Place.
Check out this testimonial from Janet Long from Peerless CFO Services. See if this. See if this sounds familiar.
See if it sounds like you.
Janet was looking for a solution for managing her firm's projects as their current methods of using spreadsheets. Oh, bless your heart. Janet was starting to fall apart as the firm grew. Hey, we all started somewhere. We all started with that back of the napkin, managing projects, and it's just a mess. And then you start hiring people and they're like, I don't even know what I'm supposed to be working on right now. Let me tell you. They implemented firm360 and were able to see major improvements in their visibility into staff workload and increased team productivity. Who doesn't want that quote? I'm always so impressed with your team and how fast you respond to requests. We never imagined getting such wonderful support help when we signed up for firm360. But it has been a blessing for sure. Hey, that sound like you. You still hustling those sheets? Stop it. Are you a Janet? Don't be a Janet. No, do be a Janet and get onto something better, something that your team's gonna love. And your clients will send you nice gift baskets for about what? Firm360. Learn more in the link in the show notes below.
Maybe even share Externally, I don't know, I don't know about the reversibility of embeddings and like whether that's exposing sensitive information or not. But ultimately this is something that is way better than what we have right now, right? Way better than the manual classification method and managing bank rules. Even though it's doable, it's a lot of work and as your team grows, that is a hard thing to get the entire team to do consistently. So this is super exciting. What on the other side of this then, if you built an accounting ledger from scratch that could do all of this stuff, what does that product look like? I can tell you it looks different than Xero looks like right now. It looks different than QuickBooks looks like right now. Those products have classification at their core. Like that is the core functionality of them as classification and reconciliation. And that's about to get like vastly simplified. So it's interesting to think what like a product looks like on the other side of that now. The incumbent accounting ledgers could absolutely lean into this and make it happen. It's also possible that like new kind of AI first startups will nail this and do this really well. This is something that anybody can implement that once you learn, it is not particularly complex. Literally I have built this into like a product I developed two or three months ago. People can do it, it's not that hard. So ultimately, once everybody's figured that out, what will be the differentiator? The, the differentiator will be whoever has the most context. Because if company A only has all of your, only has your bank feed, but company B has half of your receipts, half your invoices, that sort of thing, you're going to get better classification results out of that. So right now, as is the case with, with many things in AI, the companies that are thinking ahead, even if you haven't built this AI stuff right now there needs to be like this movement towards like a context land grab like you want to have that information so that once everybody has figured out vector search, you're the one that has the most context to improve the quality of, of what you can do. And we've talked about this in practice management systems. When it comes to generative email replies, Carbon's now doing a very basic version of this that just looks at the history of that specific email and tries to generate a reply as like a first draft for you. But the better version of that is the one that has documents embedded, that has projects embedded, so that when you get that email it does a vector similarity search. To pull the most relevant documents to that email that you just got. Then in the generative reply, what informs the reply is not just the past history of that email thread, but all of the documents that are also related. So somebody asks for a bank letter, but I got like 100 similar bank letters in my document management system already based on what they're asking for. It goes out, maybe it grabs the five bank letters that look the most similar and then generates a letter on the fly that would seemingly meet the requirement of what they're asking for. Using the most similar documents you've already done and sent out as a template, like that's literally not only responding to the email like that is gener like doing the work and attaching it to the email or giving you a first draft to use. So like this is the power of vector search. When I went through like the talk of here's all the ways the AI is going to make your practice management system better. There were a lot of things in there, some of which are just basic generative text GPT stuff. And now companies are leaning into that. Canopies got a version of that in their drafting email. Carbon's got a version of this Financial Sense client hub they're using. I think they're generating like task templates based on prompts. So people are starting to get into just text generation. But a way bigger thing that will be an even bigger time saver for us is when all the other contextual data is embedded and pulled into those generations to have a much more intelligent version of that thing that just got generated. I'm super bullish on this stuff. It's going to happen. It's just a question of when. I do some AI consulting for companies, I've been able to peek behind the curtains of a lot of companies marketing. Some are getting there, a lot aren't quite there yet. But I am super bullish on this group and us who are tuning into this show every day and the influence that we're having. So really good example of this is what we've talked about with AI enabled practice management systems and some of these things that I know y' all have been sharing, that y' all have been putting in front of your tech vendors. We've got some great AI releases and the world is much bigger than us and this show and the things that we talk about. But I absolutely think that we're making a difference. We've seen Canopy ship some cool AI stuff. We saw Carbon ship some cool AI stuff within the next week. I don't know if Canopy influenced that or not, but. But it kind of seems like it, right? All that stuff happened within a month. Two months of us talking about practice management systems and what, what the opportunities were there. Generative email, composing emails. And I said this in a past episode, that was something you could have done with GPT3 that was released like 14 months ago now. So that is not a new capability. GPT 3.5 made it cheaper, made it faster, and that was released late last year. But we started talking about here's all the ways the practice management systems can get better and people have gotten on board again, the world's much bigger than us and the things that we're talking here, talking about here, but you're absolutely making a difference as we talk about these things, as we share them with our tech partners. Like, we are, we are like moving that boulder like just a teeny bit. And ultimately when we do that, it is making these products better that tens of thousands of accountants use. And I can start that. But ultimately, if I was sitting here in a cave by myself with nobody engaging and, and amplifying my message and all that stuff, then it wouldn't mean anything. So like it's worth. And I'm feeling this way because I'm at an accounting conference where I'm going around and talking with people and they're like, oh man, this was great and this made such a difference and this and that. And so I'm like feeling especially bullish on this right now. But like the folks that are like engaging in this every day and amplifying and sharing this stuff, like, we are genuinely moving the accounting profession forward and opening our tech partners eyes to what is possible. I mean, it doesn't seem like that long ago where we were saying Microsoft Copilot is going to steal all of our lunches. Yet we've got several practice management systems that have shipped Generative email before anybody can even get their hands on it through Gmail or Microsoft, which is great, but all of y', all, in these conversations we're having, like it is pushing the profession forward in a really exciting way by making our tech partners better and by extension, not only helping us, but helping everybody that uses these things because that's ultimately what will shield us from, I don't know, some technology company going out and building that proprietary thing, right? Like, I want this tech, like, give me this tech to make me more productive because this is just where everything's headed and it's going to give me a whole bunch of time back to do the stuff that I actually want to do, which is not sitting there and hitting the okay button in zero or sitting there and like clicking a dropdown and categorizing things in QuickBooks. If I didn't have to do that another day in my life, I would be a okay. And I'm pretty sure I could find something that I could do to fill the time right? So that's really exciting to me. That is embeddings and vector search. Hopefully that was understandable. As always, if this is helpful, if this gets you excited, share it with your mom, share it with your tech vendors and say like, hey, is this something that y' all are exploring? And we will just like do our little part to make the accounting space just a slightly better place to be.
Thanks for coming and hanging today.
What a week this has been, right? This has been a ton of fun. I'll see you next week.
More from Jason


622 Accounting Firms: Watch This Before Selling Advisory [What The Industry Isn’t Saying About The Future]


621 The 9 Most Asked Questions About Accounting Firm AI [AI for accounting firms]
620 The Real Reason Clients and Staff Resist Change [Here’s what to do about it]
619 The NEW AI Agent Approach for Accounting Firms [An entirely new AI agent platform for firms]
618 Accounting Firms: Stop Taking New Clients. Watch This First. [How to know when you’re digging yourself a deeper hole]
615 The First $1B Accounting Firm Rollup [What this means for small accounting firms]
614 The Three Types of Accounting Firm AI [And where to deploy each in your accounting firm]
613 Stop Writing SOPs for Your Accounting Firm. Do This Instead [The NEW way to build your SOPs]