TaxTracker TaxTracker

How it works

A plain-language guide to our pipeline: origination → collection → expenditure. This is about methodology, not how to submit data.

The pipeline

We aggregate public records, normalize them to a common schema, compile to JSON, and render pages.

What’s in a tax record

  • name, slug, status, type
  • jurisdiction (level, name, slug)
  • agency (name, slug)
  • rates[] (percent/amount; applies_to; cap)
  • revenue & revenue_year (latest annual USD)
  • sources[] (name + URL), updated_at, notes

Provenance & verification

  • Every fact links to an official source.
  • Edits via PR/Issues leave an auditable history.
  • Automated validation catches schema drift.

How pages are generated

Inventory reads _data/compiled/taxes.json. Per-tax pages are generated from that dataset (either via a build step or a Jekyll generator), ensuring the site reflects the latest data.

Roadmap

Contribute a tax from your jurisdiction

Start small—add one accurate record with an official source. We validate JSON and key ordering automatically.