At WayScript, we spend a lot of time thinking about developers and the challenges they face. Today, we're going to be focusing on people who code outside of engineering, especially those who are building internal tools. We wanted to hear from an expert who spends a lot of time thinking about this challenge. We're joined by Zack McCarty, the Director of Financial Planning and Analysis at Qwick to talk to us about his experience building and automating internal tools for FP&A.


Full Interview


Interview Transcript

Monica from Team WayScript

At WayScript, we spend a lot of time thinking about developers and the challenges they face. Today, we're going to be focusing on people who code outside of engineering, especially those who are building internal tools. We wanted to hear from an expert who spends a lot of time thinking about this challenge.

So we're really lucky that today, we're joined by Zack McCarty, the Director of Financial Planning and Analysis at Qwick to talk to us about his experience building and automating internal tools. If you haven't heard of them, Qwick is a really cool hospitality staffing provider. They connect food and beverage professionals with businesses and schedule shifts in real time. Welcome, Zack!

Zack McCarty

Thank you. I appreciate it.

Team WayScript

To start with, tell us a little bit about your role. What is financial planning analysis?

ZM

My role in financial planning is, I like to say, just seeing the future of the company. We have our accountants and our controllers that look at historicals. My job is to have that crystal ball to see where we're headed. I spent a lot of time in our data analysis and trying to come up with different ideologies for thinking about the future, testing against those ideologies, and trying to figure out what works the best.

But I also straddle our financial automation and have what I call financial operations. So anything that is related to accounting and finance that is automated or needs to be automated, that's something that I do as well.

Team WayScript

Speaking of those automations, can you give us a sense of what are some of those automations or other tools that you that you use in your work?

ZM

I think the biggest example in my role today is around our invoicing and accounting system. So we have an internal tool that we use for generating invoices, sending invoices, and editing those invoices. Now, that invoicing system serves as a kind of sandbox, and we have to synchronize what's in that sandbox to our actual ERP or accounting system—we use QuickBooks Online.

In our business, given that it's staffing, and it's based on clocking in and clocking out, there are a lot of instances where the invoice has changed. For example, we reduce someone's time or someone forgot to log a break. When an invoice changes in that sandbox, it has to change in the accounting system as well so that we have awareness of what is our revenue, what is our accounts receivable at today.

That's one instance where we use a lot of automation to make sure that's being synced over. We also use automation to inform customers that they have an outstanding invoice or to inform them their payment method has failed. So those are some of the financial related things that we use automation for.

Team WayScript

So a lot of it is connecting and syncing data sources and communicating changes with customers. Are there any tools or automations that you wish you had? That would make your life a little easier?

ZM

Within QuickBooks, it's very difficult to do things in bulk. And so there are a lot of instances where I wish I could delete a lot of things. And it's almost kind of forced me to learn the QuickBooks API a bit more, because I can't do them programmatically. It requires a little bit of dev time. But I wish there was a tool that kind of sat on top of QuickBooks and allowed you to take action in bulk.

We also use Zapier very heavily to help us with things. It is the closest thing to a drag and drop automation builder. It only gets you so far. There are certain limitations to it that I really wish we could do, but it just requires a little bit more custom coding to get those things done.

Team WayScript

It's not just like out of the box, fully functional, does what you need.

ZM

Yeah, but that's honestly a big void that WayScript has helped us fill. It sucks to take those custom code scripts that I've written, get on the computer, and run it locally every day. I've been able to use WayScript to host those in a virtual environment, have them run on a schedule every day so that I'm not manually going through script by script and having to execute them on my own. WayScript is something I envisioned in my head, like, ‘Oh, I really wish this existed because I have all these things that I do every day’. And when I finally found you guys, I was like, ‘Wow, this is an answer to my prayers. It is exactly what I was looking for.’

Team WayScript

That's what we'd love to hear! So good to hear we were solving that need. Going back to what you said about sometimes needing dev time to do things or when you had to just learn the entire QuickBooks API, could you tell us more about those challenges? Are those some of the biggest challenges that you face with setting up these tools?

ZM

Just needing dev time is a challenge, because our company has a lot of features in the pipeline. And those are all centered around our product and what we do for our customers. So trying to convince a developer to stop what they're doing over there and help me with a QuickBooks thing is hard to justify. That’s why I've had to learn a lot of these things on my own.

Another challenge, out of the gate, every kind of platform or software has a different method of authentication for using their API. QuickBooks uses OAuth2 and there's just a lot of back and forth, API token handshakes that have to happen. And I think the biggest piece for me is understanding, okay, how does QuickBooks authenticate? How does Asana authenticate? How does this and that authenticate? And once I get through that gate, it tends to be a lot easier. But for someone that is not a full stack developer like me, it takes a little bit of time to understand what to do?

Team WayScript

Yeah, for sure. Just getting access to those data sources is a challenge.

ZM

