Most contractors don't find out what a job really cost until the job is finished. By then the contract is closed, the variations are settled, and whatever margin leaked out is gone. The problem isn't the accounting system — it's that the costs arrive weeks late, in a dozen formats, and half of them never carry a project code at all. This is a document capture problem before it's a reporting problem.
Why Construction Job Costing Drifts
Consider a contractor running three active sites with a fleet of lorries, a couple of excavators and forty site staff on varying overtime arrangements. In a single month, the costs that need to reach the job cost report include:
- Petrol and diesel card statements, plus the loose fuel slips drivers hand in at the end of the week
- Tyre, workshop and repair invoices for specific vehicles and machines
- Overtime and trip claims across different rates, shift patterns and site conditions
- Material deliveries signed off on paper DOs at the gate, often partial or across multiple drops
- Subcontractor progress claims with retentions, variations and previous certified amounts
Each of these arrives through a different door. The fuel card statement comes monthly by email. The workshop invoice comes by WhatsApp photo from the driver. The OT claims come as a stack of handwritten forms at the end of the month. The DO comes back to the office chopped and folded, three days after the goods landed on site.
Two things go wrong. First, timing: costs are keyed weeks after they occurred, so the job cost report is always looking backwards at a picture that's already stale. Second, coding: when the admin team keys a fuel slip with no project reference on it, they have to guess — or leave it in a general overhead bucket. A cost sitting in overheads is a cost that never lands against the job that incurred it, which means the project looks more profitable than it is until the reconciliation at the end.
The consequence is the same either way. By the time you can see a project drifting, there's no contract left to protect.
Capture at the Point the Cost Happens
The fix is to move capture from the office to the moment of spend. If a driver can photograph a workshop invoice from the workshop and it lands coded against that specific lorry, the coding problem and the timing problem are solved together.
That's what Lizzie, FlowGo's AP and expenses agent, does. Lizzie sits on the channels your site teams already use — WhatsApp, Telegram and email. Anyone with the number can send a document. Lizzie reads it, extracts vendor, date, amount and line items, and creates a draft payable in your accounting system with the project, site and cost centre already applied.
The construction-specific work happens in the coding:
- Fuel spend reconciled line by line. Petrol card statements are matched against the individual slips and against the vehicles they belong to. Lines that don't match — a slip with no statement entry, a statement line with no slip, a fill volume that doesn't fit the vehicle — are flagged as exceptions rather than quietly absorbed.
- Maintenance history per machine. Workshop, tyre and repair bills are booked against the specific lorry or excavator, so you can see what each asset actually costs to keep running — and decide when it stops being worth running.
- OT claims applied consistently. Different rates, shifts and site conditions are read from the claim and applied the same way every time, which removes most of the month-end arguments about whose rate was used.
- Handwritten receipts, any language. The scribbled receipt from the hardware shop is processed the same way as a clean PDF from a national supplier.
One detail matters more than it sounds: Lizzie reads the document date separately from the processing date. A fuel slip from the 28th that gets photographed on the 3rd still books to the month it belongs to. Without that separation, late capture quietly turns into period drift, and your monthly job cost comparison stops being comparable.
Closing the Loop on Materials with Mei
Materials are where the money is, and materials are where paper still rules. A PO is raised at an agreed supplier price, goods arrive at site, someone signs a DO, and an invoice turns up two weeks later. Whether the invoice matches what was ordered and what actually arrived is usually verified by memory, if it's verified at all.
Mei, FlowGo's goods receipt and 3-way matching agent, closes that loop. POs are raised for materials at the agreed price. The site team photographs the chopped DO and the goods receipt posts itself. When the supplier invoice arrives, Mei checks it line by line against the PO and against what was actually received — short deliveries, over-deliveries and price differences surface before anyone approves payment. Partial and multi-drop site deliveries are tracked against the outstanding balance, so a half-delivered order stays visibly open instead of being closed off and forgotten.
Combined with duplicate detection, this is the mechanism that stops the same invoice being paid twice — a failure mode that's more common than most contractors think when the same document arrives once by email and once as a photo from site.
Mei is live. If goods receipt and 3-way matching is the piece you need most, talk to us about getting her set up.
Asking the Cost Question Directly
Once every cost carries a project, site and vehicle code from the day it was incurred, the reporting question becomes answerable. Porter, FlowGo's business analyst agent, lets you ask it in plain language inside the Claude or ChatGPT app you already use — no report builder, no waiting on the accounts team.
The questions contractors actually ask look like:
- What has Project Damansara cost me to date, broken down by cost centre?
- Which lorry cost the most in maintenance last quarter?
- What's my margin by job across the last six months — which contracts actually made money?
- How much fuel did site B burn compared to last month?
Porter returns a table, a chart or a summary. Weekly cost reports can be scheduled so they arrive rather than being chased. The point isn't the interface — it's that the underlying data is complete and correctly coded, which is what makes the answer trustworthy enough to act on while the job is still running.
Nothing to Migrate
FlowGo writes into the accounting system you already run — AutoCount, SQL Account, QuickBooks, Xero, SAP Business One and others. Your chart of accounts, project structure, cost centres and supplier master stay as they are. There's no parallel system to reconcile and no data migration project to schedule around your live jobs.
On the security side, FlowGo operates a certified information security management system under ISO/IEC 27001:2022. Access is controlled by user, site and project; every document and approval carries a full audit trail; and your cost data is never used to train public AI models. For contractors, that last point matters — your subcontractor rates and supplier pricing are competitive information.
Frequently Asked Questions
How does FlowGo assign a project code to a fuel slip that doesn't mention a project?
Coding is inferred from context rather than from the document alone. The vehicle on the slip, the site the driver is assigned to, and the sender's history all feed the assignment. Where the assignment is confident — a lorry that has run only on one site all month — it's applied automatically. Where it isn't, the draft is created with the extracted data complete and flagged for allocation, so your team makes one decision instead of keying the whole document. That exception queue shrinks over time as the pattern history builds.
Can it handle petrol card statements alongside individual fuel slips?
Yes — that reconciliation is the point. The card statement is processed as a multi-line document and matched against the individual slips submitted for the same period and against the vehicles involved. Unmatched lines in either direction are raised as exceptions for review rather than posted silently. This is where fuel leakage usually shows up, because a slip with no matching statement line or a statement line with no slip is exactly the pattern worth looking at.
What about overtime claims on different rates for different sites?
OT and trip claims are read from whatever form your staff submit — printed forms, handwritten sheets, or photos sent by WhatsApp — and the applicable rate, shift and site condition is applied consistently against the rules you configure. The value isn't only speed; it's that the same claim gets treated the same way every month regardless of who is processing it at month end.
Will costs land in the right accounting period if documents arrive late?
Yes. The document date is extracted and used for the accounting entry, separately from the date the document was processed. A receipt from the 28th photographed on the 3rd of the following month still books to the month in which the cost was incurred. Without this, late capture creates period drift and your month-on-month job cost comparison becomes unreliable.
Does this replace my job costing module?
No. FlowGo feeds it. Your accounting or ERP system remains the system of record for project costs and reporting; FlowGo makes sure the documents that should be in it actually get in, correctly coded, on the day they happen. If your job costing reports have been unreliable, the cause is almost always missing or mis-coded source documents rather than the reporting module itself.
What does a proof of concept look like?
Bring one month of real fuel, workshop and claim documents. We run them through and show you the coded output against your own project structure — including what got flagged as an exception and why. That's a more useful evaluation than a demo dataset, because your document mess is the actual test.
See it run on your own site costs.
Book a Demo on WhatsApp