Randy Johnston and Brian Tankersley, CPA, CITP, CGMA, explore the emerging concept of “vibe coding”—an AI-driven approach to software development that allows non-programmers to build functional tools using detailed prompts instead of traditional coding skills
The Accounting Tech Lab is an ongoing series that explores the intersection of public accounting and technology.
View the video below:
Or listen to the podcast using the below player:
Rather than writing code manually, users describe their objectives in detail and allow AI tools such as GitHub Copilot, Microsoft Copilot, ChatGPT, and Claude to generate the underlying scripts. Brian shares real-world examples, including flattening JSON data for Excel, building an internal URL shortener integrated with Power Automate, and mapping database fields for accounting system conversions.
The hosts emphasize that vibe coding is ideal for internal-use automation, where productivity gains are significant but public-facing security risks are minimized. From engagement letter generators to data conversions between platforms like Sage 100 and Sage Intacct, AI-assisted development can dramatically reduce the time required for complex technical tasks.
The episode highlights a broader shift: accountants no longer need deep programming expertise to build “digital plumbing” that connects systems and automates workflows. With proper guardrails and risk awareness, vibe coding enables firms to solve practical problems faster, cheaper, and with greater experimentation—helping professionals “embrace the suck” and grow their technical capabilities.
Transcript (Note: There may be typos due to automated transcription errors.)
SPEAKERS:
Randy Johnston; Brian F. Tankersley, CPA.CITP, CGMA.
Brian F. Tankersley, CPA.CITP, CGMA 00:00
Welcome to the accounting Technology Lab brought to you by CPA practice advisor, with your host, Randy Johnston and Brian Tankersley, hi everybody. It’s Brian working hard at the lab today, but I thought I would let you know that do have a quick announcement. We have a giveaway. We’re going to be giving away one Rico, scan, snap IX, 2500 receipt edition we’re going to draw. We’re gonna make the drawing right after April 30. No purchase required. Suggested Retail value, $599 this is a one has one touch simplicity, and our friends at Rico graciously provided it to us with automatic invoice, OCR, detachable receipt guide for small and curl documents and lightning fast, 45 page a minute, duplex scanning. It transforms paperwork into clean, searchable digital data in seconds. If you want to register, it’s CPA te.ch/scan snap. The rules are at CPA te.ch/rules and the privacy policy is at CPA, te.ch, forward, slash, scanner, dash, privacy. And for those of you attending the video, attending the video version of this, I’ve actually put on the screen now a QR code that you can capture and use to register for the for the again, for the scanner. Giveaway again. We’re giving one away. We’re going to give it away again right after April 30, and again you must, you must be an accounting professional when all the rules again are at CPA te CH, CPA te.ch/rules so anyway, with that, thanks for joining us, and here we are back in the lab.
Randy Johnston 01:40
Welcome to the accounting Technology Lab. I’m Randy Johnson with my co host, Brian Tankersley, and we have got a little bit of a vibe for you today, vibe coding with AI. You might have heard about it, but the good news is, Brian’s done a bit here lately, and I think we’d like to have him talk to you about that. So Brian, what do you want our listeners talking about on vibe coding? And if you’re watching the video version, you might see a little
Brian F. Tankersley, CPA.CITP, CGMA 02:03
bit different. But what I will say here is that, you know, we’ve talked about low code, no code, for a long time, and this is a series of technologies that make it possible for people who are not coders like you are to create, to develop software and to create tools to solve their own problems. Okay? And so what’s happened here is that all of these AI engines have been trained on huge amounts of code. Okay? There’s actually a tool called GitHub copilot, and there are a number of other copilots and things Microsoft’s co pilots include tools that will help you create bots, and, you know, power automate and power apps and all kinds of things, but what vibe coding is, fundamentally, is it is where you’re letting the AI write software and set up software for you. Okay, so the idea here is, this is an AI assisted, in fact, AI driven approach to software development. You let the programmer build the application. You describe what you want, you get very detailed about what you want. And so we actually create very detailed prompts. And some of the prompts may be, you know, 1000 words describing what you want in very deep, very secure detail. You can say what language you want to read in. You can written in. You can see what platform you want to run on. You can have it right interfaces, like the some of the tools I’ll talk about a little bit later. But the idea here is that the request and any examples get uploaded to a large language model, and then when you get errors, you simply stay in the same thread in the AI engine, and then you just upload the error and say, Okay, this is error I get. For example, there was a tool I was writing. There was an interface to power automate, and I got an error, and I uploaded it, and it said, Oh, you didn’t do what I asked you to do. You did something else. Because you don’t understand the model of how this works. And I was just thinking myself, you really don’t understand how much I don’t understand the model of what’s happening here. But it was an internal use tool. It was fine. So with AI vibe coding, again, human describes the goal. They create a login form, build a weather app, something like that. Ai model produces the underlying code, okay, and then it will usually put it into separate files where you can copy and paste them into your editor. Other things of choice. You can’t be completely clueless about editors and things like that, but it will, if you ask it to give you guidance. It will tell you exactly what to do, and then it will say, you know, this is the version of Python you need minimum. This is, you know, you need to set it up in a virtual environment. This is how you do that. You can just keep asking questions if you don’t understand. And it will get more more and more formulaic for you. If you then run and test the app, if you get errors, you put the errors in, it will help you solve the errors. But again, there’s very little, minimal coding, code editing that happens and that. And again, this is different from traditional things. You know, the analogy I had today when I was talking about this in the Tennessee society CPA conference, where you and I are both today, is that it is analogous to when you. Used Excel or Lotus, 123, and you first sat down in front of relational database management application like access or D base three or D base four. You kind of looking at it, and it was kind of like a TV that didn’t have any channels on it. And you said, well, now what do I do with this? Okay, because you were looking at a blank sheet of paper and a blank set of tables, and you somehow had to figure out what you wanted, and if you didn’t know, you couldn’t create with this is different. It will tell you what to do, and it will provide suggestions, and then if you don’t like what it creates, you make something different. So there is now I’m going to tell you that I wouldn’t use this for public facing code. Okay? So I would use this, say, for an engagement letter generator internally, or a an email response tool or something like that for internal use that it does not go outside the firewall that is used by your people to solve internal problems with your information.
Randy Johnston 05:54
So Brian, that’s actually an interesting point, because you could write code external facing, but as a risk mitigation strategy, this is a good time to be learning this a good way to improve productivity internally and solve particular problems. So I’ll just pick on one that I watched coded here lately at the CCH user conference, they actually did a whole Client Onboarding procedure, and they did the coding in less than 10 minutes. Yeah, and that’s a significant problem for a lot of firms. Well, if you can define a problem, vibe, coding can help you solve the problems, is what I’m really hearing you say.
Brian F. Tankersley, CPA.CITP, CGMA 06:35
And if it doesn’t work, or you want it to do something different, you can go into the same thread that created it. You can upload the code that you deployed and say, Okay, this did this, and I didn’t I liked the first two. I didn’t like the third one. I need you to do instead of the third one. I need you to change it to do this, and the fourth one I need you to change to do this. And so, you know, it’s very much like having, you know, having somebody offshore writing the code that you’re serving as a system analyst for you really are the system analyst, where you say, this is how I want the problem solved, and then you’re judging the outcome as to whether or not it got solved. Now understand that there are still security issues like data validation and, you know, making sure you don’t create problems in databases and other things like that that are way over my head, that you probably live, breathe smoke, but this is why we don’t have public facing things with this, okay, and this is why we don’t put super hyper sensitive things into it. So it’s unless we’ve tested it and we’ve had adult supervision on it. So it may be a
Randy Johnston 07:36
little misstated, but it is in the right zone that’s where NPCs can control the roles and securities, yes, and so when the vendors get to the point that they’re publishing access through MPCs, they’re taking care of all of that security level stuff that these tools today would violate, just like we’re Seeing already in the perplexity comment, browser, how it’s bypassing the securities of subscription services.
Brian F. Tankersley, CPA.CITP, CGMA 08:06
And really, in many ways, this is very much like when you were a kid and you were six years old and you heard a strange noise, and you went to your parents room, and your mom and dad held you and said, it would be safe. Okay. The problem with this is you’re curious like the six year old when you’re doing the vibe coding, and you need some backstop, because you don’t know what you don’t know about securing code that is public facing on the internet, and rather than trying to learn all that in one fell swoop, it’s just better to have somebody that’s a professional developer handle that stuff that having been said to compose your email responses to people you know, and again, one of the one of my favorite quotes of the year is Aaron Berson. That’s the that has his own accounting firm between Charleston, South Carolina and Brooklyn. Hey, Aaron. One of my favorite statements from him this year was that the best thing I do with AI is I let it write the responses to people that I can’t stand that don’t meet their deadlines so that I can meet their deadlines, because it keeps them from living rent free in my head and reducing my productivity with the limited amount of time I have to solve
Randy Johnston 09:05
their problems. Man, what an interesting quote. And you know, I’m actually just thinking about the six year old, because with the vibe coating the way I picture it is, it’s like learning about hot stoves, you know, an oven in your home, how do you get the kid not to touch it? And in this particular case, if you’ve got a little bit of guide rails around it, most children never get hurt by stoves, but unfortunately, some do well, and
Brian F. Tankersley, CPA.CITP, CGMA 09:29
it’s kind of like my experience with yellow jackets when I was four years old. I took about 30 stings when I was four years old, and I was freaked out by stinging insects for a long time. Hell, now I have 20 beehives, okay, but it’s because I did it safely and I I figured it all out. Now, it took 45 years for me to figure that out, but I just say that it’s an interesting time now. So this is an example, okay, so this is an example here. Okay, so let’s say that you had a file that was in a strange format. Okay, this happens to be the BDO of. Alliance website, one of the and I’ve got a couple of examples that I’m going to use this data for. I think you and I can stipulate that they pretty much have the most comprehensive network of firms across the US. They have affiliates in just about every city and so but I wanted to know exactly where they did have those in the cities. So what I did was I went to their website, I opened up the developer tools. And here’s a file in javascript object notation, which is a hierarchical format. Then the problem is, I can’t throw that into Excel, you know, it would say Alabama, and then we’d say Auburn, and then Birmingham, and then Huntsville. Okay? The problem is, though, to get Alabama associated with Birmingham and Huntsville number two and three, I had to change the format and I had to copy Alabama down. That’s what’s called flattening, okay, and this is something that programmers do all the time, but if you don’t write code, you don’t do this. Okay, so what did I do? I said, Hey, write me a Python script to flatten this. Okay, it flattened it, and then I was able to go ahead and put it in there. Okay, another example of how I use this was with my URL shortener. Okay, you see links all the time that I put out here that have CPA te.ch Okay, that’s a domain that’s registered in Switzerland that spells CPA tech. I saw the opportunity to get it. I got it, and now I use it as a URL shortener. So instead of Bitly, you get CPA tech from me. And so I have this open source tool called URLs that does the URL shortening. Problem is it doesn’t integrate into power automate. And here’s the issue, okay, we’ve got 200 at this point. We have published 233 episodes of the accounting Technology Lab. Okay? And so I want to create links to all of those. I want to create a summary of all those episodes. And I want to take the transcripts and get them out there. Okay? Because I want to know what I said and when I need to redact it, okay. But I also want to, I also want to go in and set up where I can automate the creation of these short things. Okay, because there are all kinds of tools you and I use. They have URLs that are this long, and I want it to be one this long that people can remember. That’s memorable. Okay, so I set this up in power automate, and now when I was when I had to create, a while back, I had to create links to about 100 different podcasts that you and I recorded that I had on YouTube. And so I put them in a spreadsheet, I put the links to YouTube in the spreadsheet, and then I run them and put them in power automate, and it created the links for me without me having to do it. Now, was it perfect? No, it did them 15 at a time, but I didn’t have to sit there and create 100 of them in there. And so that kind of automation is in here. Now there’s not so again with this thing, no problem. I solved this in an hour and a half during a meeting, and you and I were at the meeting together. Okay, now this, there’s also a describe it to design it tool, okay, but again, what I set up here is I set up a Microsoft form, and I can put in that Microsoft form the URL I want to shorten the short, the name I want it to be shortened to, like I might put in there for something on the AICPA blockchain symposium. I might call it AICPA BC 25 and then the URL would be CPA te.ch/aicpa BC 25 instead of some huge name that goes from here to Nebraska and has just random seeming characters in there. So that’s that’s what this really does. Again, with this thing, there are all kinds of things that you can do with this to solve all kinds of problems. And again, setting this up was a big deal. So Microsoft also came out with a thing called vibe working okay. And this is where you let their AI tool, Microsoft copilot 365 go in and actually look at your data in copilot in the Microsoft Office Cloud. And by the way they do that is through the Microsoft graph, which is their way of restricting access, your access and for the data, for the AI, to just the tools that you have access to, that user has access to. And so that’s a pretty
Randy Johnston 13:55
big deal. It’s a real big deal. We’ve been talking about that since inception on this, and just as important was the addition of claude’s anthropic to their toolkit here. So it’s one thing to have chat GPT in here, but it’s another thing again, to throw the clawed engine in here. And I think Microsoft starting a little bit of a race, even though they just renewed their relationship with open AI for an extended period of time, but I think Microsoft sees the writing on the wall. They’ve got to build their own AI.
Brian F. Tankersley, CPA.CITP, CGMA 14:28
Yeah, and they’re picking multiple major world religions down instead of just one. They’re a little more ecumenical than they were. But you know, again, they have agent mode in Excel and Word that lets you get AI assistance in here. So when you have a formula that doesn’t work. You can hit copilot and ask it to solve it. There is an office agent that will create PowerPoint and Word documents. And again, these are starting to roll out. Now, as we talk about this in q4 2025 they’re not all out yet. They’re still in the insider program, but again, they’re coming out. Again, you tell the you tell this AI helper what you want. And. And then it goes out and creates things. So it’ll create cash flow, analyzes, charts, it’ll look for interesting things. You can get it to write commentary in Excel sheets about what it saw, and get many things like that. Another example of vibe coding is using this for data conversion. Okay, so when you switch from one accounting software to another, and again, I did this for a presentation that was to a bunch of software resellers. But let’s say you’re switching from Sage 100 ERP to Sage intact. Okay, what you need to do is you need to take the data elements like the Chart of Accounts, the you know, and other pieces of standard information, the customer list, the vendor list, the you know, all of the your account, all of your banking information, all that needs to come out of the old system go into the new system. So I wrote this prompt, and I’ve got it on you can see it if you’re in the video version of it here. But it basically is to map the data elements in the database schema for for this to the database schema for, say, GENTECH, and focused on the general ledger here. But what was great about this, then, is it identified. I ran it through both chat GPT and Claude. Chat GPT came up with, like, I think, 51 fields. Claude came up with 77 fields in here. And again, if you want to see what it brought up, I’ve got the link over here. It is, CPA, te.ch/let see it a dash. Convert is the link. But this goes through now, and basically maps the fields to one another. And so again, we can use it for this. Now, we also have tools we can use to do conversions, like Power Query and Zoho Data Prep and Tableau Data Prep and Python scripts. But I wanted to mention this to you. I wanted you to see this, because this gives us a way, again, without being a database engineer and writing a bunch of SQL scripts and everything, to know how to do this. And then what we could do. Then if we need to do the next thing is, we can get it to write the SQL scripts. And we could say, extract this to a CSV file. And then we could say, okay, take this and now write the eight write the API calls to now write this into the sage intact API to record this data in the application.
Randy Johnston 16:59
Okay, so Brian, what I was reflecting on there was, you recall earlier in the year, before the AICPA engage event, we actually had the thought leader symposium that we attended, and you probably remember the discussion about we should use AI to do conversions from one system to another. Well, duh, we said, look, that is absolutely doable. And what you’ve actually just proven to yourself is how you use vibe coding and the AI engines to do that exact job here.
Brian F. Tankersley, CPA.CITP, CGMA 17:33
And that is not a insignificant piece of coding and piece of analysis.
Randy Johnston 17:38
By far, it’s not, in fact, it is a classical, difficult problem, conversions of systems from one system to another, or connection of live systems one to another. And my vision on this is we’re going to begin building the digital plumbing
Brian F. Tankersley, CPA.CITP, CGMA 17:55
of your world. And that’s exactly what I did with that URL shortener. Is I wrote it, wrote the tool to do the real time connection. Whenever I needed to create a new shortened URL, it would create it using this real time conversion tool. So what I’m trying to show you here, folks is that this, you know, the we have all kinds of pieces of automation that solve different problems, and I think of them like bricks in a masonry wall. Okay? This vibe coating lets us create the lets us create the mortar we need to stick these bricks together and to make them into one big thing that’s integrated.
Randy Johnston 18:32
I’m getting a soundtrack here. Brick in the Wall. Yeah, I think I’ve got it. You got an ear worm on me? Yeah?
Brian F. Tankersley, CPA.CITP, CGMA 18:38
Well, this, this, that’s not the that’s not the Pink Floyd example I was thinking of, okay, I was thinking more like Eclipse and, you know, again, the Dark Side of the Moon. But, you know, that’s what you got. That’s what you got anyway. But what I wanted you to see here is that the world has gotten interesting. The world coding has gotten to where we now can have AI based assistance that solve problems for us. Instead of having to get human beings that do this, that wear Led Zeppelin and Iron Maiden T shirts to work and work in completely darkened rooms, instead, we can just say, Look, just shut up and write the code and tell me what it is and give it to me really fast, and the AI engines can write it faster than those folks can now. Can the can do the humans do things better and more more competently than the vibe coding, sure. Okay, but for solving certain problems, this is enough,
Randy Johnston 19:36
yeah, and just listening to you and friends, I think you could probably hear it in Brian’s voice too. You know, he’s got the vision of why this is saving so much time trying to make sure that you’re aware of it, so you can invest a little bit of time and learn it too, which I think is important. And now you know why I’ve enjoyed my programming passion for so long was you can just do some really interesting stuff well.
Brian F. Tankersley, CPA.CITP, CGMA 19:59
And. I will say this, okay. You know, anything you ever do that you do at any level of competency, when you started, you sucked. You didn’t know what you were doing. You weren’t good at it, because you’d never done it before. Okay? And so many times I feel like, as accountants, we say, well, I suck at this, therefore that is my destiny to always suck at this. Okay? And it’s not okay anything you do, whether it’s play golf, play tennis, you know, play an instrument, play sports, whatever it is you had to practice that.
Randy Johnston 20:34
So if I got a new slogan for you, I help accountants.
Brian F. Tankersley, CPA.CITP, CGMA 20:38
Suck less. Hey, you know, I’ll take it.
Randy Johnston 20:43
I don’t know that one very complimentary, but I do get it because, in effect, you’re really able to, and that’s what we’ve done.
Brian F. Tankersley, CPA.CITP, CGMA 20:52
Well, well, let me use a, let me use, better yet, a military expression that was popular during the Afghanistan war. It was, embrace the suck, embrace the things that aren’t fun, and then you will accomplish. You will solve the problem. And that’s the thing I would say about this, is that you have to really, you know, just like when you’re trying to find your significant other in the world, you know you’re not going to dance with that person if you don’t find a way to either get asked or to ask them to dance. And you’re, you know that relationship will never, ever happen if you’re not willing to take a chance and to look stupid. Okay, and so if you don’t try, you’re never going to get better. So you know you can accept that you’ll that you can tell yourself you’ll never be good. It’s a lie. But you know, if that’s what you choose to tell yourself, you’re welcome to live this limited world, or you can enjoy the red pill, greater world provided by Neo and the matrix.
Randy Johnston 21:44
I’m looking at the vibe in here. I’ve got the vibe All right. Well, friends, that’s kind of a wrap on this session on vibe coding. So we appreciate you listening in, and we look forward to having you on another accounting Technology Lab podcast.
Brian F. Tankersley, CPA.CITP, CGMA 22:04
Thank you for sharing your time with us. We’ll be back next Saturday with a new episode of the technology lab from CPA practice advisor. Have a great week.
= END =
Thanks for reading CPA Practice Advisor!
Subscribe Already registered? Log In
Need more information? Read the FAQs