schedule35
T2 Corporation Income Tax Return
- Kind
- batch
- Supported tax years
- 2023 and later
- Strict profile
- s35_2026_exact_prescribed_form_v1
- Payload schema version
- 2.0.0
- Dependencies (run automatically)
- schedule23
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": [
"schedule35"
],
"inputs": {
"taxYear": 2026,
"fiscalStart": "2026-01-01",
"fiscalEnd": "2026-12-31",
"t2Jacket": {
"applicability": {
"associatedCCPC": false
}
},
"wasAssociatedInPrecedingYear": false,
"schedule35": {
"isInsuranceCorporation": "Yes",
"residentAtAnyTime": "Yes",
"carriedLifeInsuranceBusinessAtAnyTime": "Yes",
"carriedInsuranceBusinessInCanadaAtAnyTime": "Yes",
"lines": {
"102": {
"amount": 1000000,
"source": "reviewed"
},
"103": {
"amount": 2000000,
"source": "reviewed"
},
"104": {
"amount": 3000000,
"source": "reviewed"
},
"105": {
"amount": 500000,
"source": "reviewed"
},
"106": {
"amount": 500000,
"source": "reviewed"
},
"107": {
"amount": 200000,
"source": "reviewed"
},
"108": {
"amount": 4000000,
"source": "reviewed"
},
"122": {
"amount": 100000,
"source": "reviewed"
},
"522": {
"amount": 6000000,
"source": "reviewed"
},
"523": {
"amount": 8000000,
"source": "reviewed"
}
},
"eligibleNonSegregatedInsuranceContractCsm": 2000000,
"eligibleNonSegregatedReinsuranceContractCsm": 1000000,
"investmentReviewComplete": "Yes",
"investmentRows": [],
"tangibleAssetReviewComplete": "Yes",
"tangibleAssetRows": [],
"partnershipReviewComplete": "Yes",
"partnershipRows": [],
"foreignInsuranceSubsidiaryReviewComplete": "Yes",
"foreignInsuranceSubsidiaryRows": [
{
"subsidiaryId": "foreign-life-1",
"subsidiaryName": "Harbourlight International Life Ltd.",
"reg8605CapitalA": 5000000,
"capitalStockInvestedH": 2000000,
"longTermDebtInvestedH": 1000000,
"additionalSurplusContributedI": 1000000,
"reg8605ReserveLiabilities": 2000000,
"reg8605FormDetail": {
"longTermDebt": 1000000,
"capitalStockOrMemberContributions": 2000000,
"retainedEarnings": 1000000,
"netCsm90": 0,
"policyholderLiabilities": 1000000,
"aociContributedSurplusOther": 0,
"deficitDeductedInShareholdersEquity": 0
}
}
]
}
}
}Input cells (55)
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.
| Cell | Types | Required |
|---|---|---|
| fiscalEndThe last day of the taxation year in ISO YYYY-MM-DD form, which bounds every disposition date. Send it with fiscalStart and daysInYear: the three are the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure. Strict YYYY-MM-DD, and not before fiscalStart. | null | string | strict |
| fiscalStartThe first day of the taxation year (ISO YYYY-MM-DD). With fiscalEnd and daysInYear it is the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure — the request is refused before any computation when one is missing. The bounds also drive Schedule 8's Reg 1100(3) short-year CCA proration and the Reg 1104(3.5)(b) immediate-expensing limit proration. | null | string | strict |
| functionalCurrencyContextThe functional-currency election sidecar for the taxation year, used to restate statutory dollar thresholds under ITA s.261(5)(b). Send it only for a functional-currency filer; it carries reportingCurrency, periodStart, a firstDayRate object with rate, spotRateSource and firstDayDate, and optional statutoryThresholdRoundingOverrides. | null | object | |
| schedule35 | null | object | |
| schedule35.carriedInsuranceBusinessInCanadaAtAnyTime | string | strict |
| schedule35.carriedLifeInsuranceBusinessAtAnyTime | string | strict |
| schedule35.eligibleNonSegregatedInsuranceContractCsm | integer | strict |
| schedule35.eligibleNonSegregatedReinsuranceContractCsm | integer | strict |
| schedule35.foreignInsuranceSubsidiaryReviewCompleteConfirms completion of the Regulation 8605 foreign-insurance-subsidiary census. Send true or Yes only after the complete population has been reviewed; blank is not proof that none exist. | boolean | null | string | strict |
| schedule35.foreignInsuranceSubsidiaryRowsReviewed Regulation 8605 subsidiary rows used for Schedule 35 lines 521, 524, and 525. Send an empty array when the completed census found no subsidiaries. | array | null | |
| schedule35.foreignInsuranceSubsidiaryRows[].additionalSurplusContributedI | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].capitalStockInvestedH | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].longTermDebtInvestedH | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605CapitalA | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.aociContributedSurplusOther | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.capitalStockOrMemberContributions | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.deficitDeductedInShareholdersEquity | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.longTermDebt | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.netCsm90 | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.policyholderLiabilities | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.retainedEarnings | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605ReserveLiabilities | integer | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].subsidiaryId | string | strict |
| schedule35.foreignInsuranceSubsidiaryRows[].subsidiaryName | string | strict |
| schedule35.investmentReviewComplete | string | strict |
| schedule35.investmentRows[] | boolean | null | number | string | strict |
| schedule35.isInsuranceCorporation | string | strict |
| schedule35.lines.102.amount | integer | strict |
| schedule35.lines.102.source | string | strict |
| schedule35.lines.103.amount | integer | strict |
| schedule35.lines.103.source | string | strict |
| schedule35.lines.104.amount | integer | strict |
| schedule35.lines.104.source | string | strict |
| schedule35.lines.105.amount | integer | strict |
| schedule35.lines.105.source | string | strict |
| schedule35.lines.106.amount | integer | strict |
| schedule35.lines.106.source | string | strict |
| schedule35.lines.107.amount | integer | strict |
| schedule35.lines.107.source | string | strict |
| schedule35.lines.108.amount | integer | strict |
| schedule35.lines.108.source | string | strict |
| schedule35.lines.122.amount | integer | strict |
| schedule35.lines.122.source | string | strict |
| schedule35.lines.522.amount | integer | strict |
| schedule35.lines.522.source | string | strict |
| schedule35.lines.523.amount | integer | strict |
| schedule35.lines.523.source | string | strict |
| schedule35.partnershipReviewComplete | string | strict |
| schedule35.partnershipRows[] | boolean | null | number | string | strict |
| schedule35.residentAtAnyTime | string | strict |
| schedule35.tangibleAssetReviewComplete | string | strict |
| schedule35.tangibleAssetRows[] | boolean | null | number | string | strict |
| t2Jacket.applicability.associatedCCPC | boolean | strict |
| 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. | number | string | always |
| wasAssociatedInPrecedingYear | boolean | strict |
Strict profile accepted values (50 of 55 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.
| Cell | Accepted values |
|---|---|
| fiscalEnd | date (YYYY-MM-DD); 10 to 10 characters |
| fiscalStart | date (YYYY-MM-DD); 10 to 10 characters |
| schedule35.carriedInsuranceBusinessInCanadaAtAnyTime | 0 to 20000 characters |
| schedule35.carriedLifeInsuranceBusinessAtAnyTime | 0 to 20000 characters |
| schedule35.eligibleNonSegregatedInsuranceContractCsm | -1000000000000000 to 1000000000000000 |
| schedule35.eligibleNonSegregatedReinsuranceContractCsm | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryReviewComplete | 0 to 20000 characters |
| schedule35.foreignInsuranceSubsidiaryRows[].additionalSurplusContributedI | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].capitalStockInvestedH | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].longTermDebtInvestedH | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605CapitalA | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.aociContributedSurplusOther | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.capitalStockOrMemberContributions | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.deficitDeductedInShareholdersEquity | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.longTermDebt | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.netCsm90 | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.policyholderLiabilities | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.retainedEarnings | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].reg8605ReserveLiabilities | -1000000000000000 to 1000000000000000 |
| schedule35.foreignInsuranceSubsidiaryRows[].subsidiaryId | 0 to 20000 characters |
| schedule35.foreignInsuranceSubsidiaryRows[].subsidiaryName | 0 to 20000 characters |
| schedule35.investmentReviewComplete | 0 to 20000 characters |
| schedule35.investmentRows[] | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| schedule35.isInsuranceCorporation | 0 to 20000 characters |
| schedule35.lines.102.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.102.source | 0 to 20000 characters |
| schedule35.lines.103.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.103.source | 0 to 20000 characters |
| schedule35.lines.104.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.104.source | 0 to 20000 characters |
| schedule35.lines.105.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.105.source | 0 to 20000 characters |
| schedule35.lines.106.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.106.source | 0 to 20000 characters |
| schedule35.lines.107.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.107.source | 0 to 20000 characters |
| schedule35.lines.108.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.108.source | 0 to 20000 characters |
| schedule35.lines.122.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.122.source | 0 to 20000 characters |
| schedule35.lines.522.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.522.source | 0 to 20000 characters |
| schedule35.lines.523.amount | -1000000000000000 to 1000000000000000 |
| schedule35.lines.523.source | 0 to 20000 characters |
| schedule35.partnershipReviewComplete | 0 to 20000 characters |
| schedule35.partnershipRows[] | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| schedule35.residentAtAnyTime | 0 to 20000 characters |
| schedule35.tangibleAssetReviewComplete | 0 to 20000 characters |
| schedule35.tangibleAssetRows[] | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| taxYear | matches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027 |
Output cells (196)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| activeTCECLine | null | string |
| audit.authority | string |
| audit.capitalBranch | string |
| audit.foreignInsuranceSubsidiaryRows[].additionalSurplusContributedI | number |
| audit.foreignInsuranceSubsidiaryRows[].aociContributedSurplusOther | number |
| audit.foreignInsuranceSubsidiaryRows[].capitalA | number |
| audit.foreignInsuranceSubsidiaryRows[].capitalStockInvestedH | number |
| audit.foreignInsuranceSubsidiaryRows[].capitalStockOrMemberContributions | number |
| audit.foreignInsuranceSubsidiaryRows[].deficitDeductedInShareholdersEquity | number |
| audit.foreignInsuranceSubsidiaryRows[].formDetailComplete | boolean |
| audit.foreignInsuranceSubsidiaryRows[].hPlusI | number |
| audit.foreignInsuranceSubsidiaryRows[].line521Component | number |
| audit.foreignInsuranceSubsidiaryRows[].line524Component | number |
| audit.foreignInsuranceSubsidiaryRows[].line525Component | number |
| audit.foreignInsuranceSubsidiaryRows[].longTermDebt | number |
| audit.foreignInsuranceSubsidiaryRows[].longTermDebtInvestedH | number |
| audit.foreignInsuranceSubsidiaryRows[].netCsm90 | number |
| audit.foreignInsuranceSubsidiaryRows[].policyholderLiabilities | number |
| audit.foreignInsuranceSubsidiaryRows[].reg8605CapitalA | number |
| audit.foreignInsuranceSubsidiaryRows[].reg8605ReserveLiabilities | number |
| audit.foreignInsuranceSubsidiaryRows[].retainedEarnings | number |
| audit.foreignInsuranceSubsidiaryRows[].rowIndex | integer |
| audit.foreignInsuranceSubsidiaryRows[].subsidiaryId | string |
| audit.foreignInsuranceSubsidiaryRows[].subsidiaryName | string |
| audit.foreignInsuranceSubsidiaryRows[].table2Capital | number |
| audit.foreignInsuranceSubsidiaryRows[].table2Subtotal | number |
| audit.investmentRows | array |
| audit.residenceFactSupplied | boolean |
| authoritativeForPriorYearGrinds | boolean |
| coverageStatus | string |
| eligibleForPriorYearGrindInput | boolean |
| filingProjectionSupported | boolean |
| fiscalEnd | null | string |
| fiscalStart | null | string |
| form.amount1A | number | string |
| form.amount1B | string |
| form.amount1C | string |
| form.amount1D | string |
| form.amount1E | string |
| form.amount1F | string |
| form.amount3A | number | string |
| form.amount3B | number |
| form.amount4A | number |
| form.amount4B | number | string |
| form.amount4C | number | string |
| form.amount5A | number | string |
| form.amount5B | number | string |
| form.amount5C | number | string |
| form.amount5D | number | string |
| form.foreignInsuranceSubsidiaryRows[].additionalSurplusContributedI | number |
| form.foreignInsuranceSubsidiaryRows[].aociContributedSurplusOther | number |
| form.foreignInsuranceSubsidiaryRows[].capitalA | number |
| form.foreignInsuranceSubsidiaryRows[].capitalStockInvestedH | number |
| form.foreignInsuranceSubsidiaryRows[].capitalStockOrMemberContributions | number |
| form.foreignInsuranceSubsidiaryRows[].deficitDeductedInShareholdersEquity | number |
| form.foreignInsuranceSubsidiaryRows[].formDetailComplete | boolean |
| form.foreignInsuranceSubsidiaryRows[].hPlusI | number |
| form.foreignInsuranceSubsidiaryRows[].line521Component | number |
| form.foreignInsuranceSubsidiaryRows[].line524Component | number |
| form.foreignInsuranceSubsidiaryRows[].line525Component | number |
| form.foreignInsuranceSubsidiaryRows[].longTermDebt | number |
| form.foreignInsuranceSubsidiaryRows[].longTermDebtInvestedH | number |
| form.foreignInsuranceSubsidiaryRows[].netCsm90 | number |
| form.foreignInsuranceSubsidiaryRows[].policyholderLiabilities | number |
| form.foreignInsuranceSubsidiaryRows[].reg8605CapitalA | number |
| form.foreignInsuranceSubsidiaryRows[].reg8605ReserveLiabilities | number |
| form.foreignInsuranceSubsidiaryRows[].retainedEarnings | number |
| form.foreignInsuranceSubsidiaryRows[].rowIndex | integer |
| form.foreignInsuranceSubsidiaryRows[].subsidiaryId | string |
| form.foreignInsuranceSubsidiaryRows[].subsidiaryName | string |
| form.foreignInsuranceSubsidiaryRows[].table2Capital | number |
| form.foreignInsuranceSubsidiaryRows[].table2Subtotal | number |
| form.lines.102 | number | string |
| form.lines.103 | number | string |
| form.lines.104 | number | string |
| form.lines.105 | number | string |
| form.lines.106 | number | string |
| form.lines.107 | number | string |
| form.lines.108 | number | string |
| form.lines.109 | number | string |
| form.lines.122 | number | string |
| form.lines.190 | number | string |
| form.lines.202 | string |
| form.lines.203 | string |
| form.lines.204 | string |
| form.lines.205 | string |
| form.lines.206 | string |
| form.lines.207 | string |
| form.lines.208 | string |
| form.lines.209 | string |
| form.lines.210 | string |
| form.lines.222 | string |
| form.lines.290 | string |
| form.lines.301 | string |
| form.lines.302 | string |
| form.lines.303 | string |
| form.lines.304 | string |
| form.lines.331 | string |
| form.lines.341 | string |
| form.lines.342 | string |
| form.lines.390 | string |
| form.lines.401 | number |
| form.lines.404 | number |
| form.lines.415 | number | string |
| form.lines.490 | number |
| form.lines.500 | number | string |
| form.lines.511 | number |
| form.lines.512 | number |
| form.lines.521 | number |
| form.lines.522 | number |
| form.lines.523 | number |
| form.lines.524 | number |
| form.lines.525 | number |
| form.lines.530 | number | string |
| form.lines.590 | number | string |
| form.lines.611 | string |
| form.lines.612 | string |
| form.lines.650 | string |
| form.lines.690 | string |
| form.lines.790 | string |
| grindTCEC | null | number |
| line_415_sbd_factor | array | boolean | null | number | object | string |
| lines.102 | number |
| lines.103 | number |
| lines.104 | number |
| lines.105 | number |
| lines.106 | number |
| lines.107 | number |
| lines.108 | number |
| lines.109 | number |
| lines.122 | number |
| lines.190 | number |
| lines.1A | number |
| lines.401 | number |
| lines.404 | number |
| lines.415 | array | boolean | null | number | object | string |
| lines.490 | number |
| lines.4A | number |
| lines.4C | null | number |
| lines.500 | null | number |
| lines.511 | number |
| lines.512 | number |
| lines.521 | number |
| lines.522 | number |
| lines.523 | number |
| lines.524 | number |
| lines.525 | number |
| lines.530 | null | number |
| lines.590 | null | number |
| missing_required[] | string |
| part5Applicability | string |
| part5CurrentYearTCECReconciled | array | boolean | null | number | object | string |
| part5Excess | array | boolean | null | number | object | string |
| part5Floor | array | boolean | null | number | object | string |
| provisional | boolean |
| ready | boolean |
| residenceFactSupplied | boolean |
| reviewedCurrentYearTCEC | array | boolean | null | number | object | string |
| schedule | string |
| sourceSchedule | string |
| taxYear | integer |
| tcec | null | number |
| tcecBranchFactSupplied | boolean |
| tcecCalculationComplete | boolean |
| filingPropositions[].schemaVersion | integer |
| filingPropositions[].propositionId | string |
| filingPropositions[].state | string |
| filingPropositions[].filingDisposition | string |
| filingPropositions[].targets[] | string |
| filingPropositions[].evidence[] | string |
| warnings[].box | null |
| warnings[].severity | string |
| warnings[].message | string |
| warnings[].gate_id | string |
| warnings[].citation.gate_id | string |
| warnings[].citation.form_id | string |
| warnings[].citation.rule | string |
| warnings[].citation.cra_text_verbatim | string |
| warnings[].citation.source | string |
| warnings[].citation.source_url | string |
| warnings[].citation.form_revision | string |
| warnings[].citation.applies_to_boxes[] | string |
| warnings[].citation.verified_at | string |
| warnings[].code | string |
| warnings[].field | string |
| currentYearAssociated | boolean |
| wasAssociatedInPrecedingYear | boolean |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.gate_id | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.form_id | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.rule | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.cra_text_verbatim | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.source | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.source_url | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.form_revision | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.applies_to_boxes[] | string |
| fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.verified_at | string |