Skip to main content

FREE PLUGIN

Invoice automation for facilities & property teams

How FM and property teams automate invoice checking: matching supplier invoices to rates, job sheets and POs — plus a free plugin to run your first check in about fifteen minutes.

Vishak C PrakashBy Vishak C PrakashUpdated July 20269 min read
Illustration of facilities invoice reconciliation: purchase order, quote, job sheet and invoice connected by rope bridges

Every finance team has been sold invoice automation. The version they were sold is a rules engine: take a purchase order, take an invoice, check that the numbers line up, pay the ones that match. That works beautifully when the PO says a hundred units at a set price and the invoice says the same hundred units at that price. It falls apart on a facilities invoice, because facilities invoices almost never look like that.

An FM invoice rides on a rate card, a job sheet, an out-of-hours uplift, a quote that became a PO that became an invoice while the scope changed mid-visit. There's no clean line for a rule to match against. This guide is about the version that actually holds up — not more rules, but an AI agent that reads the documents and checks them the way your best coordinator would — and how to run your first check today, inside tools you already pay for, in about fifteen minutes.

Why standard invoice automation breaks on FM invoices

The invoice automation most people mean is built on three-way matching: line the invoice up against the purchase order against the goods-received note, and if all three agree, pay. It's a good rule for buying stock. The PO commits to a hundred filters at a set price, the goods-received note confirms a hundred filters arrived, the invoice bills a hundred filters at that price. Three clean documents, one clean match, no judgment required.

Facilities invoices don't give a rule that much to hold onto. The price isn't a fixed number on a PO — it's a loaded rate card, or a quote for that one job, with an out-of-hours uplift that may or may not have been re-authorized. The proof of work isn't a goods-received note — it's a job sheet or a service report sitting in a different system. Measured-term contracts, reactive call-outs, quote-to-PO-to-invoice chains where the scope grew mid-visit: none of it reduces to 'do these three numbers match.' The document the rule wants to check against often isn't even there.

It helps to see the actual paper trail an FM invoice rides on — and which document you actually verify.

The documents in an FM invoice trail, and what each one is for
DocumentWhen it's issuedWhat it provesWhat FM verifies
Purchase orderBefore work, to authorize spendYou approved this scope and priceThat the invoice matches it
Proforma invoiceBefore work, as an estimateA price offered, not payment owedScope and rates before you commit
InvoiceAfter work, to request paymentThe supplier says this is owedPrice, reality and authorization
ReceiptAfter payment, as proofThe money was paidNothing; it just closes the file

Picture the last working day of the month: a folder of invoices from a dozen contractors — refrigeration, cleaning, a reactive plumbing call-out, a parts supplier. Some arrived by email, two through a client portal, one is a photo of a paper invoice sent over WhatsApp. To check even one properly you need the agreed rates, the record of what was actually done, and the authorization that said go ahead. In most teams those three things live in three places, owned by three people, so the check that's meant to happen rarely does. Most teams will admit they check the totals, but very rarely line by line.

The cost of skipping it isn't dramatic; it's quiet. You pay an emergency rate for a standard job. You pay for a second visit that was really the first fault coming back. You pay an uplift nobody re-approved. None of it is a fraud headline — it's a margin a few points thinner than it should be, spread across hundreds of invoices nobody had time to read.

$12.88

the cost of processing a single invoice by hand

Ardent Partners, 2025

This is the work between states that no system owns. Your CAFM records that a job was created and closed. Your accounting system records that an invoice was paid. Neither one checks that the price on the invoice matches the rate you agreed, or that the work billed matches the work that happened. That check lives in a person's head and a person's inbox — and it's the first thing to get skipped when the month-end pile is deep.

The three checks a real invoice check has to make

Invoice matching is the act of lining an invoice up against the documents that prove it's fair, and confirming they agree. Accounts payable calls the strict version three-way matching. FM reconciliation is the same idea adapted to work that happens on site instead of stock that arrives in a warehouse. Three checks do the work — and not one of them is a plain number-to-number rule.

Price. Does each line match the rate you actually agreed — the loaded rate card for that contractor, or the specific quote for that job, not last year's rates or a number the supplier picked? A call-out billed at an emergency rate when the SLA said standard is a price failure, and it's invisible if you only glance at the total.

Reality. Did the work on the invoice actually happen? This is where the service report or job sheet earns its place. Two hours of labour on the invoice should be two hours on the report; three filters billed should be three filters signed off on site. If the invoice claims more than the record shows, the invoice is wrong, not the record.

Authorization. Was this spend approved before it happened? The quote or purchase order is the answer. A job that grew mid-visit needs its own sign-off. If the invoice is bigger than the authorized amount with no re-approval attached, that gap is exactly what you pay for by not looking.

Underneath the three, one more: does the invoice agree with itself? Line items that don't sum to the total, tax that doesn't compute, a date before the work was even raised. These survive because nobody adds up someone else's arithmetic.

So a real invoice check — whoever or whatever runs it — has to:

  • compare every line to the agreed rate, not just the total
  • confirm the work against a service report or job sheet, not the invoice's own description
  • check the amount against a quote or PO, and flag any uplift that was never re-approved
  • pay the part that's clearly correct, and hold back only the value that's genuinely in question

