Chapter 21

Dashboards & reports

Note — mostly a desktop feature. The dashboards in this chapter are the TechieCRM desktop application. The web portal's /dashboard/ page is a different, much smaller thing: six module summary cards and a cross-module recent-activity feed, reading live data. None of the dashboard selector, indicators/gauges/charts, editing, wizard or sharing exist there.

The web portal does have its own Reports module — seven ready-made summary reports over your live records, with a date window, printing and CSV export. It is described in Reports on the web portal below and is not the same thing as the desktop's Reports ribbon tab.

When a figure cannot be worked out

On the web portal's /dashboard/ page, a card whose figures could not be loaded shows a dash () and Couldn't load in place of the numbers, and a message appears at the top of the page: "Some figures could not be loaded." That is deliberately not the same as a zero: 0 means the module really has no records, while Couldn't load means the number is unknown — usually a momentary connection problem. The rest of the page keeps working, and refreshing normally clears it. If it persists, contact support: every one of these failures is recorded in the server log with the module named.

The same rule applies to the Agenda's Business Dashboard strip (Chapter 23): an indicator whose figure could not be loaded shows with Couldn't load underneath, never a 0.

Source-CRM equivalents: Dashboards, Reports. Dashboards are the source CRM's own — the same definitions and indicators, rendered natively — plus the TechieCRM Entrepreneur Dashboard (Chapter 1).

In this chapter - Viewing dashboards; click-through - Editing: indicators, properties, wizard; shared dashboards - Saving: Save and Save As - Reports and printing (desktop) - Reports on the web portal - Not yet available


Viewing

Icon bar ▸ Dashboards. The dashboard selector lists 🚗 Entrepreneur Dashboard first, then every dashboard in the database (last viewed is remembered). Toolbar: Save, Save As (see Saving below), Properties, Add Indicator, Email Dashboard, Print Dashboard, Dashboard Wizard; pinned at the right edge: 🔄 Refresh, ⚙️ Settings, ❌ Close. Indicators are laid out exactly as the source CRM lays them (column breaks), scrolling as needed; gauges, dials, bars, pies, tables, numeric boxes and thermometers all render. A broken indicator shows a red "Could not render" tile instead of blanking the page.

Indicator tiles follow the theme (September 2026 update). Switching between Light and Dark in Settings ▸ Theme Layout used to leave the indicator tiles exactly as they were — you had to reopen the dashboard (or restart TechieCRM) before the tiles matched the rest of the window. Every tile now repaints while you are looking at it: the card face, its border, the caption strip across the top and the text inside all move to the theme you just chose. Two things deliberately do not move, because they are your data and not the window's chrome: the colours you set in Indicator Properties (needle, digits, alarm band, grid header and row colours) and the numeric box's own coloured background. Those come from the indicator itself and look the same in both themes.

Both September limitations are now closed. When this was first written, two things were still wrong, and both have since been fixed and measured:

  • Changing the theme no longer touches the database, and no longer empties a tile. Bar, pie and table tiles used to re-read their figures as they repainted, which made a theme change slow on a busy connection and — if the connection had dropped since the dashboard loaded — could replace a chart's bars with an empty frame or a full grid with no rows until you pressed 🔄 Refresh. Each tile now keeps the figures it loaded with and simply redraws them in the new colours, so switching Light ⇄ Dark costs no database queries at all and cannot take numbers off the screen. 🔄 Refresh and changing the dashboard in the selector are still what re-read the figures — that has not changed, and is still how you get fresh numbers.
  • The red "Could not render" placeholder follows the theme too. It used to stay on a white card with dark red text no matter which theme you chose, which looked like a bug on top of a bug. In Dark it now sits on the same dark card face as its neighbours with a brighter red message, and it changes the moment you change the theme. Its Light appearance is unchanged. (It also no longer prints the word "None" when the broken indicator has no name.) Double-click an indicator → the module it measures opens with that indicator's records (saved-search indicators load the exact record set; others apply the closest filter: sales status, open/resolved cases, traditional/automated campaigns, today's tasks…). Right-click a tile: Properties… · Refresh · Move Up · Move Down · Start New Column Here · Remove from Dashboard.

