Overview

A construction firm’s project accounting lagged because timesheets, purchase orders, and change orders lived in separate systems. Costs and committed spend were visible to operations, but Finance saw a different picture in the ERP, so cost?to?complete and revenue recognition were rebuilt at month?end with late adjustments. Intelligex integrated Procore, Oracle, and timesheets into a governed cost?to?complete model, added a finance?led review for revenue recognition and vendor accruals, and synchronized approved outcomes to the ledger. Project margins reflected current reality, change order disputes diminished, and close required less rework—without replacing site tools or the ERP.

Client Profile

  • Industry: Commercial construction and specialty contracting
  • Company size (range): Multi?project, multi?region portfolio
  • Stage: Procore for field and project controls; Oracle for ERP; separate timesheet and procurement processes
  • Department owner: Finance & Accounting (Project Accounting and Controllership)
  • Other stakeholders: Project Management, Operations, Procurement/Subcontracts, Payroll, IT/Integrations, Internal Audit, FP&A, Legal

The Challenge

Field teams managed budgets, commitments, RFIs, and change orders in Procore, while AP, AR, and the GL lived in Oracle. Labor time was captured in a standalone system, and vendor accruals were driven by AP timing rather than by work in place. Unapproved change orders and pending subcontractor invoices distorted cost?to?complete (CTC), and revenue recognition used inconsistent inputs across jobs. Month?end became a scramble to reconcile Procore cost codes, Oracle accounts, and timesheet summaries, with manual spreadsheets bridging formats and timelines.

Disputes over change orders and accruals were common. Project teams believed margin erosion reflected accounting timing, while Finance pointed to missing approvals or stale budgets. Aging POs and partial receipts were difficult to match to ETAs or field tickets, and timesheets did not consistently align to cost codes or phases. The lack of a single CTC model with shared inputs and ownership led to late adjustments, thin narrative for auditors, and recurring conversations about why results diverged from what projects reported.

Why It Was Happening

Root causes were fragmented systems and ungoverned mappings. Procore cost codes and budget line items did not consistently map to Oracle cost structures, and change order states (pending, approved) were not encoded clearly for Finance. The timesheet platform used its own task taxonomy, which made labor distribution to cost codes a manual step. Accruals relied on AP receipt timing rather than on work performed, so work in place was under?stated until invoices arrived. Without a canonical project cost schema, a governed CTC calculation, and an approval path for revenue and accrual decisions, each month required bespoke reconciliation.

Ownership was diffuse. Operations controlled budgets and change orders, Procurement owned commitments, Payroll owned labor capture, and Finance owned the ledger. No shared workflow tied these inputs into one model with versioned rules and a review gate, so policy intent did not reliably reach postings.

The Solution

Intelligex delivered a cost?to?complete and revenue workflow that synchronized Procore, Oracle, and timesheets into a single, finance?governed model. Project budgets, commitments, approved and pending change orders, and actuals flowed from Procore; AP/GL activity and vendors came from Oracle; labor hours and rates arrived from the timesheet platform. A canonical schema aligned cost codes and accounts, a CTC engine calculated estimate?to?complete and estimate?at?completion, and vendor accruals were proposed based on work in place and committed receipts. Finance reviewed revenue recognition under a cost?based input method consistent with ASC 606 guidance, then approved postings to the ledger. Integrations followed the Procore API and Oracle Financials patterns (see Oracle Financials Cloud), with policy references aligned to ASC 606 summaries such as Leases & Revenue (Topic 606).

  • Integrations: Project data (budgets, commitments, change orders, direct costs) via the Procore API; ERP actuals and GL posting via Oracle Financials Cloud; timesheets from the existing platform; notifications to collaboration tools; evidence and backup in SharePoint or the current DMS.
  • Canonical project cost schema: Standard fields for project, phase, cost code/category, budget, commitments, pending/approved change orders, direct costs, labor hours and rates, accrual flags, and revenue method; crosswalks mapped Procore cost codes to Oracle accounts and projects.
  • Cost?to?complete engine: Roll?forward of budgets with approved change orders; inclusion of pending change orders with policy?controlled confidence; ETC/EAC calculation using actuals, committed costs, and labor forecasts; variance flags when drift exceeded thresholds.
  • Revenue and WIP: Cost?based input method with progress from actual vs. EAC; WIP schedules generated with linkbacks to source data; reviewer prompts when significant EAC changes or pending change orders affected revenue.
  • Vendor accruals: Proposed accruals derived from committed receipts, field tickets, and labor hours not yet invoiced; out?of?policy accruals routed to Procurement or Project Management for confirmation.
  • Approvals and governance: Finance?led review of CTC, revenue, and accrual proposals; maker?checker approvals with reason codes for overrides; effective?dated mappings and rules under change control.
  • Exception workflow: Queue for mapping conflicts, stale budgets, unlinked timesheets, and change orders without proper documentation; routed to the right owner with evidence and due dates.
  • Dashboards and audit: Views of project margin posture, change order aging and impact, accrual coverage, and WIP status; exportable evidence packs linking Procore items, timesheets, accruals, and Oracle postings.
  • Security and permissions: Role?based access across Operations, Procurement, and Finance; immutable logs of mappings, calculations, approvals, and postings.

