Thompson Intelligence Page 1 of 9
This is a worked example, not a client report. Barrowfield Interiors Ltd is an invented company and every figure in it is illustrative. It shows the exact format and depth of a real £900 Systems Audit.

Systems Audit

Barrowfield Interiors Ltd (WORKED EXAMPLE)

Five systems reviewed · 12 months of records · 18 August 2026

ClientBarrowfield Interiors Ltd
Prepared forH. Barrowfield, Director
ReferenceTI-SA-2608-BAR
01

What this audit set out to answer

Agreed with the director before any access was granted. Every finding in this report is traceable to one of these five questions.

  1. Which systems hold a number that somebody in this business relies on, and which of them is authoritative when two disagree?
  2. Where do the same customers, orders or prices exist in more than one place, and do those copies agree?
  3. What is currently being moved between systems by a person, how long does that take, and what does it cost when it goes wrong?
  4. What could be connected directly, in what order, and what would each connection remove?
  5. Is anything here a reason NOT to build, and would this business be better served by doing nothing?
02

Summary

Barrowfield sells through a Shopify store, invoices in Xero, keeps enquiries in a CRM, prices stock on a Google Sheet and sends every quote from Outlook. Each of those five is doing its job. None of them can see any of the others.

That is not unusual and it is not anybody's fault. It becomes a problem when the same customer, order or price exists in three places and the three do not agree, because at that point every number you rely on depends on which system you happened to open.

The headline: £14,280 of paid orders never became invoices, 68 of 412 customers exist under more than one identity, and roughly 156 hours a year is spent moving records between systems by hand. None of that is visible from inside any single system, which is why it has persisted.

Thompson Intelligence Page 2 of 9
03

How this was done

Access
Read-only API credentials for Shopify, Xero and the CRM, issued by the client and revoked on completion. Read-only file access to the stock sheet. No write permission was requested or granted at any point.
Period examined
1 August 2025 to 31 July 2026, twelve complete months.
Volume
1,884 Shopify orders, 1,853 Xero invoices, 412 customer records across three systems, 96 rows of the rates sheet, 218 quote emails sampled from Outlook.
Matching method
Orders matched to invoices on order reference first, then on value and date within a seven-day window where no reference existed. Customers matched on email domain, then on normalised trading name, then reviewed by hand.
Verified by hand
Every finding below was opened in the source system and confirmed individually. No finding in this report rests on a matching rule alone.
Not examined
Bank statements, payroll, and anything held only on a personal device or in a private inbox. See section 12.
04

What you are running

Every system holding a number somebody relies on, what it is authoritative for, and who keeps it right.

SystemHoldsAuthoritative forUpdated byTalks to
ShopifyOrders, customers, stock counts What was actually soldAutomaticNothing
XeroInvoices, payments, customers What has actually been billedBy hand, weeklyBank feed only
CRMEnquiries, contacts, notes Who has been in touchBy hand, when rememberedNothing
Stock sheetStock levels, supplier prices What things cost youBy hand, MondaysNothing
OutlookQuotes, all correspondence What was offered, and whenBy handNothing

Scroll the table sideways to see every column.

Four of the five are kept current by a person remembering to do it, and none of the five can read another. Every figure that needs two of them has to be assembled by hand, which is where both the time and the errors below come from.

No system is named as authoritative for a customer record. That is the single structural cause underneath most of what follows: when Shopify, Xero and the CRM disagree about who a customer is, there is no rule for which one wins, so each person resolves it their own way and both of them are being reasonable.

Thompson Intelligence Page 3 of 9
05

What it is costing

Three separate figures, kept separate on purpose. They answer three different questions and they are never added together.

Measured in the records £14,280 Paid orders with no matching invoice. Listed line by line in the register, checkable against both systems.
Time spent joining them up 156 hrs a year About £4,370 at a loaded cost of £28 an hour. Based on the hours you reported and the volumes measured.
What one failure would cost £9,000 If the stock sheet is wrong for one month during a sale, priced as an illustration. It has not happened.
06

The three findings that matter

Set out the way an auditor is expected to: what was found, what it should have been, why it happened, what it costs, and what to do. The remaining five appear in the register overleaf.

1

Thirty-one paid orders never became invoices

Shopify → Xero · 12 months to 31 July 2026
Condition31 Shopify orders marked paid have no corresponding Xero invoice. Total value £14,280.
CriteriaEvery order taken should produce one invoice. The two systems should reconcile to the same revenue figure for the same period.
CauseOrders are copied into Xero by hand in a weekly batch. Anything missed in a batch is missed permanently, because nothing checks afterwards.
EffectRevenue is understated in the accounts by £14,280. VAT on those sales has not been accounted for. The error compounds annually and surfaces at year end rather than now.
RecommendationConnect Shopify to Xero so an order raises its own invoice, and run a monthly reconciliation that reports anything unmatched rather than assuming a clean run.
Thompson Intelligence Page 4 of 9
06

Findings, continued

2

Sixty-eight customers exist under more than one identity

