t2142

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2025 and later
Strict profile
t2142_2026_exact_prescribed_form_v1
Payload schema version
2.0.0
Dependencies (run automatically)
none

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": [
    "t2142"
  ],
  "inputs": {
    "taxYear": 2025,
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "isLifeInsurer": true,
    "t2142": {
      "amendedReturn": false,
      "isNonResident": false,
      "corporationName": "Harbourlight Life Insurance Company",
      "businessNumberRoot": "123456782",
      "businessNumberReference": "0001",
      "address": "1 Main Street",
      "city": "Toronto",
      "provinceTerritoryState": "ON",
      "postalOrZipCode": "M5V1A1",
      "country": "Canada",
      "contactPerson": "Jane Smith",
      "firmName": "Northstar Tax LLP",
      "telephoneNumber": "4165551212",
      "reg1401ReserveReviewStatus": "complete",
      "reg1401ReserveRows": [
        {
          "policyId": "P1",
          "sourceRef": "certified actuarial reserve packet",
          "actuarialCertificationConfirmed": true,
          "policyGroup": "individual",
          "paragraph": "a",
          "segregatedFundLiability": false,
          "taxabilityCategory": "taxable",
          "direction": "direct",
          "current": {
            "reportedLiability": 1000000
          },
          "prior": {
            "reportedLiability": 1000000
          }
        }
      ],
      "investmentPolicyReviewStatus": "complete",
      "investmentPolicyRows": [
        {
          "policyId": "P1",
          "classificationConfirmed": true,
          "taxableLifePolicyConfirmed": true,
          "investmentRateClass": "full_rate",
          "currentMaximumReserve": 1000000,
          "priorMaximumReserve": 1000000
        }
      ],
      "cfrReviewStatus": "no_cfr_policies",
      "cfrPolicyRows": [],
      "policyholderAdjustmentReviewStatus": "no_policyholder_adjustments",
      "policyholderAdjustmentRows": [],
      "lossContinuityStatus": "no_prior_losses",
      "lossRows": [],
      "instalmentPayments": [],
      "amountEnclosed": 0,
      "estimatedCurrentYearPartXii3Tax": 2046,
      "priorYearPartXii3Tax": 0,
      "priorYearDaysExcludingFebruary29": 365,
      "officerName": "Jane Smith",
      "officerTitle": "CFO",
      "certificationDate": "2026-03-01",
      "certificationConfirmed": true
    }
  }
}