Getting access and maintaining access, because for a lot of these you'll get an API token, and then it'll expire. So you have to figure out how to constantly refresh that token and store it somewhere. I can figure it out. But someone that's been going to school for software engineering or computer science, they might be able to do a lot faster, but I don't have that luxury. So I had to learn a lot on my own.

Team WayScript

Totally, that makes sense. We talked about the challenge of pulling dev time off of core features. When do you decide it’s important enough to do so? What's that process like to get engineering help?

ZM

At Qwick, we actually do a really good job of MVP-ing solutions to things in Zapier or WayScript, or something super low code and hacked together. Then, if we can convey the value that this automation or this solution is bringing, we can start to have a conversation around, putting engineering resources into bringing this into our actual product.

Our internal invoicing tool is a great example of that. We were using a separate SaaS kind of invoicing tool and had a lot of automation hooked up to it to facilitate the day to day invoicing process. We finally got to a certain point of scale, we were like, ‘Alright, we just need to build this on our own’. I was heavily involved in that process, not from a product manager standpoint, but as an invoicing expert. Because I built all the existing automations, I knew what needed to happen.

To answer your question, it's how can we convey the value of a solution in a very MVP type format? And if it's going to be something long term that's going to solve and add value to the company, then we'll bring it into that into the dev team to make it more integrated into our existing systems.

Team WayScript

It's really about proving the solution is already working at some scale. And now we just need to grow that.

ZM

Yeah, I mean, everybody has ideas every day about what we should be doing in the app. And, it's one thing to just blurt out an idea. It's another thing to MVP it out.

One thing I really love about our culture here is anyone can innovate and experiment, but we're not going to take action on every single idea. And so if you can prove the value, then we can entertain it.

Team WayScript

Totally. And the best way to do that is just to build a lightweight version of it yourself. So you’re really script savvy, thinking about experimenting and building out those experiments. What about the rest of your team? How does the rest of your team interact with your automations? And with your tools that you build?

ZM

Yeah, so our team is really SQL heavy. The reason we everybody uses SQL is we come across a lot of random issues every day. And as I mentioned before, we can't have development, the engineering team, stop what they're doing and focus on every single issue. So our team has to be pretty universally SQL savvy.

Our account managers want to understand certain things about their accounts, they go to SQL to get the data straight from there. For our sales team members, they might want to know what their commission looks like, so they might put a SQL query together. With our ops managers on the finance team, I'd probably say I'm the strongest in that sense.

But yeah, we're using Zapier all the time. And that's where my relationship with WayScript began. I was a power user of Zapier and I just hit a limit. I needed to take it to the next level. And it was actually using HubSpot. So we use HubSpot for our CRM and I was needing to take data in the database, and every couple hours, refresh our CRM with that data. That couldn't be done with Zapier. So I was running a local script every day, and then finally came across WayScript and was like, wow, I could just stick this here and it'll do it every day. It's been amazing.

Team WayScript

That's awesome. Do people share the custom scripts and SQL queries they use? Or are people just writing their own tools? How does the distribution of those tools work?

ZM

It's done pretty informally. At this point, I think a lot of people have what they need in their mind, and they'll have those scripts saved on their computers. It’s honestly a problem, because sometimes when we're trying to report on something, if someone is maybe a little bit newer to the language, they might have a query that's a bit inaccurate. So when you're reporting on revenue and stuff, one person might have one number, another person might have another. So we really tried to take away the need for as much SQL by using BI tools like Looker. We're doing some stuff in the finance side to connect a lot of our financial systems together. Because at the end of the day, it's great that everybody knows SQL, but if everybody's writing it differently, it can cause confusion.

Team WayScript

Totally! To close out, is there any advice you would give to other FP&A leaders or just others who are just getting started on their internal tools journey?

ZM

I like to tell people that anything's possible. I have come into contact with a lot of situations where I'm like, ‘Oh, I can see it in my head how this might work or how we might solve this’. And eventually, I always find it, whether it be with WayScript, or with something else. If you think creatively enough, there's always a solution that you can find.

The reason I was brought into FP&A was not for a finance background, but more for my technical savvy. It's really beneficial as someone in finance to have the capabilities to get data out of a database and set up new financial tools. I use automation, SQL, and Python every day in my finance role. That's pretty unique for an FP&A person. I would recommend anyone who is even a bit interested to crack their knuckles a little bit and learn something different, because it'll really help.

Team WayScript

The more that you're able to feel comfortable writing code and deploying those kinds of scripts and creating your own automations, the more helpful you are, regardless of your actual technical training.

ZM

Yeah, absolutely. Anybody can learn. Like I said, we're a very SQL savvy company and most people come in with absolutely no experience in automation or code or anything. Seeing so many people start from scratch and be able to write code confidently and build stuff on their own has been really cool. So anyone can do it. Anything is possible. I'll leave off with that.

Team WayScript

That's a great spot to leave off. Thank you so much, Zack, for joining us today!