Skip to content

Dashboard ​

The dashboard at /dashboard is the home screen of your workspace. It answers one question: how is the business doing right now? The page shows a greeting with time-of-day and first name, a period switcher, a KPI summary row, a short attention widget, and a set of data-driven blocks that appear only when your workspace data says they are useful.

Layout ​

The page is a single scrollable view built from a fixed catalogue of blocks. The order never changes, but a block only renders if your workspace data satisfies the test for it. A simple business therefore sees a shorter page, not empty placeholders.

At the top sit a greeting, a period switcher and the KPI row. Below that comes the attention widget, then supporting blocks such as the trend chart, ageing, revenue sources, quote pipeline, expense mix, cash chart, VAT card, and recent activity.

Greeting ​

Above the numbers sits a greeting based on the time of day, together with your first name and the current date. In English the month name is capitalized.

Period switcher ​

Every figure in the KPI row and the pace calculations follows the selected period. Choose between month, quarter, and year. The trend chart always stays at 12 months so the comparison stays honest.

KPI row ​

The KPI row always shows five tiles. Each tile shows one headline figure, a comparison with the previous comparable period where an honest comparison exists, and a small sparkline for trend. Tiles link to the relevant report or list.

TileWhat it shows
CashCurrent cash position, either from a connected bank account or an estimated balance, plus runway in weeks
ReceivablesOutstanding invoices, with the overdue slice called out
RevenueRevenue for the selected period and the pace for the full period, with change vs the previous comparable period
PayablesMoney you still need to pay out, with the overdue slice called out
ProfitNet profit for the selected period, with margin when it can be computed

Cash tile ​

The Cash tile shows, alongside your balance, what is already committed. Two lines break this down:

  • Reserved for VAT - the positive quarter balance that should already be set aside
  • Fixed costs per month - your monthly fixed costs

The final line shows Free to spend: what actually remains after those reservations. The VAT reservation uses the same quarter logic as the VAT card so monthly filers and early submitters do not see the wrong amount subtracted.

A tile that has no honest history renders without a sparkline rather than invent a flat line. The colour of a delta badge follows meaning, not just direction: receivables rising is bad news even though the arrow points up.

Attention widget ​

The attention widget is fed by the Vandaag signal engine. It shows up to four tasks that need action today or this week. Each row shows a severity dot, a short title, and a link to the record. The widget only surfaces tasks; it does not contain the full ranked list, the explanation chips, or the action buttons. The full list lives in the bell panel.

The Vandaag engine ranks signals into four severity levels:

  • critical: money leaking or a hard deadline closing
  • attention: a real task, today or this week
  • upcoming: dated, but not yet urgent
  • good: earned positive news

The engine is deterministic. No model is involved in producing the signals, so the page stays useful when the AI layer is down.

Action chips ​

Some attention rows carry an action chip, for example to send a payment reminder. The first tap on a chip that requires confirmation arms it and shows the text Are you sure? Tap again; only the second tap executes the action. If no second tap arrives within five seconds, the chip disarms itself. This stops a stray tap from accidentally emailing a customer.

Supporting blocks ​

The blocks below the KPI row appear only when they earn their place. The catalogue decides both whether to show a block and which form to use.

BlockContent
Trend12-month dual-bar chart of revenue and costs, with the profit line
AgeingReceivables aged by bucket
Revenue sourcesLargest customers by year-to-date revenue
QuotesOpen quote pipeline and expiring quotes
Expense mixCost breakdown by category, shown as bars
Cash chartCash position over 12 months with forecast
ActivityRecent invoice, payment, and expense events
VAT cardCurrent VAT period, checklist progress, and next deadline

On phones, large visual forms fall back to simpler forms so the numbers remain readable.

First-run state ​

A brand-new workspace with no invoices or customers lands on a calm first-run screen instead of the full dashboard. Rather than a generic "create your first invoice" message, the screen picks one concrete next step based on what already exists in the workspace. Possible next steps are:

  • Send a saved draft invoice or quote, if you already created an invoice or quote that has not been sent. The screen surfaces it with a link to open and send it.
  • Create a first invoice for an existing customer, if you added a customer but have not billed them yet. The customer is named and the screen links to the new-invoice form.
  • Fill in missing company details, if your IBAN or VAT status is still missing. A secondary link under the main action lets you complete those details.
  • Create your first invoice, this is the default action when there are no customers, invoices or quotes yet.

A small discovery panel also invites you to personalise invoice styling, the website, or account security. Dismissing the panel hides only the panel; sending your first invoice exits first-run mode. You can also skip the first-run screen with the Show my dashboard option.

Getting started card ​

While the setup checklist still has open steps, a pinned card appears above the dashboard. It lists the remaining steps and a link back to the setup wizard. Dismissing the card is stored server-side, so it stays hidden across devices. The wizard is non-blocking: new signups land on /dashboard directly.

Loading and error states ​

While the dashboard decides whether this is a first-run workspace and loads the briefing, a skeleton mirrors the final shape of the page. If the Vandaag fetch fails, the page shows an explicit error with a retry button instead of an all-clear built from empty data. If a period switch fails while older numbers are still on screen, a stale notice appears with an inline retry.

See also ​

MyCompanyDesk, boekhouding eenvoudig gemaakt.