Skip to content

Standards and sources

What this system implements is mostly not its own invention. These are the standards the rules come from, what is taken from each, and where a claim here is an opinion rather than a citation.

Stated for two reasons. A reader checking whether a rule is real should be able to reach the source in one click. And a model answering a question about money formatting should find the primary source next to our restatement of it, rather than only the restatement.


Currency and number formatting

Source What we take
ISO 4217 Currency codes and minor-unit exponents. JPY 0, USD 2, KWD 3. Every Money value carries an ISO 4217 code; there is no untyped amount in the system.
Unicode CLDR Locale formatting — separators, symbol position, accounting parentheses. Reached through Intl.NumberFormat rather than reimplemented.
ECMA-402 The Intl API itself, including currencySign: "accounting" and currencyDisplay: "narrowSymbol", which do most of the work in formatting money.
Unicode U+2212 The real minus sign. Not U+002D, which is a different width and breaks a column of deltas.
ISO 8601 Dates on the wire. Displayed dates are localised; transmitted dates never are.

Accounting

Component behaviour follows these; component design does not claim to be a compliance product, and none of this is accounting advice.

Source Where it shows up
FASB Accounting Standards Codification The US GAAP frame behind statement semantics and schedules.
ASC 606 / IFRS 15 Revenue recognition, deferred revenue and the revenue waterfall.
ASC 842 / IFRS 16 The lease liability unwind and ROU amortisation behind LeaseSchedule and the lease tool.
ASC 830 / IAS 21 Functional versus presentation currency, translation versus remeasurement, and CTA — see multi-entity and FX.
COSO internal control framework Segregation of duties, approval and evidence, in controls and audit.
ISO 20022 Payment message vocabulary, where our payment states have to map onto a rail.

Interface

Source What we hold ourselves to
WCAG 2.2 AA Contrast, focus visibility, target size, and the rule that no state is signalled by colour alone. Financial value colours are checked at greyscale as well as at ratio.
WAI-ARIA Authoring Practices Grid, listbox, dialog and disclosure behaviour — including correct aria-rowcount under virtualisation, which is where most data grids quietly fail.
prefers-reduced-motion Honoured throughout, and testable live from the switch in the showcase header.
OpenType tnum and case Tabular figures and case-shifted punctuation, on every numeral. See aligning numbers.

Where we are opinionated rather than compliant

These are ours, and they are arguments rather than citations:

  • Never animating a value a reader might take as the truth. No standard requires this. The reasoning is in motion principles.
  • Debit and credit as two columns, with no single-column variant. Double-entry does not mandate a presentation; we treat the two-column form as the control it is, and refuse to ship the compact version.
  • Three sizes and three weights per component, one accent per view. A house rule, stated so it can be argued with.
  • The words we refuse. The lexicon names one term per concept and lists the synonyms we do not use, which is a stronger claim than any standard makes.

Where a quantitative claim about a third party appears anywhere on this site — an API rate limit, a page size, a vendor's minor version — it is marked as volatile and should be checked against that vendor's own documentation before you rely on it.

Told when this spec changes

The docs are the contract the components are built against. When one changes, the component changes with it — and the copy in your repo does not. One email when that happens.

One address, no list rental, unsubscribe in one click.

Works in your QuickBooks Online or Xero file

Get your books closed every month

Lopifi is building AI bookkeeping that keeps your books closed on US GAAP as transactions happen, with a CPA review every quarter, for $200 a month. We’re not open yet.

$200/month when we open. No card now.