schedule7

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2022 and later
Strict profile
s7_2025_active_business_income_worked_example_target_value_v1
Payload schema version
0.8.0
Dependencies (run automatically)
division_c, schedule1, schedule21, schedule24, schedule3, schedule4, schedule6, schedule73

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": [
    "schedule7"
  ],
  "inputs": {
    "taxYear": 2025,
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "isCCPC": true,
    "associatedGroupAII": 0,
    "specifiedInvestmentBusinessIncome": 0,
    "lifeInsurancePolicyIncome": 0,
    "accounts": [
      {
        "id": "revenue",
        "accountCode": "4000",
        "accountName": "Cedar Ridge active business revenue",
        "currentYearBalance": -100000,
        "classification": {
          "schedule1Relevant": false,
          "incomeType": "active_business",
          "foreignSource": false
        }
      }
    ],
    "incomeStatementFlags": {
      "revenue": true
    },
    "pyUCCPools": [],
    "assetData": [],
    "dispositions": [],
    "specifiedCorporateIncomeReviewed": true,
    "supplementalLinesReviewed": true,
    "supplementalLineAmounts": {},
    "specifiedPartnershipIncomeApplies": false,
    "daysInYear": 365
  }
}

Input cells (87)

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 schedule7
CellTypesRequired
accountsarray
accounts[].accountCodestringstrict
accounts[].accountNamestringstrict
accounts[].classification.foreignSourceThe account's income is foreign source; schedules that split Canadian from foreign amounts route it accordingly, for example Schedule 7's foreign property and rental buckets and line 500 foreign business income.boolean | nullstrict
accounts[].classification.incomeTypenull | stringstrict
accounts[].classification.schedule1RelevantMarks the account's concept as one to review for Schedule 1. It does not decide the posting; the classification's line and treatment do.booleanstrict
accounts[].currentYearBalanceinteger | null | numberstrict
accounts[].idstringstrict
assetDataarraystrict
associatedGroupAIIS7 s.125(5.1)(b) grind input — preceding-calendar-year AAII of the corporation + associated corporations. OMIT (don't send null) when not provided: the backend distinguishes absent (current-year line 745 proxy + info disclosure) from an explicit value, including 0.null | numberstrict
combinedAdjustmentsPosted adjusting journal entries, as a map from account id to the net amount posted against that account. Each amount may be a number or a numeric string. It is added to the trial-balance balance before the account is measured, and an unreadable entry is reported as an error rather than filed as zero.null | object
daysInYearInclusive day count for the canonical fiscalStart/fiscalEnd period required by the settled Part I dependency closure.integerstrict
dispositionsarraystrict
fiscalEndLast day of the taxation year, as YYYY-MM-DD, on or after fiscalStart. Its calendar year must equal taxYear. Required for the same reason as fiscalStart.null | stringstrict
fiscalStartFirst day of the taxation year, as YYYY-MM-DD. Required because this target's dependency closure reaches part_i_tax, whose rates and limits are day-weighted; ITA s.249(1)(a) makes the taxation year the fiscal period, and the engine will not invent calendar-year bounds.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
incomeStatementFlagsobject
incomeStatementFlags.revenueTrue when the trial-balance account with this id is an income-statement account; flagged balances form net income per financial statements, Schedule 1 amount A.boolean | nullstrict
isCCPCThe corporation was a Canadian-controlled private corporation (ITA s.125(7) definition) throughout the taxation year.booleanstrict
lifeInsurancePolicyIncomeTXE-319: ITA s.125(7)(c)(ii), in the 'adjusted aggregate investment income' definition, includes amounts in respect of a life insurance policy that are included in income; the engine reads the amount as an explicit off-form statutory fact. Zero pins this witness's branch.integer | null | numberstrict
pyUCCPoolsarraystrict
schedule7.aaiiThe s.125(5.1)(b) grind input: associatedGroupAII override (prior- calendar-year group AAII) when provided, else line 745 as a proxy.number
schedule7.aaiiBeforeSupplementalReviewGatenumber
schedule7.aaiiCurrentYearPart 2 line 745 — this corporation's current-year AAII (s.125(7)).number
schedule7.aaiiCurrentYearBeforeSupplementalReviewGatenumber
schedule7.abiPart 6 amount DD — income eligible for the SBD (s.125(1)(a)) → T2 400.number
schedule7.abiBeforeSpecifiedCorporateIncomeGatePrinted amount DD before the explicit Part 7 review/validity gate.number
schedule7.accountDetailsarray
schedule7.aiiPart 1 line 092 — aggregate investment income (s.129(4)) → T2 line 440.number
schedule7.aiiBeforeSupplementalReviewGateCalculation-preview values before the supplemental-line review gate neutralizes affected downstream filing outputs.number
schedule7.fiiPart 3 line 079 — foreign investment income (s.129(4)) → T2 line 445.number
schedule7.fiiBeforeSupplementalReviewGatenumber
schedule7.foreignInvestmentIncomeAlias of fii.number
schedule7.formTrue Form View projection — every printed T2 SCH 7 box.object
schedule7.form.formWarningsarray
schedule7.form.part4Tablearray
schedule7.form.part4Table2array
schedule7.form.part4Table2[].assigned420number
schedule7.form.part4Table2[].memberBn410string
schedule7.form.part4Table2[].memberName406string
schedule7.form.part4Table2[].memberSin411string
schedule7.form.part4Table2[].memberTrust412string
schedule7.form.part4Table2[].name405string
schedule7.form.part4Table2[].yearEnd416string
schedule7.form.part4Table2[].yearStart415string
schedule7.form.part4Table3array
schedule7.form.part4Table3[].assigned440number
schedule7.form.part4Table3[].memberBn430string
schedule7.form.part4Table3[].memberName426string
schedule7.form.part4Table3[].name425string
schedule7.form.part4Table3[].yearEnd436string
schedule7.form.part4Table3[].yearStart435string
schedule7.form.part4Table[].activeIncome300null | number
schedule7.form.part4Table[].adjustments315null | number
schedule7.form.part4Table[].assignedByYou336null | number
schedule7.form.part4Table[].assignedToYou335null | number
schedule7.form.part4Table[].days325null | number
schedule7.form.part4Table[].excessL1null | number
schedule7.form.part4Table[].income320null | number
schedule7.form.part4Table[].lesser340null | number
schedule7.form.part4Table[].limitK1null | number
schedule7.form.part4Table[].name200string
schedule7.form.part4Table[].proratedLimit330null | number
schedule7.form.part4Table[].services311null | number
schedule7.form.part4Table[].share310null | number
schedule7.form.part7Tablearray
schedule7.form.part7Table[].bn600string
schedule7.form.part7Table[].income610number
schedule7.form.part7Table[].limit620number
schedule7.isSpecifiedInvestmentBusinessboolean
schedule7.line1_netTaxableCapitalGainsnumber
schedule7.line2_foreignInvestmentIncomenumber
schedule7.line3_netRentalIncomenumber
schedule7.line4_otherPropertyIncomenumber
schedule7.line4b_nonDeductibleDividendsnumber
schedule7.netIncomenumber
schedule7.netTaxableCapitalGainsnumber
schedule7.provisionalboolean
schedule7.specifiedInvestmentBusinessIncomeSigned income or loss from a specified investment business, whose ITA s.125(7) principal-purpose and employee/service tests cannot be derived from the trial balance. A CCPC must enter an explicit amount, including 0 for reviewed nil; null or omission blocks filing. ITA s.129(4) deems the in-Canada portion to be property income.null | number | string
schedule7.taxableIncomenumber
schedule7.warningsarray
specifiedCorporateIncomeReviewedConfirms the Schedule 7 Part 7 review of ITA s.125(7) specified corporate income; until true the engine caps specified corporate income at nil and line 615 stays out of SBD-eligible income.boolean | nullstrict
specifiedInvestmentBusinessIncomeTotal income for the year from a specified investment business carried on in Canada, the ITA s.125(7) 'income of the corporation for the year from an active business' paragraph (a) carve-out the sweep made an explicit operand. Zero pins this witness's branch: no specified investment business income.null | numberstrict
specifiedPartnershipIncomeAppliesWhether ITA s.125(7) specified partnership income applies for the year; true requires the Schedule 7 Parts 4 and 5 partnership packets.boolean | nullstrict
supplementalLineAmountsobjectstrict
supplementalLinesReviewedConfirms Schedule 7 lines 042, 052, 072, 720, 725, 735, 741, 029, 059, 530 and 540 were reviewed and every applicable amount entered; AII, FII, AAII and SBD-eligible income are held at zero until confirmed.boolean | nullstrict
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 (15 of 87 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 schedule7
CellAccepted values
accounts[].accountCode0 to 20000 characters
accounts[].accountName0 to 20000 characters
accounts[].classification.incomeTypeone of "active_business", "property", "rental", "capital", null
accounts[].currentYearBalance-1000000000000000 to 1000000000000000
accounts[].id0 to 20000 characters
assetDataexactly []pinned
associatedGroupAII-1000000000000000 to 1000000000000000
daysInYear1 to 1000000000000000
dispositionsexactly []pinned
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
lifeInsurancePolicyIncome-1000000000000000 to 1000000000000000
pyUCCPoolsexactly []pinned
specifiedInvestmentBusinessIncome-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 (173)

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

Output cells for schedule7
CellTypes
aaiinumber
aaiiBeforeSupplementalReviewGatenumber
aaiiCurrentYearnumber
aaiiCurrentYearBeforeSupplementalReviewGatenumber
abinumber
abiBeforeSpecifiedCorporateIncomeGatenumber
accountDetails[].accountIdstring
accountDetails[].accountCodestring
accountDetails[].accountNamestring
accountDetails[].balancenumber
accountDetails[].incomeTypestring
accountDetails[].foreignSourceboolean
accountDetails[].sourceAnsweredboolean
accountDetails[].lineinteger
aiinumber
aiiBeforeSupplementalReviewGatenumber
associatedCorporationPropertyPayments.clause125_1_a_i_C_excludednumber
associatedCorporationPropertyPayments.deemedActiveBusinessIncomenumber
associatedCorporationPropertyPayments.rowCountinteger
eligiblePortionCarveOut.allowableCapitalLossesnumber
eligiblePortionCarveOut.statusChangeInAccrualPeriodarray | boolean | null | number | object | string
eligiblePortionCarveOut.taxableCapitalGainsnumber
eligiblePortionCarveOut.activeAllowableCapitalLossesnumber
eligiblePortionCarveOut.activeTaxableCapitalGainsnumber
fiinumber
fiiBeforeSupplementalReviewGatenumber
foreignAccrualPropertyIncomeElections.amountRemovedFromPropertyIncomenumber
foreignAccrualPropertyIncomeElections.electionCountinteger
foreignAccrualPropertyIncomeElections.subsection91_4DeductionExcludednumber
foreignInvestmentIncomenumber
form.amount_Anumber
form.amount_AAnumber
form.amount_Bnumber
form.amount_BBnumber
form.amount_Cnumber
form.amount_CCnumber
form.amount_Dnumber
form.amount_DDnumber
form.amount_Enumber
form.amount_Fnumber
form.amount_Gnumber
form.amount_Hnumber
form.amount_Inumber
form.amount_Jnumber
form.amount_Knumber
form.amount_Lnumber
form.amount_Mnumber
form.amount_Nnumber
form.amount_Onumber
form.amount_Pnumber
form.amount_Qnumber
form.amount_Rnumber
form.amount_Snumber
form.amount_Tnumber
form.amount_Unumber
form.amount_Vnumber
form.amount_Wnumber
form.amount_Xnumber
form.amount_Ynumber
form.amount_Znumber
form.formWarningsarray
form.line_001number
form.line_002number
form.line_009number
form.line_012number
form.line_019number
form.line_022number
form.line_029number
form.line_032number
form.line_042number
form.line_049number
form.line_052number
form.line_059number
form.line_062number
form.line_069number
form.line_072number
form.line_079number
form.line_082number
form.line_092number
form.line_350number
form.line_360number
form.line_370number
form.line_380number
form.line_385number
form.line_390number
form.line_400number
form.line_450number
form.line_500number
form.line_520number
form.line_530number
form.line_540number
form.line_615number
form.line_625number
form.line_705number
form.line_710number
form.line_715number
form.line_720number
form.line_725number
form.line_730number
form.line_735number
form.line_740number
form.line_741number
form.line_745number
form.part4Tablearray
form.part4Table2array
form.part4Table3array
form.part7Tablearray
isCreditUnionarray | boolean | null | number | object | string
isSpecifiedInvestmentBusinessboolean
lifeInsurancePolicyIncomenumber
line1_netTaxableCapitalGainsnumber
line2_foreignInvestmentIncomenumber
line3_netRentalIncomenumber
line4_otherPropertyIncomenumber
line4b_nonDeductibleDividendsnumber
netIncomenumber
personalServicesBusinessIncomenumber
precedingYearOwnAAIIarray | boolean | null | number | object | string
propertyIncomeActiveBusinessOverridesarray
provisionalboolean
psbSbdAllocationResolvedboolean
psbSbdAuthoritystring
psbTaxableIncomenumber
specifiedCorporateIncome.activeRowCountinteger
specifiedCorporateIncome.businessLimitAssignedFromPayersTotalnumber
specifiedCorporateIncome.errorsarray
specifiedCorporateIncome.incomeFromPayersTotalnumber
specifiedCorporateIncome.reviewedboolean
specifiedCorporateIncome.validboolean
specifiedInvestmentBusinessForeignIncomenumber
specifiedInvestmentBusinessIncomenumber
specifiedInvestmentBusinessIncomeAsEnterednumber
specifiedPartnershipIncome.amounts.350number
specifiedPartnershipIncome.amounts.360number
specifiedPartnershipIncome.amounts.370number
specifiedPartnershipIncome.amounts.380number
specifiedPartnershipIncome.amounts.385number
specifiedPartnershipIncome.appliesboolean | null
specifiedPartnershipIncome.rowDetailSupportedboolean
supplementalLines.amounts.029number
supplementalLines.amounts.042number
supplementalLines.amounts.052number
supplementalLines.amounts.059number
supplementalLines.amounts.072number
supplementalLines.amounts.530number
supplementalLines.amounts.540number
supplementalLines.amounts.720number
supplementalLines.amounts.725number
supplementalLines.amounts.735number
supplementalLines.amounts.741number
supplementalLines.reviewedboolean
supplementalLines.validboolean
taxableIncomenumber
warnings[].codestring
warnings[].messagestring
warnings[].severitystring
warnings[].sourcestring
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[].accountIds[]string
s125AntiAvoidanceConclusions.subsection6MultiplePartnershipsarray | boolean | null | number | object | string
s125AntiAvoidanceConclusions.subsection9Intermediaryarray | boolean | null | number | object | string
s125AntiAvoidanceConclusions.subsections6_2And6_3ControlledPartnershiparray | boolean | null | number | object | string
psbPresentarray | boolean | null | number | object | string
fired_gatesobject
Filemark | schedule7 cells