Rate changelog
Every date we went back to a tax authority document, what we read when we did, and whether the figure had moved. Built from the ruleset itself, so it cannot claim a check that never happened.
A hand-written changelog drifts from the rules it describes, and the drift always runs one way: the page claims a freshness the data does not have. This page reads retrieval dates straight off the store, so an entry cannot exist without a rule behind it, and a rule cannot be refreshed without an entry appearing here.
This store is 3 days old and the log says so
Almost every figure here was read once, on 06 September 2026, in the bulk ingest that created the store. 19 more were read on 08 September 2026. That is not much of a history, and a changelog that padded it out with build timestamps would be worse than an empty one.
The number worth watching is the 8. 8 rules in the store supersede an earlier figure, which means 8 published numbers actually moved rather than simply being read again. The old rule stays in the file and the new one names it, so the change is visible here and in the open data rather than only in the result.
Two of them became corrections, because the figure we published before the revision was wrong rather than merely older.
Readings, newest first
Each date lists what was read that day and which authority it came from. Where a reading revised a figure we had already published, the row says so and names the rule it replaced: a first reading and a revision are different events and are never printed as the same thing.
2026-09-08
19 figures read from 14 documents across 3 jurisdictions. Every one of them a first reading.
2026-09-07
17 figures read from 1 document across 1 jurisdiction. Every one of them a first reading.
2026-09-06
959 figures read from 21 documents across 39 jurisdictions. 8 of them revised figures already in the store.
8 figures replaced an earlier rule that stays in the file. Each is a later tax year of a figure the authority restates annually, so the earlier one is still correct for the year it governs.
What is not in here
Jurisdictions with nothing to record
Jurisdictions we have not ingested yet do not appear, because there is no reading to record. Their figures on the calculator are prototype data marked as unverified, and they are marked on the page rather than smoothed into the sourced ones.
When one is sourced, its first reading shows up on this page on the day it happens, not on the day we decide to write about it.
Anything we did not read
A deployment is not a reading. Rebuilding the site, changing a layout or fixing a typo produces no entry here, because none of those is a fresh look at an authority’s document. Every date above is a day a document was actually fetched.
This is the distinction most rate changelogs quietly lose. A single build timestamp copied across every row is a claim about a server, not about a rate.
The reason a figure changed
This page records that a figure moved and which rule it replaced. It does not argue about why, because the two cases are different: a rate the authority changed is news, and a rate we misread is a mistake.
Mistakes go to the corrections log with the money attached. Ruleset sha256:fe993d9d072cbcac.
A promise about going stale
Every rule carries its own limit. 977 of them may go 400 days between readings, which is long enough to span a tax year but not two. The 18 exchange rates are held to 30 days, because a reference rate from last quarter is not a reference rate.
A figure past its own limit does not get served with an apology attached. It stops the site from publishing at all, which is the only version of this promise that survives nobody watching.
Wrong figure?
A figure that is merely old shows up on this page by itself. A figure that is wrong does not, and needs a human to say so. The corrections log is where that goes, and the wrong number stays printed in full when it gets there.