Cash Statement Configuration

This page is for the people responsible for configuring the Cash Statement (often an accountant or finance lead). It explains how the Category Tree shapes the structure, totals, and computed lines of the Cash Statement.

The Cash Statement can be configured from scratch by building a Category Tree yourself. This is important: it means the statement is not a fixed report, and its structure can be audited and explained.

Most first-time setups will prefer a template as a starting point.

A template provides a working baseline:

You can then tailor the structure to match your business without losing clarity.

See: Business Node Initialization → Templates for how templates are selected and what they install.

1) The building blocks

Cash Codes

A Cash Code is assigned to invoice lines (or to a project that produces invoice lines). Cash Codes are the smallest units the Cash Statement aggregates.

Each Cash Code belongs to exactly one Category.

Cash Statement Categories (three types)

A “Cash Statement Category” is a line/group definition in the tree. Categories come in three types:

  1. Category (Cash Code Category)
    Holds Cash Codes directly. This is where “raw” values enter the statement.

  2. Total Category
    A roll-up category that totals one or more child categories (and can roll up through multiple levels).

  3. Expression Category
    A calculated line defined by an expression that references other categories.

You can think of these as: source lines, roll-up lines, and computed lines.


2) Ordering: how you control the narrative flow

The Cash Statement is designed to read in a meaningful sequence rather than as an alphabetical list.

You control this using each Category’s Display Order:

Practical guidance:


3) Polarity: how direction of money is interpreted

Each Category has a polarity:

Polarity matters because it ensures the statement can remain structurally consistent while still expressing “what is good/bad” and “what direction this flow normally has”.

Polarity is also used by forecasting features (for example, when interpreting open work as “sales-like” vs “purchase-like” based on the Cash Code category it uses).


4) Total Categories: hierarchical roll-ups (recursive)

Total Categories are what make the Category Tree more than a flat list.

A Total Category defines a set of child Category Codes that contribute to it. Those children can themselves be Total Categories, allowing multi-level aggregation.

What to use totals for:


5) Expression Categories: calculated analysis lines

Expression Categories let you add calculated lines to the Cash Statement (for example margins or reconciliation checks) without changing any underlying transaction data. They define calculations that reference other categories or expressions.

Expressions are useful for:

Important behavior:

Key points:

See: Category Tree → Expressions (how to create and register expressions).


6) Tax and statutory-like sections: where recursion applies

Not every line in the Cash Statement is a tree node.

However, the statement includes sections whose values are derived from hierarchies of Category Codes, notably:

This is why two users can generate different Cash Statements from the same underlying invoices: they are not changing the transactions—only the meaning structure used to interpret and group them.


Before using the Cash Statement for decision making:

  1. Do all Cash Codes map to the intended Categories?
  2. Is the category order stable and intentional?
  3. Are Total Categories correctly grouped and cycle-free?
  4. Do Expression Categories evaluate cleanly (no errors)?
  5. Are tax-related categories grouped consistently (VAT/corp tax)?

Next: Examples

See: Cash Statement Examples for a small Category Tree, sample invoice activity, and how changing the tree changes the output.