How to prepare the corporate income tax return (Form 22)
What is it for?
Form 22 (Modelo 22) is the annual Corporate Income Tax (IRC) return. In fiscaldoo, the return starts from the fiscal year's net income, adds the tax adjustments (the additions and deductions the law requires to be made to the result), calculates the taxable profit, the tax, the surcharge (derrama) and autonomous taxation, and prepares the file you submit on the Portal das Finanças.
fiscaldoo files nothing with the AT: the file is submitted on the Portal and the receipt is kept on the return.
When to use it?
- After the year-end closing and the IES, for the year that has ended.
- To prepare the return after the year-end closing steps.
- Do not use the return to correct the accounts: tax adjustments stay only on the return, not in the journal entries.
Where to find it?
- Accounting › Declare › Corporate income tax › Form 22 (corporate income tax): a list with Period start, Period end, Scheme, Field 701 - Net result of the period, Taxable Profit, Autonomous taxation total and Check against the IES. Pending validation by a certified accountant: field 701 and the check against the IES.
- Accounting › Declare › Corporate income tax › What is there to do with the corporate income tax?: the IRC panel.
Before you start
- The profile is Accountant.
- The fiscal year is closed and the IES Annex A is generated (How to prepare and file the IES): without it, the form warns “There is no generated Annex A of the IES for the period ending on 31/12/2025, so field 701 was not checked. Generate the Annex A in the IES declarations and open this Modelo 22 again.”
- You know the year's tax adjustments (fines, depreciation not accepted, provisions, etc.). Pending validation by a certified accountant: which adjustments apply to the fiscal year and the legal basis of each one.
How to use it
- In Form 22 (corporate income tax), open the fiscal year's return (in the example, Modelo 22 - 2025) or create one with New and choose the Fiscal Year: the Period start and Period end fill themselves in. Confirm the Scheme and whether it is a Small or medium enterprise.
- Check Field 701 - Net result of the period against the Net result in the IES (Annex A): once Annex A is generated, the Check against the IES changes from Not checked to Same as the IES and the Difference to the IES is 0,00 €. In the example, 31.104,16 € in both. Pending validation by a certified accountant: field 701 and the check against the IES.
- On the Tax Corrections tab, add one line per adjustment: the Field of Quadro 07, the Nature (Addition or Deduction), the Description, the Amount, the Explanatory note and the Legal reference. In the example, a deduction of 500,00 € in field 704 and an addition of 1.500,00 € in field 709. The Total additions (1.500,00 €), the Total deductions (500,00 €) and the Taxable Profit (32.104,16 €) are calculated automatically. Pending validation by a certified accountant: fields 704 and 709, nature and legal reference of the adjustments.
- Click Calcular imposto (campo 351) (calculate tax, field 351). On the Tax and deductions (Quadro 10) tab, the Tax (field 351) becomes 5.136,67 € and the IRC assessed (field 358) 5.136,67 €, with no deductions or surcharge. Pending validation by a certified accountant: rate, brackets, fields 351 and 358.
- Where applicable, use the buttons on each tab. The following examples come from a 2026 Modelo 22 (current fiscal year, so field 701 is provisional), with expenses and an adjustment of an artificial amount, only to show the screen with data:
- Calculate autonomous taxation reads the period's journal entries that have the Autonomous taxation (category) filled in on the line and adds one line per category and per vehicle cost. In the example, 1.000,00 € of Entertainment expenses and 600,00 € of fuel for a 30.000,00 € vehicle: Autonomous taxation total 308,00 € (200,00 € and 108,00 €). As the period has a tax loss, the screen adds an Aggravation (p.p.) of 10 points to the rates and says why (“Tax loss in the period: the rates are increased by 10.0 percentage points (CIRC art. 88.º, n.º 14).”).
- Calcular derramas (calculate surcharges) fills in the State surcharge (field 373) using the brackets on taxable profit (in the example, 4.172,01 € on 1.639.067,14 €) and the municipal surcharge per municipality. Without the municipality code on the company, the screen refuses: “A derrama municipal não foi calculada. A empresa […] não tem o código do concelho […]” (the municipal surcharge was not calculated; the company has no municipality code). Once the code is filled in (four digits, for example 1106 for Lisbon, by the administrator, on the company form), the municipality line appears and, if the rate table is not loaded, the warning says “Não há taxa carregada para o concelho 1106 no período […]” (no rate loaded for municipality 1106 in the period), and the municipal surcharge stays at 0,00 €.
- Calculate payments on account starts from the tax of the reference period (in the example, the 2025 Modelo 22, 5.136,67 €) and creates the three instalments at 80 %: 1.370,00 € each, 4.110,00 € in total, with the due date (31/07, 30/09 and 15/12) and the state of each one (Late, To pay).
- Suggest tax losses to deduct lists the tax losses from previous years still to be deducted and shows the Legal limit of the deduction (in the example, 1.065.393,64 €, which is 65 % of taxable profit). Without previous losses, the list stays empty and Tax losses still to deduct is 0,00 €. With losses from previous years, the button adds them to the list up to the limit. Tested example: the 2025 Modelo 22 with a deduction of 40.000,00 € in field 704 ended with Taxable profit (tax loss if negative) of −7.895,84 € and the loss was recorded as a Tax loss carried forward (Modelo 22) of 7.895,84 €, with no time limit (screen notice: “Sem prazo (CIRC art. 52.º com a redação da Lei n.º 24-D/2022).”, no deadline). In the 2026 Modelo 22, with taxable profit of 29.200,21 € (a test addition of 100.000,00 € to a result of −70.799,79 €), the Legal limit of the deduction is 18.980,14 € (65 %), Suggest tax losses to deduct deducts 7.895,84 € (field 777), the Taxable profit after tax losses is 21.304,37 € and the 2025 loss becomes Fully deducted, with no balance.
- Suggest PEC deductions only suggests something if the company has special payments on account (PEC) still to deduct; without them, the Deduction table on the Tax and deductions (Quadro 10) tab stays empty. Pending validation by a certified accountant: rates, aggravation for losses, surcharge brackets, the 65 % limit, and the percentage and dates of the payments on account.
- Click Export XML (Tax Authority format): it downloads the file
Modelo22_509999999_2025.xml, with the period, field 701 (31104.16), fields 704 and 709 and the taxable amount. Submit it on the Portal das Finanças. Pending validation by a certified accountant: content of the file; Quadros 02, 05 and 08 are empty in the example. - On the Filing receipt tab, type the Receipt reference of the Tax Authority and the Filing date and attach the Receipt file. The screen says: “The product never contacts the Tax Authority.”
Expected result
- The return shows the Taxable Profit, the IRC assessed and the Check against the IES as same.
- The XML file is downloaded and the receipt is kept on the form.
- The return creates no journal entries: the estimated or assessed tax is booked separately, in the accounts.
Important notes
- Without Annex A, field 701 is not checked. Generate the IES first: the year-end closing panel lists “Prepare the company income tax return (Model 22)” before “Entregar a IES” (file the IES), but it is the IES (Annex A) that gives Modelo 22 the result it checks field 701 against. Pending validation by a certified accountant: order in which to prepare the returns.
- The tax adjustments are yours. fiscaldoo calculates from what you enter; it does not suggest them on its own (only PEC deductions and losses, with the Suggest buttons).
- Filing deadline. Pending validation by a certified accountant: Modelo 22 filing deadline and tax payments.
Common problems
The “Check against the IES” shows “Not checked”
- Cause: there is no IES Annex A generated for the period, or field 701 does not match the Annex result. Pending validation by a certified accountant: field 701 and the check against the IES.
- What to do: generate Annex A in IES and open Modelo 22 again. If a Difference to the IES appears, correct the accounts and generate Annex A again.