Business headlines
Financial headlines
Speedometers show progress toward a defined target; thermometers show a figure against a red→green range; the traffic light shows status where there's no clean target ratio yet. Full Group/Print/Digital/Account/Advertising GP breakdown has moved to Sales & Pipeline — this page shows the single Group GP total only.
Financial health at a glance
Live · Xero · pulled 23 Jul 2026Real figures, pulled live from Xero for Footprint Copy and Design Ltd. On-demand refresh, not a background schedule — click "🔄 Refresh Xero data" whenever you want current figures; "🔗 Connect to Xero" is the one-time (or reconnect-if-it-ever-expires) login step. Both need the Finance token, same as everything else on this page. The cash traffic light's thresholds are illustrative for now — once the Board sets a real buffer target (Section 6.4), it can switch to a speedometer against that target instead.
Working capital ratio
1.71 target ≥ 1.8
Live · Xero, 23 Jul
Working capital (£)
£—
Live · Xero
Average order value
£—
Live · Xero · awaiting refresh
Monthly profit — actual vs target
Live · Xero · 12 monthsNet profit by month against the £50,000 monthly target — green hit it, amber came within 60%, red fell short. Refreshes when you click "Refresh Xero data" above.
Sales v target
Group & business-unit GP vs. target
Same gauge design as the HUB, same live connector: Print & Account GP pull from the scheduled Zoho feed — actual invoices raised from a confirmed sales order (reference starts "SO-"), in-month by invoice date, split by account owner (Jack Burton/Emily Gunn → Account, everyone else → Print). Not estimates, and not the earlier business-unit split — the HUB corrected both of those in v2.1.0/v2.2.0; this copies the current logic, not the original spec. Digital & Advertising stay manual, same as on the HUB. Targets — Group £130k, Print £30k, Digital £20k, Account £35k, Advertising £45k — match the individual KPI frameworks and sum exactly to the £130k group target. Keep these in sync with the HUB if the Board changes them. The single Group GP total and the GP-tied-up-in-WIP figure both now also show on Overview.
Pipeline value
£0
Manual · Head of Sales
Lead conversion rate
0% / 60% target
Qualified lead → quote → confirmed sales order
Quotes expected to be ordered
Live · Zoho Books, QuotesLikely pipeline value
£—
Confident + Definite only
Likely pipeline GP
£—
Confident + Definite only
Open quotes grouped by the expected order date the sales team sets, counting only those marked Confident or Definite. Zoho records probability as a category rather than a percentage, so "over 50%" is expressed as those two categories — worth agreeing that's the right cut.
Sales team effectiveness
Manual · logged weekly| Week | Calls | Meetings | Call to meeting |
|---|
Target: 200 outbound calls per week across the sales team, and a call-to-meeting conversion of 25%+. The gauges show the most recently logged week against both targets.
Cross-selling effectiveness
Manual · reviewed monthlyActive clients
0
Manual
On two or more service lines
0
Manual
Target: 40% of active clients taking two or more Footprint service lines. Enter both counts and the percentage calculates itself.
WIP by production stage
Live · Zoho Books, Sales Orders (cf_soprocess) · pulled 23 Jul 2026Open sales orders
100
Live · Zoho Books
GP tied up in open WIP
£68,779
Live · Zoho Books
This is the real source behind your Analytics screenshot: Zoho Books' own Sales Orders app carries a
cf_soprocess custom field with these exact stage names, and cf_total_gp for margin — not the CRM Sales_Orders module (barely used) and not Zoho Projects. Top 7 stages shown + "Other" for readability.GP by sales team
Live · Zoho Books, Sales OrdersRaised this month
£—
—
Open, awaiting invoice
£—
—
| Salesperson | Orders | GP raised this month | Orders | GP open, awaiting invoice |
|---|
Two different questions, deliberately shown together. Raised this month is sales performance — orders placed in the current month that are still open. Open, awaiting invoice is everything still in production regardless of when it was raised, so it includes older jobs that haven't been invoiced yet. A large gap between the two means value is sitting in older work — worth chasing. Attribution is
salesperson_name on the Sales Order.Active projects
Manual · Zoho Projects, portal footprintsouth · last checked 29 Jul 2026Active projects
74
Manual — type today's count from Zoho Projects
Automated feed attempted but blocked on Zoho's side — the Projects portal connection needs the portal Owner specifically (not just an Admin) to authorise it, which wasn't available this week. Rather than block on that, this is a plain editable number — click the count and type whatever Zoho Projects currently shows. Count only, on purpose — GP comes exclusively from Sales Orders above, not from Projects' own
expected_gp field.Pipeline by stage
Manual · GoHighLevel opportunities pipelineLead
—
Qualified
—
Proposal
—
Negotiation
—
Won
—
GoHighLevel opportunities aren't used consistently enough to justify an automated feed, so these figures are typed straight in by the Head of Sales — click a stage count to edit it. Bars recalculate against the Lead figure.
This page covers marketing activity — what we're putting out and what it's generating: leads by source, advertising reach, social growth. For how our digital service lines are performing as a business unit, see Digital marketing.
Leads generated by source
Manual · Meta/Google Ads & ZohoClick either number to edit — the bars, the total above and the Overview page all update live. Meta/Google Ads and email campaigns → Advertising / Email Campaigns; Zoho → Brand awareness. Revenue and GP from these leads are recorded per campaign in Campaigns run below.
Campaigns run
Manual · one row per campaign| Campaign | Platform | Cost | Clicks/opens | Leads | Quotes sent | Quotes won | GP won | ROI |
|---|
Clicks/opens is email opens for email campaigns, or ad clicks for advertising. GP won is the gross profit on quotes actually won — per-campaign ROI is that GP ÷ cost, so above 1.0 means the campaign returned more gross profit than it cost. These totals feed the Marketing ROI panel above.
Marketing ROI
Calculated · GP secured vs advertising spendLead generation spend
£0
Total campaign cost
GP won
£0
GP on quotes won
Return on spend
—
GP per £1 spent
ROI
—
(GP − spend) ÷ spend
Both figures are the totals from the Campaigns run table below — a campaign has to be logged there to count towards ROI. A ratio above 1.0 means the marketing paid for itself in gross profit. Two things to keep in mind when reading it: this counts logged campaign costs only — retainers, telesales fees and staff time sit outside it unless entered as a campaign, so treat it as campaign efficiency rather than full-cost ROI; and because GP is counted in the month business is won while spend is counted in the month it's incurred, a single month can look distorted when a long-cycle deal lands. The trend over several months is the number to trust.
Automation open rate
Manual · YLKTarget is a 30% open rate for email campaigns. Spans four platforms with no single reporting API in common, so all of this stays hand-entered — matches the KPI register at Section 6.4.
Social media platform growth
Manual · updated monthlyYear-start baseline reach
0
Set once at the start of the year
Latest total reach
0
From the monthly log below
Growth vs baseline
—
Target +25% year on year
Total reach, month by month
| Month | Total reach | MoM change |
|---|
Target: 25% growth in total reach year on year, measured against the year-start baseline. Log total reach across all platforms each month — the gauge tracks progress towards the 25% target, and the table shows month-on-month movement so a stall is visible before year end.
Followers by platform
| Platform | Baseline followers | New followers this month | Growth |
|---|---|---|---|
| — | — | — | |
| — | — | — | |
| — | — | — | |
| TikTok | — | — | — |
Click a Baseline or New followers cell to type directly — Growth% recalculates automatically. No API in common use across all four platforms yet, so this stays hand-entered.
New followers this month, by platform
Lead generation spend
Manual · updated monthly| Platform | Impressions | Reach | Overall spend |
|---|---|---|---|
| Google Ads | — | — | — |
| Meta Ads (Facebook/Instagram) | — | — | — |
| Lead Gen Telesales | n/a | n/a | — |
| Total | — | — | £0 |
Totals recalculate as you type. Click any cell to edit. Impressions and reach only apply to the paid ad platforms — leave them as n/a for telesales, where the spend is what matters for ROI.
Impressions by ad platform
This page covers business unit performance — how our digital service lines are doing commercially: retained clients, GP, subscriptions and service uptake. For campaign and channel activity, see Marketing effectiveness.
Retained customers
0
Manual
Your Lead Kit subscriptions
Manual · logged monthlyCurrent subscriptions
0
Current monthly value
£0
| Month | Subscriptions | Value |
|---|
Add a row each month — the chart and current-value tiles above always reflect the most recent entry.
Clients utilising AI tools we provide
Manual · logged monthlyCurrent client count
0
| Month | Clients |
|---|
Same monthly-log pattern as YLK subscriptions above — add a row each month to build the growth trend.
Digital platform management
Manual · client websitesClient sites managed
0
Manual
Uptime this month
0% / 99.5%
Manual · from monitoring
Sites reported on this month
0
Target: all sites
Target: 99.5% uptime across all client sites. The gauge is scaled from 95% so the difference between 99.5% and 98% is actually visible — on a 0–100% scale both look identical, which is useless for a target this tight.
Technical / IT ticket management
Manual · logged monthlyTickets by priority
| Priority | SLA | Raised | Within SLA | % in SLA |
|---|---|---|---|---|
| P1 — site down / security | 4 hours | 0 | 0 | — |
| P2 — functional fault | 1 working day | 0 | 0 | — |
| P3 — change request | 3 working days | 0 | 0 | — |
| Total | 0 | 0 | — |
Average resolution time
Target: 95%+ of tickets resolved within SLA — P1 within 4 hours, P2 within 1 working day, P3 within 3 working days — with average resolution of 8 working hours or less. Note the average is a blunt measure on its own: a month of quick P3s can mask a missed P1, so read it alongside the per-priority breakdown rather than instead of it.
Staff queries awaiting a decision
Manual · raised by staff| Date | Query | Area | Raised by | Status |
|---|
Questions from staff that need an SLT or Board decision before they can be answered. Two ways out: ✓ SLT decided records the answer straight into the decision log. ↑ Escalate passes it to Items for Board input, where it stays open until the Board answers — at which point ✓ Board decided moves it into the decision log. Escalating is not a decision, so it never lands in the log on its own.
Decision log
Manual · SLT-maintained| Date | Decision | Area | Authority | Decided by |
|---|
Per Section 3 of the Decision-Making Framework: decisions taken under SLT authority should be visible to the Board without needing to ask — that's what keeps the "default to escalation" principle honest. Log the rationale in the decision text itself where it matters.
Risk register
Manual · reviewed each SLT meeting| Risk | Area | L | I | Rating | Mitigation / action | Owner |
|---|
Rating is Likelihood × Impact, auto-calculated and colour-banded: 1–6 low (green), 8–12 medium (amber), 15–25 high (red). Sorted highest-rating first so the things that matter surface at the top.
Items for Board input or decision
Manual · standing Board agenda| Item for Board input / decision | Area | By when |
|---|
Escalation process
Reference · Framework §201
Raised by the SLT with a short written summary: what's being decided, the options, the recommendation, and the financial/operational impact.
02
Routed to the Board in the first instance; time-critical items can be sense-checked outside the formal Board cycle via direct email to any Board member.
03
Non-urgent items go into the standing Board meeting agenda as an SLT escalation item.
04
Decision and rationale logged in the SLT decisions register, whatever the outcome.
Decision authority — what SLT can decide
Reference · Framework §1| Decision area | SLT decides | Escalate | Notes |
|---|---|---|---|
| Day-to-day operational spend up to £2,000 per item / £5,000 per month aggregate | Yes* | No | Report at next SLT meeting |
| Hiring or replacing a role within agreed headcount and budget | Yes | No | Report at next SLT meeting |
| Marketing campaign content, channel and supplier choice within agreed budget | Yes | No | Report at next SLT meeting |
| Pricing changes within an agreed band | Yes** | No | Report at next SLT meeting |
| Supplier / vendor contracts under £10,000 or 12 months | Yes | No | Report at next SLT meeting |
| New starters above budgeted headcount | No | Yes | Pre-approval required |
| Price changes that include any decrease in overall percentage levels | No | Yes | Pre-approval required |
| Capital expenditure over £5,000 | No | Yes | Pre-approval required |
| New borrowing, refinancing, or changes to banking facilities | No | Yes | Pre-approval required |
| Entering new markets or service lines | No | Yes | Pre-approval required |
| Redundancies, restructuring, or any major HR disciplinary process likely to be started | No | Yes | Pre-approval required |
* Must be a unanimous SLT decision. ** Applies to price increases under 10%. Any decision not clearly covered by an existing category should default to Board escalation until the framework is next reviewed.
Staff happiness index
Manual · logged quarterlyLatest score
— / 80% target
121 completion rate—
HUB engagement—
Company events scheduled (of 3)—
| Quarter | Score | Completion | HUB engagement | Events |
|---|
Add a row each quarter — the tiles above always reflect the most recent entry. Target: 80% happiness score.
Staff survey results
Source: HUB · not yet connected| Question | Score | SLT response |
|---|---|---|
| Not connected to the HUB's survey data yet — see the note below. | ||
This will pull the survey questions and scores from the internal HUB automatically once the BDM↔HUB feed is built (matching the same pattern as Sales v Target). Until that connection exists this stays empty rather than showing stale or invented figures.