Why Construction Software Integrations Break Down (And How to Avoid the Cleanup)
In this episode of Construction Hot Takes, Ascent Consulting’s consultants pull two live client cases off their desks, a general contractor fighting a Procore e-signature setup, and contractors trying to wire Procore, Sage, and Kojo into one clean workflow, to make the case that “it integrates” almost never means “it works the way you expected.”
The pattern repeats: the individual tools work exactly as designed, but the expectations of how they’d connect don’t survive contact with the APIs. A signature integration that’s technically “working” still leaves a coordinator doing more manual work than before. A purchase order created in Kojo has to be pushed into Procore, then manually flushed to the ERP, fine at five POs a day, brutal at a hundred. Invoices run through the wrong tool leave commitments that never draw down, costs that double up, and budgets that need artificial columns to reconcile. Sales tax won’t sync at all. And the AI add-on sold as the fix turns out to be “almost smart enough,” but not quite, and unable to write to every system.
The throughline is a buying discipline, not a software recommendation: map how data needs to flow between every system before you choose, solve the big gaps during selection, and bring in help before the decision, not a year and six figures into the cleanup. The hosts also weigh when a specialized “best-in-breed” tool is worth the integration tax, and whether it’s finally time to bet on newer construction software that’s only been around a couple of years.
Watch the Episode
In This Episode
Why “the integration is working” and “the integration works the way we expected” are two completely different things, and why bad setup advice causes most of the gap.
The Procore + Sage + Kojo invoice trap: how processing invoices in the wrong tool leaves open commitments, double-counted costs, and budgets you have to fake-reconcile.
The “Send to ERP” button that’s invisible at five POs a day and a full-time problem at a hundred POs a day when you’re a $150M contractor.
Best-in-class vs. best-in-breed: when buying the specialized tool is worth the integration tax, and when it isn’t.
Where AI actually helps in construction AP today, matching invoices to commitments, and where it still hits API walls that force custom middleware.
What This Episode Covers
What “it integrates” really means, and why a technically working integration can still create more manual work than before.
The Procore + e-signature case: good software, bad setup advice, and a coordinator doing a whole extra job.
The Procore + Sage + Kojo data-flow problem, and where commitments, invoices, and costs break down.
Sage Paperless and the open commitments that never draw down.
The “Send to ERP” button that doesn’t scale from five purchase orders a day to a hundred.
Sales tax that the integrations simply won’t pass between systems.
Mapping data flow before selecting an ERP, and solving 80 to 90 percent of the problems up front.
Where AI helps with AP invoice matching today, and where API limits force custom middleware.
Best-in-class vs. best-in-breed, and how to evaluate newer construction software for fit and integration capability.
Notable Quotes
“It’s not USB. It’s not the same plug-and-play port on every software.” — Jeff Robertson
“The AI is almost smart enough to figure this out most of the time. But it’s not quite smart enough yet.” — Jeff Robertson
“Just because a software’s only been around for two years doesn’t mean it’s not a great solution.” — Jeff Robertson
Frequently Asked Questions
Why do construction software integrations fail?
Integrations usually fail because the data flow between systems is never mapped before purchase. The individual tools often work as designed, but teams assume they’ll connect a certain way. When expectations don’t match how the APIs actually pass data, you end up doing more manual work, not less.
Can Procore, Sage, and Kojo work together?
Yes, but the order of operations matters. Commitments created in Kojo can push to Procore, then to Sage. Problems start when invoices are processed in a separate tool like Sage Paperless, commitments never draw down, costs double up, and you need workarounds to reconcile the budget.
What’s the difference between best-in-class and best-in-breed software?
Best-in-class means the strongest full system in a category, like one ERP versus another. Best-in-breed is a specialized tool that solves one function better than the all-in-one does. Choosing best-in-breed for a sub-function means accepting an integration you’ll have to build and maintain.
Should you buy newer construction software that’s only been around a few years?
It depends on your risk tolerance. Newer tools can be excellent, but the traditional rule favors a proven track record, a stable user base, and a few funding rounds behind them. Evaluate any new platform for fit, purpose, and, critically, integration capability before adopting it.
Can AI automate construction AP invoice matching yet?
Partly. AI can match invoices to open commitments and infer the job from details like a delivery address, but current tools often can’t write data into every system, Sage, Procore, and Kojo at once. API limits frequently force custom middleware to finish the workflow.
How do you avoid a failed software integration?
Map how data needs to flow between every system before you buy. Identify your must-haves, document the handoffs, commitments, invoices, payments, sales tax, and solve the major gaps during selection. Bringing in a consultant before the decision prevents the year-long, six-figure cleanup afterward.
Staring Down an ERP or Software Decision You Can’t Afford to Get Wrong?
A botched integration can cost six figures and a year of cleanup before anyone admits the systems don’t talk to each other. If you’re evaluating new construction software, or already untangling a stack that won’t sync, it’s worth a conversation with someone who maps the data flow before the purchase. We help contractors turn software selection into a plan, not a gamble.
Join our mailing list & gain more construction business insights from our experts.
Episode Transcript
00:00 Six months to a year later, they’re calling us going, “Can you help me figure out why none of this stuff is talking to each other and where all the data is breaking down, and I’ve got three of these projects right now.”
00:12 Uh, yeah, we’re in the midst of trying to work through one right now, yeah.
00:16 So, uh, I saw I thought it’d be fun for us to talk from the trenches, real life. Like, what’s one of the projects you’re dealing with right now? Like, what did Without telling, you know, too much about them, what kind of contractor are they, the size, and then what did they buy and what snags are they hitting?
00:32 So, I got one right off the top. Uh, we actually talked about this yesterday. Uh, we have a general contractor and, uh, they were struggling with Procore in a couple of different ways. But this specific example was a third-party, um, you know, electronic signature.
00:52 Yeah, you said they were using DocuSign. Adobe Sign, one of the two.
00:56 Right.
00:56 Right. And so the challenges were, uh, they were they were led they were led to believe they should set it up one way. Uh, the connection was working, but they were it wasn’t working the way they expected it to. They they wanted, uh, you know, their prime contract and and a bunch of attachments. Like, “Yeah, I need I need you as the subcontractor to initial the scope exhibit. I need you to initial the insurance exhibit,” so forth and so on. And, um, that wasn’t doing that. It wasn’t working, uh, because they were given a little bit of bad advice and also didn’t understand the integration, didn’t understand the capabilities of both pieces of software and really the best way to set it up. So, uh, the complaint was, “We’re doing more work now than we were before we got these two pieces of software, and this was supposed to eliminate like damn near a whole job.”
01:51 Mhm.
01:51 And instead, this person that was doing it is doing more than they ever were.
01:54 Right.
01:54 So, that’s a excellent example of integration worked, but didn’t work the way they expected it to.
01:59 Right.
01:59 Based on some expectations and a little bit of bad advice.
02:02 Got it. I’ve got two clients with almost the exact same problem right now. So, the ecosystem is either Sage 300 or Sage Intacct as the accounting system.
02:18 Yeah.
02:19 Procore as the project management system, and Kojo as their procurement software.
02:24 Okay.
02:25 So, the first challenge is Kojo is where they’re issuing purchase orders and subcontracts. That’s got to go somewhere. If it goes into Sage, you can’t push that back into Procore and create commitments in Procore. But if I route Kojo into Procore, I can then create the commitment in Procore and then I can push that into Sage. So, it can work in that direction.
02:47 Right. Okay.
02:49 The challenge comes when they have to process invoices. So, if you try and process the invoice in Procore, you can take it and push it to Sage, but then Kojo shows an open commitment that never got an invoice.
03:04 Yes. Right. You create You start the commitment in Kojo in the first place, right? Yeah, yeah.
03:07 Right? But it’s a one-to-one, so you can You can pull in a batch of invoices, but then you process them one by one in Kojo. Each time you process an invoice in Kojo against a commitment, you can route that into Procore, and then that can push into Sage.
03:22 Mhm.
03:23 However, both of them want to use Sage Paperless to process their invoices.
03:27 Oh.
03:27 And if you do that, then Kojo and Procore both show open commitments that never draw down, and the cost from Sage shows back up in Procore as direct costs and not costs against commitment. So, the commitment never goes away, and now you start doubling up on expenses. So, now you have to create calculated columns in the budget to start artificially drawing down the commitment.
03:54 Does Kojo have an AP—
03:56 It does.
03:56 —functionality? I thought it did.
03:57 And it does And it does a three-way match with a field ticket. So—
04:00 That Okay. Yeah, I knew So, why So, why Sage Paperless? What makes that so—
04:04 Sage Paperless is a way to do them in batches and load them in bulk, and you can You can It has more coding, uh, fields.
04:15 Okay.
04:16 Um, and Sage doesn’t play great with the with the integrations. So, what we’re finding is if we create a commitment in Kojo, um, we can push that into Sage. But then you have to go into—or sorry. If you create the commitment in Kojo, you can push it into Procore. But then you have to go into Procore and hit the “Send to ERP” button manually.
04:44 Okay.
04:44 So, not only do you have to do a step of creating the purchase order in Kojo, you’ve now got to go into Procore and click another button to get it into Sage.
04:52 It creates the commitment, but then you have to do the You have to flush the valve in Procore to get it—
04:54 Correct. You have to send it to the ERP. And you can automate the Procore holding, uh, cell—the purgatory. You can make it bypass that with commitments and invoices.
05:04 Right.
05:04 So, that’s nice, but you still have to hit that button. So, for a company that creates five purchase orders a day, not a big problem. When you create 100 purchase orders a day, because you’re 150 million, that’s a lot of times having to go into Procore and just click a little “Send to ERP” button. So, now it’s like an extra step.
05:20 It’s a lot. And how would you know? It’s like you just have to go in there once an hour or some regularity, right?
05:24 Now, that either the project manager is buying everything in Kojo and then having to go into Procore to push them all—
05:32 Mhm.
05:32 or you have a procurement department that’s creating them in Kojo and then has to go into Procore to push the button as well. And now I’m starting to talk to Procore about, is there a way that we can automate that “Send to ERP” button? Like, if the thing’s approved, just send it, and I need some customization.
05:49 Right, maybe a Maybe a workflow or a rule of some kind.
05:51 Some type of Some type of customization or a workflow we’re going to try and design. Um, but there’s all these They They don’t think about, well, what’s the way the data needs to flow to at least streamline as much as possible. Another problem I’ve got is, um, there’s sales tax. So, in Kojo, you can set it up to calculate sales tax, and then I can feed that into Procore. Procore does not have a way to push sales tax over into Sage. The integrations don’t support sales tax.
06:26 Except—
06:26 So, now you’ve got to get the ERP to calculate sales tax on its own and hope it matches up with Kojo. And if the sales tax varies because you’re in a county or a city or a state, whatever tax level you’re dealing with, how do we make sure that the sales tax is calculated at the project level—
06:44 Right.
06:45 —or on the purchase order level? Uh, and so we’re dealing with all these little technology, these little minutiae things, but they jam up the works, and they stop these integrations from working seamlessly.
06:57 You know, we’re We’re We’ve got a project where we’re in the selection stage where we’re looking for an ERP, uh, for a cross-platform.
07:07 Mhm.
07:07 And similar, but it’s It’s a little different, but similar. We’re We’re attempting to do that data flow work now. We’ve identified where our needs and, like, what What do we want this for? How do we think this is going to work? How do we want it to flow? Uh, you don’t always get what you want, but let’s at least start there.
07:29 Mhm.
07:29 And so we’re researching the integrations between Procore and—
07:33 Different ERPs.
07:34 —yeah, different ERPs, and maybe some third-party integrations in there and, etc., etc., to draw out the data mapping, at least at a—maybe not at a super high level, but not at like all the way in the weeds, uh, to help us make that decision. At least the idea is, let’s get like, I don’t know, hopefully 80% of those problems solved before we even choose.
07:58 Right.
07:58 We know what we’re getting into, and we can at least identify like, okay, there’s like these, this much, we have no idea how to solve that. Maybe it’s more like 90/10, but like, well, but we get all this other stuff, let’s go. We’ll solve these things later, is is the idea.
08:14 Yep. Now, one of my clients has introduced another software which has AI.
08:21 Mhm.
08:21 And what it’s doing is it’s trying to simplify the AP process. What it’s doing is it’s querying Sage every night and pulling up all open commitments into the data table. And then as they process invoices, it’s trying to match the invoices with the open commitments that it pulled out of Sage.
08:42 Sure.
08:43 And if it can match them, then it’s going to push them back into the ecosystem as approved invoices, or flag them with any anomalies. Kind of like a, uh, an AI match.
08:52 Yeah.
08:53 But it’s doing this in this other platform, and the problem is the AI is almost smart enough to figure this out most of the time.
09:01 Right.
09:01 But it can’t—it’s not quite smart enough yet, and it can’t push the data to everything. It can’t push the data like into Sage, and into Kojo, and into Procore. And so we’re— You only you only get one. —we’re bumping up against API limitations, and so now we’re— Sure. —we’re talking about custom middleware to solve some of these issues. Like, AI’s not quite there yet. I know it’s coming up in every conversation. We used to be able to do this just with like writing scripts.
09:30 Yeah.
09:31 Like, hey, if then When this happens— If this, then that. Right. And if this isn’t this, then do this other thing.
09:37 Right.
09:37 The AI is helping us write the scripts.
09:39 Yeah, that’s just That’s just straight-up automation.
09:40 Right. So, now we’re trying to use AI to kind of in—infer, “Hey, it’s this vendor, and this was the delivery address. That delivery address matches a job. The vendor didn’t put the job number or the PO number on it, but we can kind of let the AI kind of do the do the figuring out.” Like, “Oh, okay, that was where it was delivered. That address matches up with this corresponding project. It’s probably for that project. Let me see if that project has any open commitments.” That’s what the AI is starting to figure out, but uh, they got sold this AI solution that, again, was not ready, is not fully capable of solving their issues. And—
10:20 You know, I I think there’s something there’s something to there’s something, you know, so there’s that there’s those, you hope it’s only the 10% things of didn’t even didn’t even, that was like so low on the list…
10:33 Right.
10:33 of what we wanted, but now we’re dealing with it and it’s like the most important thing. Uh, but there is a way to avoid this. I mean, or at least at least get it to that 10%.
10:43 Mhm.
10:44 Find so many of our clients, and this is a plug for us of course, you should ask us to help you before you make a decision. Uh, but it you’re right. So, often we get this call, “Here’s what we’ve done, and it doesn’t work.”
10:56 Yeah, and we’ve been dealing with it for a year.
10:58 Right, and it’s, and… And we’ve spent And we’ve spent hundreds of thousands of dollars on payroll to get these things— Lots of Lots of times, the individual pieces are working exactly as they’re supposed to. Their expectations of how they’re supposed to work don’t align.
11:15 Right.
11:16 Like, they bought it for whatever reason, you know, they just maybe they didn’t do the research or maybe they just didn’t listen and they’re like, “No, no, it’s going to work. I’m going to make it work. I’m going to jam that shit in there. I’m going to make it.”
11:23 Right.
11:24 I don’t know. But so often it’s it starts with that expectation thing of what do I want it, what I think it should do.
11:30 Well, I think this goes also back to these software companies and the the sales side of it. Like, they are promising that this software can do what they claim it does.
11:42 They do make promises.
11:43 And a lot of times— Given the following 1,200 conditions that they don’t talk about. —yeah, and a lot of times it can do exactly what you want it to do and what they said it could do. But getting that to push into another system, the integration, that’s where all this stuff breaks down. There’s not— It’s not USB. It’s not the same plug-and-play port on every software. They all have their own APIs, their own ways to talk to their data tables, read and write permissions. And and that’s where this all is breaking down currently. There’s nothing I have not seen anything that’s a completely wide-open API.
12:18 Well, and that’s the challenge, too, because let’s say you found a system—let’s say you talk about ERP here, and and you’ve got a 15 things you need.
12:28 Mhm.
12:28 Not want, you need.
12:30 Right.
12:30 You need inventory, you need all of it, right?
12:32 It has to do service. It has to do project-level accounting. It has to do discrete invoices.
12:35 However, when you do your demonstration, you look at it and you go, “I don’t love how that handles inventory. I think there’s a better solution.” Or maybe it’s AP automation, or maybe it’s service, maybe some, whatever, it doesn’t matter. It’s one of the kind of tertiary things. It’s not core AP/AR stuff. It’s— It’s something you know you need for your business, and you’re like, “Well, I don’t love how that the native solution really works. It’s got it, and I don’t have to deal— If I use it, I don’t have to deal with that integration, but I it I don’t like it. It doesn’t do enough.” I have a third party over here that will work, that does exactly how I want it to work. And that’s where you get to the integration problem.
13:16 It is. I’ve I’ve heard companies toss around the terms “best-in-class” and “best-in-breed.”
13:21 Oh, okay. I haven’t heard the best-in-breed part.
13:23 Yeah. So, it’s like best-in-class might be like, “This is the best-in-class against other ERPs.” Like, this ERP versus other ERPs.
13:30 Okay.
13:30 But best-in-breed is like a service solution. It’s not a full It’s not a full system. It’s just a specific solution for a specific problem, or a a fraction of your business. So, it’s the best service software out there, but it’s not the full ERP.
13:48 Got it.
13:48 Yeah. Because the ERP doesn’t have a great service solution, you go, “Well, I’ll buy the ERP that’s best-in-class, but then I’ll go buy this service that’s best-in-breed, um, as a subset.” And then you try and integrate those.
14:02 Mhm.
14:02 And, um, we’re in the throes of it, right? Like, the technology is moving so fast. There’s all these new softwares coming online. I got I learned about two new project management softwares just in the past seven days.
14:15 Over the weekend.
14:16 Yeah, in the past seven days.
14:17 Yeah.
14:18 Right? Like, my cousin who works on, uh, in the financial industry is asking me about this investment opportunity with a new construction software.
14:27 Right.
14:27 So, I I hadn’t even heard of it. I had to go research them. They’ve only been around for a couple of years. But—
14:32 Right.
14:32 Now I’m doing my own homework on it to try and learn about it to see if it’s, you know, should we set up a demo? Should we talk to the owner? Should we introduce this to any of our clients yet?
14:41 Right. That’s a tough one because you’ve got these great solutions. Traditionally, our rule has been like, you you have to have been out there a while. You have to have, you know, be one of those best-in-class or best-in-breed recognized for years in the industry of of being a, you know— Have a track record. —have a track record, have a stable user base. I’m not going anywhere. This is not something, you know, somebody is probably inventing something in their garage right as we speak. Uh, but they need to go through several rounds of fundraising before they get to, you know, right. And and a couple years of proving concept.
15:18 That That was the call I got from my cousin was, “Hey, they’re going out for a round of funding. Is this something I should make like our company should invest in?”
15:25 Right.
15:26 Because, you know, Procore is down the road on the investments. Like, the IPO was years ago. It’s got a 10 billion in market cap right now. So, they’re like, “Well, what else is out there? What else could potentially play in that same field?” So—
15:43 Uh, I and I think we need to start being open to looking at newer, evolving technology—
15:50 Mhm.
15:50 —as consultants and saying, just because they’ve only been around for two years doesn’t mean they’re not a great solution. Let’s let’s start evaluating some of these newer ones for fit, for purpose, for integration capability. Um, I think there’s an opportunity there. I think the market’s going to continue to expand out with solutions providers before it contracts.
16:11 Yeah, I I was going to say the same thing. There’s a contraction coming, but I don’t see that coming soon. Uh, I think I think, you know, I mean, Procore is eating up what it can eat up, and your Autodesks are going to eat up what they’re going to eat up. Um, but yeah, I it seems like it’s still expanding faster than it’s contracting still. We’re We’re still on the front side of that curve.
16:36 Which is just going to lead to, unfortunately, a lot more integration woes, or the need to take a little slower, more measured approach to think about, okay, it’s not just the commitment I have to deal with. I have to deal with all the things that go around a commitment. Or it’s not just the progress billing in a G702/703 that I have to create. How do I get that into my accounting system, or how do I get that back into my project management system? When the check comes in, how do I make sure that I’ve got something to receive it against? How does that payment data flow back through so I can see days outstanding? Uh, all that all of those the the subsets of data, that’s the stuff that I think a lot of companies they skip over or they glance over. They they’re focused on the core of it and not the little peripheral stuff, and that’s what winds up eating up all the time in these failed integrations.
17:34 I mean, you know, you can you can hardly blame them. They’re busy running their business, they’re trying to grow the business, they got to win work. That’s a, you know, that’s a that’s an everyday thing. Uh, or win the work and also build the work, manage the work they’re doing. It’s an everyday thing. So, you can hardly blame them for every now and then…It’s a big It’s a big investment, but you can hardly blame them for going, “This looks good. I 10% effort, let’s go. That We’ll figure it out later,” kind of a approach.
18:03 Right.
18:04 Not recommended.
18:05 They don’t realize They don’t realize the kind of kind of downstream impacts it can have on their staff.
18:09 Right. Right. So.
18:11 All right. Well, that’s what I wanted to talk about today. That was fun.
18:14 All right, that was a good one. That was a good one.
18:15 See? You didn’t need that much prep.
18:16 It wasn’t so bad. It was not so bad.
18:17 All right, well thanks for joining us on Construction Hot Takes. We’ll see you on the next next episode. Find us on YouTube, Apple, Spotify, and well, wherever else you get your podcasts. Thanks.