Skip to content

Corporate income tax in two passes, in formulas

⏱ 7 min readUpdated on Source code: src/hooks/useResultsData.ts (the two passes) · src/lib/tax-bridge.ts · function buildTaxBridge (the tax bridge)

The net result depends on tax, and tax on the result. But tax is calculated on the result BEFORE tax, which tax does not change: two passes of the journal are enough, with no iteration.

Notation

the journal of the first pass, produced with zero tax
the final journal, produced with the calculated tax
the result of financial year before tax (classes 6 and 7, excluding tax)
the disallowed expenses (dépenses non admises / verworpen uitgaven) to be added back
prior losses and other deductions actually used (within the limit of the “basket”, corbeille / korf)
the elements of the result to which the deduction ban applies, included in the DNA: the DNA on the benefit in kind of a car (art. 198, § 1, 9° and 9°bis ITC 92)
the taxable base
the threshold of the first bracket taxed at the reduced rate
the reduced rate and the ordinary rate for the tax year (exercice d'imposition / aanslagjaar)
corporate income tax (impôt des sociétés / vennootschapsbelasting) for financial year

The two passes

first pass(1)
taxable base(2)

(2): the deductions (prior losses, basket included) are only set off against the positive part of ; the elements always stay in the base, and the year's carry-forward loss is (FPS Finance, explanations of the corporate income tax return, tax year 2026, p. 29-30).

tax(3)
second pass(4)
net result(5)

(4): tax is posted below the result before tax; the second pass adds the tax entries without changing EBT. That is why two passes are enough: there is nothing to converge. The rates, the threshold and the tax year are read from Fiplan's versioned rules; the conditions for the reduced rate are detailed in Corporate income tax and the reduced rate.

Numerical application · Boulangerie Dupont, 2027

Financial year 2027, tax year 2028; 2027 rates; reduced rate applied (subject to the conditions not filled in); no disallowed expenses and no prior losses.

(1)
(2)
(3)
(4)
(5)

The first pass has 557 entries; the second has 562: the same ones, plus the tax charge and its payment. The results before tax for 2028 and 2029 are also identical from one pass to the other (€100,376.05 and €100,725.40). At the ordinary rate alone, the 2027 tax would be €26,025.38.

The journal entry

At 31 December 2027, the tax for the financial year
SideAccountDescriptionAmount
Debit670200Belgian income taxes on the result of the financial year — Estimated tax charges21,025.38
Credit450000Estimated tax payable — Belgian income taxes21,025.38
In June 2028, the payment
SideAccountDescriptionAmount
Debit450000Estimated tax payable — Belgian income taxes21,025.38
Credit550000Credit institutions — Current accounts21,025.38

Without advance tax payments (versements anticipés / voorafbetalingen), the balance of the tax is paid six months after year-end, in June 2028: this is a Fiplan modelling convention, the same for every file, not a legal rule.

Try it yourself

Change the profit: formulas (2) and (3) are recalculated

Taxable base B€104,101.51
Corporate income tax€21,025.38
Effective rate20.2%
Net profit EBT − ISOC€83,076.13

Tax year 2028, with no prior losses. The block calls buildTaxBridge, the tax bridge function that Fiplan calls between its two passes.

Source

Income Tax Code 1992, art. 215 (CIR 92 / WIB 92): the ordinary rate, and the reduced rate on the first bracket of €100,000 for companies that meet its conditions; art. 206 and 207: the deduction of prior losses and its limit. FPS Finance (SPF Finances / FOD Financiën), explanatory notes to the corporate income tax return (tax year 2025).

Fiplan conventions, declared in the code: the two passes of the journal (useResultsData); for a tax year not yet published, the most recently published rates; payment of the balance six months after year-end (taxSettlementDelayMonths, provisional).