Shopify ↔ Xero ↔ CRM · 412 customer records
Condition68 of 412 customers appear more than once across the three systems, usually as a trading name in one and a legal entity name in another.
CriteriaOne customer should have one identity, and revenue per customer should be answerable from any system.
CauseNo system is named as authoritative for a customer record, and no matching key exists between them. Each was populated separately, by different people, at different times.
EffectRevenue per customer is wrong for those 68. The top-ten customer list you work from is missing two businesses that belong in it. Any decision taken on customer value is being taken on incomplete figures.
RecommendationEstablish one authoritative customer list with a shared key, then reconcile the other two against it and keep them matched.
3

Nothing records what happens to a quote

Outlook · 218 quote emails sampled
ConditionQuotes are written and sent from Outlook and appear in no other system. There is no record of which converted.
CriteriaA business that quotes should be able to state how many quotes it issued and what proportion became orders.
CauseQuoting was never brought into the CRM, and the CRM is updated only when somebody remembers after a call.
EffectConversion rate cannot be established at all. You estimated 60%; nothing in the five systems can confirm or deny it, which makes it the least reliable number the business plans with.
RecommendationLog quotes from Outlook into the CRM automatically and record the outcome, so a conversion rate exists from the date it is switched on.
Thompson Intelligence Page 5 of 9
07

Mismatch register

Every finding, referenced to the systems it sits between so you can check it yourself. Ordered by severity, not by the order they were found.

#BetweenFindingImpact BasisSeverity
1Shopify → Xero 31 paid orders have no matching invoice £14,280 unbilled; VAT unaccounted; accounts understate revenue MeasuredCritical
2Shopify ↔ Xero ↔ CRM 68 of 412 customers exist under more than one identity Revenue per customer wrong; top-ten list missing two businesses MeasuredCritical
3Stock sheet Rebuilt by hand each Monday from a Shopify export 78 hrs/yr, and one-person dependency ObservedCritical
4Outlook Quotes exist only as sent email; nothing records the outcome Conversion rate cannot be established at all ObservedHigh
5Xero Orders copied in weekly, in a batch, from memory Anything missed in the batch is missed permanently ObservedHigh
6Stock sheet Supplier prices updated ad hoc, with no dated history Margin on any past job cannot be recalculated ScenarioHigh
7CRM Updated only when somebody remembers after a call Enquiry volume understated; no reliable pipeline figure ObservedMedium
8All five No system is named as authoritative for a customer record Two people can be right and disagree ScenarioMedium

Scroll the table sideways to see every column.

Total of errors found in the records £14,280

Severity. Critical: a wrong number is reaching a decision or a return today. High: likely to produce one, or the business stops if one person is away. Medium: costs time and will eventually cost accuracy.

Basis. Measured means records were compared and the difference computed. Observed means a figure derived from hours you reported, priced at loaded cost. Scenario means the cost of one named failure, written as an illustration and never added to the total.

Thompson Intelligence Page 6 of 9
08

What could connect, and what each one buys you

Named pairs, ordered by what they remove per pound spent rather than by what is interesting to build. Every price is fixed and agreed before any work starts.

#ConnectionWhy it mattersWhat it saves you doingFee
1 Shopify → Xero
Each paid order raises its own invoice, with a monthly reconciliation report
Closes the £14,280 gap and stops it reopening. Puts VAT back on the right footing before year end. The weekly copying batch, about 45 minutes a week, and the year-end scramble to find what was missed. £750
2 One customer list
A single authoritative record, matched across all three systems and kept matched
Revenue per customer becomes true for the first time. The top-ten list becomes correct, and stays correct. Re-checking who a customer is every time two systems disagree, and every decision taken on a wrong customer figure. £750
3 Shopify → stock sheet
Stock levels written back nightly from actual sales
Removes the only workbook nobody else in the business can produce, and the risk that goes with that. 78 hours a year of Monday rebuilding, and the one-person dependency underneath it. £750
4 Outlook → CRM
Quotes logged automatically, with their outcome recorded
Makes a conversion rate exist. You currently plan against a number that cannot be checked. Reconstructing what was quoted from a mailbox, and guessing at a figure you rely on. £750
– All four, plus a dashboard
Everything above, joined, with the questions answered every morning
The point at which you stop assembling figures by hand entirely and start reading them. All of the above, plus the weekly assembly of anything that needs two systems at once. £2,000
on top of the four above
£5,000 all in

Scroll the table sideways to see every column.

Recommended first step: item 1. It carries the whole measured exposure, it is the fastest to do, and it pays for itself before anything else is decided.

You may also reasonably do none of this. Items 1 and 3 are within reach of anyone comfortable with the Shopify and Xero apps, and this report names exactly which records do not match. If that is the outcome, the audit has still done its job.

£300 of the £900 audit fee comes off a dashboard build commissioned within 60 days of the date on this report, bringing that build to £1,700. It is credited once, against one commission. If you already know you want the dashboard, buy the dashboard: this audit is for deciding, not a deposit.

Thompson Intelligence Page 7 of 9
09

Action plan

Every recommendation with an owner and a date, including the ones that are yours rather than mine. An audit that does not say who does what by when is a description, not a plan.

