schedule92
T2 Corporation Income Tax Return
- Kind
- batch
- Supported tax years
- 2023–2027
- Strict profile
- s92_2026_domestic_part_xiii1_calculation_sheet_v1
- Payload schema version
- 2.0.0
- Dependencies (run automatically)
- none
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": [
"schedule92"
],
"inputs": {
"taxYear": 2026,
"schedule92": {
"authorizedForeignBank": "Yes",
"section20_2InterestDeducted": 10000000,
"section20_2LiabilityInterestDeducted": 2000000,
"section20_2AmountsReviewed": "Yes",
"treatyStatus": "no_treaty"
}
}
}Input cells (17)
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 |
|---|---|---|
| schedule92.agreementHasForceOfLawInCanadaAtYearEnd | null | string | |
| schedule92.authorizedForeignBank | boolean | null | string | strict |
| schedule92.directPartXIII1RatePct | null | number | |
| schedule92.directPartXIII1RateProvision | null | string | |
| schedule92.directPartXIII1RateStatus | null | string | |
| schedule92.relatedPersonInterestRatePct | null | number | |
| schedule92.relatedPersonInterestRateProvision | null | string | |
| schedule92.relatedPersonInterestRateStatus | null | string | |
| schedule92.residentAtYearEnd | null | string | |
| schedule92.section20_2AmountsReviewed | null | string | strict |
| schedule92.section20_2InterestDeducted | null | number | string | strict |
| schedule92.section20_2LiabilityInterestDeducted | null | number | strict |
| schedule92.similarTaxWouldBePayableByCanadianBank | null | string | |
| schedule92.treatyCountry | null | string | |
| schedule92.treatyEntitlementConfirmed | null | string | |
| schedule92.treatyStatus | null | 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 (12 of 17 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 |
|---|---|
| schedule92.agreementHasForceOfLawInCanadaAtYearEnd | one of "Yes", "No" |
| schedule92.authorizedForeignBank | 0 to 20000 characters |
| schedule92.directPartXIII1RateStatus | one of "specified", "not_specified" |
| schedule92.relatedPersonInterestRateStatus | one of "specified", "not_specified" |
| schedule92.residentAtYearEnd | one of "Yes", "No" |
| schedule92.section20_2AmountsReviewed | one of "Yes", "No", null |
| schedule92.section20_2InterestDeducted | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| schedule92.section20_2LiabilityInterestDeducted | -1000000000000000 to 1000000000000000 |
| schedule92.similarTaxWouldBePayableByCanadianBank | one of "Yes", "No" |
| schedule92.treatyEntitlementConfirmed | one of "Yes", "No" |
| schedule92.treatyStatus | one of "no_treaty", "treaty_country", null |
| taxYear | matches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027 |
Output cells (41)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| amountA | null | number |
| amountB | null | number |
| applicable | boolean |
| calculationSheet.currency | string |
| calculationSheet.identity | object |
| calculationSheet.rows[].amount | number |
| calculationSheet.rows[].label | string |
| calculationSheet.rows[].ratePct | number |
| calculationSheet.statutoryAuthority | string |
| calculationSheet.taxYear | integer |
| calculationSheet.title | string |
| calculationSheetComplete | boolean |
| effectiveRatePct | null | number |
| excess | null | number |
| missingRequired[] | string |
| partXIII1TaxPayable | null | number |
| provisional | boolean |
| rateBranch | null | string |
| ready | boolean |
| schedule | string |
| t2_line_727_feed | null | number |
| taxableInterestExpense | null | number |
| treatyExempt | boolean |
| warnings[].field | string |
| warnings[].codeStable machine identity of the disclosure, independent of its prose. | string |
| warnings[].message | 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[].severity | string |
| warnings[].sources[] | string |
| warnings[].taxYearThe taxation year whose rate tables are unverified. | integer |
| warnings[].taxYears[] | integer |
| t2_line_727_feed_citation.applies_to_boxes[] | string |
| t2_line_727_feed_citation.cra_text_verbatim | string |
| t2_line_727_feed_citation.form_id | string |
| t2_line_727_feed_citation.form_revision | string |
| t2_line_727_feed_citation.gate_id | string |
| t2_line_727_feed_citation.rule | string |
| t2_line_727_feed_citation.source | string |
| t2_line_727_feed_citation.source_url | string |
| t2_line_727_feed_citation.verified_at | string |