Look at what each check actually needs: the agreed rate lives in a contract, the proof lives in a job sheet, the approval lives in a quote. To run the check you have to read those documents and weigh them against each other. That reading — that judgment — is the part a rules engine can't reach.

Rules can't do this. An AI agent can.

A rules engine needs its inputs pre-structured and already matching — field to field, number to number. Hand it a PDF invoice, a rate card in a spreadsheet, and a job sheet someone photographed on site, and it has nothing to line up. That's why standard invoice automation stalls on FM work: the documents never arrive in the tidy shape the rule expects.

An AI agent works the other way round. It reads the documents the way a person does — the invoice, the rate card, the quote, the job sheet, whatever format they turned up in — and checks them against the contract using judgment, not a lookup. It runs price, reality and authorization, catches the emergency rate that should have been standard, and drafts the query to send the vendor. Invoice AI here doesn't mean a black box that pays your bills. It means the reading and cross-checking get done for you, and a person still makes the call.

This is what automated invoice processing looks like when it's built for FM. Instead of a person opening each invoice and hunting for the rate card, the agent reads the invoice, pulls the matching rate card, job sheet and PO, runs the checks, and returns a verdict. The person stops being the checker and becomes the judge of the exceptions — the handful that don't add up, not the hundreds that do.

Run your first check today, inside tools you already pay for

Here's the part that tends to surprise people: you don't need to buy anything new to try this. No procurement cycle, no IT project, no new vendor to onboard. If you have a paid Claude plan and a free Airtable account, you already have everything the checking runs on. Heyfixit's free invoice plugin drops into them, and setup takes about fifteen minutes.

The free plugin runs the full check on a single invoice. You give it an invoice and the documents to check it against; it runs price, reality and authorization plus the internal-consistency pass, and returns the invoice as Verified, Flagged or Unverified, with the reason spelled out. Where something's in question, it isolates the value under query so you can pay the undisputed remainder instead of holding the whole invoice. It drafts the query to send the vendor, assembles a finance-ready pack, and writes the result to a live dashboard in your own Airtable.

It's deliberately narrow about what it won't do. It never guesses a rate it wasn't given — if it can't verify a line, it says Unverified rather than inventing a pass, and reports that coverage honestly. It never moves money. It never deletes anything; it supersedes and keeps an append-only audit trail, so the record of what changed survives. It's the free, standalone version — single invoices, no connection into your CMMS or ERP — which is exactly enough to check a real invoice today and watch the thing work on your own numbers.

FREE PLUGIN

Get the free invoice reconciliation plugin

It checks supplier invoices against your rates, job sheets and POs, and keeps a finance-ready record in your own Airtable. About fifteen minutes to set up.

From one check to always-on

Once you've seen it work on one invoice, the obvious question is what happens when four hundred land at month-end. That's where this stops being a task you run and becomes something that just happens. Inside Heyfixit's coordination platform, the same three checks run continuously against your live rate cards, service reports and POs as invoices arrive, so reconciliation is always-on instead of a month-end event — same checks, same honesty about coverage, without anyone feeding it documents one at a time.

Either way the boundary is the same, and it's the point. The agents assemble the evidence, run the checks, flag the problems and draft the query. A person still decides what to dispute and approves what to pay; the money ends at a finance-ready pack, never at a payment the software made on its own. The same agents that answer the calls and dispatch the work check the invoice at the end of it. What you get back isn't a robot signing off your invoices — it's every invoice checked the way your best coordinator would check it if they had time for all four hundred, and an audit trail that proves it.

3,500+ hours

saved annually per implementation

Heyfixit deployments

Frequently asked questions

It means checking a supplier or subcontractor invoice against what was agreed and what was actually done. That's the contracted rates, the job sheet or service report, and the quote or purchase order, all confirmed before the invoice goes to finance.

An invoice is a request for payment, issued before money moves. A receipt is proof of payment, issued after. In FM the invoice is the document you verify against rates and work done. The receipt just records that it was paid.

Yes. AI agents can read an invoice, find the matching quote and purchase order, compare line items and totals, and flag anything outside what was approved. The same checks can run on a single invoice or continuously against your live systems.

The three you meet most often are the proforma invoice, which is a price offered before the work rather than payment owed, the standard or final invoice, which is the request for payment after the job, and the credit note, which is a negative invoice a supplier issues when they owe you money back. The standard invoice is the one that costs you if you don't check it.

Yes. A PO number should appear on an invoice whenever the work was raised against a purchase order. It's how anyone can confirm the amount was authorized before the work happened. An invoice with no PO reference, for work that needed one, is a common way an unapproved charge slips through, so it's worth flagging.

Automated invoice processing uses software, increasingly AI, to read an invoice, match it to the rate card, job sheet and purchase order, run the checks a person would run, and surface only the invoices that don't add up. It doesn't remove the human decision. It removes the manual reading, so people spend their time on the exceptions instead of every line.

Vishak C Prakash

Vishak C Prakash

Co-Founder & CEO

Vishak spent six years as a digital transformation consultant to facilities management and real estate operators across the UK, Middle East, Canada, and Australia — working with teams at CBRE, Siemens UK, British Land, and Brookfield. He now runs Heyfixit, building AI agents for facilities management.

LinkedIn

Want to see how AI agents run day-to-day maintenance coordination? See the coordination layer.