SHEET B-006  ·  BLOG POST PROJECT AOS / OPERATING SYSTEM REV 01 STATUS PUBLISHED
← All posts
10 min read

Why the mid-market GC software stack is broken (and what to put in its place).

A mid-market general contractor in 2026 — a firm doing $50 million to $300 million a year, running 15 to 60 active projects, with a 30 to 200 person office — sits in the most under-served bracket of construction software. Too big for QuickBooks. Too small for the enterprise platforms whose pricing assumes you're a top-50 ENR contractor. Stuck stitching together four to six vendors that don't talk to each other, paying the integration tax in office labor.

A mid-market general contractor in 2026 — a firm doing $50 million to $300 million a year, running 15 to 60 active projects, with a 30 to 200 person office — sits in the most under-served bracket of construction software. Too big for QuickBooks. Too small for the enterprise platforms whose pricing assumes you're a top-50 ENR contractor. Stuck stitching together four to six vendors that don't talk to each other, paying the integration tax in office labor. Here's a clear-eyed look at why the mid-market GC stack is the way it is, what it costs, and what a replacement actually has to do.

A few weeks ago we wrote about why subcontractors are the most under-served seat in construction technology. That post is true. It's also only half the picture. The other half is the mid-market GC, and the GC's situation is structurally similar but with its own particular shape.

The dominant narrative in construction software for the last decade has been "the big GC platforms have won." Procore went public. CMiC and Aconex got bought. Sage, Foundation, and Viewpoint settled into stable customer bases. The story everyone tells is that the GC tooling problem is solved. You just pick a platform, you integrate it with your accounting system, and you're done.

For ENR-100 contractors with a CIO and a 20-person IT department, the story is roughly true. For everyone else, it isn't.

What the actual mid-market GC stack looks like

Walk into a typical $120 million regional GC and inventory the software stack. The list usually looks something like this:

  • Project management platform — usually Procore or a Procore-class competitor, often purchased at the smaller-firm tier where the per-project pricing still pinches but the enterprise features the firm actually needs are stripped out
  • Construction accounting — Sage 300 CRE, Foundation, or Viewpoint Vista. Usually 8-12 years old. Usually hosted on a Windows server in a closet or by a third-party VAR who charges $20K-$40K a year just to keep the server up
  • Estimating — Sage Estimating, On-Screen Takeoff, PlanSwift, or just Excel with a heavily tuned set of templates
  • Subcontractor pay-app and lien-waiver platform — Textura, GCPay, or one of the smaller competitors. Bought because subs need a portal to upload pay apps and the GC's accounting system can't generate the lien-waiver forms across 51 jurisdictions
  • Field operations — Procore's field module (if affordable), Raken, Fieldwire, or a homegrown daily-log workflow on iPads. Often paid for separately from the main PM tool
  • Document control — SharePoint, Egnyte, Box, or whatever document management lives inside the PM tool. Often more than one, depending on the project
  • Drawings and BIM — Bluebeam for markup, Autodesk Construction Cloud for coordination, sometimes Procore's drawing module on top, depending on the project's design team
  • Owner reporting — PowerPoint, Excel, a custom dashboard the IT guy built, or a paid-for module from one of the above platforms that never quite produces what the owner actually wants
  • HR and payroll — ADP, Paychex, Paylocity, or QuickBooks Payroll, depending on size. Almost never the same vendor as accounting
  • 1099 and compliance — either bolted on to accounting, bolted on to AP, or done in a separate spreadsheet at year-end by a controller working overtime

That's a typical inventory. Eight to twelve separate software systems. Each one priced as a separate line item. Each one with its own login, its own data conventions, its own training requirements, its own escalation path when something breaks.

The total annual cost — counting licenses, hosting, professional services, and the labor of the people maintaining the stitching — is usually somewhere between $150,000 and $400,000 a year for a firm at $120 million. That's the explicit cost. The implicit cost — in days lost to data reconciliation, in slow pay-app cycles, in retention drift, in projects that go sideways because the field signal arrived three days late — is much larger and almost never on anyone's P&L.

Why the stack is shaped this way

Three structural reasons.

First, the platforms were never designed to compose. The construction PM platforms came up in the 2000s solving for project management. The accounting platforms came up in the 1990s solving for construction GL and AR. The two had completely different data models, completely different customer assumptions, and zero incentive to integrate cleanly. The result is that the "integration" between, say, Procore and Sage 300 CRE is a daily CSV export, manual import on the Sage side, and a recurring reconciliation by the accounting team to catch what didn't transfer.

