Dashboard
A basic dashboard for your accounting data
GnuCash's Dashboard (Reports › Multicolumn › Dashboard): four reports on one page, in two columns. The expense and income pie charts sit side by side, the Income/Expense Chart fills the next row and the Account Summary the last, each with its own defaults. Use it for a quick look at where money comes from and goes, and what the accounts hold.
The Dashboard is not a template but a built-in saved configuration of the
Multicolumn View: "Report name" Dashboard, two columns, and the four children in
GnuCash's order and spans. report.list lists it with kind: "saved" and readOnly: true,
under GnuCash's menu path. Run it by its name or by its GUID, ad80271c890b11dfa79f2dcedfd72085 (the GnuCash menu
item's).
Changing it
options change the Dashboard for one run, as for any report. It can't be changed for good, renamed or deleted:
report.updateConfiguration, report.renameConfiguration and
report.deleteConfiguration refuse it with conflict (data.reason: "built-in"). Copy it instead
with report.saveConfiguration under a name of your own, then change the copy.
Its name is not reserved. If you save or import a configuration also called "Dashboard" (GnuCash names a saved
dashboard after its "Report name"), the name matches both and is refused with conflict, its data.matches giving
both GUIDs; name each by its GUID.
Key options
- General › Number of columns: 2. A row is closed once the column spans of its children reach it.
__general›report-list: the four children, each a template GUID with its column and row spans: the Expense Accounts pie (1×1), the Income Accounts pie (1×1), the Income/Expense Chart (2×1) and the Account Summary (2×1). A child given no options runs on its template's defaults.
Examples
The Dashboard of a fixture book: three rows, the two pies in the first.
Example: with a copy of the reports/test-data example book open as book.gnucash.
JSON-RPC
Request:
{"jsonrpc":"2.0","id":1,"method":"report.run","params":{"report":"Dashboard"}}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"report": {
"guid": "d8ba4a2e89e8479ca9f6eccdeb164588",
"name": "Multicolumn View",
"configuration": "ad80271c890b11dfa79f2dcedfd72085"
},
"title": "",
"sections": [
{
"blocks": [
{
"kind": "grid",
"rows": [
{
"cells": [
{
"colspan": 1,
"rowspan": 1,
"result": {
"title": "Expense Accounts",
"…": "…"
},
"…": "…"
},
{
"colspan": 1,
"rowspan": 1,
"result": {
"title": "Income Accounts",
"…": "…"
},
"…": "…"
}
]
},
{
"cells": [
{
"colspan": 2,
"rowspan": 1,
"result": {
"report": {
"guid": "80769921e87943adade887b9835a7685",
"name": "Income/Expense Chart",
"configuration": null
},
"…": "…"
},
"…": "…"
}
]
},
{
"cells": [
{
"colspan": 2,
"rowspan": 1,
"result": {
"report": {
"guid": "3298541c236b494998b236dfad6ad752",
"name": "Account Summary",
"configuration": null
},
"…": "…"
},
"…": "…"
}
]
}
],
"…": "…"
}
],
"…": "…"
}
],
"…": "…"
}
}
Command line
red-ale exec --book book.gnucash report.run '{"report":"Dashboard"}'
It prints:
{
"report": {
"guid": "d8ba4a2e89e8479ca9f6eccdeb164588",
"name": "Multicolumn View",
"configuration": "ad80271c890b11dfa79f2dcedfd72085"
},
"title": "",
"sections": [
{
"blocks": [
{
"kind": "grid",
"rows": [
{
"cells": [
{
"colspan": 1,
"rowspan": 1,
"result": {
"title": "Expense Accounts",
"…": "…"
},
"…": "…"
},
{
"colspan": 1,
"rowspan": 1,
"result": {
"title": "Income Accounts",
"…": "…"
},
"…": "…"
}
]
},
{
"cells": [
{
"colspan": 2,
"rowspan": 1,
"result": {
"report": {
"guid": "80769921e87943adade887b9835a7685",
"name": "Income/Expense Chart",
"configuration": null
},
"…": "…"
},
"…": "…"
}
]
},
{
"cells": [
{
"colspan": 2,
"rowspan": 1,
"result": {
"report": {
"guid": "3298541c236b494998b236dfad6ad752",
"name": "Account Summary",
"configuration": null
},
"…": "…"
},
"…": "…"
}
]
}
],
"…": "…"
}
],
"…": "…"
}
],
"…": "…"
}
MCP tool call
Tool call:
{"name":"report.run","arguments":{"report":"Dashboard"}}
Result:
{
"structuredContent": {
"report": {
"guid": "d8ba4a2e89e8479ca9f6eccdeb164588",
"name": "Multicolumn View",
"configuration": "ad80271c890b11dfa79f2dcedfd72085"
},
"title": "",
"sections": [
{
"blocks": [
{
"kind": "grid",
"rows": [
{
"cells": [
{
"colspan": 1,
"rowspan": 1,
"result": {
"title": "Expense Accounts",
"…": "…"
},
"…": "…"
},
{
"colspan": 1,
"rowspan": 1,
"result": {
"title": "Income Accounts",
"…": "…"
},
"…": "…"
}
]
},
{
"cells": [
{
"colspan": 2,
"rowspan": 1,
"result": {
"report": {
"guid": "80769921e87943adade887b9835a7685",
"name": "Income/Expense Chart",
"configuration": null
},
"…": "…"
},
"…": "…"
}
]
},
{
"cells": [
{
"colspan": 2,
"rowspan": 1,
"result": {
"report": {
"guid": "3298541c236b494998b236dfad6ad752",
"name": "Account Summary",
"configuration": null
},
"…": "…"
},
"…": "…"
}
]
}
],
"…": "…"
}
],
"…": "…"
}
],
"…": "…"
}
}
A copy to change, and the Dashboard itself refused:
Example: with a copy of the reports/test-data example book open as book.gnucash.
JSON-RPC
Request:
{"jsonrpc":"2.0","id":1,"method":"report.saveConfiguration","params":{"name":"My dashboard","report":"Dashboard","options":{"General":{"Number of columns":3}}}}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"name": "My dashboard",
"kind": "saved",
"template": "d8ba4a2e89e8479ca9f6eccdeb164588",
"inMenu": false,
"…": "…"
}
}
Request:
{"jsonrpc":"2.0","id":2,"method":"report.updateConfiguration","params":{"configuration":"Dashboard","options":{"General":{"Number of columns":3}}}}
Response:
{
"jsonrpc": "2.0",
"id": 2,
"error": {
"code": 2003,
"message": "…",
"data": {
"kind": "configuration",
"reason": "built-in",
"guid": "ad80271c890b11dfa79f2dcedfd72085",
"name": "Dashboard",
"help": "error/conflict"
}
}
}
Command line
red-ale exec --book book.gnucash --script - <<'EOF'
report.saveConfiguration {"name":"My dashboard","report":"Dashboard","options":{"General":{"Number of columns":3}}}
report.updateConfiguration {"configuration":"Dashboard","options":{"General":{"Number of columns":3}}}
EOF
It fails with exit status 2, printing on standard error:
{
"error": {
"code": 2003,
"message": "…",
"data": {
"kind": "configuration",
"reason": "built-in",
"guid": "ad80271c890b11dfa79f2dcedfd72085",
"name": "Dashboard",
"help": "error/conflict"
}
}
}
MCP tool call
Tool call:
{"name":"report.saveConfiguration","arguments":{"name":"My dashboard","report":"Dashboard","options":{"General":{"Number of columns":3}}}}
Result:
{
"structuredContent": {
"name": "My dashboard",
"kind": "saved",
"template": "d8ba4a2e89e8479ca9f6eccdeb164588",
"inMenu": false,
"…": "…"
}
}
Tool call:
{"name":"report.updateConfiguration","arguments":{"configuration":"Dashboard","options":{"General":{"Number of columns":3}}}}
Result:
{
"isError": true,
"structuredContent": {
"error": {
"code": 2003,
"name": "conflict",
"message": "…",
"data": {
"kind": "configuration",
"reason": "built-in",
"guid": "ad80271c890b11dfa79f2dcedfd72085",
"name": "Dashboard",
"help": "error/conflict"
}
}
}
}
Built-in saved configuration GUID: ad80271c890b11dfa79f2dcedfd72085, read-only · Configures: Multicolumn View · Script: standard/view-column.rhai
Options
General
- Report name (string, default
"Dashboard"): Enter a descriptive name for this report. - Stylesheet (multichoice, default
"Default"): Select a stylesheet for the report. - Add options summary (multichoice, default
"never"): Add summary of options. - Number of columns (numberRange, default
2): Number of columns before wrapping to a new row.
__general
- report-list (reportPlacement, default
[{"report":"9bf1892805cb4336be6320fe48ce5446","colspan":1,"rowspan":1},{"report":"e1bd09b8a1dd49dd85760db9d82b045c","colspan":1,"rowspan":1},{"report":"80769921e87943adade887b9835a7685","colspan":2,"rowspan":1},{"report":"3298541c236b494998b236dfad6ad752","colspan":2,"rowspan":1}]): The reports to show, in order: each a report template or saved report configuration by GUID, with the columns and rows it spans.