Dashboards Troubleshooting & FAQ

Fix the common dashboard issues: what each widget state means, the broken-binding nudge, disabled chart kinds, a KPI showing a dash, edits that stayed on one dashboard, widgets missing on phones, missing callouts, mis-formatted table columns, and dashboards that will not load.

11 min read

On this page

Most dashboard problems come down to the data a widget is reading, or to how its fields are set up. This page covers what the common states mean and how to fix them.

One term to know: binding

"Binding" just means telling a widget which field goes where: what to group by, what number to measure, and what to split or colour by. In the widget inspector these are labelled Group by, Value, and the other fields. When this page says a binding is broken, it means two of those slots are pointing at the wrong field.

What a widget is telling you#

A widget always says which state it is in, so a failure never looks like an empty result. Match what you see to this list:

What the widget showsWhat it means and what to do
A pulsing outline in the widget's shapeStill loading. It clears on its own; large pulls take a moment.
"No data source connected yet" and Choose dataThe widget has no source. Click Choose data and pick a bank, feed, or table on the Data tab.
"No data yet — the source may not have synced"The source is connected and the query ran, but it returned no rows. Check that the feed or bank has synced data for this period.
"No rows match the current filters"A dashboard filter excludes every row. Widen or clear the filter.
"Couldn't load this widget" with RetryReading the data failed. Click Retry; open Details for the reason. If the source was removed or changed, use Change source or Remove.
What is missing, such as "Choose a category and a value"The chart has a source but not the fields it needs. See below.
A lock and "You don't have access to this data"Your role cannot read this source. Ask a workspace admin, or reconnect the source if it asks you to.
"Make this widget bigger"The widget is too small to draw legibly. See below.

On a very short widget the same states collapse to a single line, so a one-row KPI still reads cleanly.

A dashboard widget cell showing an empty state after the query answered with zero rows.
An empty widget where the query succeeded but no rows came back.

An empty result is not a bug

If a widget says there is no data or no rows match, the query ran and came back empty. That usually means your filters exclude everything, or the source has no data for that period. It is not a failure, just an empty result.

Worked example: an empty cash-flow chart

Say your Spending by Category chart is blank and reads "No rows match the current filters." Check the date filter first. If it is set to Last 7 days but the account had no transactions in the past week, the chart is correctly empty. Switch the filter to Last 90 days (or a month you know had activity) and the bars come back. If it then reads "No data yet — the source may not have synced," confirm the bank feed has synced.

My widget shows a "Partial" badge#

A small amber Partial badge in a widget's header means some source or result rows were left out, so sorting and totals reflect only the rows that were available (hover the badge to see this). It does not delete or lose any data. If a table's rows or a total differ from your own count, this badge is usually why. Narrow the widget with a filter (a tighter date range or a single account) so the result is smaller.

A widget shows a fix-it nudge#

If a chart's fields no longer line up (for example the same field ended up on both the Group by and the Value), the widget shows a short fix-it nudge in place of a broken chart, with a one-line explanation and the hint "Open the inspector to fix it."

The nudge itself is not a button. To fix it:

Repair a broken binding

  1. Click the widget

    This opens the widget inspector on the right, where its fields live.

  2. Use Auto-fix binding

    In the inspector you will see the same warning with an Auto-fix binding button. Click it and BankSync re-assigns the fields by their natural role (a category field to Group by, a number to Value).

  3. Or re-pick the fields yourself

    If the auto-fix is not what you wanted, change Group by and Value by hand in the inspector. See Binding data.

A widget cell showing the fix-it nudge for a broken encoding (the same field on both axes) with the 'Open the inspector to fix it' hint.
The fix-it nudge explains the problem; clicking the widget opens the inspector, where the Auto-fix binding button does the repair.

A chart kind is greyed out#

A chart kind can be disabled in the Chart type picker for two different reasons. Read the note next to the greyed-out option to tell which one you are hitting.

1. Your data cannot fill what the kind needs. The picker shows a plain reason like "needs a category or number field." Add the missing kind of field in the inspector and the option turns on.

For example, a pie or donut needs one category to slice by plus one number to size the slices: pick something like Merchant (the category) and Amount (the number), and the pie un-greys. A line or column chart needs a date or category for the bottom axis plus a number to plot.

