← All white papersGuide · October 2026

Supplier bills that don’t match, caught by Grok Bot or Claude before you pay

Your AI checks every bill waiting in Xero against the rates you agreed, and lists the ones that are wrong, biggest first. Office Voice rings the supplier for a corrected invoice or a credit note.

7 min read·Published by AI Pathway

A bill that charges $95 an hour when you agreed $85 gets paid because nobody had time to check it. Then the credit note is a phone call someone has to make. Grok Bot and Claude can both read your bills in Xero and find the ones that are wrong. Ringing the supplier is where an AI needs fences, so that step goes to a service built with them.

In short

What you get
Before each payment run, the bills waiting in Xero that are duplicates or charge above the agreed rate, ranked by dollars, plus the ones that need your decision.
Connecting
Xero in Grok Bot or Claude, read-only, and a short file of the rates you agreed with each supplier.
The call
Office Voice rings the supplier about one bill, names the difference, asks for a corrected invoice or a credit note, and sends you their answer.
Never
Approving or paying a bill, agreeing to pay on the phone, arguing a variation, or a figure the bill and your rates don't show.

Take the spec to Claude, ChatGPT or Copilot. The sentence to paste is one click away.

Want the whole thing by email?

This paper, plus the rest of the library. One click to stop them.

1. What the check finds

Every bill waiting for approval or payment in Xero, checked in order and stopped at the first problem, ends in one of four queues:

  • Query the supplier. A duplicate, or a rate above the one you agreed. Ranked by dollars at stake. These are the ones a phone call fixes.
  • Needs a decision. A line with no agreed price, like a variation or extra materials, or a supplier with no rates on file. These come to you, never to a call.
  • Waiting on someone. Queried last week and still not corrected or credited.
  • Clean. Passed every check. You see the count, so you know it ran.

This is the light version, built for a bot. The full Invoice Check standard is the version a business runs at scale: invoices read as they land in the inbox, purchase orders, progress claims and the contract sum, an exception record, and a pass test that proves it works.

2. Connect Xero and your rates

Grok Bot.Create a Bot called “Bill Check” and put the standing rules in its profile: Xero is read only, never approve or pay a bill, never email a supplier. Add Xero from Connect apps with a read-only custom connection, step by step in our Xero debtor list guide.

Claude. Under Customize, then Connectors, add Xero from the directory, sign in, and set it to ask before every action. Start a Cowork task with a folder for the weekly files. More in our guide to Claude with Xero.

Your rates. The check needs to know what you agreed. Make a file called supplier-rates.csv with one row per supplier and item, and upload it to the Bot or put it in the Cowork folder:

supplier,item,agreed_unit_price,po_number
Coastal Electrical,Electrician per hour,85,PO-1180
Coastal Electrical,Call-out,120,PO-1180
Ridge Plumbing,Plumber per hour,92,
Metro Skip Hire,6m skip,420,

Start with your five biggest suppliers. A supplier with no rates on file is never queried, only listed for you.

3. The prompt

The same prompt works in both. Paste it into the Bot’s chat or the Cowork task.

Use the Xero connection, read only. Do not approve, pay, edit or void anything in Xero, and do not email or message anyone.

In Xero, list every bill (a supplier invoice to us) that is awaiting approval or awaiting payment. For each one collect: the supplier's name, the supplier's Xero contact ID, their invoice number, the date, the total, and each line's description, quantity and unit price.

Read supplier-rates.csv: one row per supplier and item, with the agreed unit price.

Check each bill in this order and stop at the first failure:
1. Duplicate: the same supplier invoice number, or the same supplier and the same total within 60 days, is already in Xero.
2. Rate: a line's unit price is above the agreed price for that supplier and item. Work out the difference in dollars for the whole line.
3. Not agreed: a line with no agreed price at all, such as a variation or extra materials.

Put each bill in one queue:
- Query the supplier: failed check 1 or 2. Write one sentence for it that names their invoice number and the difference, for example "your invoice 4821, which charges $95 an hour where our agreed rate is $85".
- Needs a decision: failed check 3, or no agreed rates on file for that supplier. These come to me. Never ask a supplier about these.
- Waiting on someone: on last week's Query the supplier list and still not corrected or credited.
- Clean: passed every check. Give me the count only.