Second, the pricing models incentivized fragmentation, not consolidation. Procore prices on a percentage of annual construction volume (ACV). Sage prices per-EIN, per-seat, per-module. Textura prices per pay app. None of them have a reason to make it easy to consolidate; consolidation reduces their cut. So the platforms expanded by acquisition — Sage bought Timberline and Estimating, Trimble bought Viewpoint, Oracle bought Textura — but the acquired products were rarely re-architected to share a data model with the acquiring platform. They got bolted on, marketed as "integrated," and continued to operate as separate products with shared branding.

Third, the mid-market got squeezed by the enterprise pricing escalation. Through the 2010s, Procore and the other PM platforms moved aggressively up-market, chasing the ENR-100 customers with bigger budgets. Pricing scaled up with them. The mid-market firm that could afford Procore at the $40K/year tier in 2018 was looking at $80K+ by 2022 and $120K+ by 2025 for the same workflows. The platforms' answer was "but you get more features now." The mid-market GC's answer was "I didn't ask for the features and I can't afford them." So mid-market firms either downgraded to lower tiers (losing capability), held onto old versions (losing security and support), or fell back to a patchwork (losing the consolidation that was supposed to be the value prop in the first place).

The result is that in 2026, a typical mid-market GC is running a more fragmented software stack than they were in 2016, paying more for it, getting less out of it, and losing more office labor to integration glue. None of the vendors set out to produce that outcome. Market structure produced it.

What's actually broken — specifically

Generalizations aside, here are the four specific places the mid-market GC stack breaks every single day.

The estimate is not the budget is not the SOV is not the pay app. A bid comes out of the estimating tool with one set of line items and one set of cost codes. The project gets awarded; the contract is written with a different SOV structure to match how the owner wants to see billing. The PM platform opens a budget with a third set of cost codes, because the PM platform's cost-code structure doesn't match either the estimate or the contract. The accounting system has yet a fourth cost-code structure because it was set up by a controller in 2014 who built it to match the GL chart of accounts. The pay app, when it's generated, has to reconcile across all four structures — usually by hand, usually by the controller's assistant on the 28th of the month.

Pay-app cycle time runs 45 to 75 days when it should run 20 to 35. The sub submits a pay app on the 30th. The GC's PM reviews it. The GC's accountant rolls it up into the master pay app. The owner's CM reviews and certifies. The owner pays the GC. The GC pays the sub. Every handoff in that chain involves a different system — the sub portal, the PM platform, the accounting system, the owner portal, the bank. Every handoff adds days. The aggregated effect is cycle times that materially affect both the GC's and the sub's working capital, with the GC carrying the financing cost on the spread.

Field signal arrives in the office a day or three late. The foreman fills out the daily log on a steno pad. The PM transcribes it after lunch. The superintendent reviews it the next morning. By the time the project manager spots a productivity issue, the pour has been off-rate for two days. The platforms' "mobile" answer to this has consistently failed because the apps were designed in offices for office users and handed to the field. The right answer — voice capture in the truck, geofenced labor that survives cell-dead jobsites, drawing markup with gloves on — requires a different design starting point that the incumbent platforms haven't been able to retrofit.

The owner sees a Friday PDF, not a live record. The most senior person on the project — the owner who's paying for it — is usually the last person to see status, and they see it in a PDF report assembled by a project engineer every Friday. Schedule slips, FAC variances, change-order aging, RFI breach counts: the owner finds out about them in a once-weekly snapshot, often after the GC has already had to absorb the cost. The right answer is the owner watching the same record the GC is watching, in real time, with the GC's roll-up presentation on top. Most platforms can't do this because the owner's view doesn't share a data model with the GC's record.

What a real replacement has to do

Any platform that wants to replace the mid-market GC stack has to clear four bars, not just one.

Modules that actually share a record. Not "integrated" in the marketing-deck sense (CSV exports, webhooks, nightly batch jobs). Actually one database, one project record, one cost-code structure that survives from estimate through budget through SOV through pay app through GL. Anything less and the consolidation isn't real — it's just a re-bundled version of the same patchwork.

