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.

Input cells for schedule35
CellTypesRequired
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 | stringstrict
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 | stringstrict
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
schedule35null | object
schedule35.carriedInsuranceBusinessInCanadaAtAnyTimestringstrict
schedule35.carriedLifeInsuranceBusinessAtAnyTimestringstrict
schedule35.eligibleNonSegregatedInsuranceContractCsmintegerstrict
schedule35.eligibleNonSegregatedReinsuranceContractCsmintegerstrict
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 | stringstrict
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[].additionalSurplusContributedIintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].capitalStockInvestedHintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].longTermDebtInvestedHintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605CapitalAintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.aociContributedSurplusOtherintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.capitalStockOrMemberContributionsintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.deficitDeductedInShareholdersEquityintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.longTermDebtintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.netCsm90integerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.policyholderLiabilitiesintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605FormDetail.retainedEarningsintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].reg8605ReserveLiabilitiesintegerstrict
schedule35.foreignInsuranceSubsidiaryRows[].subsidiaryIdstringstrict
schedule35.foreignInsuranceSubsidiaryRows[].subsidiaryNamestringstrict
schedule35.investmentReviewCompletestringstrict
schedule35.investmentRows[]boolean | null | number | stringstrict
schedule35.isInsuranceCorporationstringstrict
schedule35.lines.102.amountintegerstrict
schedule35.lines.102.sourcestringstrict
schedule35.lines.103.amountintegerstrict
schedule35.lines.103.sourcestringstrict
schedule35.lines.104.amountintegerstrict
schedule35.lines.104.sourcestringstrict
schedule35.lines.105.amountintegerstrict
schedule35.lines.105.sourcestringstrict
schedule35.lines.106.amountintegerstrict
schedule35.lines.106.sourcestringstrict
schedule35.lines.107.amountintegerstrict
schedule35.lines.107.sourcestringstrict
schedule35.lines.108.amountintegerstrict
schedule35.lines.108.sourcestringstrict
schedule35.lines.122.amountintegerstrict
schedule35.lines.122.sourcestringstrict
schedule35.lines.522.amountintegerstrict
schedule35.lines.522.sourcestringstrict
schedule35.lines.523.amountintegerstrict
schedule35.lines.523.sourcestringstrict
schedule35.partnershipReviewCompletestringstrict
schedule35.partnershipRows[]boolean | null | number | stringstrict
schedule35.residentAtAnyTimestringstrict
schedule35.tangibleAssetReviewCompletestringstrict
schedule35.tangibleAssetRows[]boolean | null | number | stringstrict
t2Jacket.applicability.associatedCCPCbooleanstrict
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 | stringalways
wasAssociatedInPrecedingYearbooleanstrict
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.

Strict profile accepted values for schedule35
CellAccepted values
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
schedule35.carriedInsuranceBusinessInCanadaAtAnyTime0 to 20000 characters
schedule35.carriedLifeInsuranceBusinessAtAnyTime0 to 20000 characters
schedule35.eligibleNonSegregatedInsuranceContractCsm-1000000000000000 to 1000000000000000
schedule35.eligibleNonSegregatedReinsuranceContractCsm-1000000000000000 to 1000000000000000
schedule35.foreignInsuranceSubsidiaryReviewComplete0 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[].subsidiaryId0 to 20000 characters
schedule35.foreignInsuranceSubsidiaryRows[].subsidiaryName0 to 20000 characters
schedule35.investmentReviewComplete0 to 20000 characters
schedule35.investmentRows[]-1000000000000000 to 1000000000000000; 0 to 20000 characters
schedule35.isInsuranceCorporation0 to 20000 characters
schedule35.lines.102.amount-1000000000000000 to 1000000000000000
schedule35.lines.102.source0 to 20000 characters
schedule35.lines.103.amount-1000000000000000 to 1000000000000000
schedule35.lines.103.source0 to 20000 characters
schedule35.lines.104.amount-1000000000000000 to 1000000000000000
schedule35.lines.104.source0 to 20000 characters
schedule35.lines.105.amount-1000000000000000 to 1000000000000000
schedule35.lines.105.source0 to 20000 characters
schedule35.lines.106.amount-1000000000000000 to 1000000000000000
schedule35.lines.106.source0 to 20000 characters
schedule35.lines.107.amount-1000000000000000 to 1000000000000000
schedule35.lines.107.source0 to 20000 characters
schedule35.lines.108.amount-1000000000000000 to 1000000000000000
schedule35.lines.108.source0 to 20000 characters
schedule35.lines.122.amount-1000000000000000 to 1000000000000000
schedule35.lines.122.source0 to 20000 characters
schedule35.lines.522.amount-1000000000000000 to 1000000000000000
schedule35.lines.522.source0 to 20000 characters
schedule35.lines.523.amount-1000000000000000 to 1000000000000000
schedule35.lines.523.source0 to 20000 characters
schedule35.partnershipReviewComplete0 to 20000 characters
schedule35.partnershipRows[]-1000000000000000 to 1000000000000000; 0 to 20000 characters
schedule35.residentAtAnyTime0 to 20000 characters
schedule35.tangibleAssetReviewComplete0 to 20000 characters
schedule35.tangibleAssetRows[]-1000000000000000 to 1000000000000000; 0 to 20000 characters
taxYearmatches ^\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.

