Report

Budget Report

The Budget Report report.

A table of a budget, one row for each account and one column pair for each budget period, with the budgeted and the actual amount and the difference between them. This is GnuCash's main budget report: use it to review how a budget is doing, period by period. In GnuCash: Reports ▸ Budget ▸ Budget Report.

The options that matter are General/Budget, General/Report for range of budget periods with Range start and Range end, the Display options that switch the budget, actual, difference and notes columns on and off, and Accounts/Account Display Depth. An account with no budget amount shows . in its budget cell.

Examples

Example: with a copy of the reports/budget example book open as book.gnucash, at 2024-03-15T12:00:00Z.

JSON-RPC

Request:

{"jsonrpc":"2.0","id":1,"method":"report.run","params":{"report":"Budget Report"}}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "title": "Budget Report: test budget ",
    "sections": [
      {
        "blocks": [
          {
            "kind": "table",
            "rows": [
              "…",
              "…",
              "…",
              {
                "role": "account",
                "cells": [
                  {
                    "text": "Asset",
                    "…": "…"
                  },
                  {
                    "display": "$20.00",
                    "…": "…"
                  },
                  {
                    "display": "$35.00",
                    "…": "…"
                  },
                  "…"
                ],
                "…": "…"
              },
              "…"
            ],
            "…": "…"
          },
          "…"
        ],
        "…": "…"
      },
      "…"
    ],
    "…": "…"
  }
}

Command line

red-ale exec --book book.gnucash report.run '{"report":"Budget Report"}'

It prints:

{
  "title": "Budget Report: test budget ",
  "sections": [
    {
      "blocks": [
        {
          "kind": "table",
          "rows": [
            "…",
            "…",
            "…",
            {
              "role": "account",
              "cells": [
                {
                  "text": "Asset",
                  "…": "…"
                },
                {
                  "display": "$20.00",
                  "…": "…"
                },
                {
                  "display": "$35.00",
                  "…": "…"
                },
                "…"
              ],
              "…": "…"
            },
            "…"
          ],
          "…": "…"
        },
        "…"
      ],
      "…": "…"
    },
    "…"
  ],
  "…": "…"
}

MCP tool call

Tool call:

{"name":"report.run","arguments":{"report":"Budget Report"}}

Result:

{
  "structuredContent": {
    "title": "Budget Report: test budget ",
    "sections": [
      {
        "blocks": [
          {
            "kind": "table",
            "rows": [
              "…",
              "…",
              "…",
              {
                "role": "account",
                "cells": [
                  {
                    "text": "Asset",
                    "…": "…"
                  },
                  {
                    "display": "$20.00",
                    "…": "…"
                  },
                  {
                    "display": "$35.00",
                    "…": "…"
                  },
                  "…"
                ],
                "…": "…"
              },
              "…"
            ],
            "…": "…"
          },
          "…"
        ],
        "…": "…"
      },
      "…"
    ],
    "…": "…"
  }
}

Template GUID: 810ed4b25ef0486ea43bbd3dddb32b11 · Script: standard/budget.rhai

Options

Accounts

  • Account Display Depth (multichoice, default 2): Show accounts to this depth, overriding any other option.
  • Always show sub-accounts (boolean, default false): Override account-selection and show sub-accounts of all selected accounts?
  • Account (accountList, default []): Report on these accounts, if display depth allows.
  • Flatten list to depth limit (boolean, default false): Displays accounts which exceed the depth limit at the depth limit.

Display

  • Show Budget (boolean, default true): Display a column for the budget values.
  • Show Budget Notes (boolean, default true): Display a column for the budget notes.
  • Show Actual (boolean, default true): Display a column for the actual values.
  • Link to actual transactions (boolean, default false): Show the actual transactions for the budget period
  • Show Difference (boolean, default false): Display the difference as budget - actual.
  • Show Column with Totals (boolean, default false): Display a column with the row totals.
  • Include accounts with zero total balances and budget values (boolean, default true): Include accounts with zero total (recursive) balances and budget values in this report.

General

  • Report name (string, default "Budget Report"): 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.
  • Budget (budget, default null): Budget to use.
  • Use accumulated amounts (boolean, default false): Values are accumulated across periods.
  • Report for range of budget periods (boolean, default false): Create report for a budget period range instead of the entire budget.
  • Range start (multichoice, default "current"): Select a budget period type that starts the reporting range.
  • Exact start period (numberRange, default 1): Select exact period that starts the reporting range.
  • Range end (multichoice, default "next"): Select a budget period type that ends the reporting range.
  • Exact end period (numberRange, default 1): Select exact period that ends the reporting range.
  • Include collapsed periods before selected. (boolean, default true): Include in report previous periods as single collapsed column (one for all periods before starting)
  • Include collapsed periods after selected. (boolean, default true): Include in report further periods as single collapsed column (one for all periods after ending and to the end of budget range)