schedule27

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2022 and later
Strict profile
s27_single_reg5201_profile_target_value_v2
Payload schema version
0.8.0
Dependencies (run automatically)
division_c, sbd, schedule21, schedule7, schedule8, t661

Example request

Send this body to POST /api/v1/computations/batch. It satisfies the strict profile, so it works with or without the payloadContract selector.

{
  "compute": [
    "schedule27"
  ],
  "inputs": {
    "taxYear": 2025,
    "corpType": "1",
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "accounts": [
      {
        "id": "revenue",
        "accountCode": "4000",
        "accountName": "Cedar Ridge active business revenue",
        "accountType": "revenue",
        "currentYearBalance": -100000,
        "userStatus": "default",
        "reviewStatus": "default",
        "classification": {
          "schedule1Relevant": false,
          "incomeType": "active",
          "foreignSource": false
        }
      }
    ],
    "incomeStatementFlags": {
      "revenue": true
    },
    "specifiedCorporateIncomeReviewed": true,
    "supplementalLinesReviewed": true,
    "specifiedPartnershipIncomeApplies": false,
    "specifiedInvestmentBusinessIncome": 0,
    "lifeInsurancePolicyIncome": 0,
    "priorYearGroupTCEC": 0,
    "priorYearGroupTCECMeta": {
      "basis": "standalone_preceding_tax_year",
      "asOf": "2024-12-31",
      "source": "prior filed T2",
      "confirmed": true
    },
    "schedule27": {
      "line100ActiveBusinessIncomeNetOfLoss": 100000,
      "line105AssociatedCorpsABI": 0,
      "mpGrossRevenueRatio": 1,
      "primarilyMPInCanada": true,
      "hasActiveBusinessOutsideCanada": false,
      "hasExcludedActivityS125_1_3_a_to_k": false,
      "hasForeignOreProcessingNotBeyondPrescribedStage": false,
      "hasResourceActivitiesReg5203": false
    },
    "daysInYear": 365,
    "t2Jacket": {
      "filingStatus": {
        "firstYearAfterAmalgamation": false,
        "firstYearAfterIncorporation": true,
        "subsidiaryWindupS88": false
      }
    },
    "associatedGroupAII": 0
  }
}

Input cells (90)

Paths are relative to the request’s inputs object; [] marks an array element.

Required says when a cell must be present. Always means every request needs it: the default boundary rejects the call when the cell is omitted or null. Strict means only a request that sends this target’s payloadContract selector needs it. See Run computations for the default boundary.

These cells are everything this target accepts. A member that is not published here, or is sent with the wrong JSON type, fails the call with a 400 naming each failing cell.