Output cells for schedule35
CellTypes
activeTCECLinenull | string
audit.authoritystring
audit.capitalBranchstring
audit.foreignInsuranceSubsidiaryRows[].additionalSurplusContributedInumber
audit.foreignInsuranceSubsidiaryRows[].aociContributedSurplusOthernumber
audit.foreignInsuranceSubsidiaryRows[].capitalAnumber
audit.foreignInsuranceSubsidiaryRows[].capitalStockInvestedHnumber
audit.foreignInsuranceSubsidiaryRows[].capitalStockOrMemberContributionsnumber
audit.foreignInsuranceSubsidiaryRows[].deficitDeductedInShareholdersEquitynumber
audit.foreignInsuranceSubsidiaryRows[].formDetailCompleteboolean
audit.foreignInsuranceSubsidiaryRows[].hPlusInumber
audit.foreignInsuranceSubsidiaryRows[].line521Componentnumber
audit.foreignInsuranceSubsidiaryRows[].line524Componentnumber
audit.foreignInsuranceSubsidiaryRows[].line525Componentnumber
audit.foreignInsuranceSubsidiaryRows[].longTermDebtnumber
audit.foreignInsuranceSubsidiaryRows[].longTermDebtInvestedHnumber
audit.foreignInsuranceSubsidiaryRows[].netCsm90number
audit.foreignInsuranceSubsidiaryRows[].policyholderLiabilitiesnumber
audit.foreignInsuranceSubsidiaryRows[].reg8605CapitalAnumber
audit.foreignInsuranceSubsidiaryRows[].reg8605ReserveLiabilitiesnumber
audit.foreignInsuranceSubsidiaryRows[].retainedEarningsnumber
audit.foreignInsuranceSubsidiaryRows[].rowIndexinteger
audit.foreignInsuranceSubsidiaryRows[].subsidiaryIdstring
audit.foreignInsuranceSubsidiaryRows[].subsidiaryNamestring
audit.foreignInsuranceSubsidiaryRows[].table2Capitalnumber
audit.foreignInsuranceSubsidiaryRows[].table2Subtotalnumber
audit.investmentRowsarray
audit.residenceFactSuppliedboolean
authoritativeForPriorYearGrindsboolean
coverageStatusstring
eligibleForPriorYearGrindInputboolean
filingProjectionSupportedboolean
fiscalEndnull | string
fiscalStartnull | string
form.amount1Anumber | string
form.amount1Bstring
form.amount1Cstring
form.amount1Dstring
form.amount1Estring
form.amount1Fstring
form.amount3Anumber | string
form.amount3Bnumber
form.amount4Anumber
form.amount4Bnumber | string
form.amount4Cnumber | string
form.amount5Anumber | string
form.amount5Bnumber | string
form.amount5Cnumber | string
form.amount5Dnumber | string
form.foreignInsuranceSubsidiaryRows[].additionalSurplusContributedInumber
form.foreignInsuranceSubsidiaryRows[].aociContributedSurplusOthernumber
form.foreignInsuranceSubsidiaryRows[].capitalAnumber
form.foreignInsuranceSubsidiaryRows[].capitalStockInvestedHnumber
form.foreignInsuranceSubsidiaryRows[].capitalStockOrMemberContributionsnumber
form.foreignInsuranceSubsidiaryRows[].deficitDeductedInShareholdersEquitynumber
form.foreignInsuranceSubsidiaryRows[].formDetailCompleteboolean
form.foreignInsuranceSubsidiaryRows[].hPlusInumber
form.foreignInsuranceSubsidiaryRows[].line521Componentnumber
form.foreignInsuranceSubsidiaryRows[].line524Componentnumber
form.foreignInsuranceSubsidiaryRows[].line525Componentnumber
form.foreignInsuranceSubsidiaryRows[].longTermDebtnumber
form.foreignInsuranceSubsidiaryRows[].longTermDebtInvestedHnumber
form.foreignInsuranceSubsidiaryRows[].netCsm90number
form.foreignInsuranceSubsidiaryRows[].policyholderLiabilitiesnumber
form.foreignInsuranceSubsidiaryRows[].reg8605CapitalAnumber
form.foreignInsuranceSubsidiaryRows[].reg8605ReserveLiabilitiesnumber
form.foreignInsuranceSubsidiaryRows[].retainedEarningsnumber
form.foreignInsuranceSubsidiaryRows[].rowIndexinteger
form.foreignInsuranceSubsidiaryRows[].subsidiaryIdstring
form.foreignInsuranceSubsidiaryRows[].subsidiaryNamestring
form.foreignInsuranceSubsidiaryRows[].table2Capitalnumber
form.foreignInsuranceSubsidiaryRows[].table2Subtotalnumber
form.lines.102number | string
form.lines.103number | string
form.lines.104number | string
form.lines.105number | string
form.lines.106number | string
form.lines.107number | string
form.lines.108number | string
form.lines.109number | string
form.lines.122number | string
form.lines.190number | string
form.lines.202string
form.lines.203string
form.lines.204string
form.lines.205string
form.lines.206string
form.lines.207string
form.lines.208string
form.lines.209string
form.lines.210string
form.lines.222string
form.lines.290string
form.lines.301string
form.lines.302string
form.lines.303string
form.lines.304string
form.lines.331string
form.lines.341string
form.lines.342string
form.lines.390string
form.lines.401number
form.lines.404number
form.lines.415number | string
form.lines.490number
form.lines.500number | string
form.lines.511number
form.lines.512number
form.lines.521number
form.lines.522number
form.lines.523number
form.lines.524number
form.lines.525number
form.lines.530number | string
form.lines.590number | string
form.lines.611string
form.lines.612string
form.lines.650string
form.lines.690string
form.lines.790string
grindTCECnull | number
line_415_sbd_factorarray | boolean | null | number | object | string
lines.102number
lines.103number
lines.104number
lines.105number
lines.106number
lines.107number
lines.108number
lines.109number
lines.122number
lines.190number
lines.1Anumber
lines.401number
lines.404number
lines.415array | boolean | null | number | object | string
lines.490number
lines.4Anumber
lines.4Cnull | number
lines.500null | number
lines.511number
lines.512number
lines.521number
lines.522number
lines.523number
lines.524number
lines.525number
lines.530null | number
lines.590null | number
missing_required[]string
part5Applicabilitystring
part5CurrentYearTCECReconciledarray | boolean | null | number | object | string
part5Excessarray | boolean | null | number | object | string
part5Floorarray | boolean | null | number | object | string
provisionalboolean
readyboolean
residenceFactSuppliedboolean
reviewedCurrentYearTCECarray | boolean | null | number | object | string
schedulestring
sourceSchedulestring
taxYearinteger
tcecnull | number
tcecBranchFactSuppliedboolean
tcecCalculationCompleteboolean
filingPropositions[].schemaVersioninteger
filingPropositions[].propositionIdstring
filingPropositions[].statestring
filingPropositions[].filingDispositionstring
filingPropositions[].targets[]string
filingPropositions[].evidence[]string
warnings[].boxnull
warnings[].severitystring
warnings[].messagestring
warnings[].gate_idstring
warnings[].citation.gate_idstring
warnings[].citation.form_idstring
warnings[].citation.rulestring
warnings[].citation.cra_text_verbatimstring
warnings[].citation.sourcestring
warnings[].citation.source_urlstring
warnings[].citation.form_revisionstring
warnings[].citation.applies_to_boxes[]string
warnings[].citation.verified_atstring
warnings[].codestring
warnings[].fieldstring
currentYearAssociatedboolean
wasAssociatedInPrecedingYearboolean
fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.gate_idstring
fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.form_idstring
fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.rulestring
fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.cra_text_verbatimstring
fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.sourcestring
fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.source_urlstring
fired_gates.s181_3_b_c_d_ifrs17_formula_only_for_ty_starting_after_2022.form_revisionstring
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_atstring
Filemark | schedule35 cells