Pricing that doesn't tax growth. Per-ACV pricing punishes the firms that grow. Per-seat pricing punishes the firms that hire. A flat bundle aligned to firm size, with optional modules priced per unit of use (not per unit of customer success), aligns vendor incentives with customer incentives. The customer should pay more when they get more value, not when they have a better year.

Field experience designed for the field. Voice-to-log dailies. Geofenced timesheets that work without cell signal. Drawing markup from a phone in the cab of a truck. These can't be retrofits. The platform has to be designed for the foreman who's actually pouring concrete, with the office workflow built on top — not the other way around.

Owner visibility that's a view of the record, not a PDF generated from it. The owner should see the same project record the GC sees, filtered to their tier, with the ability to drill into a pay app or a change order in real time. The Friday PDF should be a deprecated artifact, not a centerpiece of the workflow.

And one additional bar that nobody else is clearing, but that we think is the most strategically important:

Both sides of the project on the same record. When the GC and its subs operate on the same platform, the document handoffs between them disappear. The sub's pay application against the SOV is the same record the GC reviews. The change order the sub submits is the same record the GC approves. The retention the sub tracks is the retention the GC owes. This is the strategic move that the existing market has not made — and the reason mid-market GCs and mid-market subs both lose so much office labor today.

What AOS does for the mid-market GC

AOS is a unified operating system for the construction industry, built specifically to clear those five bars. For the mid-market GC, it consolidates the project management, construction accounting, estimating, AP, field operations, owner reporting, and compliance modules into one platform on one record.

Concretely:

  • Pre-construction — quantity takeoff with shared assemblies, multi-location sub matching, tokenized one-click sub bid portal, apples-to-apples bid leveling, and award-to-subcontract handoff. The estimate becomes the budget without retyping.
  • Project management — drawings register with overlay annotations, RFI tracking with owner SLA enforcement, submittal log with approval routing, change-order aging with approval routing, daily logs with NOAA weather context. All on one project record.
  • Construction accounting — AIA G702/G703 generation linked to the SOV that's linked to the budget; tiered AP approval (PM → Accounting → Owner); WIP that ties to the GL; retention rollforward; lien-waiver lifecycle across all 51 jurisdictions; 1099 prep without a year-end spreadsheet panic.
  • Field operationsgeofenced timesheets, voice-to-log dailies, drawing markup from mobile, equipment tracking, photo capture with EXIF preservation, crew-of-the-day scheduling, ship-out gate with GL posting.
  • Owner reporting — portfolio dashboard for owners watching multiple projects, pay-app review portal with two-click certification, draw-package generation for lender milestones, ESG and energy metrics for institutional asset owners. The Owner Command Center walks through it.
  • Compliance and intelligenceprevailing wage, certified payroll, field-level audit trails, forecast-at-completion overrun prediction, per-client change-order SLA learned from your own historical data.
  • And the strategic feature — when your subs are also on AOS, the document handoff disappears. Sub pay apps arrive in your AP queue cross-tenant. RFIs and submittals share one record. Retention is the same number on both sides. The integration tax goes to zero.

The GC product overview walks through the platform in more depth. The role pages for GC executives, CFOs, COOs, project managers, accounting, and superintendents walk through what the platform looks like from each seat. The comparison page covers how AOS positions against Procore, Sage 300 CRE, Foundation, Viewpoint, and Buildertrend on the dimensions that matter to mid-market buyers.

The honest pitch

If you're an ENR-100 contractor with a working Procore deployment, an IT team, and standardized processes across 100+ active projects — you don't need this. Stay where you are. The consolidation play has marginal value when the patchwork is already humming.

If you're a $50 million regional GC running 15 active projects with three people in the office and a Sage installation from 2014 — the patchwork is costing you in ways you've gotten used to. The 28th-of-the-month reconciliation. The Friday PDF you build for the owner. The pay app that takes 60 days to clear because every handoff is between systems. The integration that breaks every time Sage releases a service pack. These are real costs in office labor and working capital. AOS is built specifically to replace them.

We're running a private-beta design-partner program for mid-market subs and GCs. Onboarding is founder-led, real implementation in weeks not quarters, with migration tooling from Procore, Sage 300 CRE, Foundation, Viewpoint, and Buildertrend.

If you'd like to see AOS on your own project data — or just want to talk about the structural problem in mid-market construction software — we'd love to talk.