How the comparison works
Each figure in the table below is computed when the site is built, by calling the engine function the linked calculator calls. Nobody types the "our figure" column in. If an engine change moved one of these numbers, the page would show the new number and a cross.
It would not get that far. Every row names a test in the repository that asserts the same figures, and a separate test, lib/officialExamples.test.ts, recomputes every row, checks it against the printed figure, and fails if the named test has been renamed or deleted. Both run in the test suite that must pass before a change is merged.
Authorities round. The IRS prints whole dollars, Skatteetaten whole kroner. The engine keeps cents, so where the official figure is whole we compare at the precision the authority printed and show our unrounded figure beside it. The match rule is stated on every row: exact means equal as printed, rounded means equal after rounding ours to whole units, and truncated means equal after dropping the fraction, which is what Skatteetaten does.
Official worked examples against our output
Sources were read on the date shown under each one. Follow the link to see the example in the authority's own words.
| Source document | Inputs | Figure | Official | Ours | Match |
|---|---|---|---|---|---|
| US Department of Veterans Affairs: 38 CFR 4.25(a), combined ratings tableRead 2026-10-15engine/vectors/veterans-benefits.test.ts | Two disabilities rated 50% and 30%Open the calculator | Combined value | 65% | 65% | Yes(exact) |
| Combined rating | 70% | 70% | Yes(exact) | ||
| US Department of Veterans Affairs: 38 CFR 4.25(a), combined ratings tableRead 2026-10-15engine/vectors/veterans-benefits.test.ts | Two disabilities rated 40% and 20%Open the calculator | Combined value | 52% | 52% | Yes(exact) |
| Combined rating | 50% | 50% | Yes(exact) | ||
| US Department of Veterans Affairs: 38 CFR 4.25(a), combined ratings tableRead 2026-10-15engine/vectors/veterans-benefits.test.ts | Three disabilities rated 60%, 40% and 20%Open the calculator | First two combined | 76% | 76% | Yes(exact) |
| All three combined | 81% | 81% | Yes(exact) | ||
| Combined rating | 80% | 80% | Yes(exact) | ||
| US Department of Veterans Affairs: About VA disability ratings (va.gov)Read 2026-10-15engine/vectors/veterans-benefits.test.ts | Three disabilities rated 50%, 30% and 10%Open the calculator | Combined value | 69% | 69% | Yes(exact) |
| Combined rating | 70% | 70% | Yes(exact) | ||
| Internal Revenue Service: Self-employed individuals: calculating your own retirement plan contribution and deductionRead 2026-10-15engine/vectors/self-employed-retirement.test.ts | $100,000 Schedule C net profit, 10% plan contribution rateOpen the calculator | Self-employment tax | $14,130 | $14,129.55$14,130 as printed | Yes(rounded) |
| Half of SE tax deducted | $7,065 | $7,064.78$7,065 as printed | Yes(rounded) | ||
| Net profit less half SE tax | $92,935 | $92,935.22$92,935 as printed | Yes(rounded) | ||
| Contribution at 9.0909% | $8,449 | $8,448.66$8,449 as printed | Yes(rounded) | ||
| Illinois Attorney General: Illinois Estate Tax fact sheet, computation examplesRead 2026-10-15calculators/illinois-estate-tax-calculator/vectors.test.ts | $5,000,000 estate, all Illinois propertyOpen the calculator | Illinois estate tax | $285,714 | $285,714.29$285,714 as printed | Yes(rounded) |
| Illinois Attorney General: Illinois Estate Tax fact sheet, computation examplesRead 2026-10-15calculators/illinois-estate-tax-calculator/vectors.test.ts | $4,000,000 estate, all Illinois propertyOpen the calculator | Illinois estate tax | $0 | $0 | Yes(exact) |
| HM Revenue & Customs: Marginal Relief for Corporation Tax (gov.uk guidance)Read 2026-10-15engine/vectors/uk-business-tax.test.ts | A company with 3 other associated companiesOpen the calculator | Lower limit | £12,500 | £12,500 | Yes(exact) |
| Upper limit | £62,500 | £62,500 | Yes(exact) | ||
| Skatteetaten (Norwegian Tax Administration): Car rates: company cars, example with list price under NOK 370,300Read 2026-10-15calculators/norway-company-car-tax-calculator/vectors.test.ts | Company car with a list price of NOK 279,000, 2026Open the calculator | Taxable benefit per month | NOK 6,975 | NOK 6,975 | Yes(exact) |
| Skatteetaten (Norwegian Tax Administration): Car rates: company cars, example with list price over NOK 370,300Read 2026-10-15calculators/norway-company-car-tax-calculator/vectors.test.ts | Company car with a list price of NOK 660,000, 2026Open the calculator | Taxable benefit per month | NOK 14,085 | NOK 14,085.83NOK 14,085 as printed | Yes(truncated) |
| Inland Revenue Authority of Singapore (IRAS): Property tax rates, Example 1Read 2026-10-15engine/vectors/singapore-property-tax.test.ts | Owner-occupied home, annual value S$36,000Open the calculator | Property tax | S$960 | S$960 | Yes(exact) |
| Inland Revenue Authority of Singapore (IRAS): Property tax rates, Example 2Read 2026-10-15engine/vectors/singapore-property-tax.test.ts | Owner-occupied home, annual value S$84,000Open the calculator | Property tax | S$5,480 | S$5,480 | Yes(exact) |
| Inland Revenue Authority of Singapore (IRAS): Property tax rates, Example 3Read 2026-10-15engine/vectors/singapore-property-tax.test.ts | Home not occupied by the owner, annual value S$36,000Open the calculator | Property tax | S$4,800 | S$4,800 | Yes(exact) |
| Inland Revenue Authority of Singapore (IRAS): Property tax rates, Example 4Read 2026-10-15engine/vectors/singapore-property-tax.test.ts | Home not occupied by the owner, annual value S$84,000Open the calculator | Property tax | S$19,440 | S$19,440 | Yes(exact) |
| Inland Revenue Authority of Singapore (IRAS): Property tax rates, Example 5Read 2026-10-15engine/vectors/singapore-property-tax.test.ts | Commercial property, annual value S$54,000Open the calculator | Property tax | S$5,400 | S$5,400 | Yes(exact) |
| Inland Revenue Authority of Singapore (IRAS): Buyer's Stamp Duty (BSD), Example 1Read 2026-10-15engine/vectors/singapore-stamp-duty.test.ts | Residential property bought at S$4,500,100Open the calculator | Buyer's stamp duty | S$209,606 | S$209,606 | Yes(exact) |
| Inland Revenue Authority of Singapore (IRAS): Additional Buyer's Stamp Duty (ABSD), exampleRead 2026-10-15engine/vectors/singapore-stamp-duty.test.ts | Foreigner buying a home at S$2,000,000Open the calculator | Additional buyer's stamp duty | S$1,200,000 | S$1,200,000 | Yes(exact) |
| Inland Revenue Authority of Singapore (IRAS): Corporate income tax rate, rebates and tax exemption schemes, Example 3Read 2026-10-15engine/vectors/singapore-business-tax.test.ts | YA 2026, S$17,500 chargeable income at 17%, eligible for the S$2,000 cash grantOpen the calculator | Gross tax payable | S$2,975 | S$2,975 | Yes(exact) |
| CIT rebate given | S$0 | S$0 | Yes(exact) | ||
| Net tax payable | S$2,975 | S$2,975 | Yes(exact) | ||
| Inland Revenue Authority of Singapore (IRAS): Income from property rented out, sublet room exampleRead 2026-10-15engine/vectors/singapore-tax.test.ts | Room sublet for S$600 a month, 15% deemed expensesOpen the calculator | Deemed expenses | S$1,080 | S$1,080 | Yes(exact) |
| Net rent | S$6,120 | S$6,120 | Yes(exact) | ||
| Government of Indonesia: Peraturan Pemerintah 58/2023, explanatory note to Article 2(1), the "Tuan R" exampleRead 2026-10-15engine/vectors/indonesia-pph21.test.ts | Rp10,000,000 monthly salary, Rp100,000 monthly pension contribution, married with no dependants (K/0)Open the calculator | Withholding, January to November | Rp 200,000 | Rp 200,000 | Yes(exact) |
| Tax for the year | Rp 2,715,000 | Rp 2,715,000 | Yes(exact) | ||
| Withholding in December | Rp 515,000 | Rp 515,000 | Yes(exact) | ||
| New Zealand Department of Internal Affairs: Rates rebate application form 2026/27, "How much will my rebate be?" tableRead 2026-10-15engine/vectors/nz-property-tax.test.ts | No dependants, no SuperGold Card; five household income and rates combinationsOpen the calculator | $50,000 income, $4,000 rates | NZ$462 | NZ$462 | Yes(exact) |
| $53,000 income, $4,000 rates | NZ$87 | NZ$87 | Yes(exact) | ||
| $59,000 income, $6,000 rates | NZ$670.33 | NZ$670.33 | Yes(exact) | ||
| $62,000 income, $6,000 rates | NZ$295.33 | NZ$295.33 | Yes(exact) | ||
| $71,000 income, $8,000 rates | NZ$503.67 | NZ$503.67 | Yes(exact) |
$100,000 Schedule C net profit, 10% plan contribution rate. The IRS example is for tax year 2019. The rule behind its $14,130 (15.3% on 92.35% of net profit) is the same in 2026, and $92,350 of earnings is below both years’ Social Security wage base. The IRS rounds to the dollar; the engine keeps cents (SE tax $14,129.55).
$5,000,000 estate, all Illinois property. The engine gives $285,714.29; the fact sheet prints whole dollars.
Company car with a list price of NOK 660,000, 2026. The engine gives NOK 14,085.83. Skatteetaten prints whole kroner and drops the 83 øre rather than rounding up.
Where there is no official example yet
The table is short compared with the catalog, and that is deliberate: a row goes in only when the authority prints inputs and an answer we can reproduce. Some obvious candidates are missing, and it is better to say why than to imply they are covered.
- IRS Publication 15-T. Its percentage-method examples compute withholding from a single paycheck. No calculator on this site implements that method; the W-4 withholding calculator estimates the year's tax and compares it with what you are having withheld. Testing it against 15-T would test something it does not do.
- IRS tax tables. For taxable income under $100,000, the tax table in the Form 1040 instructions taxes the midpoint of each income band, most of them $50 wide. Our federal calculators apply the rate schedule to your exact income, so they can differ from the table by a few dollars by design.
- Social Security, HMRC income tax, the ATO and the CRA. These calculators are tested against rates and thresholds taken from the primary documents, with expected answers derived by hand. None of their tests yet reproduces a worked example those agencies print, so none appears above.
Building this page also turned up two tests whose names claimed more than their sources show. One said it reproduced a gov.uk worked example for the High Income Child Benefit Charge at £67,600; the current gov.uk guidance states the rule but prints no such example. The other described NOK 137,030 as Skatteetaten's own example; Skatteetaten's examples use list prices of NOK 279,000 and NOK 660,000. Both tests were renamed to say what they check, and the two real Skatteetaten examples were added as new tests and appear in the table.
The rest of the test suite
The official examples sit on top of a much larger suite. It has three layers.
- Engine vectors. 257 test files in
engine/vectors/exercise the shared calculation modules directly: amortization, time value of money, tax brackets, day counts, and each country's tax rules. Many expected values are worked by hand in a comment above the assertion, so a reviewer can check the arithmetic without running anything. - Calculator vectors. Each of the 1,236 calculators has its own
vectors.test.ts, which imports the page's real configuration and checks its output for specific inputs. The names of those tests are listed near the foot of each calculator page. - Guards. Tests that check the pages rather than the maths: that each page's Quick Answer states the figure its engine computes, that a percentage label was not left behind when a rate was corrected, and that no statutory table has fallen behind the calendar year or gone more than 18 months without being re-verified.
On 15 October 2026 the full suite ran 8,274 tests in 1,327 files, all passing. The count rises as calculators and examples are added; the figure here is updated whenever this page is.
What must pass before a change ships
The same checks run on every push to the main branch, on every pull request, and once a week on a schedule so that a table going stale is caught even when nobody has touched the code:
- Type checking of the whole codebase.
- The full test suite described above.
- Registry validation: the catalog schema, duplicate and collision checks, a 1,200-word floor on each calculator page, and a check that every calculation module a page declares is one its code calls, and the reverse.
- A count of em and en dashes in calculator content, which must be zero.
- A production build of every page.
- An output audit that runs every calculator and fails if a promised result is missing.
- A mechanism audit that flags a "How this is calculated" step describing something with no trace in the code it is bound to.
The last of these exists because of a real failure. In August 2026 about 150 pages described calculation steps no code performed. No numeric test caught it, because a made-up step contains no number. The fix and the reasoning are on the About page and in the methodology.
What a passing test does not prove
A test shows the engine gives the expected answer for the inputs in the test. It does not show the calculator suits your situation, that a law has not changed since the source was read, or that the inputs you enter are the right ones. Each calculator page has a section on what it does not account for. Read it before relying on a result.
If you find a published example we get wrong, send it through the contact page with a link to the document. If it is a fair test of what the calculator does, it will be added to this table, whether it passes or not.