Xero Full Audit QA — Setup, Config & Drift (July 2026)
Full read-only audit pass over the Xero organisation, 6 Jul 2026
(~21:30 AEST), via the Pride-Dashboard Custom Connection (scopes:
accounting.transactions.read + accounting.reports.read; every pull
a GET — nothing written to Xero). Sources: endpoint probe; trial
balances at 6 Jul 2026, 30 Jun 2026, 30 Jun 2025; monthly P&L Aug 2023
→ Jun 2026; all 399 manual journals; all 2,840 bank transfers; open/
draft invoices; credit notes; plus the session-1 bank forensics in
finance/xero-audit-progress.md. Companion decision context:
Xero Corrections Approved, Financial Reporting,
Bookkeeper Role and Financial Management Capacity.
Verdict in one paragraph
The books have a sound skeleton (revenue posted every month without gaps, AR clean at $0, transfers structurally coherent, access posture correctly least-privilege) but the April 2026 approved correction pack was never posted, the Square Balance bank account has been bleeding uncredited since Dec 2025 (−$156k and ~$55–67k/month), June 2026 cost-of-sales collapsed to $305 (supplier bills not entered — June’s “profit” of $30.7k is an artefact), and a cluster of clearing/ suspense/legacy accounts carry frozen wrong balances. Nothing found suggests misappropriation; everything found is consistent with a bookkeeper-capacity gap (Nov 2025 – Apr 2026) whose repair job stopped halfway.
1. Access & config posture — PASS with notes
| Check | Result |
|---|---|
| Settings endpoints (Organisation, Accounts, TaxRates, Currencies, Users, Tracking, Contacts, BrandingThemes, PaymentServices) | All 401 — least-privilege trim is real and working |
| Transactions/reports endpoints | 200 as expected; RepeatingInvoices also readable (harmless, part of transactions scope) |
| Consequence | Chart-of-accounts config QA below is inferred from trial balances, not /Accounts; org settings (FY, GST basis, lock dates) not API-checkable — verify lock dates in the UI (see actions) |
2. The approved corrections were never executed — FAIL
Xero Corrections Approved (April 2026) authorised four journals. Trial balance at 6 Jul 2026 proves none are posted:
| Approved correction | Evidence it’s unposted |
|---|---|
| Net off SQ-600001 vs SQ-800004 ($244,367.14) | Both still on TB: SQ-600001 cr $247,618.39, SQ-800004 dr $244,367.14 |
| Write off $3,251.25 residual | Residual still embedded (difference is exactly $3,251.25) |
| Consolidate Westpac 901 → WL | 901 still dr $18,520.00 (repayments still coded there — $2,315/mo × 8), WL still cr $100,000.00 |
| Zeller reclass ~$209k out of SQ-600000 | No Zeller account exists on the TB; SQ-600000 sits at credit $45,007.35 — a negative asset |
What WAS done in the April window (found in manual journals): ATM cash-withdrawal reclasses SQ-600000 → Cash Float ($98,690 FY25 + $33,930 FY26), Amaka double-count revenue reversals ($13,217 + $7,906), novated-lease reallocations, and the accountant’s CC2025 ADJ. Real work — but the board-visible correction pack is still pending.
3. Active drift (things getting worse monthly)
- Square Balance −$156,192.52 — root-caused in session 1: daily takings credits stopped Dec 2025; only payout transfers since (1,535 lifetime transfers to 2203, $5.42M — the pipe itself is fine). Revenue side is NOT broken (see §5), so the fix is bank-side backfill + reinstating the posting pattern. Leak rate ~$55–67k/month. Likely mechanism: Amaka (the Square→Xero middleware per Clearing Account Cycle) posts both the revenue leg and the bank leg — revenue still flows, the bank leg stopped ~Dec 2025. Check Amaka’s config/subscription FIRST (10-minute UI check) before hand-building any backfill; note the April Amaka double-count reversal journals prove its output was already being corrected by hand.
- June 2026 COGS $305 vs $15–50k every prior month; May was already low ($3,651). Supplier bills have stopped being entered — consistent with 85 overdue AP invoices and suppliers cutting deliveries. June’s net profit +$30,720 is therefore overstated by roughly a month of stock cost. FY26 P&L is NOT usable for decisions until COGS is caught up.
- 2203 unreconciled items still being created ~10/month (39 open, $136,720 gross).
- Staff Petty Purchase +$8k since Nov 2025, 15 unreconciled; note the odd routing history: $332,802 of Square Balance transfers INTO Staff Petty (98 transfers) and $527,238 OUT to 2203 — the account has been used as a cash-cycle waypoint, not petty cash. Needs a definition decision, then cleanup.
- Superannuation Payable $49,012.53 and rising while Super Holding sits at −$298 — the set-aside discipline that existed (FY25: $85k held) has lapsed. SG debt accruing unfunded is the single most dangerous liability on the sheet (directors personally liable for SGC).
4. Frozen wrong balances (stable, need one-time journals)
| Account | Balance | Diagnosis |
|---|---|---|
| Register Cash (105) | −$32,022.29 | 50 unmatched till-float transfers Oct 2024–Apr 2025; frozen 15 months; write-off candidate after till count |
| Cash Float (CF) | $21,680.00 | Created by the April ATM reclasses; verify against actual till/safe float — Register Cash and CF likely net to the truth |
| Cash Clearing Account (838) | $1,920.00 | Frozen since FY25 — one orphaned float transfer |
| Suspense (850) | −$635.53 | Nonzero suspense; contents unknown — clear it |
| Money Held in Trust (TRST) | dr $7,510.30 | Negative trust liability — money recorded as held in trust has been spent/never received; frozen since ≤Jun 2025; needs Mat + accountant |
| ATO Payment Plan (828) | dr $10,000.00 | Payments parked against a liability account with no offsetting debt balance — reclass vs actual ATO integrated account |
| GST Adjustments (821) | cr $10,663.19 | Static since FY25 — was an accountant adjustment; confirm it shouldn’t have been cleared to GST (820) |
| Trybooking bank acct | $0.00 but $77,214 unreconciled | 39 items Dec 2023–May 2024; archive after cleanup |
| Byron + CBPL accounts | not on current BS | Legacy accounts still holding 3 unreconciled items ($20k, Byron); archive after cleanup |
| Rounding (860) | $0.07 | Cosmetic |
5. What’s actually healthy
- Revenue continuity: Square Sales posted every single month Aug 2023 → Jun 2026 ($58k–$158k range, no gaps) — including right through the bookkeeper gap. TryBooking revenue posts monthly (now GST-split: TBKR since ~Jan 2026 vs TBCTBD before — deliberate change, fine).
- AR is $0. No stale receivables at all (cash business — as it should be).
- Transfer topology is coherent: the account-pair map matches how the venue actually moves money; no unexplained counterparties beyond Byron/CBPL legacy.
- Journal discipline history: EOFY accountant batches visible every year (though FY25’s batch was thin — 4 journals — matching the “lodgement delayed” record).
- Access security: least-privilege API posture verified by probe.
6. Open-item hygiene
- AP $81,664.07 due across 100 bills; $63,169.37 (85 bills) overdue since before Apr 2026. Top: ALM $22,289.51 (the liquor wholesaler), ATO $20,079.20, American Billiards $11,147.93, Pride of our Footscray Ltd $6,600.36 (related party), Collins & Co $5,695.39 (the accountant). This is the payables-watcher case in numbers.
- 59 DRAFT invoices, $57,953.62 gross — never authorised; triage (many will be Mat’s drafts habit).
- 8 credit notes with $1,668.83 remaining — apply or void.
- Chart quirks: duplicate novated-lease account sets (334 vs 334NEW2026, 481 vs 481NEW2026) holding split balances; “Loan - Mathew” on expense-range code 446; rename/merge candidates.
7. Priority actions
| # | Action | Owner | Blocking |
|---|---|---|---|
| 1 | Enter June (+May tail) supplier bills → COGS catch-up | Shae/Mat | P&L trust; overlaps AP list |
| 2 | Post the four approved correction journals (park Zeller reclass detail with Collins & Co on FY boundary) | Shae + Collins & Co | Balance-sheet credibility |
| 3 | Check Amaka config/subscription (bank-leg posting stopped ~Dec 2025), then Square Balance backfill Dec 2025→now from Square settlement export + reinstate daily posting | Shae (Amaka UI + export) then session 3 | opening_cash, cash forecast |
| 4 | Super funding plan: $49k payable vs empty holding account — to Mat with the insurance-style urgency | Mat | Director exposure (SGC) |
| 5 | One-time journal pack: Register Cash/CF/838 (after till count), Suspense, TRST (Mat + accountant), ATO plan reclass, GST Adjustments confirm | session 3 → Mat approvals | Clean TB |
| 6 | UI-only checks: lock dates, bank feed status per account, statement-line unreconciled view (~379), user list | Shae (10 min in Xero) | Config QA completeness |
| 7 | Draft invoice + credit note triage; archive Trybooking/Byron/CBPL accounts post-cleanup | session 3 | Hygiene |
Full working detail and session-by-session state:
finance/xero-audit-progress.md (pride-turnaround repo, outside the
wiki). Session-1 bank forensics: same file.