# Supplier risk board for Xero, checked against the UK register

> See every supplier you pay ranked by money at risk, with UK register warning signs like overdue accounts and insolvency sitting next to what you owe them.

- Workflow type: app
- Services: Companies House, Xero, Slack Bot, Google Sheets
- Categories: Finance, Operations
- Published: 2026-08-16

## What it does

- Pulls every supplier from your Xero contacts along with what you owe them right now and what you have spent with them over the last twelve months.
- Ranks them in one table by money at risk, showing register status, whether accounts or the confirmation statement are overdue, the next accounts due date, registered charges, insolvency cases, and director changes in the past year.
- Matches messy Xero supplier names to the right registered company once through a search panel, then remembers that mapping so you never match the same supplier twice.
- Lets you mark rows as reviewed with a note and a date, push a single supplier or the whole high risk group to Slack, and export the board to a Google Sheet for your monthly review pack.

## What you'll need

- A Xero organisation with your supplier bills in it
- A free Companies House developer account, which gives you access to the official UK register data
- A Slack workspace, if you want to share findings with the finance team
- A Google account, if you want to export the board to a spreadsheet

## Prompt

Build me a supplier exposure board. My supplier list lives in Xero and the risk signals live on the UK companies register, and nobody joins them up. I want one screen that tells me which of the suppliers I actually pay are financially shaky, ranked by how much money of mine is exposed.

The main view is a single table of suppliers, sorted by money at risk. Build each row from Xero using List Contacts to pull every contact flagged as a supplier, and List Invoices filtered to bills (accounts payable) to compute two numbers per supplier: the outstanding balance I owe right now, and total spend with them over the trailing twelve months. Use Get Contact when the row needs fuller detail. Show both money columns on every row so I can see current exposure next to relationship size.

Alongside the money, each row shows the register signals for that supplier, pulled from Companies House. Use Get Company Profile for the registered status (active, dissolved, liquidation, administration), whether the accounts or confirmation statement are overdue, and the next accounts due date. Use List Company Charges for the count of outstanding charges registered against it. Use Get Company Insolvency for whether it has any insolvency cases. Use List Filing History, narrowed to officer appointment and termination filings in the last twelve months, for a count of director changes, and List Company Officers where you need the officer detail behind that number.

Give each supplier a risk band and use it to drive the ordering. Treat dissolved, liquidation, administration, or any live insolvency case as the top band. Treat overdue accounts, an overdue confirmation statement, several new charges in the last year, or repeated director churn as the middle band. Everything else is low. Within a band, sort by the outstanding balance I owe, so the supplier holding the most of my money at the highest risk sits at the top of the board. Let me filter to a single band and search by supplier name.

Matching is the hard part, so give it real attention. Xero contact names are almost never the exact registered name, so try an automatic match first and only trust it when it is unambiguous. Any supplier that does not match confidently shows as unmatched and opens a match panel. That panel searches the register by name using Search Companies, or Advanced Company Search when I want to narrow by status or location, and lists the candidates with their registered office address (Get Registered Office Address) and current status so I can tell two similarly named companies apart. I confirm the right company number once and the app stores that Xero contact to company number mapping permanently, so I never match the same supplier twice. Let me correct a bad match later, and let me mark a supplier as not applicable for overseas businesses and sole traders that will never appear on the UK register. Optionally, when I confirm a match, write the company number back onto the Xero contact with Update Contact so the mapping is visible in Xero too.

Company numbers are 8-character zero-padded strings, for example 00000006. Store and pass them as strings everywhere so leading zeros survive the mapping. A number that loses its zeros will silently fail to look up.

I need the board to show what is genuinely new since last time. Let me mark any row as reviewed with a short note and a review date, stored per supplier in the app. Rows reviewed recently should visually recede, and anything whose register signals have worsened since the last review, or that has never been reviewed, should stand out as needing attention.

Two share actions. First, a button on a row to push that single supplier to a Slack channel for the finance team, and a button on the board to push the whole high risk group as one message, both using the Slack Bot Send a Message operation with the supplier name, what I owe, and the specific warning signs. Second, an export button that writes the current board, respecting whatever filters are applied, to a Google Sheet for the monthly supplier review pack using Append Values, reading the existing sheet with Get Values first so each export lands as a new dated block rather than overwriting the last one.

One important performance constraint: the register is rate limited to 600 requests per rolling five minutes, and each supplier needs several calls to hydrate fully. Do not fire a full refresh of every contact on load. Hydrate register data for the highest exposure suppliers first, then fill in the rest lazily as rows come into view, cache what you fetch with a timestamp, and give me a refresh control on individual rows and on the board. Handle a rate limit response by backing off and showing the affected rows as pending rather than failing the whole board.

Finance and procurement at a small business open this monthly, and again before renewing or prepaying anyone, so it should be readable cold by someone who has not seen it in four weeks.

## How to customize

- Change what counts as high risk, for example treating overdue accounts as critical or hiding suppliers below a minimum yearly spend
- Choose which Slack channel receives alerts and which spreadsheet receives the monthly export
- Set how long a reviewed supplier stays quiet before it reappears as something to look at again

## FAQ

### My supplier names in Xero do not match their official registered names. Will this still work?

Yes, and that is the point of the match panel. Any supplier the board cannot confidently match opens a panel that searches the register by name and shows you the candidates with their registered address and status. You confirm the right company once and the board remembers it from then on.

### Does this change anything in my Xero account?

No. The board only reads your contacts and bills to work out what you owe and what you have spent. The one optional exception is saving a confirmed company number onto the supplier's contact record, which you can leave switched off.

### What about suppliers that are not UK registered companies?

The UK register only covers companies registered in the UK, so overseas suppliers and sole traders will not have a match. You can mark those as not applicable so they stop appearing in your unmatched queue.

### How often should the team open this?

Most finance and procurement teams work through it monthly, and then again before renewing a contract or paying anyone up front. Because reviewed rows are dated, each visit shows you what is genuinely new since last time.

### Is the register information up to date?

It is pulled from the official register rather than a stale copy. The board loads your highest exposure suppliers first so it stays fast, and you can refresh any individual supplier on demand.

Use this prompt in General Input: https://www.generalinput.com/prompts/supplier-risk-board-for-xero-checked-against-the-uk-register