Functional Weave
Code in Python

legal.statutory-interest@1.0.0

README.md

3,571 bytes · view raw

# legal.statutory-interest

Interest a creditor is entitled to by statute, in England and Wales, on one of
three bases:

- `judgment-high-court`: a High Court judgment debt carries simple interest at
  the rate under section 17 of the Judgments Act 1838, 8% a year since
  1 April 1993 (Judgment Debts (Rate of Interest) Order 1993, SI 1993/564),
  from the date of judgment until payment.
- `judgment-county-court`: a County Court judgment carries interest at the same
  rate (County Courts (Interest on Judgment Debts) Order 1991, SI 1991/1184,
  art. 5) only if it is a "relevant judgment", one for **not less than
  GBP 5,000** (art. 1(2)), and from the date it was given (art. 2(1)). A smaller
  judgment returns zero interest and a rate of 0, which is the right answer,
  not a failure. The threshold is data.
- `late-payment`: statutory interest and the fixed sum under the Late Payment
  of Commercial Debts (Interest) Act 1998. This is not re-implemented here: it
  is finance.late-payment-interest, whose interest, rate and fixed sum are
  passed straight through, with `fromDate` as the due date. Its rate is fixed
  when interest starts (8% over Bank Rate on the previous 30 June or
  31 December), so `rateBasisPoints` is that rate.

**Counting.** Interest runs for `toDate - fromDate` days: judgment on 1 March
and paid on 31 March is 30 days. It is simple interest, one day's interest
being 1/365 of a year's in leap years too, computed exactly over the whole
period and rounded half-up to the penny once, so a year that contains 29
February is 366 days' interest, slightly more than 8%. If the judgment rate
ever changes, each day uses the rate in force on it; the data has one row today.

`dailyInterest` is one day's interest at the rate in force on `toDate`,
rounded half-up: the "daily rate of interest" a request for judgment or a
claim form states for interest after the calculation date.

## Not handled (check before relying on it)

- County Court judgments under GBP 5,000 on a debt that carries interest under
  the Late Payment Act or by contract: whether and at what rate they carry
  interest after judgment turns on the Order as amended and on the contract,
  which this capability does not model; use the late-payment basis for the
  statutory rate before judgment.
- Judgments on regulated Consumer Credit Act agreements (no interest under the
  1991 Order, art. 2(3)), instalment orders, suspended possession orders, and
  interest ceasing while enforcement is stayed or an administration order is in
  force.
- Discretionary pre-judgment interest (s.35A Senior Courts Act 1981, s.69
  County Courts Act 1984): the court sets the rate; use lending.daily-interest or
  money.apply-rate with the rate claimed.
- Judgments in foreign currency, and rates before 1 April 1993 (the 15% under
  the 1985 Order is not carried), which are errors.

## Sources

- Judgments Act 1838, s.17: https://www.legislation.gov.uk/ukpga/Will4and1Vict/1-2/110/section/17
- The Judgment Debts (Rate of Interest) Order 1993 (SI 1993/564), art. 2 and
  explanatory note, in force 1 April 1993: https://www.legislation.gov.uk/uksi/1993/564/made
- The County Courts (Interest on Judgment Debts) Order 1991 (SI 1991/1184),
  arts. 1, 2 and 5, in force 1 July 1991: https://www.legislation.gov.uk/uksi/1991/1184/contents
- Late Payment: see finance.late-payment-interest.

Read on 23 September 2026. Both tables declare effective dates, so a
`history=current` build keeps only the rules in force and refuses an earlier
date instead of answering it with today's rule.