The story
Canam has been building since 1955, and today it runs as three businesses under one roof — Construction, Interiors and Joinery — each touching dozens of live sites at once. That history is exactly what made its accounts-payable problem so stubborn. Every month the team hand-keyed thousands of subcontractor and merchant invoices, and each one demanded a judgement call before it could touch Xero: the right GL code, the right job cost centre, and a clean split across whichever division actually incurred the cost. Construction billing is never tidy, so on top of straight supply invoices the team was forever untangling variations, retentions and progress claims, the same supplier landing against several jobs in a week with different treatment each time.
The knock-on effects all landed on the commercial team. Coding came out inconsistent because it depended on whoever happened to key the invoice that day. Approvals stalled while project managers chased paper from the field. Month-end close slipped later and later as the backlog grew. Worst of all, mistakes stayed invisible until reconciliation — by which point a miscoded job cost or a missed retention had already flowed into reporting and was slow and expensive to unwind.
Rather than bolt on another piece of accounting software, we set out to give Canam its own operating system for the back office — a Company OS that sits across the tools the business already runs and does the work the way Canam does it, not the way a generic vendor assumes. The difference is the knowledge underneath it. We trained the coding agents on Canam’s own Xero history, so the system proposes the right code, cost centre, divisional split and live job number because it has learned how this business — not some textbook contractor — actually books its costs.
From there the OS became the place AP simply happens. Every invoice, however it arrives — a PDF, an emailed attachment, a photo snapped on a site — is captured, read and coded against the right job. Retentions, variations and progress claims, the awkward construction-specific cases, run through bespoke handling so they are treated consistently every time instead of left to interpretation. Approvals moved onto the phones in people’s pockets, with value-based thresholds and automatic purchase-order matching, so a project manager clears them from the field. Anything the system is confident about posts straight to Xero; only genuinely low-confidence or exception items are held back for a person, so human attention goes where it counts.
The result was less a tool and more a change in how the company runs its money. Processing time fell by 84%, the chronic month-end backlog cleared, and supplier runs turned from a scramble into a steady, predictable cycle. Coding accuracy kept climbing as the OS absorbed each division’s patterns, so reporting could finally be trusted as it landed. And because it is Canam’s own system rather than a static product, it keeps learning from every invoice — the unforeseen part of the adventure being how quickly the team stopped thinking of AP as the thing standing between them and a clean close.
What we built
-
01
Captured every supplier invoice however it arrived (PDF, emailed attachment or a photo snapped on site) through OCR paired with an LLM extraction layer tuned for NZ construction line items, GST treatment and retentions
-
02
Trained GL and job-cost coding suggestions on Canam's own Xero history so the model proposed the right code, cost centre and divisional split across Construction, Interiors and Joinery and the active job number, rather than a generic guess
-
03
Built a mobile approval workflow with value-based thresholds, automatic purchase-order matching and a clear audit trail, so project managers could clear approvals from the field instead of waiting to be back at a desk
-
04
Routed retentions, variations and progress claims through bespoke handling so the awkward construction-specific cases were treated consistently every time rather than left to interpretation
-
05
Auto-posted approved invoices straight to Xero, holding back only genuinely low-confidence or exception items for a human to review so people spent their attention where it counted
“Invoices used to back up across all three divisions and hold up month-end every single time, and we were never quite sure what had been miscoded until it bit us at reconciliation. Now most of them code themselves against the right job and post straight to Xero, the project managers approve from site without us chasing them, and the team only looks at the ones that genuinely need a decision. It's the first time in years that AP isn't the thing standing between us and a clean close.”
Results at a glance
- Invoice processing time cut by 84%, clearing the chronic month-end backlog and turning supplier payment runs from a scramble into a steady, predictable cycle
- Coding accuracy climbed as the model absorbed each division's patterns, so far fewer surprises surfaced at reconciliation and reporting could finally be trusted as it landed
- Accounts staff shifted from heads-down data entry to handling genuine exceptions and supplier queries, doing work that actually needed a person
- Project managers approve from the field in moments, so invoices no longer sit in limbo waiting for someone to come off site and month-end close lands on time