Implementation

  • Discovery: Cataloged project structures and cost codes; inventoried Procore budget and change order usage; reviewed Oracle project and account setup; mapped timesheet task hierarchies; sampled prior WIP and accrual entries and common disputes; gathered audit comments.
  • Design: Defined the canonical schema and crosswalks between Procore and Oracle; authored CTC calculation rules, pending change order treatment, and variance thresholds; specified revenue recognition review criteria; designed accrual logic from commitments and timesheets; planned dashboards and evidence exports; established maker?checker roles.
  • Build: Implemented Procore and Oracle connectors; built normalization services for budgets, commitments, and actuals; developed the CTC engine and revenue/WIP module; integrated timesheets and labor costing; created accrual proposal logic; assembled exception queues, approvals, dashboards, and exports.
  • Testing/QA: Ran in shadow mode: produced CTC, revenue, and accrual proposals while month?end continued as usual; compared outcomes to prior close; tuned mappings, pending change order policies, and variance thresholds; exercised exception routing with Operations, Procurement, and Finance reviewers.
  • Rollout: Enabled the workflow for selected projects and divisions first; retained spreadsheet methods as a controlled fallback; expanded coverage as mapping stability and reviewer confidence grew; tightened automatic postings only after several consistent cycles.
  • Training/hand?off: Delivered sessions for Project Managers, Project Accounting, and Procurement on interpreting CTC, handling exceptions, and approving accruals and revenue proposals; updated SOPs for change order cutoffs, EAC updates, and accrual evidence; transferred ownership of crosswalks, rules, and dashboards to Finance Ops under change control.
  • Human?in?the?loop review: Established a recurring review for rule updates, mapping changes, and edge cases (large EAC shifts, disputed change orders); decisions documented with rationale and effective dates.

Results

Finance and Operations worked from one model of cost and progress. CTC reflected budgets, commitments, labor, and approved change orders with clear treatment for pending items. Vendor accrual proposals referenced field evidence and commitments instead of AP timing, and revenue recognition reviews focused on material EAC changes rather than on reconstructing inputs. Project margins reflected current reality earlier in the cycle.

Disputes and rework declined. Change orders were visible with their impact on CTC and WIP, and mapping conflicts or unlinked timesheets were routed before close. Approved postings carried linkbacks to Procore items and timesheets, and audit packs pulled the same trail used day to day. The firm kept Procore, Oracle, and its timesheet platform; the difference was a governed CTC and revenue layer that aligned policy and execution.

What Changed for the Team

  • Before: CTC and WIP were rebuilt in spreadsheets at month?end. After: A governed model calculated CTC continuously with reviewer gates for revenue and accruals.
  • Before: Change orders caused late surprises. After: Pending and approved change orders were reflected with policy?controlled treatment and clear impact on margins.
  • Before: Vendor accruals relied on AP timing. After: Accruals were proposed from commitments, field tickets, and labor evidence with approvals.
  • Before: Timesheets and cost codes did not align. After: Crosswalks mapped labor to cost codes, and exceptions were routed for correction.
  • Before: Mapping drifted between Procore and Oracle. After: A canonical schema and effective?dated crosswalks kept structures aligned.
  • Before: Audits required ad hoc narratives. After: Exports cited Procore items, timesheets, rules, and Oracle postings in one trail.

Key Takeaways

  • Build a single cost?to?complete model; align field systems and the ERP under a canonical schema.
  • Treat change orders explicitly; encode pending vs. approved treatment with finance?owned rules.
  • Base accruals on work in place; use commitments, field evidence, and labor to propose entries.
  • Add governance to revenue; finance?led review under ASC 606 with maker?checker improves consistency.
  • Resolve mapping at the source; effective?dated crosswalks prevent recurring reconciliation work.
  • Integrate, don’t replace; keep Procore, Oracle, and timesheets, and add a governed workflow between them.

FAQ

What tools did this integrate with? The workflow synchronized project data from Procore via the Procore API, posted and validated journals in Oracle Financials Cloud, and ingested labor from the existing timesheet platform. Policy for revenue recognition aligned with ASC 606 summaries such as Revenue Recognition (Topic 606). Evidence and documentation continued in the company’s current repositories.

How did you handle quality control and governance? Cost code?to?account crosswalks, pending change order treatment, and CTC rules lived under change control with effective dating. Finance approved CTC, revenue, and accrual proposals through maker?checker steps with reason codes for overrides. Every mapping change, calculation, approval, and posting was immutably logged with linkbacks to Procore items, timesheets, and Oracle entries.

How did you roll this out without disruption? The model ran in shadow mode first, producing CTC, revenue, and accrual proposals while teams followed existing processes. Results were compared and rules and mappings were tuned. Rollout began with selected projects and divisions, and expanded as exceptions declined and reviewers gained confidence. Automatic postings were enabled gradually after training.

How was cost?to?complete calculated? Budgets rolled forward with approved change orders, pending change orders were included per policy, and actuals and commitments from Procore combined with labor from timesheets to compute ETC and EAC. Variance flags highlighted significant drift in EAC or labor productivity, prompting review before revenue was recognized.

How were change orders handled across systems? Procore’s change order states flowed into the model. Approved change orders adjusted budgets and contract values; pending items were visible with policy?controlled inclusion. Each change order’s financial impact was linked to CTC, accruals, and WIP, and routing ensured missing documentation was resolved before close.

How did vendor accruals work? The engine proposed accruals based on committed receipts, field tickets or confirmations, and labor hours that indicated work performed but not yet invoiced. Items outside policy or lacking evidence were routed to Procurement or the Project Manager for confirmation, and approved accruals posted with references to supporting documents.

You need a similar solution?

Get a FREE
Proof of Concept
& Consultation

No Cost, No Commitment!