#ActionOwnerByDepends onPriority
1 Decide which system is authoritative for a customer record. This is a decision, not a build, and nothing else can be matched until it is made. YouWithin 2 weeks NothingDo first
2 Reconcile the 31 unbilled orders and raise the missing invoices for the current tax year. Your bookkeeperBefore year end Register, item 1Critical
3 Confirm with your accountant whether the VAT on those 31 orders needs a correction or falls inside the current return. You & accountantWithin 4 weeks Action 2Critical
4 Build the Shopify to Xero connection with monthly reconciliation reporting. Thompson Intelligence3 working days from go-ahead Action 1High
5 Merge the 68 duplicate customer identities and establish the shared key. Thompson Intelligence2 working days Action 1High
6 Drive the stock sheet from the Shopify export and retire the Monday rebuild. Thompson Intelligence2 working days NothingHigh
7 Start dating supplier price changes, even in the existing sheet, so past margin can be recalculated. Whoever updates ratesImmediately NothingMedium
8 Log quotes into the CRM and record outcomes, so a conversion rate begins to exist. Thompson Intelligence2 working days Action 1Medium

Scroll the table sideways to see every column.

Actions 1, 3 and 7 cost nothing and are not mine to do. Action 1 in particular is the one that unlocks the rest: until somebody decides which system wins, no matching rule can be written that will survive a disagreement.

If every build item above were commissioned together, the total is £3,000 against a measured exposure of £14,280 and 156 hours a year. That is the arithmetic; the decision is yours, and the answer may reasonably be to do two of them and stop.

Thompson Intelligence Page 8 of 9
10

Opinion

Overall conclusion

Barrowfield's systems are individually sound and collectively unreliable. No single platform here is the wrong choice and none of them needs replacing. The problem is entirely in the gaps between them, which is a cheaper problem to have than the one most businesses in this position assume they have.

The accounts currently understate revenue by a measurable £14,280 and the customer list cannot be trusted for any decision about customer value. Both are fixable inside a fortnight and neither requires anyone to change the way they work.

My recommendation is to do items 1 to 3 and then stop and look again. That is £2,250 of the £3,000, it removes the entire measured exposure and the one-person dependency, and it will tell you far more about whether the dashboard is worth having than another audit would.

Against the five questions this audit set out to answer: Q1 and Q2 are answered in full and evidenced in the register. Q3 is answered from a combination of measurement and your own reported hours, and is labelled accordingly. Q4 is answered in section 08. On Q5, I do not think doing nothing is the right call here, because the £14,280 is a measured error in your filed position rather than an efficiency argument, but the dashboard genuinely can wait.

11

Evidence

What each finding rests on, so any of it can be re-checked without asking me.

Finding 1Export of 1,884 Shopify orders and 1,853 Xero invoices for the period, matched on reference then on value and date. The 31 unmatched orders are listed by order number in the appendix supplied with this report.
Finding 2412 customer records exported from all three systems and matched on email domain, then normalised trading name, then reviewed individually. All 68 duplicates are listed with their system of origin.
Finding 3218 quote emails sampled from Outlook across the period, cross-checked against CRM records and Shopify orders for an outcome.
Time figuresHours as reported by you on 14 August 2026, multiplied by observed frequency. Priced at £28 per hour loaded cost, which you supplied.

Scroll the table sideways to see every column.

Thompson Intelligence Page 9 of 9
12

Scope and limitations

This audit covers the five systems named in section 04, as accessed on 14 August 2026 with read-only credentials supplied by the client and revoked on completion. Systems not provided are outside its scope, including anything held only on a personal device or in a private inbox.

Findings are based on the records held in those systems as presented. Figures have not been independently verified against your bank, your filed accounts, or any third party. Where two systems disagree, this report says so; it does not decide which is right, and section 04 explains why that decision is yours rather than mine.

Every financial figure says where it came from, and those labels are not decorative. Measured means records were compared and the difference computed, and you can check it yourself. Observed means a figure derived from hours you reported, priced at loaded cost; it is only as good as that estimate. Scenario means the cost of one named failure, written as an illustration of exposure. It has not happened, it is not forecast to happen, and it is never added to the measured total.

Connection fees assume the systems keep their current plans and API access. Where a platform would need an upgrade to allow a connection, that is stated in the register rather than absorbed silently into a quote. No fee in this report is conditional on you commissioning any of the work.

This document is prepared for the named client and describes those systems as at the date above. It is not an audit in the statutory sense, it is not financial advice, and it does not constitute a certification of your accounts. Where it touches on VAT or filed positions, it identifies a question for your accountant rather than answering it.

Retention: the exports taken for this audit are deleted 90 days from the date of this report unless you ask me to keep them for the duration of a build.

Prepared by Oliver Thompson Thompson Intelligence · 18 August 2026
Example report
Thompson Intelligence · Oliver Thompson Abingdon, Oxfordshire · 07568 608878 · oli@thompsonintelligence.co.uk
thompsonintelligence.co.uk · Book a 20 minute call
A real Systems Audit of this kind is £900, fixed. £300 of it comes off a dashboard build within 60 days.