schedule44
T2 Corporation Income Tax Return
- Kind
- batch
- Supported tax years
- 2006 and later
- Strict profile
- s44_single_s85_1_transferor_profile_target_value_v1
- Payload schema version
- 0.6.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": [
"schedule44"
],
"inputs": {
"taxYear": 2025,
"fiscalStart": "2025-01-01",
"fiscalEnd": "2025-12-31",
"filerBn": "999999998RC0001",
"schedule44": {
"hasNonArmsLengthTransfers": true,
"transferorRows": [
{
"transferorName": "Cedar Ridge Holdings Inc.",
"transferorBusinessNumber": "333333334",
"dateOfTransfer": "2025/03/15",
"triggerStatute": "s85_1"
}
]
}
}
}Input cells (31)
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 |
|---|---|---|
| filerBn | string | strict |
| fiscalEnd | string | strict |
| fiscalStart | string | strict |
| schedule44.hasNonArmsLengthTransfersThe corporation received all or substantially all (90 percent or more) of a non-arm's-length transferor's assets under ITA s.85(1), s.85(2) or s.142.7(3) in the year; true requires the Schedule 44 disclosure rows. | boolean | null | strict |
| schedule44.transferorRows | array | |
| schedule44.transferorRows[].dateOfTransferBox 300 — date of transfer YYYY/MM/DD or YYYY-MM-DD. | null | string | strict |
| schedule44.transferorRows[].entrantBankBusinessCarriedOnThroughCanadianPe | boolean | null | |
| schedule44.transferorRows[].entrantBankBusinessConductedThroughRepresentativeOffice | boolean | null | |
| schedule44.transferorRows[].entrantBankIsAuthorizedForeignBank | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts | null | object | |
| schedule44.transferorRows[].entrantBankReg8201Facts.controlledSubsidiaryOnly | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.employeeOrAgentEstablishedAtTarget | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.fixedPlaceJurisdiction | null | string | |
| schedule44.transferorRows[].entrantBankReg8201Facts.generalContractingAuthorityAtTarget | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.hasFixedPlaceOfBusiness | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.independentAgentOnly | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.insurerRegisteredOrLicensedJurisdictions | array | |
| schedule44.transferorRows[].entrantBankReg8201Facts.isInsurer | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.personOwnedStockAtTarget | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.principalPlaceOfBusinessAtTarget | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.purchaseOnlyOfficeOnly | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.regularlyFillsOrdersFromStockAtTarget | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.substantialMachineryOrEquipmentUsedAtTarget | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.treatyExists | boolean | null | |
| schedule44.transferorRows[].entrantBankReg8201Facts.treatyPermanentEstablishmentArticle | null | string | |
| schedule44.transferorRows[].entrantBankReg8201Facts.treatyPermanentEstablishmentConclusion | boolean | null | |
| schedule44.transferorRows[].transferorBusinessNumberBox 200 — transferor's CRA Business Number (9-digit or 15-char). | null | number | string | strict |
| schedule44.transferorRows[].transferorNameBox 100 — legal name of transferor corp. | null | string | strict |
| schedule44.transferorRows[].transferredPropertyUsedOrHeldInCanadianBankingBusinessImmediatelyAfter | boolean | null | |
| schedule44.transferorRows[].triggerStatuteTrigger statute discriminator (drives companion-form reminder). | 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 (8 of 31 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 |
|---|---|
| filerBn | 0 to 20000 characters |
| fiscalEnd | date (YYYY-MM-DD); 10 to 10 characters |
| fiscalStart | date (YYYY-MM-DD); 10 to 10 characters |
| schedule44.transferorRows[].dateOfTransfer | 0 to 20000 characters |
| schedule44.transferorRows[].transferorBusinessNumber | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| schedule44.transferorRows[].transferorName | 0 to 20000 characters |
| schedule44.transferorRows[].triggerStatute | one of "s85_1", "s85_2", "s142_7_3", null |
| taxYear | matches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027 |
Output cells (26)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| fired_gates | object |
| line_100 | null | string |
| line_200 | null | string |
| line_300 | null | string |
| missing_required[] | string |
| provisional | boolean |
| ready | boolean |
| transferorRows[].dateOfTransfer | null | string |
| transferorRows[].transferorBusinessNumber | null | string |
| transferorRows[].transferorName | null | string |
| transferorRows[].triggerStatute | null | string |
| transferorRows[].canadianBankingBusinessDetermination | array | boolean | null | number | object | string |
| transferor_count | integer |
| warnings[].box | array | boolean | null | number | object | 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 |