Job cost reconciliation for construction: Xero and QuickBooks setup, ApprovalMax controls and an AI anomaly checklist featured image
Business & Operations

Job cost reconciliation for construction: Xero and QuickBooks setup, ApprovalMax controls and an AI anomaly checklist

TrainAR Team 22 days ago 5 min read

Job cost reconciliation for construction: Xero and QuickBooks setup, ApprovalMax controls and an AI anomaly checklist

Category: Business & Operations • Niche: job costing, Xero, QuickBooks, ApprovalMax, Dext/Hubdoc, CIS, DRC VAT, AI automations

Contents

Job cost reconciliation dashboard for UK trades with CIS/DRC flags and PO matches

Quick answer

If your projects show healthy margins but the bank doesn’t, you likely have one of three issues: costs not assigned to Projects, bills posted without a matching PO, or CIS/DRC VAT codes misapplied. Fix this by:

  • Standardising capture (Dext/Hubdoc), approvals (ApprovalMax) and Projects assignment in Xero/QBO.
  • Running the same five month‑end checks every time.
  • Adding simple AI anomaly rules to flag odd spend before month‑end.

Who this is for

  • Builders, M&E and maintenance firms with multiple live jobs.
  • Owners and office managers who need job P&L to tie to the accounts.
  • Anyone running CIS and Domestic Reverse Charge (DRC) VAT.

What you will set up

  • A clean job‑costing stack in either Xero or QuickBooks.
  • PO approvals and bill‑to‑PO matching with ApprovalMax (Xero).
  • Receipt capture with Dext or Hubdoc and a Projects assignment routine.
  • A month‑end control pack and lightweight AI anomaly checks.

Fast glossary

  • Projects: the job P&L module (Xero Projects or QBO Projects).
  • Tracking Category (Xero): tag for routing/analysis. Useful for approvals; not the same as Projects.
  • CIS: UK Construction Industry Scheme deductions on contractors/subcontractors.
  • DRC VAT: Domestic Reverse Charge for building and construction services.

Step-by-step setup (Xero stack)

  1. Projects and Tracking Categories
  • Use Xero Projects for job profitability. Create a single Tracking Category such as Job for ApprovalMax routing and budget checks.
  1. Capture and code
  • Use Dext or Hubdoc for bills/receipts. Publish to Xero with correct supplier, account and tax code. Dext can pass Tracking Categories; you will assign Projects inside Xero after publish.
  1. Assign bills to Projects
  • In Xero, open each supplier bill and use Assign expenses to a project on each line. Split lines if a bill covers more than one job.
  1. Approvals and budget control
  • In ApprovalMax, make key PO fields mandatory (Supplier, Account, Tax, Tracking Category). Turn on Budget Check by Tracking Category and Bill‑to‑PO matching to stop overspend reaching Xero.
  1. CIS and DRC VAT basics
  • Enable the correct DRC tax rates in Xero and mark CIS suppliers/customers properly. Review job reports net of VAT.

Step-by-step setup (QuickBooks stack)

  1. Turn on Projects
  • Enable Projects and assign every cost line to the correct Project in the Customer/Project column. Don’t rely only on Classes.
  1. CIS and DRC VAT
  • Turn on CIS in QBO if applicable and use the UK DRC VAT codes for CIS‑covered services.
  1. Capture
  • Use Dext or the QBO Receipt Capture. Check each line is coded to the right Project and VAT code.

Month-end job cost reconciliation checklist

Run these five checks in order:

  • Capture completeness: inbox zero in Dext/Hubdoc. Bank and card fully reconciled.
  • Unassigned costs: list bills/expenses without a Project and fix line‑by‑line.
  • Projects vs GL tie‑out: total Projects costs per job agree to P&L cost accounts. Differences usually come from journals, retentions/WIP or missed assignments.
  • PO control: unmatched bills or over‑receipts flagged via ApprovalMax reports.
  • CIS/DRC review: confirm correct codes on subcontractor flows and that CIS control accounts reconcile to HMRC returns.

Control pack to save monthly

  • Project Profitability by job (Xero or QBO)
  • Unassigned transactions report
  • PO vs Bill exceptions (ApprovalMax)
  • CIS summary and DRC VAT review note

AI anomaly checks that catch margin leaks

You don’t need a data scientist. A simple sheet or Make.com flow can flag:

  • New supplier over £500 on a job without a PO.
  • Price spikes on repeat items (e.g., 15 percent above last three‑month average).
  • Travel/fuel spend per engineer 25 percent above team average.
  • Bills with DRC code where supplier is not CIS‑registered, or vice versa.
  • Projects with costs but no revenue for 30 days (stalled invoice).

How to implement fast:

  • Export monthly bills per Project to Google Sheets; add conditional rules above. Email the flagged rows to the manager each Friday.

Evidence and audit trail tips

  • Attach supplier confirmations, timesheets and site photos to the job. This reduces disputes and speeds payment.
  • For subs, keep CSCS/right‑to‑work, insurance and RAMS in one place. Use QR links on site to upload before starting work.
  • Keep retentions and WIP in a separate schedule you reconcile monthly.

FAQs

Can Dext or Hubdoc push the Xero Project field automatically?

No. They can publish the bill, but you assign the Project inside Xero. Use Tracking Categories at capture time if you want routing/budget checks in ApprovalMax.

We split a single bill across three jobs. How do we do that quickly?

Split the bill into multiple lines in Xero or QBO, then assign each line to the relevant Project. Save a supplier rule in Dext to prefill accounts and tax codes to speed coding.

Do journals appear in Projects reports?

No. Journals affect the GL but don’t feed Projects modules. Keep a WIP/retentions schedule and reconcile to the GL each month.

Does ApprovalMax route approvals by Xero Project?

Not directly. Route by a Tracking Category that mirrors the job. Keep it in sync with Projects.

Is CIS cash or accrual in QuickBooks?

QuickBooks CIS reporting is cash‑based. It won’t match your accrual P&L exactly. Reconcile CIS control accounts monthly.


Want to slash training times and increase revenue per Engineer? Join our Waitlist: https://trainar.ai/waitlist