Input cells for schedule27
CellTypesRequired
accounts[].accountCodestringstrict
accounts[].accountNamestringstrict
accounts[].accountTypestringstrict
accounts[].classification.foreignSourceThe account's income is foreign source; schedules that split Canadian from foreign amounts route it accordingly, for example Schedule 7's foreign property and rental buckets and line 500 foreign business income.booleanstrict
accounts[].classification.incomeTypestringstrict
accounts[].classification.schedule1RelevantMarks the account's concept as one to review for Schedule 1. It does not decide the posting; the classification's line and treatment do.booleanstrict
accounts[].currentYearBalanceintegerstrict
accounts[].idstringstrict
accounts[].reviewStatusstringstrict
accounts[].userStatusstringstrict
associatedGroupAIIITA s.125(5.1)(b): the adjusted aggregate investment income of the corporation and every associated corporation for taxation years that ended in the PRECEDING calendar year. It can never be derived from current-year amounts, so Schedule 7 holds the business-limit grind until it is stated; zero is a valid answer and is what this witness states.integer | null | number
corpTypestringstrict
daysInYearInclusive day count for the canonical fiscalStart/fiscalEnd period required by the settled Part I dependency closure.integerstrict
fiscalEndLast day of the taxation year, as YYYY-MM-DD, on or after fiscalStart. Its calendar year must equal taxYear. Required for the same reason as fiscalStart.stringstrict
fiscalStartFirst day of the taxation year, as YYYY-MM-DD. Required because this target's dependency closure reaches part_i_tax, whose rates and limits are day-weighted; ITA s.249(1)(a) makes the taxation year the fiscal period, and the engine will not invent calendar-year bounds.stringstrict
incomeStatementFlags.revenueTrue when the trial-balance account with this id is an income-statement account; flagged balances form net income per financial statements, Schedule 1 amount A.booleanstrict
lifeInsurancePolicyIncomeTXE-319: ITA s.125(7)(c)(ii), in the 'adjusted aggregate investment income' definition, includes amounts in respect of a life insurance policy that are included in income; the engine reads the amount as an explicit off-form statutory fact. Zero pins this witness's branch.integerstrict
priorYearGroupTCECintegerstrict
priorYearGroupTCECMeta.asOfstringstrict
priorYearGroupTCECMeta.basisstringstrict
priorYearGroupTCECMeta.confirmedConfirms the associated group's prior-year taxable capital employed in Canada figure, the operand of the ITA s.125(5.1) business-limit reduction.booleanstrict
priorYearGroupTCECMeta.sourcestringstrict
schedule27.amount11BPortionDirectlyInQualifiedActivitiesIncludingElecSteamAmount 11B — the part of C used directly in qualified activities INCLUDING generating electrical energy / producing steam. Must be the SUPERSET of amount 5B, not the elec/steam carve-out.null | number
schedule27.amount12ASalariesWagesInQualifiedActivitiesIncludingElecSteamAmount 12A — employee salaries and wages in qualified activities INCLUDING elec/steam. Superset of amount 7A.null | number
schedule27.amount12BNonEmployeeInQualifiedActivitiesIncludingElecSteamAmount 12B — non-employee payments in qualified activities INCLUDING elec/steam. Superset of amount 7B.null | number
schedule27.amount16AZETMSalariesWagesDirectlyInZETMAmount 16A — employee salaries and wages for services directly engaged in qualified ZETM activities.null | number
schedule27.amount16BZETMNonEmployeeInZETMAmount 16B — non-employee payments for functions directly related to qualified ZETM activities. 306 (MLB) = 16A + 16B.null | number
schedule27.amount305ZETMCostOfCapitalMCBBox 305 — ZETM cost of capital (MCB): the part of C (line 140) used directly in qualified ZETM activities. Capped at C.null | number
schedule27.amount3BNetResourceAdjustmentReg5203_3_1Amount 3B — net resource adjustment, Reg 5203(3.1).null | number
schedule27.amount3DRefundInterestReg5203_4Amount 3D — refund interest, Reg 5203(4).null | number
schedule27.amount4ADepreciableScheduleIIAmount 4A — GROSS COST (not UCC) of owned depreciable property under Schedule II.null | number
schedule27.amount4BTimberLimitsAndCuttingRightsAmount 4B — timber limits and cutting rights.null | number
schedule27.amount4CImmovableWoodAssetsClass15Amount 4C — immovable wood assets (Class 15).null | number
schedule27.amount4DIndustrialMineralMinesAmount 4D — industrial mineral mines.null | number
schedule27.amount4ESREDCapitalExpendituresAmount 4E — SR&ED capital expenditures.null | number
schedule27.amount4FPartXVIIPropertyAmount 4F — Part XVII property.null | number
schedule27.amount4HRentalCostForPropertyUseAmount 4H — rental cost incurred for the use of property whose gross cost would be included above if owned. Aggregated in FULL (no 10%).null | number
schedule27.amount4IPartnershipShareOfCCAmount 4I — partnership share of cost of capital.null | number
schedule27.amount5BPortionDirectlyInQualifiedActivitiesAmount 5B — the part of C reflecting the extent of direct use in Reg 5202 qualified activities. Engine applies 100/85, capped at C.null | number
schedule27.amount6ASalariesWagesEmployeesAmount 6A — salaries and wages paid or payable to employees.null | number
schedule27.amount6BIncludedInGrossCostOfPropertyAmount 6B — portion included in gross cost of property (Part 4).null | number
schedule27.amount6CRelatedToOutsideCanadaABAmount 6C — portion related to active business outside Canada.null | number
schedule27.amount6DRelatedToCdnResourceProfitsAmount 6D — portion related to Canadian resource profits.null | number
schedule27.amount6EIncludedInCEDEFEDEAmount 6E — portion included in CEDE / FEDE / CEE / CDE.null | number
schedule27.amount6HPartnershipShareEmployeeNetAmount 6H — partnership share, employee arm, net of exclusions.null | number
schedule27.amount6JManagementAdminNonEmployeeAmount 6J — non-employee management and administration amounts.null | number
schedule27.amount6KSREDNonEmployeeAmount 6K — non-employee SR&ED amounts.null | number
schedule27.amount6LServiceFunctionNonEmployeeAmount 6L — non-employee amounts for a service or function that would normally be performed by an employee.null | number
schedule27.amount6NIncludedInGrossCostOfPropertyNEAmount 6N — non-employee portion included in gross cost of property.null | number
schedule27.amount6ORelatedToOutsideCanadaABNEAmount 6O — non-employee portion related to outside-Canada business.null | number
schedule27.amount6PRelatedToCdnResourceProfitsNEAmount 6P — non-employee portion related to Cdn resource profits.null | number
schedule27.amount6QIncludedInCEDEFEDENEAmount 6Q — non-employee portion included in CEDE / FEDE.null | number
schedule27.amount6TPartnershipShareNonEmployeeNetAmount 6T — partnership share, non-employee arm, net of exclusions.null | number
schedule27.amount7ASalariesWagesInQualifiedActivitiesAmount 7A — part of salaries and wages (included in 6I) for employees directly engaged in qualified activities.null | number
schedule27.amount7BNonEmployeeInQualifiedActivitiesAmount 7B — part of other payments (included in 6U) to non-employees for functions directly related to qualified activities.null | number
schedule27.amount8AResourceProfitsReg1204Amount 8A — resource profits, Reg 1204.null | number
schedule27.amount8BSection59IncomeNotInResourceProfitsAmount 8B — s.59 income not included in resource profits.null | number
schedule27.amount8DSection65DeductionsNotAgainstResourceProfitsAmount 8D — s.65 deductions not applied against resource profits.null | number
schedule27.amount8EIncomeFromForeignOreProcessingAmount 8E — income from processing foreign ore.null | number
schedule27.claimingElectricalSteamPathClaiming the parallel deduction on profits from generating electrical energy for sale or producing steam for sale. Parts 10–13 compute as all-zero unless true.boolean | null
schedule27.claimingPart9MainPathWhether the main Part 9 path is ALSO claimed. Governs amount 13J: form footnote 10 requires 13J = 0 when only the elec/steam deduction is claimed. null = engine assumes both are claimed (conservative).boolean | null
schedule27.claimingZETMDeductionSignals a ZETM claim. Used only to raise an advisory when no MCB/MLB allocation is supplied; the ZETM arm computes off the amounts below.boolean | null
schedule27.costOfCapitalReflectsReg5203And5204ExclusionsBox 140 review: Part 4 gross and rental costs exclude the property-use portions required by Reg 5203(1) or, for a partnership member, Reg 5204.boolean | null
schedule27.excludedActivityParagraphss.125.1(3)(a)–(k) paragraph letters the corporation is engaged in. Non-empty blocks the deduction. Paragraph (h) (electrical energy / steam) is RE-INCLUDED by s.125.1(5) for the Parts 10–13 path.array
schedule27.hasActiveBusinessOutsideCanadaReg 5201(d) disqualifier: the corporation carried on an active business outside Canada at any time in the year, which forces the Reg 5200 formula.boolean | nullstrict
schedule27.hasExcludedActivityS125_1_3_a_to_kReg 5201(c) disqualifier: the corporation engaged in an activity excluded by paragraphs (a) to (k) of the ITA s.125.1(3) manufacturing or processing definition.boolean | nullstrict
schedule27.hasForeignOreProcessingNotBeyondPrescribedStageReg 5201(c.1) to (c.3) disqualifier: processing of foreign ore not beyond the prime metal, iron-ore pellet, or crude-oil stage.boolean | nullstrict
schedule27.hasResourceActivitiesReg5203Exact-profile fact required by Regulations 5201 and 5203(2): the corporation has no resource activities that require the Schedule 27 resource-profit reduction.boolean | nullstrict
schedule27.includesEmployerCPP_EIAdvisory flag: amount 6A includes employer-portion CPP/EI/EHT. Reg 5202 limits salaries and wages to salaries, wages and commissions; the engine warns for review but never auto-strips.boolean | null
schedule27.line100ActiveBusinessIncomeNetOfLossBox 100 — active business income minus active business losses for the year, including your share for each partnership of which you were a member. Reg 5201(b)(i). When the four conditions are met this IS the Canadian M&P profits figure entered at line 200.null | numberstrict
schedule27.line105AssociatedCorpsABIBox 105 — active business income of each associated Canadian corporation. Reg 5201(b)(ii) has NO loss-netting on this arm.null | numberstrict
schedule27.line120ActiveBusinessIncomeNetOfLossBox 120 — active business income net of losses (Reg 5200 path).null | number
schedule27.mpGrossRevenueRatioThe ITA s.125.1(3)(l) qualifying Canadian manufacturing and processing gross-revenue ratio. This exact witness proves the 10% floor instead of treating an unanswered statutory fact as zero.null | numberstrict
schedule27.onlyGeneratedOrProducedElectricalEnergyOrSteamForSaleInSaskatchewanSchedule 404 Note 1 — the corporation only generated or produced electrical energy or steam for sale in Saskatchewan. Yes routes S404 amount 1A to S27 line 210; No routes it to line 200; null is unanswered.boolean | null
schedule27.primarilyMPInCanadaReg 5201 small-manufacturers condition: the corporation's activities during the year were primarily manufacturing or processing in Canada.boolean | nullstrict
schedule27.primarilyMPRatioOptional 0..1 corroboration of the Reg 5201(a) "primarily" test.null | number
schedule27.schedule404Supporting Schedule 404 worksheet. It rides on THIS document because Schedule 27 already owns the Schedule 404 Note 1 routing answer above and produces amount 1A (line 200 / line 210); the same nesting Schedule 511 uses inside Schedule 510. Opening Schedule 404 therefore opens Schedule 27 too, which is correct in substance — amount 1A comes from Schedule 27, so the Saskatchewan reduction cannot be computed without it.null | object
schedule27.schedule404.amount1EFromSchedule411Amount 1E from Schedule 411, which the face prints TWICE — as amount 1B (subtracted from Canadian M&P profits to reach amount 1C) and as amount 1E (added into amount 1H and so subtracted from taxable income to reach amount 1I). Form Note 2 makes it live only for a corporation that was a CCPC throughout the year. Filemark computes no Schedule 411, so this is entered. Leaving it blank does NOT read as nil — a nil would enlarge the reduction in the taxpayer's favour — it makes the engine fall back to the Saskatchewan small-business-rate income it computed and disclose that substitution at…null | number
schedule27.uccDepreciableScheduleIINot consumed. Regulation 5202 cost of capital paragraph (a) requires the gross historical capital cost of owned depreciable property, not undepreciated capital cost, so any value here is ignored and only produces a warning telling you to send amount4ADepreciableScheduleII instead.null | number | string
schedule27.zetmAllocationReflectsDirectUseConfirmation that the MCB/MLB allocation reflects extent of direct use in those clauses. A positive allocation without `true` fails closed.boolean | null
schedule27.zetmQualifiedActivityClausesReg 5202 qualified-ZETM-activity clause identifiers the allocation relates to — a CLOSED list (clauses (a)(i)(A)–(I) and (L)–(O)). A positive MCB/MLB allocation with no clause fails closed; manufacturing generally is NOT a qualified ZETM activity.array
schedule27.zetm_deduction_claimedSignals that a zero-emission technology manufacturing deduction is being claimed, so the engine emits an advisory when no ZETM cost is supplied. It does not itself produce the line 350 amount: with no ZETM cost present the line 616 figure stays the exact manufacturing and processing figure. claimingZETMDeduction is the equivalent alternative spelling.boolean | null
specifiedCorporateIncomeReviewedConfirms the Schedule 7 Part 7 review of ITA s.125(7) specified corporate income; until true the engine caps specified corporate income at nil and line 615 stays out of SBD-eligible income.booleanstrict
specifiedInvestmentBusinessIncomeTotal income for the year from a specified investment business carried on in Canada, the ITA s.125(7) 'income of the corporation for the year from an active business' paragraph (a) carve-out the sweep made an explicit operand. Zero pins this witness's branch: no specified investment business income.integerstrict
specifiedPartnershipIncomeAppliesWhether ITA s.125(7) specified partnership income applies for the year; true requires the Schedule 7 Parts 4 and 5 partnership packets.booleanstrict
supplementalLinesReviewedConfirms Schedule 7 lines 042, 052, 072, 720, 725, 735, 741, 029, 059, 530 and 540 were reviewed and every applicable amount entered; AII, FII, AAII and SBD-eligible income are held at zero until confirmed.booleanstrict
t2Jacket.filingStatus.firstYearAfterAmalgamationbooleanstrict
t2Jacket.filingStatus.firstYearAfterIncorporationbooleanstrict
t2Jacket.filingStatus.subsidiaryWindupS88booleanstrict
taxYearFour-digit taxation year accepted by the batch reader. Historical applicability is decided by the requested form; years after 2027 fail at the shared verified-rate horizon.integer | stringalways
Strict profile accepted values (23 of 90 cells)

