Diagnose It
How to figure out which cause is yours
You do not have to guess. Pull the Procore budget for the job in question side by side with the QuickBooks job costing report for the same job and the same date range, then read down line by line. The line where the two first diverge usually tells you the cause.
Read the Procore budget the right way
In the Procore budget, the Direct Costs column is not a raw number you keyed in. In a standard budget view it is typically calculated as Job-to-Date Cost minus Commitment Invoiced. That calculation matters for diagnosis, because if your commitments or invoices are not synced or approved, the Direct Costs figure is wrong before you ever compare it to QuickBooks.
A specific, documented symptom to watch for: the Job to Date Costs in your Procore budget not matching the subcontractor invoice amounts you know you have entered. When that is what you are seeing, the cause is almost always a commitment or approval issue, an invoice or change order that has not been synced or approved, rather than a coding problem. If instead whole categories of cost are missing or landing under the wrong code, you are looking at a cost code mismatch.
Work the comparison in this order: confirm the cost codes themselves match between the two systems, then confirm every commitment and invoice is synced and approved, then look for costs that exist in one system but not the other, and finally check for manual journal entries in QuickBooks that were never coded to a job. For the structural side of this, our QuickBooks and Procore integration breakdown explains what the connector posts and where it stops.