schedule45

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2005 and later
Strict profile
s45_single_transfer_agreement_profile_target_value_v1
Payload schema version
0.7.0
Dependencies (run automatically)
schedule43

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": [
    "schedule45"
  ],
  "inputs": {
    "taxYear": 2025,
    "schedule43": {
      "line1BPriorYearNonExcludedDividendsPaid": 0,
      "line220StpsDividendsPaid": 700000
    },
    "schedule45": {
      "isFilingAsTransferor": true,
      "relatedCorporationConfirmed": true,
      "relatedOnlyByS251_5_b_OptionRight": false,
      "relatedOnlyByGovernmentControl": false,
      "transfereeIsTaxableCanadianCorp": true,
      "directorsResolutionsAttached": true,
      "relatedMainPurposeWasTransfer": false,
      "isAmendingAgreement": false,
      "line105TotalPartVi1TaxTransferred": 50000,
      "line110TransferorName": "Cedar Ridge Holdings Inc.",
      "line115TransferorBusinessNumber": "333333334RC0001",
      "line120TransferorTaxYearEnd": "2025-12-31",
      "transferees": [
        {
          "name": "Cedar Ridge Manufacturing Inc.",
          "businessNumber": "333333334RC0001",
          "transferredAmount": 50000,
          "transfereeTaxYearEnd": "2025-12-31"
        }
      ]
    }
  }
}

Input cells (22)

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 schedule45
CellTypesRequired
schedule43.line1BPriorYearNonExcludedDividendsPaidintegerstrict
schedule43.line220StpsDividendsPaidintegerstrict
schedule45.directorsResolutionsAttacheds.191.3(2) filing condition: certified copies of the directors' resolutions authorizing the Part VI.1 tax transfer agreement are attached.boolean | nullstrict
schedule45.isAmendingAgreementThis Schedule 45 is an amending agreement; s.191.3(2)(d) makes the latest otherwise-compliant agreement operative.boolean | nullstrict
schedule45.isFilingAsTransferorWhether this return files the s.191.3 agreement as the transferor; true ties the agreement to Schedule 43 line 260, false to the filer's transferee row and line 250.boolean | nullstrict
schedule45.line101DateFiledBox 101 — Date filed ("do not use this area" per CRA prompt; reserved for CRA's date-stamp on receipt). Filemark accepts a practitioner value for internal audit but does NOT transmit.null | string
schedule45.line105TotalPartVi1TaxTransferredBox 105: the Part VI.1 tax the filed agreement itself specifies as transferred. A distinct required operand since the box gained its own input path; the column-233 sum is capped by it, never substituted for it.null | number
schedule45.line110TransferorNameBox 110 — Name of the transferor corporation.null | stringstrict
schedule45.line115TransferorBusinessNumberBox 115 — Full 15-character CRA program account.null | stringstrict
schedule45.line120TransferorTaxYearEndBox 120 — Tax year-end of the transferor corporation (YYYY-MM-DD).null | stringstrict
schedule45.relatedCorporationConfirmedConfirms s.191.3(1)(a) and (b): the transferee was related to the transferor throughout the transferor's taxation year and throughout the transferee's last taxation year ending in it.boolean | nullstrict
schedule45.relatedMainPurposeWasTransfers.191.3(4) anti-avoidance: the main purpose of the corporations becoming related was to permit the transfer, so the specified amount is deemed nil.boolean | nullstrict
schedule45.relatedOnlyByGovernmentControlThe corporations are related only through government control; that relation does not count for the s.191.3 agreement, which is then invalid.boolean | nullstrict
schedule45.relatedOnlyByS251_5_b_OptionRightThe corporations are related only through a s.251(5)(b) option right; that relation does not count for the s.191.3 agreement, which is then invalid.boolean | nullstrict
schedule45.transfereeIsTaxableCanadianCorpForm preamble condition: the transferee must be a related taxable Canadian corporation; false or unset blocks the s.191.3 agreement.boolean | nullstrict
schedule45.transfereesTransferee rows (box 225 / 230 / 233 / 235 per row).array
schedule45.transferees[].businessNumberBox 230 — Full 15-character CRA program account (9 digits, 2 letters, and 4 digits). The form does not authorize an "NR" alternative.null | stringstrict
schedule45.transferees[].nameBox 225 — Name of the transferee corporation.null | stringstrict
schedule45.transferees[].transfereeTaxYearEndBox 235 — Tax year end (YYYY-MM-DD) to which this agreement applies for the transferee. Per s.191.3(1)(b) this is the transferee's last taxation year ending at or before the end of the transferor's taxation year.null | stringstrict
schedule45.transferees[].transferredAmountBox 233 — Part VI.1 tax transferred to this transferee, in CAD. Must be positive. Sum of column 233 across rows feeds box 105 and must not exceed the transferor's gross Part VI.1 tax per s.191.3(1)(c).null | number | stringstrict
schedule45.transferorGrossPartVi1TaxOtherwisePayableThe TRANSFEROR's Part VI.1 tax otherwise payable for the agreement year — its Schedule 43 amounts 3C + 3I + 3Q, excluding tax it owes under another s.191.3 agreement. Required on a transferee copy, where it is a fact about a different corporation that this return cannot derive; null blocks rather than accepting the agreement's own figure. On a transferor copy the canonical Schedule 43 figure governs and a stated value that disagrees with it is a contradiction.null | number
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 (11 of 22 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 schedule45
CellAccepted values
schedule43.line1BPriorYearNonExcludedDividendsPaid-1000000000000000 to 1000000000000000
schedule43.line220StpsDividendsPaid-1000000000000000 to 1000000000000000
schedule45.line105TotalPartVi1TaxTransferred-1000000000000000 to 1000000000000000
schedule45.line110TransferorName0 to 20000 characters
schedule45.line115TransferorBusinessNumber0 to 20000 characters
schedule45.line120TransferorTaxYearEnd0 to 20000 characters
schedule45.transferees[].businessNumber0 to 20000 characters
schedule45.transferees[].name0 to 20000 characters
schedule45.transferees[].transfereeTaxYearEnd0 to 20000 characters
schedule45.transferees[].transferredAmount-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 (44)

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

Output cells for schedule45
CellTypes
directorsResolutionsAttachedboolean | null
fired_gatesobject
isFilingAsTransferorboolean | null
line_101array | boolean | null | number | object | string
line_105number
line_110null | string
line_115null | string
line_120null | string
line_225null | string
line_230null | string
line_233number
line_235null | string
missing_required[]string
provisionalboolean
readyboolean
relatedCorporationConfirmedboolean | null
total_transferrednumber
transfereeIsTaxableCanadianCorpboolean | null
transferees[].line_225string
transferees[].line_230string
transferees[].line_233number
transferees[].line_235string
warnings[].boxnull | string
warnings[].citation.displaystring
warnings[].citation.kindstring
warnings[].citation.sectionstring
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_idstring
warnings[].messagestring
warnings[].severitystring
warnings[].codeStable machine identity of the disclosure, independent of its prose.string
warnings[].notesWhat the rate manifest records against the year, including what is still outstanding before the year can be verified.string
warnings[].sectionThe module that emitted the disclosure.string
warnings[].sources[]string
warnings[].taxYearThe taxation year whose rate tables are unverified.integer
warnings[].taxYears[]integer
Filemark | schedule45 cells