These values apply only when the request sends this target’s payloadContract selector. A cell marked pinned must equal the value shown to satisfy the strict profile. On the default boundary the same cell accepts any value of its published type.

Strict profile accepted values for schedule27
CellAccepted values
accounts[].accountCode0 to 20000 characters
accounts[].accountName0 to 20000 characters
accounts[].accountType0 to 20000 characters
accounts[].classification.incomeType0 to 20000 characters
accounts[].currentYearBalance-1000000000000000 to 1000000000000000
accounts[].id0 to 20000 characters
accounts[].reviewStatus0 to 20000 characters
accounts[].userStatus0 to 20000 characters
associatedGroupAII-1000000000000000 to 1000000000000000
corpType0 to 20000 characters
daysInYear1 to 1000000000000000
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
lifeInsurancePolicyIncome-1000000000000000 to 1000000000000000
priorYearGroupTCEC-1000000000000000 to 1000000000000000
priorYearGroupTCECMeta.asOf0 to 20000 characters
priorYearGroupTCECMeta.basis0 to 20000 characters
priorYearGroupTCECMeta.sourcematches \S; 1 to 20000 characters
schedule27.line100ActiveBusinessIncomeNetOfLoss-1000000000000000 to 1000000000000000
schedule27.line105AssociatedCorpsABI-1000000000000000 to 1000000000000000
schedule27.mpGrossRevenueRatio-1000000000000000 to 1000000000000000
specifiedInvestmentBusinessIncome-1000000000000000 to 1000000000000000
taxYearmatches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027

