schedule68

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2022 and later
Strict profile
s68_2024_standalone_bank_additional_tax_target_value_v1
Payload schema version
0.7.0
Dependencies (run automatically)
division_c

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": [
    "schedule68"
  ],
  "inputs": {
    "taxYear": 2025,
    "schedule68": {
      "corporationName": "Northstar Bank of Canada",
      "businessNumber": "222333445",
      "currentTaxYearEnd": "2025-12-31",
      "daysInTaxYear": 365,
      "isBank": true,
      "isRelatedToOtherGroupMemberAtEndOfTaxYear": false,
      "taxableIncome": 500000000
    },
    "isCCPC": true,
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "daysInYear": 365
  }
}

Input cells (36)

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 schedule68
CellTypesRequired
daysInYearInclusive day count tied to fiscalStart/fiscalEnd for the settled Part I dependency closure.integerstrict
fiscalEndCanonical taxation-year end required by the settled Part I dependency closure.stringstrict
fiscalStartCanonical taxation-year start required by the settled Part I dependency closure.stringstrict
isCCPCThe corporation was a Canadian-controlled private corporation (ITA s.125(7) definition) throughout the taxation year.boolean
schedule68.agreementCalendarYearBox 050 — calendar year of the agreement (≥ 2022).null | number
schedule68.agreementDateFiledBox 025 — date the allocation agreement was filed.null | string
schedule68.antiAvoidanceAddbackS123_6_6Amounts.123.6(6) addback AMOUNT — the non-arm's-length deduction deemed NOT deducted "for the purpose of computing the tax payable by the corporation under subsection (2)" ONLY (regular Part I tax and Division C taxable income are untouched). Required when hasAntiAvoidanceAddbackS123_6_6 is attested true — the engine fails closed without it; explicit 0 is valid.null | number
schedule68.businessNumber9-digit BN or 15-char RC account; 'NR' is NOT permitted here.null | stringstrict
schedule68.corporationNameCorporation legal name (header field).null | stringstrict
schedule68.currentTaxYearEndTY-end YYYY-MM-DD.null | stringstrict
schedule68.daysInTaxYearDays in the tax year — drives both the standalone short-year $100M proration (year < 51 weeks → $100M × days/365) and the straddle-year tax proration (days-after-April-7-2022 / days).null | numberstrict
schedule68.groupAllocationAgreementPer-row group allocation table.array
schedule68.groupAllocationAgreement[].allocationAmountCol 3 (Box 120) — this row's allocation of the $100M income deduction. Per s.123.6(3) the total across all rows + all related-group tax years ending in the same calendar year cannot exceed $100M.null | number
schedule68.groupAllocationAgreement[].memberBNCol 2 (Box 110) — BN of the row's corp. 'NR' allowed for unregistered (form face verbatim).null | string
schedule68.groupAllocationAgreement[].memberNameCol 1 (Box 100) — name of related-group member.null | string
schedule68.groupAllocationAgreement[].taxationYearEndWorksheet-only discriminator. The prescribed face directs one row per taxation year when a member has multiple years ending in the agreement's calendar year, although the date is not a printed grid column.null | string
schedule68.hasAntiAvoidanceAddbackS123_6_6Anti-avoidance s.(6) addback applies.boolean | null
schedule68.hasFunctionalCurrencyElectionS261Functional-currency election under s.261 — translate the $100M fixed amount under s.261(5)(b) at the first-day relevant spot rate.boolean | null
schedule68.isAmalgamationSuccessorAmalgamation successor — distinct from S67/Part VI.2 rollover.boolean | null
schedule68.isAmendedAgreementBox 075 — is this an amended agreement?boolean | null
schedule68.isBankThe corporation is a bank; paragraph (a) of the s.123.6(1) bank or life insurer group member definition.boolean | nullstrict
schedule68.isFinancialInstitutionRelatedToBankOrLifeInsurerPara (c) — FI per s.190(1) related to bank/life-insurer?boolean | null
schedule68.isHoldcoUnderS190_1_es.190(1)(e) holdco of bank/life-insurer subsidiary.boolean | null
schedule68.isLifeInsuranceCorpInCanadaPara (b) — life insurance corp carrying on business in Canada?boolean | null
schedule68.isNonResidentNon-resident corp → TIEC per Note 1.boolean | null
schedule68.isPCInsurerP&C insurer (NOT s.190(1) FI unless related to bank/life-insurer).boolean | null
schedule68.isRelatedToOtherGroupMemberAtEndOfTaxYearThe corporation was related to another bank or life insurer group member at the end of the taxation year; the related group must then allocate the s.123.6(2) $100 million income deduction by agreement.boolean | nullstrict
schedule68.isWindupSuccessorWind-up successor — same as amalgamation (no rollover).boolean | null
schedule68.line275IncomeDeductionBox 275 — income deduction OF THIS CORP. Engine derives for standalone; practitioner supplies for related (may be $0).null | number
schedule68.otherAgreementsFiledForCalendarYearITA 123.6(5) makes B "the least amount allocated ... UNDER AN AGREEMENT described in subsection (3)". Two members of one related group can each file a conflicting agreement for the same calendar year, and nothing in this return can see the other copy, so the corporation states whether another agreement exists. null = unanswered, which withholds the income deduction rather than assuming this copy stands alone.boolean | null
schedule68.otherFiledAgreementsOne row per OTHER filed s.123.6(3) agreement, stating the amount it allocates to THIS corporation. Required when otherAgreementsFiledForCalendarYear is true; explicit 0 is a binding nil.array
schedule68.otherFiledAgreements[].agreementDateFiledDate that agreement was filed, for the practitioner's own trail.null | string
schedule68.otherFiledAgreements[].allocationAuthorityAllocation source.string
schedule68.otherFiledAgreements[].allocationToFilingCorporationIncome deduction that agreement allocates to the filing corporation.null | number
schedule68.taxableIncomeBox 250 — taxable income (or TIEC if non-resident per Note 1).null | number | stringstrict
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 (10 of 36 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 schedule68
CellAccepted values
daysInYear1 to 1000000000000000
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
schedule68.businessNumber0 to 20000 characters
schedule68.corporationName0 to 20000 characters
schedule68.currentTaxYearEnd0 to 20000 characters
schedule68.daysInTaxYear-1000000000000000 to 1000000000000000
schedule68.otherFiledAgreements[].allocationAuthorityone of "agreement", "minister"
schedule68.taxableIncome-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 (42)

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

Output cells for schedule68
CellTypes
agreementCalendarYeararray | boolean | null | number | object | string
agreementDateFiledarray | boolean | null | number | object | string
amount_2a_subtotalnumber
businessNumbernull | string
corporationNamenull | string
currentTaxYearEndstring
daysInTaxYearinteger
days_after_april_7_2022integer
fired_gatesobject
groupAllocationAgreementarray
group_allocation_residualnumber
isAmendedAgreementarray | boolean | null | number | object | string
isBankboolean | null
isFinancialInstitutionRelatedToBankOrLifeInsurerarray | boolean | null | number | object | string
isLifeInsuranceCorpInCanadaarray | boolean | null | number | object | string
isNonResidentarray | boolean | null | number | object | string
isRelatedToOtherGroupMemberAtEndOfTaxYearboolean | null
is_short_yearboolean
line_250_taxable_incomenumber
line_275_income_deductionnumber
line_300_additional_taxnumber
missing_required[]string
provisionalboolean
readyboolean
short_year_proration_applied_to_100mboolean
straddle_proration_factornumber
subtotal_1a_group_allocation_totalnumber
t2_line_565_feednumber
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[].gate_idstring
warnings[].messagestring
warnings[].severitystring
warnings[].anchor_fieldstring
Filemark | schedule68 cells