Skip to content
All notes
QuickBooks Integration17 October 20269 min read

Procore QuickBooks Integration: What Actually Breaks

Procore's native QuickBooks Online connector handles cost codes, vendors, job costs and invoices. It doesn't sync budgets, commitments or change orders. Here's where contractors get caught out and how to roll it out on one job before you trust it.

  • Procore
  • QuickBooks Online
  • construction
  • integrations
  • job costing

If you run Procore for projects and QuickBooks Online for the books, you've probably been told the two "integrate." They do. Procore has its own QuickBooks Online connector, and it's a real, supported product. It just works in a narrower lane than most people expect, and surprises tend to show up a month or two into a job, when the Procore budget and the QuickBooks project report stop agreeing.

This guide covers how the Procore integration with QuickBooks Online works, what it leaves out, six places it breaks, and how to roll it out safely.

A note before we start: we're integration engineers, not your accountant. The connector details below come from Procore's documentation. Confirm account choices, especially for retainage, with your bookkeeper or CPA.

How the Procore integration with QuickBooks Online works

Requirements

Procore's connector needs QuickBooks Online Plus or Advanced (Intuit Enterprise Suite is also supported). Simple Start and Essentials aren't supported because they don't have the QuickBooks Projects feature. QuickBooks Desktop uses a separate connector. You also need Procore's Financial Management tools, and any sub-customers you use for jobs must be converted to QuickBooks Projects. The integration supports one QuickBooks company per Procore site (Procore Support: About the QuickBooks Online Connector).

What syncs, in which direction

ProcoreDirectionQuickBooks Online
Project WBS codes (cost code + cost type)Procore → QBOService items
ProjectsQBO → ProcoreProjects
CompaniesBoth (import, link or export)Vendors
Direct costsQBO → ProcoreBills, expenses, vendor credits, credit card credits
Subcontractor invoicesProcore → QBOBills
Commitment payments issuedQBO → Procore (US only)Bill payments
Owner invoicesProcore → QBOCustomer invoices

Budgeted WBS codes export every five minutes. Job costs import once a day, and you can trigger a sync on demand. Vendors and subcontractor invoices export only after an Accounting Approver accepts them, though a Direct Export setting can skip that step for subcontractor invoices (Procore Support: Things to Know).

What doesn't sync

Procore lists these as not syncing with QuickBooks Online: budgets, commitments (subcontracts and purchase orders), commitment change orders, prime contracts, prime contract change orders, owner invoice payments, and timecards or timesheets.

Committed cost, contract value and every change order live only in Procore. QuickBooks sees what's been billed and paid, not what you've agreed to.

What actually breaks

1. Projects created on the wrong side

New projects have to be created in QuickBooks Online first and then imported into Procore. Procore says projects created in Procore can't currently be exported, and that it plans to add this "as soon as the Intuit developer API allows it."

The connector is also built for new projects. Procore says projects already in progress can't be synced, and offers paid Professional Services for them. One more ordering detail: QuickBooks service items are named from the Procore project number, so set the project number before anyone adds budget lines.

2. Cost codes that don't fit QuickBooks

Each budgeted WBS code becomes a project-specific service item in QuickBooks, named [project number]-[cost code].[cost type]. That has consequences:

  • Single-tier cost codes aren't supported. Your cost codes need two or more tiers.
  • Sub jobs aren't supported and are disabled on integrated projects.
  • Codes map only to Service items, not straight to general ledger accounts, and the integration doesn't write to the QuickBooks Class field.
  • Your products and services list grows with every project, so plan a naming and archiving routine.

If your bookkeeper tracks job costs by class or GL account today, that has to change, or you need a different connector.

3. Job costs coded to something Procore can't see

A cost entered in QuickBooks only shows up in Procore if it's coded to one of the project-specific service items the integration created. Costs posted straight to GL accounts or through journal entries aren't retrieved. Procore recommends exactly that for keeping payroll out of its Direct Costs tool, so labor won't appear in your Procore budget unless you handle it separately.

Two rules to tape to the monitor:

  • Void, don't delete. Procore can't detect a deleted QuickBooks transaction, so the synced cost stays in Procore. A voided one updates to $0 on the next sync.
  • Watch for the yellow banner. Procore shows a notification in the project budget when it detects miscoded QuickBooks job costs.

4. Change orders that live in only one system

Because neither commitment change orders nor prime contract change orders sync, an approved change order updates Procore and nothing else. QuickBooks only finds out when the next subcontractor bill or owner invoice crosses over. QuickBooks does have its own change order transaction, but Intuit documents it for Intuit Enterprise Suite (QuickBooks Help: Change orders in Intuit Enterprise Suite). On Plus or Advanced, your QuickBooks "estimate vs. actual" view won't reflect Procore's change orders.

It's the same pattern we described for Jobber's one-way sync: two systems, one quietly out of date (Jobber QuickBooks integration guide).

5. Retainage hiding in a summary line

Owner invoices export to QuickBooks as a summary: one line for the current payment due and one for retainage held or released, each posted to a service item you choose during setup. Subcontractor invoices put retainage on a separate line coded to an item set in the integration settings, not to a cost code (Procore Support: QuickBooks Online data mapping).

QuickBooks Online doesn't treat retainage as a first-class concept the way construction software does. On the QuickBooks Community, a moderator's suggested approach is a Retainage Receivable account with a service item and a negative line on each invoice, and another user points out that cash-basis books need a different setup or the full invoice shows up as income (QuickBooks Community). Decide the retainage items and accounts with your bookkeeper before the first owner invoice exports.

