Every answer cites the section, is reproducible, and is computed without a language model.
New The Income Tax Act, computed
Allowances, withholding, foreign companies, turnover tax and the company computation itself. Every figure is worked out again in whole cents and tied to the section that requires it. The same facts give the same rand, every time.
The coverage map
Green is computed today. Brass is being built now, one module at a time, each checked against the Act before it ships. Nothing on this map is described as done before it is.
Net income inclusions for controlled foreign companies, the high-tax exclusion and the foreign dividend exemption, tier by tier.
Computed todayEvery monthly allowance worked out again from cost and write-off period, with the six-month prepaid limit applied.
Computed todayAsset by asset from first use, part-year apportionment, and recoupment under s 8(4)(a) when an asset is sold.
Computed todayEach allowance checked against the statutory rules, and the taxable part separated from the business part.
Computed todayAccrual worked out again for every period. The holder's inclusion must equal the issuer's deduction.
Computed today20 percent, or a treaty rate only when a valid declaration and undertaking were on file before payment.
Computed todayWithholding on interest, royalties and entertainer fees, rated from the payee's status and paid over on time.
Computed todayTT02 interims and the TT03 annual return, worked out again from amounts received and the bands in force.
Computed todayRetirement, medical, UIF and SDL proved employee by employee, inside every ceiling and remittance deadline.
Computed todayFrom accounting profit, through add-backs and allowances, to normal tax, with every row traced to its source.
Computed todayEvery reportable payee reassembled, tested against the box threshold, and tied to what was actually issued.
Computed todayDuty and settlement figures tied out unit by unit before the transfer is lodged.
Computed todayOpening plus purchases minus closing equals cost of sales, to the cent, with recoupment on disposal.
In buildBalances carried forward and set off against income, never below zero, with sequestration and compromise rules.
In buildThe deduction rules from (a) onwards, with the capital or revenue question handed to a person.
In buildManufacturing plant at 40, 20, 20 and 20 percent, pipelines, learnerships and improvements on leased land.
In buildMore than twenty-seven categories of exemption, each with its own conditions.
In buildEverything an employee receives beyond allowances, brought into income on the right basis.
In buildExchange gains and losses on foreign currency items, realised and unrealised.
In buildLow-interest loans, with the official rate taken from SARS and never assumed.
In buildVesting gains on equity instruments and the broad-based employee share plan exemption.
In buildIncome that vests in beneficiaries, and income that stays taxed in the trust.
In buildCapped at 10 percent of taxable income, and only against a PBO approval that was in force on the day.
In buildProceeds, base cost, exclusions and inclusion rate, including time-apportionment for pre-2001 assets.
In buildFlags the hallmarks of an impermissible avoidance arrangement for review. It never applies the rule itself.
In buildIncome shifted to a spouse or minor child, attributed back to the person the Act names.
In buildThe 150 percent deduction, only for projects approved before the spend.
In buildWhat exact looks like

Where the Act asks for judgement
Some words in the Act are not arithmetic. A model would guess them. Certus Logic hands them to your tax specialist, with the section and the facts it holds.
The corpus says what the law says. This answers what to file, by when, on which form, in what amount. No model guards the number.
One legal value is one flat entry. A gazette change is an append with a citation, never a silent edit. Past cases stay correctly computable.
No database, no network, no random. Same inputs give same bytes, stamped with engine version and pack hash.
Catala prints as the audit document: paragraph on the left, executable rule on the right, worked examples below.
Lend against real payroll. Verify the payslip claim before the credit decision, price the retrenchment before the referral lands.
Recompute UIF to R17,712, SDL 1 percent, PAYE brackets and net pay from gross and period. Flag mismatch early.
Price 200 person exits: severance under BCEA s41, notice under s37, leave payout and PILON. Versioned by trigger date so 2025 and 2026 rates do not bleed.
Offer SME clients a check they can show a union: NMW R30.23, BCEA s35 weekly calc and foreign national facts with citations.
calculateSeverancePay · 4 year · R4,500 weekly · operational requirements
R18,000 per person · R3.6m for 200
Every payslip and termination hits a statute. Make that statute executable and give finance the same proof your auditor reads.
UIF 1 percent plus 1 percent to ceiling, SDL 1 percent, PAYE and ETI in integer cents. Rates are versioned inputs, not constants.
Notice under BCEA s37, severance under s41, annual and sick and family responsibility leave, with collective agreement overrides.
Provision the retrenchment, accrue leave, close the month. Every figure carries engine version and pack hash.
ccmaReferralDeadline · dismissal 2026-02-10 → 2026-03-12 · 30 days · LRA s191
One endpoint for every rule. The engine returns a structured ok or error shape, the HTTP layer only forwards it. Add a rule by adding one flat data entry.
No AI in the path. The engine is pure functions. A model, if you use one, reads computed facts and never computes them.
The full architecture, including the frozen date engine and provenance gates, is on the How it works page.
For South African banks, payroll platforms, HR suites and finance teams. One engine, every labour and tax figure, citable to the gazette. Certus Law is the toolkit that runs on it.