Five systems reviewed · 12 months of records · 18 August 2026
Agreed with the director before any access was granted. Every finding in this report is traceable to one of these five questions.
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.
Every system holding a number somebody relies on, what it is authoritative for, and who keeps it right.
| System | Holds | Authoritative for | Updated by | Talks to |
|---|---|---|---|---|
| Shopify | Orders, customers, stock counts | What was actually sold | Automatic | Nothing |
| Xero | Invoices, payments, customers | What has actually been billed | By hand, weekly | Bank feed only |
| CRM | Enquiries, contacts, notes | Who has been in touch | By hand, when remembered | Nothing |
| Stock sheet | Stock levels, supplier prices | What things cost you | By hand, Mondays | Nothing |
| Outlook | Quotes, all correspondence | What was offered, and when | By hand | Nothing |
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.
Three separate figures, kept separate on purpose. They answer three different questions and they are never added together.
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.
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.
| # | Between | Finding | Impact | Basis | Severity |
|---|---|---|---|---|---|
| 1 | Shopify → Xero | 31 paid orders have no matching invoice | £14,280 unbilled; VAT unaccounted; accounts understate revenue | Measured | Critical |
| 2 | Shopify ↔ Xero ↔ CRM | 68 of 412 customers exist under more than one identity | Revenue per customer wrong; top-ten list missing two businesses | Measured | Critical |
| 3 | Stock sheet | Rebuilt by hand each Monday from a Shopify export | 78 hrs/yr, and one-person dependency | Observed | Critical |
| 4 | Outlook | Quotes exist only as sent email; nothing records the outcome | Conversion rate cannot be established at all | Observed | High |
| 5 | Xero | Orders copied in weekly, in a batch, from memory | Anything missed in the batch is missed permanently | Observed | High |
| 6 | Stock sheet | Supplier prices updated ad hoc, with no dated history | Margin on any past job cannot be recalculated | Scenario | High |
| 7 | CRM | Updated only when somebody remembers after a call | Enquiry volume understated; no reliable pipeline figure | Observed | Medium |
| 8 | All five | No system is named as authoritative for a customer record | Two people can be right and disagree | Scenario | Medium |
Scroll the table sideways to see every column.
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.
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.
| # | Connection | Why it matters | What it saves you doing | Fee |
|---|---|---|---|---|
| 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.
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.
| # | Action | Owner | By | Depends on | Priority |
|---|---|---|---|---|---|
| 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. | You | Within 2 weeks | Nothing | Do first |
| 2 | Reconcile the 31 unbilled orders and raise the missing invoices for the current tax year. | Your bookkeeper | Before year end | Register, item 1 | Critical |
| 3 | Confirm with your accountant whether the VAT on those 31 orders needs a correction or falls inside the current return. | You & accountant | Within 4 weeks | Action 2 | Critical |
| 4 | Build the Shopify to Xero connection with monthly reconciliation reporting. | Thompson Intelligence | 3 working days from go-ahead | Action 1 | High |
| 5 | Merge the 68 duplicate customer identities and establish the shared key. | Thompson Intelligence | 2 working days | Action 1 | High |
| 6 | Drive the stock sheet from the Shopify export and retire the Monday rebuild. | Thompson Intelligence | 2 working days | Nothing | High |
| 7 | Start dating supplier price changes, even in the existing sheet, so past margin can be recalculated. | Whoever updates rates | Immediately | Nothing | Medium |
| 8 | Log quotes into the CRM and record outcomes, so a conversion rate begins to exist. | Thompson Intelligence | 2 working days | Action 1 | Medium |
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.
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.
What each finding rests on, so any of it can be re-checked without asking me.
| Finding 1 | Export 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 2 | 412 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 3 | 218 quote emails sampled from Outlook across the period, cross-checked against CRM records and Shopify orders for an outcome. |
| Time figures | Hours 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.
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.