Output cells (133)

Paths are relative to this target’s result object in the response.

Output cells for schedule27
CellTypes
amount_11Anumber
amount_11Bnumber
amount_12Anumber
amount_12Bnumber
amount_12Cnumber
amount_13Anumber
amount_13Bnumber
amount_13Cnumber
amount_13Dnumber
amount_13Enumber
amount_13Fnumber
amount_13Gnumber
amount_13Hnumber
amount_13Inumber
amount_13Jnumber
amount_13Knumber
amount_13Lnumber
amount_14Anumber
amount_14Bnumber
amount_14Cnumber
amount_16Anumber
amount_16Bnumber
amount_17Anumber
amount_17Bnumber
amount_17Cnumber
amount_17Dnumber
amount_17Enumber
amount_17Fnumber
amount_17Gnumber
amount_17Hnumber
amount_17Inumber
amount_17Jnumber
amount_17Knumber
amount_17Lnumber
amount_17Mnumber
amount_3Anumber
amount_3Bnumber
amount_3Cnumber
amount_3Dnumber
amount_4Anumber
amount_4Bnumber
amount_4Cnumber
amount_4Dnumber
amount_4Enumber
amount_4Fnumber
amount_4Gnumber
amount_4Hnumber
amount_4Inumber
amount_5Anumber
amount_5Bnumber
amount_6Anumber
amount_6Bnumber
amount_6Cnumber
amount_6Dnumber
amount_6Enumber
amount_6Fnumber
amount_6Gnumber
amount_6Hnumber
amount_6Inumber
amount_6Jnumber
amount_6Knumber
amount_6Lnumber
amount_6Mnumber
amount_6Nnumber
amount_6Onumber
amount_6Pnumber
amount_6Qnumber
amount_6Rnumber
amount_6Snumber
amount_6Tnumber
amount_6Unumber
amount_7Anumber
amount_7Bnumber
amount_7Cnumber
amount_8Anumber
amount_8Bnumber
amount_8Cnumber
amount_8Dnumber
amount_8Enumber
amount_8Fnumber
amount_8Gnumber
amount_9Anumber
amount_9Bnumber
amount_9Cnumber
amount_9Dnumber
amount_9Enumber
amount_9Fnumber
amount_9Gnumber
amount_9Hnumber
amount_9Inumber
amount_9Jnumber
amount_9Knumber
amount_9Lnumber
fired_gatesobject
line_100number
line_105number
line_110number
line_120number
line_125number
line_130number
line_140number
line_150number
line_160number
line_170number
line_200number
line_205number
line_206number
line_210number
line_305number
line_306number
line_310number
line_350number
mp_profits_for_provincial_usenumber
provisionalboolean
readyboolean
reg_5201_qualifiesboolean
t2_line_616_mp_deductionnumber
warnings[].boxThe form box the finding is about, or null when the finding is about the return rather than a printed box.null | string
warnings[].codeStable machine identity of the finding, independent of its prose. Present on a finding a consumer is expected to branch on; absent on a prose-only review finding.string
warnings[].messagestring
warnings[].producers[]string
warnings[].severitystring
warnings[].citation.applies_to_boxes[]string
warnings[].citation.cra_text_verbatimstring
warnings[].citation.form_idstring
warnings[].citation.form_revisionstring
warnings[].citation.gate_idstring
warnings[].citation.rulestring
warnings[].citation.sourcestring
warnings[].citation.source_urlstring
warnings[].citation.verified_atstring
warnings[].gate_idIdentifier of the registered T4012 gate that raised the finding; travels with `citation`.string
fbitc_relevant_factorstring
Filemark | schedule27 cells