✓ Our accuracy process, in the open
How We Verify Every Tax Figure
No AI in the math. Language models write none of our figures — every number is computed deterministically from CRA & Revenu Québec published rules, and the whole engine re-verifies against published sources on every release. AI-generated tax answers routinely misquote rates; ours mechanically can't.
A tax tool is only useful if its numbers are right. Every figure shown anywhere on this site comes out of one tested calculation engine — never typed into a page by hand. Here is exactly how that engine is checked.
300,000+
automated checks before anything ships
8
provinces fully covered (ON, BC, AB, MB, SK, NS, NB, and Québec incl. QPP/QPIP), 2025 & 2026 each verified separately
1
source of truth — no tax figure lives in page code
1. Every figure traces to a published source
Tax brackets, the basic personal amount and its phase-down, CPP and CPP2 rates and ceilings, the Ontario surtax and health premium, provincial brackets and basic personal amounts for eight provinces (including Manitoba’s high-income BPA phase-out and Quebec’s QPP, QPIP and federal abatement), GST/HST rates by province — each one is stored as data with a citation to the published source it was taken from (canada.ca and CRA-published figures federally; Revenu Québec published figures for QPP, QPIP and Québec tax), re-checked against the live source pages, not from memory. A figure without a verified source does not ship.
The verified rate tables are published as an open dataset (CC BY 4.0, attribution to freelancertax.ca): versioned JSON at /data/v1/ and mirrored on GitHub. It is generated from the same engine the tests gate — never hand-edited. Building a product on this math? There's a self-serve API tier on the waitlist.
2. The engine is tested three independent ways
- Hand-computed anchors — known incomes worked out on paper, bracket by bracket, and asserted against the engine.
- Independent cross-checks — the engine's combined marginal rates are compared against independently published combined federal + provincial marginal-rate tables at many income points. This jointly validates brackets, the BPA phase-down, and the surtax math using numbers we did not produce.
- Randomized sweeps — thousands of random incomes are run through the engine checking invariants that must always hold: tax never decreases as income rises, credits never exceed their caps, the CPP deduction and credit always add up to the total paid.
3. Pages can't drift from the engine
The calculators and generators on this site don't have their own copies of tax figures. Their in-browser code is generated from the tested engine, and an automated test opens the real pages, fills them in, and compares every figure displayed on screen against the engine's output. If a single displayed number disagrees, the site does not deploy.
4. What we deliberately don't do
- No AI-generated tax advice. Every calculation is deterministic and testable. We don't ship anything a test can't verify against a published source.
- Estimates, not filing numbers. Our tools help you plan and understand; your actual return should be prepared with professional software or a professional.
- Honest limits. Where a tool doesn't yet cover your province's tax, it says so plainly instead of showing a number we can't stand behind.
Disclaimer: All tools on FreelancerTax.ca provide estimates for planning purposes only, based on published federal and provincial figures. They are not tax, legal, or accounting advice, and are not a substitute for advice from a qualified professional who knows your situation.