2. There is no renderer for that kind. Occasionally a kind appears as "(renderer missing)" and stays disabled, with an amber note: 'No renderer for "X". Pick a supported kind above.' This is not about your data: it means that chart type cannot be drawn in your current app version. Pick a supported kind from the list instead. This is rare and usually clears after an app update.

See Binding data for how to add and assign fields.

The initial chart-kind picker, with search and available kinds grouped by family.
Choose a kind in the initial picker, then configure its required fields in the inspector. The inspector handles data and renderer compatibility.

A chart says "No data yet — the source may not have synced"#

The widget has a source, and the query ran, but it came back with no rows and no filter is narrowing it. Usually the feed or bank behind it has not synced any data yet, or has none for this period. Open the source (for example the bank feed) and check its last sync. Once data arrives, the chart fills in on its own.

If the message is "No rows match the current filters" instead, a dashboard filter is excluding everything: widen it or clear it. "No data source connected yet" means the widget has no source at all: select it and pick one on the Data tab.

A chart says "Choose a category and a value"#

The chart has a source, but not the fields it needs to draw. A bar, column, pie, or treemap needs a category (such as Merchant) and a number (such as Amount). Select the widget, and on the Data tab bind a category to the first slot and a number to the value slot. The chart draws as soon as both are set.

A KPI shows "—"#

A dash means the KPI found no number to show: every value in the chosen field is blank for the current period and filters. BankSync shows "—" rather than 0, so an empty result never looks like a real zero. Check that the Value field is the right one, that the source has synced, and that a filter is not excluding every row.

My edit only changed one dashboard#

When a widget is used on more than one dashboard, the inspector shows "Used on 3 dashboards. Changes apply here only." Edits made that way stay on the dashboard you are on: BankSync gives that dashboard its own copy of the widget, named "… (local)", and the other dashboards keep the original. To change every dashboard, click Change everywhere in that notice before editing, or edit the widget from the Widgets page. A widget used on just one dashboard always saves in place.

A chart only shows one axis#

Only layered (combo) charts draw a second, right-hand axis, and only for a measure you put on the right axis. Every other chart kind shares one axis. To show dollars beside a percentage, use a Layered chart; see Layout & composition widgets.

A widget is missing on my phone#

Check the widget's On phones section on its Style tab. If Show on phones is off, the widget is hidden on phones but still shows on tablets and desktop. Turn it back on to include it in the phone layout. See Phones, tablets, and wide screens.

A chart's handwritten callout is not showing#

A callout only appears when all of these are true:

  • Handwritten callouts is on in Dashboard settings.
  • The chart draws in Sketch or Doodle. Clean charts never show callouts, and a chart's own Drawing style on its Style tab can override the dashboard.
  • The chart's Handwritten callout is not Off.
  • It is a single-series line, area, or column chart with at least three points, and one point clearly stands out.
  • The widget is wide enough, and there is space to write the note without covering a mark.

If you set the callout to Highest or Lowest and it still does not show, make the widget larger.

A widget says "Make this widget bigger"#

The widget is too small to draw its content legibly. Drag its corner to make it larger, or raise Width and Height on its Style tab. Each kind has a minimum size, shown in the stepper labels.

A table column shows the wrong format#

Each column in a table widget has a cell type that controls how it is displayed: currency, percent, date, a status pill, a progress bar, a sparkline, a rating, chips, a link, and more. If a column is showing a raw number, a plain date, or a block of text where you expected something nicer, the column's cell type just needs to be set.

