schedule73

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2019 and later
Strict profile
s73_2024_s71_s72_rollup_worked_example_target_value_v1
Payload schema version
0.7.0
Dependencies (run automatically)
schedule71, schedule72

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": [
    "schedule73"
  ],
  "inputs": {
    "schedule71": {
      "becameBankruptInYear": false,
      "corpTaxYearEnd": "2025-12-31",
      "corpTaxYearStart": "2025-01-01",
      "isMultiTierPartnership": false,
      "isProfessionalCorp": false,
      "multiTierAlignmentYear1Suspension": false,
      "partnershipIsForeignAffiliateSurrogate": false,
      "partnerships": [
        {
          "continuousMembershipSinceBeforeMarch22_2011": true,
          "corpSharePercentage": 50,
          "particularPeriodEnd": "2026-01-31",
          "particularPeriodStart": "2025-02-01",
          "partnershipBN": "123456782RZ0001",
          "partnershipFYEndInYear": "2025-01-31",
          "partnershipFYStartInYear": "2024-02-01",
          "partnershipName": "Cedar Ridge Operations LP",
          "significantInterestConfirmed": true,
          "var_A_share_of_income_and_tcg": 1000000,
          "var_A_tcg_component": 0,
          "var_B_acl_component": 0,
          "var_B_share_of_loss_and_acl": 0,
          "var_E_designated_qre": 0,
          "var_F_discretionary": 0,
          "corpEntitledToShareAtParticularPeriodEnd": true,
          "var_A_active_business_component": 1000000,
          "var_A_property_component": 0,
          "var_A_other_component": 0
        }
      ]
    },
    "schedule72": {
      "becameBankruptInYear": false,
      "corpTaxYearEnd": "2025-12-31",
      "corpTaxYearStart": "2025-01-01",
      "isProfessionalCorp": false,
      "isSingleTierPartnership": false,
      "partnershipHasPartnershipMember": true,
      "partnershipIsForeignAffiliateSurrogate": false,
      "partnerships": [
        {
          "box_2A_income": 1000000,
          "box_2B_loss": 0,
          "box_2D_tcg": 0,
          "box_2E_acl": 0,
          "box_2J_designated_qre": 0,
          "box_2K_discretionary_designation": 0,
          "continuousMembershipSinceBeforeMarch22_2011": true,
          "corpSharePercentage": 50,
          "particularPeriodEnd": "2026-01-31",
          "particularPeriodStart": "2025-02-01",
          "partnershipBN": "222222226RZ0001",
          "partnershipFYEndInYear": "2025-01-31",
          "partnershipFYStartInYear": "2024-02-01",
          "partnershipName": "Cedar Ridge Multi-Tier LP",
          "significantInterestConfirmed": true,
          "corpEntitledToShareAtParticularPeriodEnd": true,
          "box_2A_active_business_component": 1000000,
          "box_2A_property_component": 0,
          "box_2A_other_component": 0
        }
      ],
      "preFirstAlignedFiscalPeriodSuspension": false,
      "stickyMultiTierAfterStructureFlattens": false,
      "wasSubjectToMultiTierAlignment": false
    },
    "schedule73": {
      "characterSplitOverrides": {
        "activeBusinessIncome": 1835616.44,
        "allowableCapitalLoss": 0,
        "otherIncome": 0,
        "propertyIncome": 0,
        "taxableCapitalGain": 0
      }
    },
    "taxYear": 2025
  }
}

