v5.84.0 20 June 2026

The Heather Colour System: Meaning Never by Colour Alone

The Heather Colour System: Meaning Never by Colour Alone

What changed

The interface now runs on one documented colour system built on heather, the deep purple that is SpeyBooks’ accent throughout: buttons, links, the active item in the sidebar, chart fills, and the marks that draw your eye to what matters. Green has been retired. The figures, status marks, and accents that used to be green now use heather or a neutral content colour, so that colour signals a role rather than decorating a surface. Underneath, a palette of four quiet category hues is now defined. It is the groundwork for telling categories apart, a key type or a rule scope, without leaning on the colours that already carry meaning.

Why it matters

A colour in an accounting interface is a claim. Green reads as good or settled, red as wrong or owed, and an interface that uses those colours loosely makes claims it cannot stand behind. Under this system every colour means one thing and means it everywhere, so what you read is consistent from the dashboard to the ledger to a report, and a colour never tells you something the numbers do not.

The heart of it is this: no status is ever carried by colour alone. A paid invoice is labelled paid and an overdue one labelled overdue, with the colour sitting on top of the words as a second cue, never the only one. That is what keeps the interface legible if you are colourblind, reading on a poor screen, or glancing quickly, and it holds because it is a property of the system rather than a courtesy applied screen by screen. The surface should feel as trustworthy as the books are proven, and that begins with never being misled by a colour.

Proof and impact

Every colour in the system meets the WCAG AA contrast standard against the background it sits on, and body text on the page background meets the stricter AAA level. This is checkable, not asserted: sample any colour and the surface behind it, and the ratio holds. A colour that does not clear its target does not enter the system, and the rule that meaning is never carried by colour alone is built into the specification a new control inherits, so it cannot be forgotten one page at a time.

There is no change to the API and no change to your data. This is the interface you see, not the kernel beneath it. There are no breaking changes.

What is next

Two parts of the system are deliberately still to come, each shipping as its own release. The four category hues are defined but not yet applied: the key pills and the scope tabs that will carry them are next, with every category still named in text so the hue stays a secondary cue. And a few interactive blues remain in the interface; they retire onto heather in the same line of work, so that a single accent identity carries the whole surface rather than two.