Input cells (54)

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 t2142
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
isLifeInsurerbooleanstrict
t2142Part XII.3 life-insurer return inputs. The server injects canonical identity, life-insurer status, and the signed prior-return closure.null | object
t2142.addressstringstrict
t2142.amendedReturnbooleanstrict
t2142.amountEnclosedintegerstrict
t2142.businessNumberReferenceThe four-digit RC account reference printed at T2142 line 001.null | stringstrict
t2142.businessNumberRootThe nine-digit business-number root printed at T2142 line 001.null | stringstrict
t2142.certificationConfirmedbooleanstrict
t2142.certificationDatestringstrict
t2142.cfrPolicyRowsReviewed Canadian federal and provincial registered-policy rows for T2142 Part 5. Send an empty array with a no_cfr_policies review status when none exist.array | nullstrict
t2142.cfrReviewStatusConclusion of the T2142 Canadian federal and provincial registered-policy review.null | stringstrict
t2142.citystringstrict
t2142.contactPersonstringstrict
t2142.corporationNamestringstrict
t2142.countrystringstrict
t2142.estimatedCurrentYearPartXii3TaxPractitioner estimate of current-year Part XII.3 tax used to calculate the monthly ITA section 211.3 instalment base.null | number | stringstrict
t2142.firmNamestringstrict
t2142.instalmentPaymentsarraystrict
t2142.investmentPolicyReviewStatusConclusion of the T2142 taxable investment-policy review.null | stringstrict
t2142.investmentPolicyRowsReviewed taxable investment-policy rows for T2142 Part 4. Send an empty array with a no_taxable_policies review status when none exist.array | null
t2142.investmentPolicyRows[].classificationConfirmedbooleanstrict
t2142.investmentPolicyRows[].currentMaximumReserveintegerstrict
t2142.investmentPolicyRows[].investmentRateClassstringstrict
t2142.investmentPolicyRows[].policyIdstringstrict
t2142.investmentPolicyRows[].priorMaximumReserveintegerstrict
t2142.investmentPolicyRows[].taxableLifePolicyConfirmedbooleanstrict
t2142.isNonResidentT2142 line 003 answer stating whether the life insurer is non-resident.boolean | nullstrict
t2142.lossContinuityStatusConclusion of the authenticated Part XII.3 loss-continuity review.null | stringstrict
t2142.lossRowsAuthenticated Part XII.3 loss-continuity rows for T2142 Part 7. Send an empty array with a no_prior_losses status when no prior losses remain.array | nullstrict
t2142.officerNamestringstrict
t2142.officerTitlestringstrict
t2142.policyholderAdjustmentReviewStatusConclusion of the T2142 policyholder-adjustment review.null | stringstrict
t2142.policyholderAdjustmentRowsReviewed policyholder-adjustment rows for T2142 Part 6. Send an empty array with a no_policyholder_adjustments status when none exist.array | nullstrict
t2142.postalOrZipCodestringstrict
t2142.priorYearDaysExcludingFebruary29Authenticated prior taxation-year day count excluding February 29, used to annualize prior Part XII.3 tax for sections 211.3 and 211.5. The signed prior-filed closure overwrites this editable copy.null | numberstrict
t2142.priorYearPartXii3TaxAuthenticated prior-year Part XII.3 tax used for the sections 211.3 and 211.5 instalment bases. The signed prior-filed closure overwrites this editable copy and reconciliation detects a stale mismatch.null | number | stringstrict
t2142.provinceTerritoryStatestringstrict
t2142.reg1401ReserveReviewStatusConclusion of the Regulation 1401 reserve review for T2142 Part 3.null | stringstrict
t2142.reg1401ReserveRowsReviewed Regulation 1401 policy reserve rows for T2142 Part 3. Send an empty array with a no_reserves status when none exist.array | null
t2142.reg1401ReserveRows[].actuarialCertificationConfirmedbooleanstrict
t2142.reg1401ReserveRows[].current.reportedLiabilityintegerstrict
t2142.reg1401ReserveRows[].directionstringstrict
t2142.reg1401ReserveRows[].paragraphstringstrict
t2142.reg1401ReserveRows[].policyGroupstringstrict
t2142.reg1401ReserveRows[].policyIdstringstrict
t2142.reg1401ReserveRows[].prior.reportedLiabilityintegerstrict
t2142.reg1401ReserveRows[].segregatedFundLiabilitybooleanstrict
t2142.reg1401ReserveRows[].sourceRefstringstrict
t2142.reg1401ReserveRows[].taxabilityCategorystringstrict
t2142.taxpayerIdentificationNumberNon-resident taxpayer identification number printed at T2142 line 020; required when line 003 is Yes.null | string
t2142.telephoneNumberstringstrict
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 (42 of 54 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 t2142
CellAccepted values
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
t2142.address0 to 20000 characters
t2142.amountEnclosed-1000000000000000 to 1000000000000000
t2142.businessNumberReference0 to 20000 characters
t2142.businessNumberRoot0 to 20000 characters
t2142.certificationDate0 to 20000 characters
t2142.cfrPolicyRowsexactly []pinned
t2142.cfrReviewStatusone of "complete", "no_cfr_policies", null
t2142.city0 to 20000 characters
t2142.contactPerson0 to 20000 characters
t2142.corporationName0 to 20000 characters
t2142.country0 to 20000 characters
t2142.estimatedCurrentYearPartXii3Tax-1000000000000000 to 1000000000000000; 0 to 20000 characters
t2142.firmName0 to 20000 characters
t2142.instalmentPaymentsexactly []pinned
t2142.investmentPolicyReviewStatusone of "complete", "no_taxable_policies", null
t2142.investmentPolicyRows[].currentMaximumReserve-1000000000000000 to 1000000000000000
t2142.investmentPolicyRows[].investmentRateClass0 to 20000 characters
t2142.investmentPolicyRows[].policyId0 to 20000 characters
t2142.investmentPolicyRows[].priorMaximumReserve-1000000000000000 to 1000000000000000
t2142.lossContinuityStatusone of "complete", "no_prior_losses", null
t2142.lossRowsexactly []pinned
t2142.officerName0 to 20000 characters
t2142.officerTitle0 to 20000 characters
t2142.policyholderAdjustmentReviewStatusone of "complete", "no_policyholder_adjustments", null
t2142.policyholderAdjustmentRowsexactly []pinned
t2142.postalOrZipCode0 to 20000 characters
t2142.priorYearDaysExcludingFebruary29-1000000000000000 to 1000000000000000
t2142.priorYearPartXii3Tax-1000000000000000 to 1000000000000000; 0 to 20000 characters
t2142.provinceTerritoryState0 to 20000 characters
t2142.reg1401ReserveReviewStatusone of "complete", "no_reserves", null
t2142.reg1401ReserveRows[].current.reportedLiability-1000000000000000 to 1000000000000000
t2142.reg1401ReserveRows[].direction0 to 20000 characters
t2142.reg1401ReserveRows[].paragraph0 to 20000 characters
t2142.reg1401ReserveRows[].policyGroup0 to 20000 characters
t2142.reg1401ReserveRows[].policyId0 to 20000 characters
t2142.reg1401ReserveRows[].prior.reportedLiability-1000000000000000 to 1000000000000000
t2142.reg1401ReserveRows[].sourceRef0 to 20000 characters
t2142.reg1401ReserveRows[].taxabilityCategory0 to 20000 characters
t2142.telephoneNumber0 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 (292)

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

Output cells for t2142
CellTypes
applicableboolean | null
attachments.instalmentListarray
attachments.part4Overflowarray
attachments.part7Overflowarray
authoritystring
cfrPolicyCalculationsarray
daysExcludingFebruary29integer
filingProjectionReadyboolean
filingWarnings[].codestring
filingWarnings[].fieldstring
filingWarnings[].messagestring
filingWarnings[].severitystring
fiscalEndstring
fiscalStartstring
form.addressstring
form.amendedReturnboolean
form.businessNumberReferencestring
form.businessNumberRootstring
form.certificationDatestring
form.citystring
form.contactPersonstring
form.corporationNamestring
form.countrystring
form.extensionNumberstring
form.firmNamestring
form.fiscalEndstring
form.fiscalStartstring
form.fullRatePolicies[].currentMaximumReservenumber
form.fullRatePolicies[].guaranteedRateFractionnumber
form.fullRatePolicies[].guaranteedRatePctnumber
form.fullRatePolicies[].investmentRateClassstring
form.fullRatePolicies[].meanMaximumReservenumber
form.fullRatePolicies[].policyIdstring
form.fullRatePolicies[].prePercentageAmountnumber
form.fullRatePolicies[].priorMaximumReservenumber
form.fullRatePolicies[].rateDifferenceFractionnumber
form.fullRatePolicies[].rateDifferencePctnumber
form.isNonResidentboolean
form.lines.100number
form.lines.105number
form.lines.110number
form.lines.115number
form.lines.120number
form.lines.125number
form.lines.130number
form.lines.135number
form.lines.200number
form.lines.202number
form.lines.204number
form.lines.206number
form.lines.208number
form.lines.210number
form.lines.212number
form.lines.214number
form.lines.216number
form.lines.218number
form.lines.220number
form.lines.222number
form.lines.224number
form.lines.226number
form.lines.228number
form.lines.230number
form.lines.232number
form.lines.234number
form.lines.236number
form.lines.238number
form.lines.240number
form.lines.242number
form.lines.244number
form.lines.400number
form.lines.530number
form.lines.565number
form.lines.570number
form.lines.575number
form.lines.600number
form.lines.610number
form.lines.620number
form.lines.630number
form.lines.640number
form.lines.650number
form.lines.660number
form.lines.670number
form.lines.700number
form.lines.701number
form.lines.702number
form.lines.703number
form.lines.704number
form.lines.705number
form.lines.706number
form.lines.707number
form.lines.708number
form.lines.709number
form.lines.710number
form.lines.711number
form.lines.712number
form.lines.713number
form.lines.714number
form.lines.715number
form.lines.716number
form.lines.717number
form.lines.718number
form.lines.719number
form.lines.720number
form.lines.721number
form.lines.722number
form.lines.723number
form.lines.724number
form.lines.725number
form.lines.726number
form.lines.727number
form.lines.728number
form.lines.729number
form.lines.730number
form.lines.Anumber
form.lines.Bnumber
form.lines.Cnumber
form.lines.Dnumber
form.lines.Enumber
form.lines.Fnumber
form.lines.Gnumber
form.lines.Hnumber
form.lines.Inumber
form.lines.Jnumber
form.lines.Knumber
form.lines.Lnumber
form.lines.Mnumber
form.lines.Nnumber
form.lines.Onumber
form.lines.Pnumber
form.lines.Qnumber
form.lines.Rnumber
form.lossContinuityarray
form.officerNamestring
form.officerTitlestring
form.policyholderAdjustments[].adjustmentnumber
form.policyholderAdjustments[].percentagenumber
form.policyholderAdjustments[].section12_2Amountnumber
form.policyholderAdjustments[].section56_1_jAmountnumber
form.policyholderAdjustments[].taxableYearCountinteger | string
form.policyholderAdjustments[].totalnumber
form.postalOrZipCodestring
form.provinceTerritoryStatestring
form.reducedRatePoliciesarray
form.taxpayerIdentificationNumberstring
form.telephoneNumberstring
formIdstring
instalmentPaymentsarray
investmentPolicyCalculations[].currentMaximumReservenumber
investmentPolicyCalculations[].guaranteedRateFractionnumber
investmentPolicyCalculations[].guaranteedRatePctnumber
investmentPolicyCalculations[].investmentRateClassstring
investmentPolicyCalculations[].meanMaximumReservenumber
investmentPolicyCalculations[].policyIdstring
investmentPolicyCalculations[].prePercentageAmountnumber
investmentPolicyCalculations[].priorMaximumReservenumber
investmentPolicyCalculations[].rateDifferenceFractionnumber
investmentPolicyCalculations[].rateDifferencePctnumber
lines.100number
lines.105number
lines.110number
lines.115number
lines.120number
lines.125number
lines.130number
lines.135number
lines.200number
lines.202number
lines.204number
lines.206number
lines.208number
lines.210number
lines.212number
lines.214number
lines.216number
lines.218number
lines.220number
lines.222number
lines.224number
lines.226number
lines.228number
lines.230number
lines.232number
lines.234number
lines.236number
lines.238number
lines.240number
lines.242number
lines.244number
lines.400number
lines.530number
lines.565number
lines.570number
lines.575number
lines.600number
lines.610number
lines.620number
lines.630number
lines.640number
lines.650number
lines.660number
lines.670number
lines.700number
lines.701number
lines.702number
lines.703number
lines.704number
lines.705number
lines.706number
lines.707number
lines.708number
lines.709number
lines.710number
lines.711number
lines.712number
lines.713number
lines.714number
lines.715number
lines.716number
lines.717number
lines.718number
lines.719number
lines.720number
lines.721number
lines.722number
lines.723number
lines.724number
lines.725number
lines.726number
lines.727number
lines.728number
lines.729number
lines.730number
lines.Anumber
lines.Bnumber
lines.Cnumber
lines.Dnumber
lines.Enumber
lines.Fnumber
lines.Gnumber
lines.Hnumber
lines.Inumber
lines.Jnumber
lines.Knumber
lines.Lnumber
lines.Mnumber
lines.Nnumber
lines.Onumber
lines.Pnumber
lines.Qnumber
lines.Rnumber
lossContinuityarray
missing_required[]string
partXii3Obligations.actualCurrentAnnualizedTaxnumber
partXii3Obligations.estimatedCurrentAnnualizedTaxnull | number
partXii3Obligations.priorAnnualizedTaxnull | number
partXii3Obligations.section211_3MonthlyObligations[].amountnumber
partXii3Obligations.section211_3MonthlyObligations[].nominalDueDatestring
partXii3Obligations.section211_3MonthlyObligations[].statutoryBasisstring
partXii3Obligations.section211_5ActualInterestBaseObligations[].amountnumber
partXii3Obligations.section211_5ActualInterestBaseObligations[].nominalDueDatestring
partXii3Obligations.section211_5ActualInterestBaseObligations[].statutoryBasisstring
partXii3TaxPayablenumber
policyholderAdjustmentCalculationsarray
priorClosureAuthenticatedboolean
priorClosureLineagearray | boolean | null | number | object | string
provisionalboolean
rate.fractionnumber
rate.observationCountinteger
rate.percentnumber
rate.rawResponseSha256string
rate.seriesstring
rate.sourceUrlstring
rate.windowEndstring
rate.windowStartstring
readyboolean
reserveCalculations[].currentMaximumnumber
reserveCalculations[].disabledCurrentnumber
reserveCalculations[].disabledPriornumber
reserveCalculations[].linestring
reserveCalculations[].paragraphstring
reserveCalculations[].policyIdstring
reserveCalculations[].priorMaximumnumber
schedulestring
shortYearProrationAppliesboolean
taxYearinteger
taxableCanadianLifeInvestmentIncomenumber
warnings[].codestring
warnings[].fieldstring
warnings[].messagestring
warnings[].severitystring
firstReturnAttestationAcceptedboolean
priorAuthorityAcceptedboolean
Filemark | t2142 cells