ZODIAC
Analyst Report · Week 8 · Fractional CEO Engagement
Engagement live · Contract unsigned
— · —
ZODIAC Ltd · Bar, Club & Karaoke · Camden · Partnerships.Community engagement
Eight weeks in, the engagement is running at 4.5% of market rate. Here is the arc, the gap, and what to fix this week.
An analyst pass across the historical and current record — Stripe lineage, strategy-hub timeline, portal audit, and the connector stack — rebuilt as a decision surface. One concessionary partial in, £7,500 of contract gap, £44,200 of personal subsidy, a portal liability the consultancy shouldn't be carrying, and no countersigned agreement yet. Every number below is cash-clean and pulled from the one-brain source of truth.
P0 · Cash Position as of 21 Apr 2026 · wk 8
Cleanly received · Zodiac to date VERIFIED
£1,800cash in
Inv 0002 · March concessionary partial · paid 30 Mar · net after fees £1,772.80
Only money in across 52 elapsed days · 40 working days
Retainer position TO BILL
£3,200mar+apr gap
£700 March shortfall (absorbed) + £2,500 April upfront · 3 weeks late (un-invoiced)
Admin error on supplier side · not Zodiac debt
Q1 deliverables · admin backlog BLOCKED
£4,300inv 0003
Wrong bill-to · wrong inbox · not reachable by Zodiac finance
Void + reissue as 0004 to ZODIAC Ltd via Dee
Personal capital in venue TREATMENT TBC
£6,000abottz art
Out-of-pocket · reimburse / capitalise / gift — one of three · pick explicitly
Adds to entitlement if reimbursed · to equity if capitalised
Engagement Arc · 8-Week Timeline 9 events · 1 open front
01 · ~01 MAR
Role agreed
Verbal · strategy-hub marks "active (Simon Williams)"
— paper trail: none
02 · WK 1–4
Phase 1 work
Deep clean · Dee scope · Dojo extract · portal scaffolded
~160 hrs absorbed
03 · 30 MAR 18:39
Inv 0001 void
Wrong email (enquiries@) · voided before any charge
£1,800 · no money moved
04 · 30 MAR 18:46
Inv 0002 paid
Reissued to accounts@ · retry success after 1 decline
£1,800 · concession partial
05 · Q1 CLOSE
Deliverables shipped
"Q1 2026 invoice generated & delivered" — strategy-hub
Bundle value £4,300
06 · 03 APR
Inv 0003 misissued
Wrong Stripe record · wrong bill-to · wrong inbox (info@)
£4,300 · unpayable as-is
07 · ~01 APR
April retainer due
Monthly-upfront model · invoice not yet raised by supplier
£2,500 · 3 wks late
08 · 21 APR · TODAY
Analyst pass
Reset the billing rail · fix the portal liability · countersign
Gap to close: £7,500
09 · WK 9+
Contract live
Monthly cycle · April + May + per-phase invoices · auto-chase
Target: recurring £2,500+
Contract Gap Analysis what's agreed · what's working · what's paper
State of the agreement
✓
Role: External Consulting / Fractional CEOVerbal · strategy-hub line 513 confirms "agreed and active"
LIVE
✓
Operating proxy: Dee Chanel (via Jade)Dee reports into CEO structure · Jade signs off · not arm's-length AP
LIVE
!
Monthly retainer figureWorking assumption £2,500/mo · public Fractional Partnerships Lead rate · not signed
ASSUMED
!
Billing cadence: monthly upfrontStandard partnerships.community Fractional practice · not documented in a Zodiac-specific SoW
ASSUMED
✕
Countersigned Fractional CEO agreementPhase 1 open item · strategy-hub line 478 · highest-leverage miss in the stack
OPEN
✕
Abottz art treatment (reimburse / capitalise / gift)£6,000 personal capital sitting in venue without a paper instrument
OPEN
✕
March concession logged as one-time waiverNeeds explicit clause so £1,800 doesn't drift into precedent
OPEN
✕
Scope / re-pricing triggerEngagement running at ~6× retainer scope · no written uplift mechanism
OPEN
Analyst read
Drift risk: high
Four of eight contract dimensions are open or assumed. Three of them (retainer figure, cadence, March waiver) will be resolved in a single countersigned document. Two (art treatment, scope re-price) are the founder-economics decisions that have to be made before the document gets drafted, not after.
Fix: Action P0-3 resolves 6 / 8 in one motion
Value · Entitlement · Cash — Three-Band Math £2,500/mo retainer assumption
| Line | Basis | £ |
| A · Economic value transferred to Zodiac |
| Time delivered at market mid-rate |
~400 hrs × £100/hr · Fractional CEO mid-band |
£40,000 |
| Capital contributed — Abottz art, installed in venue |
Personal out-of-pocket |
£6,000 |
| Subtotal · economic value transferred |
|
~£46,000 |
| B · Contract entitlement (what the engagement actually owes) |
| March retainer (full month) |
£2,500 × 1 |
£2,500 |
| April retainer (upfront ~1 Apr · un-invoiced) |
£2,500 × 1 |
£2,500 |
| Q1 deliverables bundle |
Inv 0003 → void + reissue cleanly |
£4,300 |
| Abottz art — optional reimbursement at cost |
Treatment TBC |
(£6,000) |
| Subtotal · entitlement (excl. art) |
|
£9,300 |
| Subtotal · entitlement (incl. art at cost) |
|
£15,300 |
| C · Cash actually received |
| Inv 0002 · March concessionary partial |
Paid 30 Mar · card · retry success |
£1,800 |
| Subtotal · cash received to date |
|
£1,800 |
| Gap · Subsidy · Realised rate |
| Gap: entitlement (excl. art) − cash received |
£700 concession + £2,500 Apr + £4,300 Q1 |
£7,500 |
| Personal subsidy: value − cash received |
Time + capital, not counting fees |
£44,200 |
| Effective day rate |
£1,800 ÷ 40 working days |
£45 / day |
£7,500 Gap — Decomposed by Cause & Owner only £4,300 is a true receivable
March shortfall
£700
Full £2,500 retainer − £1,800 concessionary partial accepted
Owner: Supplier · Resolution: absorbed, logged as one-time waiver
April retainer
£2,500
Due upfront ~1 Apr · not yet invoiced · 3 weeks late on supplier side
Owner: Supplier · Resolution: raise April invoice this week
Q1 deliverables
£4,300
Inv 0003 misissued to wrong record · not reachable by Zodiac finance
Owner: Supplier · Resolution: void + reissue as 0004 to ZODIAC Ltd via Dee
Analyst note
Of the three components, only the £4,300 is a proper receivable, and only once reissued cleanly. The £700 March gap is a deliberate absorbed concession — it is not a debt Zodiac owes. The £2,500 April retainer is a pending self-invoice on the supplier side. Reading this gap as "Zodiac owes £7,500" would be wrong; reading it as "partnerships.community needs to do three pieces of paperwork" is correct.
£44,200 Subsidy — Category Decision pick one, not drift
Option A · Sweat equity
Accrues a claim on Zodiac's future value. Requires a written instrument (equity / SAFE / earn-in) with Jade. Without paper, the claim evaporates.
Best if: long-term conviction + cap-table appetite
Option B · Scope re-set
Engagement is running at ~6× retainer scope. Raise a scope amendment via Dee, re-price forward — e.g. tier up to £3,500–£5,000/month from May.
Best if: near-term cash over equity
Option C · Conscious gift
Deliberate investment in Zodiac as a community/mission project. Fine — but log the total given so it doesn't drift into resentment later.
Best if: mission-led, not ROI-led
Portal Liability Audit · zodiac.partnerships.community custodial risk on supplier infra
Critical findings
C1
api/zodiac-bank.js:35 — bank endpoint accepts token === '1'Don't fix the auth — delete the endpoint. Supplier should not host client's sort code + account on own infra.
DELETE
C2
api/zodiac-manage-access.js:10-11 — Vercel project & team IDs hardcodedMove to env vars · revisit once portal ownership is decided
ENV VAR
C3
api/zodiac-manage-access.js:15-20 — personal Gmail fallbacks as DEFAULT_EMAILSRemove fallback. Fail closed, not open. Client access list must not silently default to supplier email.
FAIL CLOSED
C4
deploy.command:12,30 — GitHub PAT hardcodedRotate ghp_qBo5…PigOr now · move to Keychain · unrelated to consulting reframe, just hygiene
ROTATE
Architectural question
Should supplier custody client ops data at all?
The portal is on the supplier's Vercel, supplier's domain, supplier's repo — yet holds Zodiac's bank details, staff access, internal strategy. That's custodial liability the consulting engagement isn't paid or insured to carry.
Two clean paths
(a) Migrate portal to Zodiac-owned domain + Vercel project (Jade/Dee as account owners, supplier as collaborator), or
(b) Keep subdomain, strip all client-operational endpoints, scope to pure strategy/deliverables dashboard.
Option (b) is faster & lower-risk · recommended this week
Connector Stack · Zodiac Lens 12 connectors · 2 pulling weight
| Connector |
Status |
Wired into Zodiac tile? |
Best Zodiac use |
| Stripe MCP | live | yes · revenue panel | Source of all invoice lineage · keep driving from here |
| Vercel MCP | live | yes · deploy panel | Surface zodiacbarlondon.com + zodiac.partnerships.community deploy status |
| Windsor.ai (GA4) | live | partial | Wire into Zodiac domain tile for real visit data · currently ping-only |
| Cloudflare MCP | live | partial | Workers + D1 idle · R2 disabled (403 / 10042) · enable R2 for asset hosting |
| HubSpot MCP | live | no | 62 contacts · 48 companies · Zodiac deal exists · show deal stage + next task |
| Asana MCP | live | no | 30-day execution timeline = Asana project · surface open-task count on tile |
| Apollo MCP | live | no | ASOS / Meta corporate outreach (Phase 3) · sequences already scaffolded |
| Common Room MCP | live | no | Account research for corporate bookings (Phase 3) |
| Slack MCP | live | no | Alert on invoice paid / overdue / failed charge |
| Gmail · Calendar · Fantastical | live | no | Meeting briefings for Jade/Dee syncs · Gmail search "zodiac payment" thread |
| Canva MCP | live | no | Event flyers · staff incentive wristband graphics · Phase 2 signage |
| Ahrefs MCP | plan blocks | — | Use web-analytics-* tier instead for Zodiac rank / traffic |
Architectural rule for every connector
Each one lives on supplier accounts today. Rule of thumb: is this Zodiac's data or my deliverable? If Zodiac's (their CRM, their staff calendar, their Canva brand kit) — move to a Zodiac-owned instance, supplier becomes collaborator. If supplier's deliverable (strategy docs, research, Apollo prospecting for Phase-3 outreach) — stay on supplier infra, bill for the output. Same question as portal ownership in §7 of the one-brain. Worth making the call once, across the whole stack.
Risk Matrix · likelihood × severity 5 active risks
Low severity
Medium severity
High severity
High likelihood
Retainer drift past Apr 30
Bank endpoint custody (C1)
£4,300 stays uncollectable
Medium likelihood
Stripe fee drift
Scope re-set avoided
Portal ownership left open
Abottz art treated as orphaned gift
Low likelihood
Connector data leakage (low per-field)
Relationship breakdown before contract
Top-right quadrant drives the Action Pipeline below. C1 (bank endpoint) and the £4,300 misissue are the two high/high cells — both resolvable this week, both entirely on the supplier side.
Action Pipeline · Prioritised 11 tasks · 3 P0 · 4 P1 · 4 P2
P0 · TODAY · 15 minutes
1
Message Dee directly, CC Jade. Reset the billing rail — request ZODIAC Ltd legal name, registered address, VAT, finance email. Frame as supplier housekeeping, not an AP chase. Include the April retainer cadence reset.Template in one-brain §8 · tone: direct, collegial, no theatrical apology · re-setting cadence is a Jade-level decision, hence CC
P0 · TODAYOwner: Simon
2
Void Stripe invoice 0003 as soon as Dee replies with clean entity details. A voided bad invoice + a clean reissue reads right; a stuck "18 days overdue" on a wrong record does not.Stripe dashboard · invoice in_1TJXRb0zXLCXziENoIAV2H15 · currently "open"
P0 · TODAYOwner: Simon
3
Delete api/zodiac-bank.js from the portal repo and force-push. Rotate the GitHub PAT (ghp_qBo5…PigOr) while in the terminal.Closes the most dangerous custodial item without needing to fix its auth · stops supplier holding client bank credentials
P0 · TODAYOwner: Simon
P1 · THIS WEEK · ~1 hour
4
Rebuild the Stripe customer record as ZODIAC Ltd once Dee confirms the legal name. Name = legal name, email = Dee, address + phone = venue, VAT populated. Archive both old records. Reissue as 0004 from the clean record.This is the moment £4,300 stops being supplier backlog and becomes a proper B2B receivable · counted from 0004's issue date
P1 · WK 8Owner: Simon
5
Raise April retainer invoice (£2,500 to be confirmed) against the clean ZODIAC Ltd record. Monthly-upfront cadence · due 1 May for May onwards · one-time late acknowledgement for April.Must include a note: "March 2026 concessionary partial (£1,800) is a one-time waiver, not precedent"
P1 · WK 8Owner: Simon
6
Harden portal · remove remaining custodial endpoints. Fail closed on api/zodiac-manage-access.js. Move Vercel project/team IDs to env vars. Remove Dojo login / staff PII / personal Gmail fallbacks.Portal audit §7 · closes C2 & C3 alongside C1 + C4 already done in P0-3
P1 · WK 8Owner: Simon
7
Decide portal ownership. Either migrate zodiac.partnerships.community to a Zodiac-owned domain + Vercel project, or keep the subdomain and scope it strictly to strategy/deliverables (no client-operational data). Document in the Fractional CEO agreement.Recommended: Option (b) this week · faster, lower-risk · revisit (a) after contract signed
P1 · WK 8Owner: Simon + Jade
P2 · NEXT 14 DAYS
8
Countersign the Fractional CEO agreement. Single highest-leverage item in the whole stack. Must specify: monthly retainer figure (confirm £2,500/mo or re-price per scope-reset logic), monthly-upfront cadence (due 1st of month), per-phase deliverables schedule, March 2026 concession logged as one-time waiver (not precedent), Abottz art treatment (reimburse / capitalise / gift), billing contact (Dee), decision-maker (Jade), data ownership (Zodiac owns ops data, supplier owns strategy/IP), termination + notice clause.Already on Phase 1 of strategy-hub timeline · line 478 · this document converts every ambiguity above into a boring monthly cycle
P2 · WK 9–10Owner: Simon drafts · Jade countersigns
9
Formalise the fee schedule in Stripe. Written subscription (monthly retainer) + product-catalog entries for per-phase deliverables. Future invoices auto-number and auto-chase instead of manual 0001/0002/0003 from memory.Stripe has billing portal + subscription schedules that make this cheap to set up
P2 · WK 9–10Owner: Simon
10
Add STRIPE_WEBHOOK_SECRET so the webhook endpoint that already exists actually fires. Route the fire into Slack + the admin command centre. Every Zodiac payment event is currently being dropped silently.One env var + one Slack channel · unblocks realtime pipeline status on the dashboard
P2 · WK 9–10Owner: Simon
11
Wire Zodiac into the admin command centre as its own panel. Cleanly-earned-to-date (not "billed"), open-invoice age from correct issue date, portal uptime ping, next-phase milestone, HubSpot deal stage, Asana open-task count. Plumb the 8 idle connectors into the single Zodiac tile — turn the dashboard into true one-pane-of-glass for Zodiac specifically.Seed: this report · ban "gross billed" from the dashboard — it's a lie to yourself
P2 · WK 9–12Owner: Simon
Analyst Bottom Line one paragraph
Week 8 close-out · founder-honest
The Zodiac engagement is economically alive (~£46k of value delivered) but financially stalled at the paperwork layer. Eight contract dimensions exist; only two are signed. Of the £7,500 "gap," £700 is an absorbed concession, £2,500 is a supplier self-invoice three weeks late, and £4,300 is a misissued Q1 bill that Zodiac's finance function has never properly seen. None of that is Zodiac debt today — all of it is supplier admin. The real risk isn't the money; it's the drift: no countersigned agreement, a £6,000 art contribution with no instrument, a portal on supplier infra holding the client's bank credentials, and a 400-hour time investment sitting as an informal gift. Four actions this week (message Dee, void 0003, delete zodiac-bank.js, reissue as 0004) close the P0 quadrant. One decision this fortnight (countersign the Fractional CEO agreement with £2,500/mo + scope-reset clause + art treatment) converts the whole engagement from ambiguity into a boring monthly cycle. That is the entire job.