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.
| Cell | Types | Required |
|---|---|---|
| daysInYearInclusive day count tied to fiscalStart/fiscalEnd for the settled Part I dependency closure. | integer | strict |
| fiscalEndCanonical taxation-year end required by the settled Part I dependency closure. | string | strict |
| fiscalStartCanonical taxation-year start required by the settled Part I dependency closure. | string | strict |
| 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 | string | strict |
| schedule68.corporationNameCorporation legal name (header field). | null | string | strict |
| schedule68.currentTaxYearEndTY-end YYYY-MM-DD. | null | string | strict |
| 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 | number | strict |
| 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 | null | strict |
| 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 | null | strict |
| 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 | string | strict |
| 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 | string | always |
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.
| Cell | Accepted values |
|---|---|
| daysInYear | 1 to 1000000000000000 |
| fiscalEnd | date (YYYY-MM-DD); 10 to 10 characters |
| fiscalStart | date (YYYY-MM-DD); 10 to 10 characters |
| schedule68.businessNumber | 0 to 20000 characters |
| schedule68.corporationName | 0 to 20000 characters |
| schedule68.currentTaxYearEnd | 0 to 20000 characters |
| schedule68.daysInTaxYear | -1000000000000000 to 1000000000000000 |
| schedule68.otherFiledAgreements[].allocationAuthority | one of "agreement", "minister" |
| schedule68.taxableIncome | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| taxYear | matches ^\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.
| Cell | Types |
|---|---|
| agreementCalendarYear | array | boolean | null | number | object | string |
| agreementDateFiled | array | boolean | null | number | object | string |
| amount_2a_subtotal | number |
| businessNumber | null | string |
| corporationName | null | string |
| currentTaxYearEnd | string |
| daysInTaxYear | integer |
| days_after_april_7_2022 | integer |
| fired_gates | object |
| groupAllocationAgreement | array |
| group_allocation_residual | number |
| isAmendedAgreement | array | boolean | null | number | object | string |
| isBank | boolean | null |
| isFinancialInstitutionRelatedToBankOrLifeInsurer | array | boolean | null | number | object | string |
| isLifeInsuranceCorpInCanada | array | boolean | null | number | object | string |
| isNonResident | array | boolean | null | number | object | string |
| isRelatedToOtherGroupMemberAtEndOfTaxYear | boolean | null |
| is_short_year | boolean |
| line_250_taxable_income | number |
| line_275_income_deduction | number |
| line_300_additional_tax | number |
| missing_required[] | string |
| provisional | boolean |
| ready | boolean |
| short_year_proration_applied_to_100m | boolean |
| straddle_proration_factor | number |
| subtotal_1a_group_allocation_total | number |
| t2_line_565_feed | number |
| warnings[].box | null | string |
| warnings[].citation.applies_to_boxes[] | string |
| warnings[].citation.cra_text_verbatim | string |
| warnings[].citation.form_id | string |
| warnings[].citation.form_revision | string |
| warnings[].citation.gate_id | string |
| warnings[].citation.rule | string |
| warnings[].citation.source | string |
| warnings[].citation.source_url | string |
| warnings[].citation.verified_at | string |
| warnings[].gate_id | string |
| warnings[].message | string |
| warnings[].severity | string |
| warnings[].anchor_field | string |