6. Records that drift after the first sync

  • Once a Procore company and a QuickBooks vendor are linked, changes on either side don't update the other.
  • A company must be synced as a vendor before its invoices can export.
  • Owner invoice numbers are capped at 21 characters, the QuickBooks limit.
  • Negative subcontractor invoices don't sync.
  • Owner invoice payments don't come back, so a paid invoice in QuickBooks can still look open in Procore.

Native connector, third-party connector or custom?

Procore's native connector is documented, supported by Procore, and fine if your workflow fits its lane: new projects, two-tier cost codes, costs coded to service items, change orders managed in Procore.

Third-party connectors fill the gaps. For example, Interfy says its OneCore connector syncs both ways and covers commitments, change orders, timesheets and cost codes mapped to the chart of accounts (Interfy). Those are vendor claims. Test any connector against your own workflow and ask:

  • Which records sync, in which direction, and what happens when one is edited or deleted?
  • Where do errors show up, and who gets alerted?
  • Where is the data stored, and how do you leave?

Custom work fits around the edges, not as a replacement. Procore has a REST API (Procore Developers) and QuickBooks Online has an accounting API (Intuit Developer). A small nightly check that compares the two is often worth more than a bigger connector.

There's an AI angle too. Procore has announced agents that can react to events such as change orders (Procore), and QuickBooks has its own project agents. Each sees only its own side of the sync.

A safer rollout, using RAID

We work through constraints in order: Remove, Avoid, Isolate, Deflect.

  • Remove ambiguity. Write down one home per record: projects are created in QuickBooks; budgets, commitments and change orders live in Procore; job costs and payments live in QuickBooks. Our tech stack audit guide has a template for this.
  • Avoid forcing in-progress jobs into the connector. Start with new projects.
  • Isolate the test on one live job for a full billing cycle. Create the project in QuickBooks, import it, add a budget, issue one commitment, push a subcontractor invoice through to a bill and payment, export an owner invoice with retainage, approve one change order and enter one cost directly in QuickBooks. Then compare the Procore budget with the QuickBooks project report line by line.
  • Deflect failures to a person. Name the Accounting Approver, check rejected items and Procore's unsyncable direct costs report weekly, and add an automated alert when a record fails or the two systems disagree.

FAQ

Does Procore integrate with QuickBooks Online?

Yes. Procore offers a native QuickBooks Online connector that works with QuickBooks Online Plus, Advanced and Intuit Enterprise Suite. Simple Start and Essentials aren't supported. QuickBooks Desktop uses a separate Procore connector.

What syncs between Procore and QuickBooks Online?

Cost codes export to QuickBooks as service items, subcontractor invoices as bills and owner invoices as customer invoices. Projects, vendors, job costs and US bill payments import from QuickBooks into Procore. Companies and vendors can be imported, linked or exported.

Do Procore change orders sync to QuickBooks Online?

No. Procore lists prime contract change orders and commitment change orders as not syncing, along with budgets, commitments, prime contracts, owner invoice payments and timesheets. QuickBooks only sees a change order once it shows up on a bill or owner invoice.

How does the Procore QuickBooks Online connector handle retainage?

Owner invoices export with one summary line for the amount due and one for retainage, each posted to a service item you choose. Subcontractor retainage goes on a separate line coded to an item set in the integration settings. Agree on the retainage accounts with your bookkeeper before you go live.

Can I connect projects that are already in progress?

Procore says the QuickBooks Online connector is designed for new projects and that in-progress projects can't be synced, though its Professional Services team can help for an additional fee. Starting with new jobs and finishing existing ones outside the integration sidesteps the problem.

Get a second set of eyes on your Procore setup

If Procore, QuickBooks and the rest of your stack don't quite agree, send us your tool list. We'll map which records cross over, which don't, and where a monitor or connector would save the most time. If the native connector is enough, we'll tell you.

Get a free tool stack audit → or email inquire@nexstacklabs.com.

Questions

Does Procore integrate with QuickBooks Online?
Yes. Procore offers a native QuickBooks Online connector that works with QuickBooks Online Plus, Advanced and Intuit Enterprise Suite. Simple Start and Essentials aren't supported. QuickBooks Desktop uses a separate Procore connector.
What syncs between Procore and QuickBooks Online?
Cost codes export to QuickBooks as service items, subcontractor invoices as bills and owner invoices as customer invoices. Projects, vendors, job costs and US bill payments import from QuickBooks into Procore. Companies and vendors can be imported, linked or exported.
Do Procore change orders sync to QuickBooks Online?
No. Procore lists prime contract change orders and commitment change orders as not syncing, along with budgets, commitments, prime contracts, owner invoice payments and timesheets. QuickBooks only sees a change order once it shows up on a bill or owner invoice.
How does the Procore QuickBooks Online connector handle retainage?
Owner invoices export with one summary line for the amount due and one for retainage, each posted to a service item you choose. Subcontractor retainage goes on a separate line coded to an item set in the integration settings. Agree on the retainage accounts with your bookkeeper before you go live.
Can I connect projects that are already in progress?
Procore says the QuickBooks Online connector is designed for new projects and that in-progress projects can't be synced, though its Professional Services team can help for an additional fee. Starting with new jobs and finishing existing ones outside the integration sidesteps the problem.
MonthlyThe recap

One email a month. No filler.

What actually shipped in AI and developer tooling, which stack changes were worth making, and the field notes behind them. Unsubscribe in one click.