Fix a column's format

  1. Open the table inspector

    Click the table widget to open its inspector, then find the column manager (the list of column cards).

  2. Pick the column's cell type

    On the column you want to change, choose the format that fits, for example Currency for an amount, Status for a state, or Progress for a 0-to-100 value.

  3. Set any extra option it needs

    Some types need a small hint. A progress bar and a heatmap need a number to scale against (the column's maximum), and a heatmap or range cell needs numeric data to derive its colour scale. If those are missing, the cell falls back to plain text.

The table column manager showing Date and Amount column cards with reorder grips and per-column format, align, and pin controls, plus more fields available to add.
Set each column's cell type (currency, status, progress, and more) in the table column manager.

Two cell types always show as plain text

Most cell types render richly, but two are plain text on purpose: formula and custom. If a column is set to one of those, a plain value is expected, not a bug. Switch it to a built-in type (such as currency, status, or progress) if you want the richer display.

A non-standard chart stays blank after I bind fields#

The more specialised chart kinds (for example treemap, radar, box plot, heatmap matrix, and sankey) are not the usual two-axis charts, so their fields are set up a little differently. If one of these stays empty even after you picked fields, open its inspector and look at the Fields section: re-pick each field there (for example the path for a treemap, or the axes for a radar) so every slot points at a real field. Saving from that Fields section writes the binding the chart needs, and the chart fills in.

The treemap inspector Fields section showing the Hierarchy path editor with a two-level path (Category then Merchant, each a field picker with reorder and remove controls) plus a Value section bound to Amount.
Specialised chart kinds set their fields in the inspector's Fields section: re-pick each slot (here a treemap's path and value) so every one points at a real field.

A dashboard will not open#

If a dashboard link shows "unavailable" or not found, check that:

Dashboard will not load

  1. You have access

    Private dashboards are visible only to their creator; a workspace dashboard needs you to be a member.

  2. The link is current

    If the dashboard was deleted, or a public link was regenerated, the old link stops working.

  3. It was saved

    A draft that was never named or given a widget was never saved, so it has no permanent link.

The dashboard route fallback when a dashboard link does not resolve, showing a headline and a 'start a new dashboard' escape hatch.
When a dashboard link does not resolve, the page offers a way to start a new dashboard instead.

Frequently asked#

Do widgets ever show sample data?

No. On a real dashboard, every widget reads your actual synced data, never made-up sample rows. The previews on widget library cards and in the template gallery are drawn from sample rows, but anything you place on a canvas is live.

Why can't I add a widget marked Soon?

Cards marked Soon in the widget library are not ready yet: they are listed so you know they are coming, but they cannot be added. A card marked Needs data can still be added; it waits for you to connect a bank, feed, or table.

Why did my widget's icon change?

Every widget kind now has its own drawn icon, and a widget that never had an icon chosen for it shows its kind's icon. To pick a different one, click the icon beside the widget's name in the inspector.

Why did my custom widget fail to build?

A custom widget must compile, use only vendored imports, and declare the inputs and capabilities its code uses. Fix the line-anchored build error in the editor. Package source is limited to 256 KB and the compiled bundle to 512 KB.
The custom widget authoring dialog after a failed build, with an error panel ('Source must export a defineWidget(...) default.') in place of the preview.
A custom widget reports its build error in place of the preview instead of rendering.

Why does a custom widget say permission required?

The saved package version, data binding, or requested capabilities do not match a live grant. Ask a workspace administrator to review it. Rebuilding, upgrading, or changing an input deliberately invalidates the old approval; changing an ordinary display setting does not.

Why does an input say Needs mapping?

A required canonical field is missing or incompatible in the selected source. Pick another bank or feed, or repair the mapping. BankSync will not silently substitute an unrelated field. If the package is missing or archived, reinstall a supported version instead.

What does protocol mismatch mean?

The installed bundle targets an SDK/protocol the sandbox cannot run. Legacy v1 widgets use the v2 compatibility runtime; new package widgets use SDK API 3/protocol v3. Install a compatible package version rather than editing the persisted protocol number.

What do the widget error messages mean?

When a widget hits a real error it shows the reason and a next step right on the cell. The common ones: "could not load data" means the read from your bank feed or connected destination failed (an expired connection, such as a lapsed spreadsheet sign-in, is the usual cause); a timeout means the query took too long, so narrow it with a filter and try again; and "query not found" means the widget's saved query is out of date, which usually clears after re-opening the dashboard.

The canvas can hide a connection problem

A widget can look fine on the saved dashboard but fail when you edit it. That is because the live editor re-reads the data and can surface a failure (for example an expired spreadsheet or bank connection) that the cached canvas was masking. If a widget only errors in the editor, treat it as a connection that needs reconnecting, not a broken dashboard.

Still stuck?#

If a widget keeps erroring after you have checked its data and fields, the underlying feed may need attention (a reconnect or a re-sync). See Bank feeds troubleshooting, or open Settings → Support in the app. Name the dashboard and the widget, and include the error message if there is one.

Open support in the app

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.