Key points
- On a typical job, the same information can be typed into three or four systems by two different businesses.
- The direct cost is admin time. The bigger costs are invoice disputes, slow payment and KPIs built on unreliable data.
- The fix is one job reference from fault to payment, and capturing information once, at the source.
Where double entry creeps in
| Step | Recorded first in | Then typed again into |
|---|---|---|
| Fault reported | The operator's maintenance system | The contractor's job software |
| Visit and notes | The engineer's app | The operator's portal |
| Parts | The engineer's notes | A priced quote in the office, then the portal |
| Certificate | The contractor's files | Each client's compliance platform |
| Invoice | The contractor's accounts | Matched by hand against the client's job list |
| Payment | One payment for many jobs | Matched back to individual invoices |
Working out what it costs
A quick way to size the problem is to multiply your job volume by the minutes of re-keying each job needs, on both sides. As an illustration only: an estate of 40 sites raising six reactive jobs per site each month generates 240 jobs. If each job takes 15 minutes of re-typing across the operator and contractor, that is 60 hours of admin a month, before anyone has chased a query.
Use your own numbers. Count your monthly jobs, ask your contractors how long their admin takes per job, and add your own team's time spent matching invoices.
The costs you don’t see
- Invoice disputes. When the contractor's job number and your job reference don't line up, invoices get queried and payments stall.
- Risk priced in. Contractors who wait longer to be paid, or spend longer on admin, recover it through their rates.
- Unreliable KPIs. Response and fix times typed in after the event are estimates, not measurements.
- Audit gaps. A certificate that never made it into one client's platform looks, on the day of an audit, like a missed inspection.
How to fix it
- Use one reference. Make your job reference the common key: on the contractor's purchase order, on their invoice and on your payment run.
- Capture at the source. The engineer records arrival, notes, photos and completion once, on site, and everyone else reads it.
- Structure the parts. Parts as lines with descriptions, quantities and prices, not free text, so they can be approved and matched.
- Upload certificates once. Attach the certificate to the job, and let it file itself against the asset and site.
- Pay in batches by reference. Approve completed, signed-off jobs together, so one payment can be matched to its invoices without detective work.
If you change one thing this month, agree with your main contractors that your job reference goes on every purchase order and invoice. It makes every later step easier.
How Fabric does it
In Fabric, every job is recorded once and tied to a site, an asset and a contractor. The engineer updates the job from their phone, attendance is timestamped as it happens, and a certificate uploaded on the job files straight into compliance. The Fabric job reference is designed to be the common key across your system, the contractor's and the accounts.
We are connecting Fabric to contractors' own job software, starting with ServiceM8, and payment certificates that match completed jobs to invoices are coming in the Costs and invoices bolt-on. See maintenance management or pricing.