Input cells (83)

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 schedule73
CellTypesRequired
schedule71.becameBankruptInYears.34.2(7) carve-out: the corporation became bankrupt in the year, so neither the ASPA inclusion nor the s.34.2(3) new-partner designation applies.booleanstrict
schedule71.corpTaxYearEndstringstrict
schedule71.corpTaxYearStartstringstrict
schedule71.isMultiTierPartnershipScope check: the partnership is itself a member of another partnership (s.102(2), s.249.1(1)(c)); multi-tier partnerships use Schedule 72, not Schedule 71.booleanstrict
schedule71.isProfessionalCorps.34.2(2) chapeau carve-out: a professional corporation accrues stub-period income under s.34.1 instead of the ASPA regime.booleanstrict
schedule71.multiTierAlignmentYear1Suspensions.34.2(9): ASPA is suspended for taxation years preceding the year that includes the end of the first aligned fiscal period.booleanstrict
schedule71.partnershipIsForeignAffiliateSurrogates.34.2(8) carve-out: s.34.2 does not apply in computing FAPI or foreign-affiliate surplus; the accrual flows through the surplus computation instead.booleanstrict
schedule71.partnerships[].continuousMembershipSinceBeforeMarch22_2011s.34.2(13)(a) transitional condition: the corporation has been a member of the partnership continuously since before March 22, 2011; required for the qualifying transitional income reserve.booleanstrict
schedule71.partnerships[].corpEntitledToShareAtParticularPeriodEndWhether, at the end of the year, the corporation is entitled to a share of the partnership's income, loss, taxable capital gain or allowable capital loss for the fiscal period — the ITA 34.2(2)(c) condition. Strict tri-state: true admits the row's ASPA, false applies the (2)(c) carveout and zeroes it, and an absent answer withholds the ASPA and blocks. The answer is a submitted practitioner fact and is not proof that the corporation was so entitled.booleanstrict
schedule71.partnerships[].corpSharePercentageintegerstrict
schedule71.partnerships[].particularPeriodEndstringstrict
schedule71.partnerships[].particularPeriodStartstringstrict
schedule71.partnerships[].partnershipBNstringstrict
schedule71.partnerships[].partnershipFYEndInYearstringstrict
schedule71.partnerships[].partnershipFYStartInYearstringstrict
schedule71.partnerships[].partnershipNamestringstrict
schedule71.partnerships[].significantInterestConfirmedPractitioner confirmation of the s.34.2(1) significant-interest test: the corporation, together with related or affiliated persons, holds more than 10 percent of the partnership's income entitlement.booleanstrict
schedule71.partnerships[].var_A_active_business_componentThe active-business share of this row's variable A character split. ITA 34.2(5)(a)(i) gives the adjusted stub period accrual the same character, in the same proportions, as the income the partnership allocated to the corporation — an allocation fact the corporation cannot infer. Send all three shares: an absent breakdown is UNKNOWN and blocks rather than filing the whole non-capital amount on T2 SCH 73 line 270.integer
schedule71.partnerships[].var_A_other_componentThe other-income share of this row's variable A character split, on the same ITA 34.2(5)(a)(i) terms as the active-business share. Send all three: an absent breakdown is UNKNOWN and blocks rather than filing the whole non-capital amount on T2 SCH 73 line 270.integer
schedule71.partnerships[].var_A_property_componentThe property-income share of this row's variable A character split, on the same ITA 34.2(5)(a)(i) terms as the active-business share. Send all three: an absent breakdown is UNKNOWN and blocks rather than filing the whole non-capital amount on T2 SCH 73 line 270.integer
schedule71.partnerships[].var_A_share_of_income_and_tcgintegerstrict
schedule71.partnerships[].var_A_tcg_componentintegerstrict
schedule71.partnerships[].var_B_acl_componentintegerstrict
schedule71.partnerships[].var_B_share_of_loss_and_aclintegerstrict
schedule71.partnerships[].var_E_designated_qreintegerstrict
schedule71.partnerships[].var_F_discretionaryintegerstrict
schedule72.becameBankruptInYears.34.2(7) carve-out: the corporation became bankrupt in the year, so neither the ASPA inclusion nor the s.34.2(3) new-partner designation applies.booleanstrict
schedule72.corpTaxYearEndstringstrict
schedule72.corpTaxYearStartstringstrict
schedule72.isProfessionalCorps.34.2(2) chapeau carve-out: a professional corporation accrues stub-period income under s.34.1 instead of the ASPA regime.booleanstrict
schedule72.isSingleTierPartnershipScope check: an explicitly single-tier partnership belongs on Schedule 71; only a formerly multi-tier structure kept here by the sticky form-face rule stays on Schedule 72.booleanstrict
schedule72.partnershipHasPartnershipMemberThe partnership has another partnership as a member (s.102(2), s.249.1(1)(c)); one of the facts that qualifies it as multi-tier for Schedule 72.booleanstrict
schedule72.partnershipIsForeignAffiliateSurrogates.34.2(8) carve-out: s.34.2 does not apply in computing FAPI or foreign-affiliate surplus; the accrual flows through the surplus computation instead.booleanstrict
schedule72.partnerships[].box_2A_active_business_componentThe active-business share of this row's amount 2A character split. ITA 34.2(5)(a)(i) gives the adjusted stub period accrual the same character, in the same proportions, as the income the partnership allocated to the corporation — an allocation fact the corporation cannot infer. Send all three shares: an absent breakdown is UNKNOWN and blocks rather than filing the whole non-capital amount on T2 SCH 73 line 270.integer
schedule72.partnerships[].box_2A_incomeintegerstrict
schedule72.partnerships[].box_2A_other_componentThe other-income share of this row's amount 2A character split, on the same ITA 34.2(5)(a)(i) terms as the active-business share. Send all three: an absent breakdown is UNKNOWN and blocks rather than filing the whole non-capital amount on T2 SCH 73 line 270.integer
schedule72.partnerships[].box_2A_property_componentThe property-income share of this row's amount 2A character split, on the same ITA 34.2(5)(a)(i) terms as the active-business share. Send all three: an absent breakdown is UNKNOWN and blocks rather than filing the whole non-capital amount on T2 SCH 73 line 270.integer
schedule72.partnerships[].box_2B_lossintegerstrict
schedule72.partnerships[].box_2D_tcgintegerstrict
schedule72.partnerships[].box_2E_aclintegerstrict
schedule72.partnerships[].box_2J_designated_qreintegerstrict
schedule72.partnerships[].box_2K_discretionary_designationintegerstrict
schedule72.partnerships[].continuousMembershipSinceBeforeMarch22_2011s.34.2(13)(a) transitional condition: the corporation has been a member of the partnership continuously since before March 22, 2011; required for the qualifying transitional income reserve.booleanstrict
schedule72.partnerships[].corpEntitledToShareAtParticularPeriodEndWhether, at the end of the year, the corporation is entitled to a share of the partnership's income, loss, taxable capital gain or allowable capital loss for the fiscal period — the ITA 34.2(2)(c) condition. Strict tri-state: true admits the row's ASPA, false applies the (2)(c) carveout and zeroes it, and an absent answer withholds the ASPA and blocks. The answer is a submitted practitioner fact and is not proof that the corporation was so entitled.booleanstrict
schedule72.partnerships[].corpSharePercentageintegerstrict
schedule72.partnerships[].particularPeriodEndstringstrict
schedule72.partnerships[].particularPeriodStartstringstrict
schedule72.partnerships[].partnershipBNstringstrict
schedule72.partnerships[].partnershipFYEndInYearstringstrict
schedule72.partnerships[].partnershipFYStartInYearstringstrict
schedule72.partnerships[].partnershipNamestringstrict
schedule72.partnerships[].significantInterestConfirmedPractitioner confirmation of the s.34.2(1) significant-interest test: the corporation, together with related or affiliated persons, holds more than 10 percent of the partnership's income entitlement.booleanstrict
schedule72.preFirstAlignedFiscalPeriodSuspensions.34.2(9): ASPA is suspended for taxation years before the first aligned fiscal period ends; the catch-up arrives as eligible alignment income in the alignment-end year.booleanstrict
schedule72.stickyMultiTierAfterStructureFlattensForm-face rule: a partnership that changed from multi-tier to single-tier stays on Schedule 72; set true to keep filing here after the structure flattens.booleanstrict
schedule72.wasSubjectToMultiTierAlignmentThe partnership was subject to a multi-tier alignment election; one of the facts that keeps it in Schedule 72 scope.booleanstrict
schedule73.characterSplitOverridesManual character-split override (null = use the engine's auto split).null | object
schedule73.characterSplitOverrides.activeBusinessIncomeLine 270 — total active business income (can be negative).null | number | stringstrict
schedule73.characterSplitOverrides.allowableCapitalLossLine 285 — total allowable capital loss (non-negative; → S6 line 901).null | numberstrict
schedule73.characterSplitOverrides.otherIncomeLine 290 — total other income (can be negative).null | numberstrict
schedule73.characterSplitOverrides.propertyIncomeLine 280 — total property income (can be negative).null | numberstrict
schedule73.characterSplitOverrides.taxableCapitalGainLine 275 — total taxable capital gain (non-negative; → S6 line 899).null | numberstrict
schedule73.partnershipsStandalone rows or same-identity assertions (empty in the normal flow).array
schedule73.partnerships[].characterOrdinaryThe s.34.2(5)(a)(i) ordinary (non-capital) character of this row's column 4 — the total the three component cells below must exhaust across lines 270 / 280 / 290. It has no printed per-row box of its own. null is NOT STATED rather than nil: state it with none of the three components and the row's non-capital column 4 is withheld from those lines instead of defaulting onto line 270 as active business income. Send all three components with it — a partial split overstates line 270.null | number
schedule73.partnerships[].characterTCGThe s.34.2(5)(a)(i) taxable-capital-gain share of this row's column 4 (line 275 → S6 line 899), not column 6's — send column 6's share as `col6CharacterTCG`. Line 275 must be non-negative. null is NOT STATED and no other cell can state this gain, but unlike the ordinary side it is never withheld: line 275 carries the share even while the row's ordinary split is unknown.null | number
schedule73.partnerships[].col10_thresholdColumn 10 (box 310) — threshold amount (4W).null | number
schedule73.partnerships[].col1_stubAccrualColumn 1 (box 200) — stub period accrual (S71/S72 amount 2I).null | number
schedule73.partnerships[].col2_designatedQREColumn 2 (box 205) — designated qualified resource expenses (2J).null | number
schedule73.partnerships[].col3_discretionaryColumn 3 (box 210) — discretionary amount designated (2K).null | number
schedule73.partnerships[].col4CharacterActiveBusinessThe s.34.2(5)(a)(i) active-business component of this row's column 4 (line 270 share). No printed per-row box. null is NOT STATED, not zero: a row carrying non-capital column-4 inclusion with no split behind it blocks at error severity and its amount is withheld from lines 270 / 280 / 290 rather than defaulted onto line 270 as active business income.null | number
schedule73.partnerships[].col4CharacterOthers.34.2(5)(a)(i) character of column 4 — other-income component (line 290 share; engine key `col4CharacterOther`). null = not stated, not zero. The three components must exhaust the row's non-capital column 4; the lines 270+275+280-285+290 tie-out enforces that.null | number
schedule73.partnerships[].col4CharacterPropertys.34.2(5)(a)(i) character of column 4 — property component (line 280 share; engine key `col4CharacterProperty`). null = not stated, not zero.null | number
schedule73.partnerships[].col6CharacterActiveBusinesss.34.2(5)(a)(ii) character of column 6: active-business component (line 270 share). null is not stated, not zero.null | number
schedule73.partnerships[].col6CharacterOthers.34.2(5)(a)(ii) character of column 6: other-income component (line 290 share). The four components must exhaust column 6.null | number
schedule73.partnerships[].col6CharacterPropertys.34.2(5)(a)(ii) character of column 6: property-income component (line 280 share). null is not stated, not zero.null | number
schedule73.partnerships[].col6CharacterTCGs.34.2(5)(a)(ii) character of column 6: taxable-capital-gain component (line 275 share). null is not stated, not zero.null | number
schedule73.partnerships[].col6_newMemberColumn 6 (box 225) — income inclusion for a new corporate member (3E).null | number
schedule73.partnerships[].col9_shortfallColumn 9 (box 300) — income shortfall adjustment (4T).null | number
schedule73.partnerships[].fiscalPeriodEndBox 140 — fiscal period-end (YYYY-MM-DD).null | string
schedule73.partnerships[].fiscalPeriodStartBox 130 — fiscal period-start (YYYY-MM-DD).null | string
schedule73.partnerships[].multiTierFlagBox 150 — part of a multi-tiered structure: 1 = yes, 2 = no.null | number
schedule73.partnerships[].partnershipBNBox 100 — partnership account number (9-digit BN / 15-char RZ / 'NR'). 'NR' is not unique; same-year matching also requires name, dates, and tier.null | string
schedule73.partnerships[].partnershipNameBox 110 — partnership's name.null | string
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 83 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 schedule73
CellAccepted values
schedule71.corpTaxYearEnd0 to 20000 characters
schedule71.corpTaxYearStart0 to 20000 characters
schedule71.partnerships[].corpSharePercentage-1000000000000000 to 1000000000000000
schedule71.partnerships[].particularPeriodEnd0 to 20000 characters
schedule71.partnerships[].particularPeriodStart0 to 20000 characters
schedule71.partnerships[].partnershipBN0 to 20000 characters
schedule71.partnerships[].partnershipFYEndInYear0 to 20000 characters
schedule71.partnerships[].partnershipFYStartInYear0 to 20000 characters
schedule71.partnerships[].partnershipName0 to 20000 characters
schedule71.partnerships[].var_A_active_business_component-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_A_other_component-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_A_property_component-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_A_share_of_income_and_tcg-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_A_tcg_component-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_B_acl_component-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_B_share_of_loss_and_acl-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_E_designated_qre-1000000000000000 to 1000000000000000
schedule71.partnerships[].var_F_discretionary-1000000000000000 to 1000000000000000
schedule72.corpTaxYearEnd0 to 20000 characters
schedule72.corpTaxYearStart0 to 20000 characters
schedule72.partnerships[].box_2A_active_business_component-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2A_income-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2A_other_component-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2A_property_component-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2B_loss-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2D_tcg-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2E_acl-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2J_designated_qre-1000000000000000 to 1000000000000000
schedule72.partnerships[].box_2K_discretionary_designation-1000000000000000 to 1000000000000000
schedule72.partnerships[].corpSharePercentage-1000000000000000 to 1000000000000000
schedule72.partnerships[].particularPeriodEnd0 to 20000 characters
schedule72.partnerships[].particularPeriodStart0 to 20000 characters
schedule72.partnerships[].partnershipBN0 to 20000 characters
schedule72.partnerships[].partnershipFYEndInYear0 to 20000 characters
schedule72.partnerships[].partnershipFYStartInYear0 to 20000 characters
schedule72.partnerships[].partnershipName0 to 20000 characters
schedule73.characterSplitOverrides.activeBusinessIncome-1000000000000000 to 1000000000000000; 0 to 20000 characters
schedule73.characterSplitOverrides.allowableCapitalLoss-1000000000000000 to 1000000000000000
schedule73.characterSplitOverrides.otherIncome-1000000000000000 to 1000000000000000
schedule73.characterSplitOverrides.propertyIncome-1000000000000000 to 1000000000000000
schedule73.characterSplitOverrides.taxableCapitalGain-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 (86)

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

Output cells for schedule73
CellTypes
amount_320_subtotalnumber
amount_3Anumber
amount_3Bnumber
amount_3Cnumber
character_split_totalnumber
fired_gatesobject
line_100null | string
line_110null | string
line_130null | string
line_140null | string
line_150integer | null
line_200number
line_205number
line_210number
line_215number
line_220number
line_225number
line_230number
line_260number
line_270number
line_275number
line_280number
line_285number
line_290number
line_300number
line_310number
line_320number
missing_requiredarray
partnerships[]._sourcestring
partnerships[].line_100string
partnerships[].line_110string
partnerships[].line_130string
partnerships[].line_140string
partnerships[].line_150integer
partnerships[].line_200number
partnerships[].line_205number
partnerships[].line_210number
partnerships[].line_215number
partnerships[].line_220number
partnerships[].line_225number
partnerships[].line_230number
partnerships[].line_260number
partnerships[].inclusion_char_active_businessnumber
partnerships[].inclusion_char_othernumber
partnerships[].inclusion_char_propertynumber
partnerships[].inclusion_char_tcgnumber
provisionalboolean
readyboolean
s1_line_130_feednumber
s1_line_131_feednumber
s6_line_899_feednumber
s6_line_901_feednumber
shortfall_rowsarray
total_col_1number
total_col_10number
total_col_2number
total_col_3number
total_col_4_aspanumber
total_col_5_prior_year_aspanumber
total_col_6_new_membernumber
total_col_7_prior_year_new_membernumber
total_col_8_netnumber
total_col_9number
warnings[].boxnull | string
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[].codeStable machine identity of the disclosure, independent of its prose.string
warnings[].gate_idstring
warnings[].messagestring
warnings[].severitystring
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
qti_reserve_addback_capital_s342_12_bnumber
qti_reserve_addback_s342_12_totalnumber
qti_reserve_deduction_capital_s342_11_b_iinumber
qti_reserve_deduction_s342_11_totalnumber
Filemark | schedule73 cells