Save the list as bill-check-YYYY-MM-DD.csv. Give me Query the supplier as a table with the dollars at stake, largest first, then Needs a decision and Waiting on someone as short lists, then the Clean count.

Check the first run by hand: a bill you know is right should land in Clean, and one you know is wrong in Query the supplier. If you raise purchase orders in Xero, tell the prompt to check against them as well.

4. Run it before every payment run

Run it two days before you pay, so a supplier has time to send the credit note before the money goes.

  • Grok Bot:ask it to “save this as a skill called bill check, and create a routine that runs it every Wednesday at 9am Brisbane time.”
  • Claude: type /schedule and choose weekly, the day and the time. It runs while your computer is awake and the app is open.

5. Hand the queries to Office Voice

Letting a chatbot ring your suppliers is where things go wrong: it agrees the bill is fine to end an awkward call, argues a variation it knows nothing about, or promises a payment date. Office Voice, our product, makes the call with those closed off. It says who it is calling for and that it is an AI, names their invoice number, the amount and the one difference, and asks for a corrected invoice or a credit note. It writes down their answer, or their reason the bill is right, and sends it to you. It never agrees to pay, never argues the work, and rings once per bill.

  1. Start an Office Voice trial and connect the same Xero. Supplier calls come with Get Paid, $199a month, which also rings your own customers’ invoices once they are 30 days overdue. Check each supplier has a phone number on their Xero contact.
  2. In Office Voice, create a key under Keys. Keep it like a password.
  3. Grok Bot:paste this into the Bot’s chat and click Add it. Enter the key in the secure secret card, never in the chat.
Add a custom MCP server called Office Voice at https://office-voice.com/api/mcp

It needs an Authorization header: the word Bearer, a space, then my Office Voice key. Ask me for the key with a secure secret card. Do not ask me to type it in this chat.

Claude: add a custom connector at https://office-voice.com/api/mcp, choose No sign-in, and put the key in a request header named Authorization, as “Bearer” then the key. If your organisation hides the header field, Claude Code takes it in one line.

For your developer. Show the Claude Code line
claude mcp add --transport http office-voice https://office-voice.com/api/mcp \
  --header "Authorization: Bearer <your Office Voice key>"

Then add this to the end of the weekly prompt:

Now hand the Query the supplier queue to Office Voice, largest difference first, at most 10 today.

For each bill, call create_call with:
- customer_external_id: the supplier's Xero contact ID
- who: the supplier's name, relationship supplier
- basis: existing_invoice
- purpose: the one sentence from the list
- item_ref: their invoice number with any spaces removed, and touch_number 1
- context: supplier_invoice_number (their invoice number) and amount (the bill total)

Never queue a call for a bill in Needs a decision. Show me what was queued, and anything Office Voice refused with its reason.

Office Voice places each call inside business hours, checks the Do Not Call Register first, and takes up to ten single calls a day. Steps as each tool set them out on 28 October 2026; menus move, so expect the odd label to differ. The money coming in has its own list: the Monday debtor call list.

6. Questions

Can Grok Bot or Claude check supplier bills in Xero?

Yes. Connect Xero read-only, keep a short file of the rates you agreed with each supplier, and one prompt checks every bill waiting for approval or payment for duplicates and rates above the agreed price.

Will the AI approve or pay a bill?

No. Xero stays read-only for the check, and the supplier call never agrees to pay or gives a payment date. Approving and paying stay with you.

What does the supplier hear on the call?

Who it is calling for, that it is an AI and the call is recorded, then their invoice number, the amount and the one difference. It asks for a corrected invoice or a credit note, writes down their answer, and sends it to you. One call per bill; a no-answer comes back to you.

What about variations and extra work on a bill?

Those go to you, never to a call. Whether a variation was approved is a judgement about a conversation or a document, and an AI on the phone should not argue it. The list puts them in Needs a decision.

Is this the same as the Invoice Check standard?

It is the light version. The full standard also reads invoices as they arrive in the inbox, checks purchase orders, progress claims and the contract sum, and keeps an exception record with a pass test.

Rather have it set up for you?

We build the bill check on your Xero and switch on the supplier calls. Start with the 8-minute diagnosis: it maps how your week runs to what is already built. Free, no email.

Building it properly, at scale? The rules are open. Take the full standard.

Published by AI Pathway · https://aipathway.com.au

Read the full interactive version at https://aipathway.com.au/explore-ai/supplier-bill-check-grok-bot-claude