Editing

  • Dashboard Properties: name (rename), description, background colour, indicator list with Add… / Remove / Remove All / Properties…, Delete Dashboard, Save As Copy….
  • Background colour — click the swatch, pick a colour, then OK or Apply. From the September 2026 update the colour is stored: before, the swatch changed but nothing was saved, so reopening Properties showed the old colour again and no message explained why. The picker now also opens on the colour currently in the swatch rather than always on the same default. The colour is written in the source CRM's own format, so the source CRM sees the same colour you picked. If you do not touch the swatch, the stored colour is left exactly as it was. What it does not do yet: TechieCRM does not yet paint the dashboard canvas with this colour — the dashboard area follows your TechieCRM theme. The value is stored for the source CRM and for a future TechieCRM release.
  • Full Access and Read Access on this tab are display-only: they show the access stored on the dashboard, but changing them does not save. Dashboard is available for Mobile Access is not wired at all — it always starts unticked and is never read or saved. Set dashboard access and mobile availability in the source CRM for now.
  • Indicator Properties (also from double-click when no module target exists): Details (name, description), Indicator Type (presets valid for the metric's shape), Alarm/Target (alarm level), Color Settings (title colour/size/bold, plus gauge text, needle/digit and alarm digit/band colours), Gauge Settings (currency symbol, decimals, text size, scale min/max), MetricsChange Data Source… rebinds the indicator to another saved search (a private copy, so other dashboards are unaffected).
  • Colours are stored in the source CRM's own format, so a dashboard looks the same in TechieCRM and in the source CRM, and a colour you pick here is the colour the source CRM shows (and vice versa). Reopening Indicator Properties shows exactly the colour you saved. A new indicator's alarm band defaults to red, matching the source CRM. (Dashboards viewed before 1 September 2026 had red and blue swapped on every non-grey colour — e.g. the source CRM's standard blue title rendered tan; that is fixed, and no stored data was changed by the fix.)
  • Money on an indicator (an indicator with Show currency ticked in Gauge Settings) is written the accounting way when it is negative: -$50.00, with the minus sign in front of the dollar sign. Until the September 2026 update it read $-50.00. Positive amounts are unchanged. An indicator can legitimately be negative — a margin below cost, a credit balance, a shortfall against target.
  • Add Indicators: filter + tick existing indicators to add.
  • Dashboard Wizard: create a new blank dashboard (name, description) — indicators are then added from the picker.
  • Shared/system dashboards can't be edited in place: any change asks to save a copy you own (" (Copy)") and applies the change there.

Saving

You do not have to press Save. Every dashboard edit is written to the database the moment you make it — adding or removing an indicator, Move Up / Move Down, Start New Column Here, renaming the dashboard, and anything you change in Indicator Properties. Each of those checks that the write succeeded before the dashboard redraws, so if a change stays on screen it is stored.

  • Save therefore has nothing left to write. Rather than doing nothing silently, it tells you the dashboard is already saved, explains that edits save themselves, and points you at Save As. It never touches the database.
  • Save As is the one button that creates something new. It asks for a name (pre-filled " (Copy)"), then copies the whole dashboard — every indicator, colour, size and column break exactly as it is — into a new dashboard that you own, and switches the panel to it. The dashboard you copied from is left untouched. This is also the way to get an editable copy of a shared/system dashboard without waiting to be asked mid-edit. If the copy cannot be written, TechieCRM says so and leaves you on the original — it never reports a copy that was not created.
  • Neither button applies to the 🚗 Entrepreneur Dashboard: it is a built-in TechieCRM view drawn live from your data rather than a stored dashboard, so there is nothing to save and nothing to copy. Both buttons say so if you press them there.

Reports and printing

  • Print Detailed Report (Reports ▸ Clients ▸ Detailed Report, the client dialog's Print button, Activities, Org Chart, UDF tab) prints the current entry in full. Tick the sections you want — mailing address, contacts, related entries (the entry's Sales and Tickets), user-defined fields (only fields with a value), meetings, Hotlist tasks, document summary, notes (all, or the most recent only). Print options: number of copies, Draft quality (compact, no rules), Suppress heading (drops the report banner, keeps the entry name); New page for each entry has no effect while one entry is printed. Send report to: Printer (system print dialog), File (PDF Format) and HTML format (you choose the file), Preview (print preview), Email (opens Compose to the entry with the report as the message body). Rich Text Format and Microsoft Word are greyed out — not produced in this version; PDF or HTML are the equivalents. Page Setup… (orientation, margins, paper size) is honoured. From the September 2026 update, a Detailed Report is never printed with a section silently missing: if a section's data could not be read from the database (the connection dropped, or your sign-in isn't allowed to read the database catalogue), TechieCRM stops before printing and says "Could not read the entry's details" with the reason. Before, the page came out with, say, no Notes at all — which reads as this client has no notes. A section that genuinely has nothing still prints its "None." line, as it always did.
  • Print Column Report / Print List print the module's current list, with its current columns, to a print preview (landscape). Only the rows you can see are printed, so a filter or Quick Search narrows the report; if the filter matches nothing, TechieCRM says "There is nothing to print." rather than opening a preview with column headings and no rows. Export to Excel writes the list to .xlsx or .csv.
  • Reports ▸ Clients ▸ Contacts and ▸ Related Entries (Column Report, Contacts' Detailed Report) are not built: there is no separate contacts or related-entries list to print, and each now says so. To print an entry's contacts or its related Sales and Tickets, select the client and use Reports ▸ Clients ▸ Detailed Report with Print contacts / Print related entries ticked.
  • Interactions ▸ right-click ▸ Print prints one Note / Document / Task / Meeting / Email — header (type, date, creator), the full body (rich text for notes and documents), then its fields.
  • Print Dashboard prints the dashboard exactly as rendered, fitted to a landscape page, via print preview.
  • Meeting and To-Do dialogs print a preview of the record.
  • Quotas Report prints the Quotas list as filtered, with its columns, to a print preview.
  • Still placeholders: Envelopes / Labels, Contacts and Related Entries reports, dashboard Email, Crystal Reports.

Reports on the web portal

Sidebar ▸ Reports (address /crm-reports/). Released 3 September 2026 — it no longer needs the beta-tester role. Reports has no records of its own: each report reads the live records of one module, so the figures are always as current as that module's list.

The seven reports

Report What it summarises The date window applies to
Client Summary Total clients, companies and individuals, and the most recent client entries Created date
Sales Pipeline Open opportunities grouped by stage, with count, total and average forecast revenue Created date
Sales Won/Lost Won and lost counts and revenue, the win rate, and the deals themselves Last-updated date (when the deal closed)
Open Service Cases Every ticket that is still open work, by priority, with its assignee Created date
Overdue Tasks To-dos not yet completed whose due date (or, failing that, scheduled date) has passed Created date
Activity by User Notes, tasks and appointments counted per user Created date
Campaign Performance Sent, responses and response rate per campaign Created date

Running a report. Click Run Report on its card. Enter a from and/or to date and click Run to narrow the report to that window (the card and the page both say which date the window applies to); Clear removes the window. The summary figures at the top count every matching record; the table beneath lists the 50 most recent, and says so when the cap is reached — narrow the window to reach the others.

Reading the figures. - Reports use each module's own status rules, so they agree with that module's list. A sale the desktop or an import from your previous CRM recorded as New or In Progress is open; Won / Lost are counted whichever way they were capitalised; the per-user @USER.OPP bookkeeping rows are hidden. A ticket is open unless its status is Resolved, Closed or Abandoned or it carries a resolved/closed date — every other status your workspace uses (Assigned, Escalated, Wait for Customer, Call Back…) counts as open work. A to-do is overdue by the same rule the To-Do list's Overdue view uses. - Priorities imported as a letter (A/H/M/L) are shown as Urgent/High/Medium/Low. - A campaign that Mailchimp or Constant Contact actually sent reports the provider's figures (sent, and clicks as responses) when no counts were typed in by hand. - Money is shown as $1,234.50 (a negative amount as -$50.00); percentages to one decimal.

Export CSV downloads the report as it is on screen — the same date window, the summary block first, then the table — named <report>-<date>.csv, and opens cleanly in Excel. Print prints the summary and table without the sidebar or the filter form.

Empty results are explained. "Nothing matched this date window" means the records exist but the window excluded them (clear the dates to see them); "No records to report yet" means the module really has none. "Failed to generate report" means the report could not be produced — most often a mistyped date — and the failure is recorded in the server log.

Security. Reports borrows the rights of the module it reads: if your security group denies Service, the Open Service Cases report is not offered, its address answers You don't have access to Service, and so does its CSV. Activity by User drops the column for a denied module rather than showing zeros. (Administrator's manual, A3 ▸ Security Groups.)

Not on the web yet. A report designer or saved-report catalogue, the desktop's per-entry Detailed Report and Column Report/Print List, the Quotas report, and Excel (.xlsx) export — CSV is the export. The ribbon's Reports tab on the web opens the report cards; its per-module entries that have no web report say so when clicked.

Not yet available

Creating new indicators (the wizard's indicator pages collect but don't save; use existing indicators or Change Data Source), dashboard email/export, a report designer or saved-report catalogue, Excel export, standalone charts. (Print Dashboard is available — see "Reports and printing" above. The web portal's own Reports module is covered in "Reports on the web portal".)