schedule14
T2 Corporation Income Tax Return
- Kind
- batch
- Supported tax years
- 1998 and later
- Strict profile
- s14_versioned_profile_target_value_v1
- Payload schema version
- 0.8.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": [
"schedule14"
],
"inputs": {
"taxYear": 2025,
"schedule14": {
"rows": [
{
"name": "Cedar Ridge Holdings Inc.",
"address": "100 King Street West, Toronto, ON M5X 1A9",
"payeeIsCanadianResident": true,
"royalties": null,
"rAndDFees": null,
"managementFees": 50000,
"technicalAssistanceFees": null,
"similarPayments": null
}
]
}
}
}Input cells (11)
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 |
|---|---|---|
| schedule14.rowsRows of resident payees. Empty rows are elided by the backend. | array | |
| schedule14.rows[].addressA string with at least one non-whitespace character. The engine trims surrounding whitespace. The 10,000-character ceiling is a Filemark limit, not a CRA form limit. | null | string | strict |
| schedule14.rows[].managementFeesA reportable amount or an explicitly empty category. | null | number | strict |
| schedule14.rows[].nameA string with at least one non-whitespace character. The engine trims surrounding whitespace. The 10,000-character ceiling is a Filemark limit, not a CRA form limit. | null | string | strict |
| schedule14.rows[].payeeIsCanadianResidentTri-state Filemark practitioner fact (NOT a CRA box): true / false / null. Omitting the key, or sending null, means UNANSWERED — the engine then refuses the row at error severity rather than assuming an answer. Only a strict JSON boolean counts as an answer; the engine coerces anything else to null. | boolean | null | |
| schedule14.rows[].rAndDFeesA reportable amount or an explicitly empty category. | null | number | strict |
| schedule14.rows[].royaltiesA reportable amount or an explicitly empty category. | null | number | strict |
| schedule14.rows[].similarPaymentsA reportable amount or an explicitly empty category. | null | number | strict |
| schedule14.rows[].t5FiledForRoyaltiesTri-state Filemark practitioner fact (NOT a CRA box): true / false / null. Omitting the key, or sending null, means UNANSWERED — the engine then refuses the row at error severity rather than assuming an answer. Only a strict JSON boolean counts as an answer; the engine coerces anything else to null. | boolean | null | |
| schedule14.rows[].technicalAssistanceFeesA reportable amount or an explicitly empty category. | null | number | 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 11 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 |
|---|---|
| schedule14.rows[].address | matches \S; 1 to 10000 characters |
| schedule14.rows[].managementFees | -1000000000000000 to 1000000000000000 |
| schedule14.rows[].name | matches \S; 1 to 10000 characters |
| schedule14.rows[].rAndDFees | -1000000000000000 to 1000000000000000 |
| schedule14.rows[].royalties | -1000000000000000 to 1000000000000000 |
| schedule14.rows[].similarPayments | -1000000000000000 to 1000000000000000 |
| schedule14.rows[].technicalAssistanceFees | -1000000000000000 to 1000000000000000 |
| taxYear | matches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027 |
Output cells (50)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| rows[].name | null | string |
| rows[].address | null | string |
| rows[].payeeIsCanadianResidentTri-state Filemark practitioner fact (not a CRA box): true / false / null when unanswered. The engine coerces any non-boolean input to null. | boolean | null |
| rows[].t5FiledForRoyaltiesTri-state Filemark practitioner fact (not a CRA box): true / false / null when unanswered. The engine coerces any non-boolean input to null. | boolean | null |
| rows[].royalties | null | number |
| rows[].rAndDFees | null | number |
| rows[].managementFees | null | number |
| rows[].technicalAssistanceFees | null | number |
| rows[].similarPayments | null | number |
| rows[].rowTotal | number |
| column_totals.300 | number |
| column_totals.400 | number |
| column_totals.500 | number |
| column_totals.600 | number |
| column_totals.700 | number |
| grand_totalA positive amount, returned as a string in ordinary or scientific notation. | string |
| row_count | integer |
| input_row_count | integer |
| de_minimis_excluded | array |
| fired_gates.box_300_royalties_t5_exempt_only | object |
| fired_gates.filing_required_for_misc_payments_to_residents | object |
| fired_gates.non_resident_payee_belongs_on_s29_not_s14 | object |
| fired_gates.payee_residence_assertion_required | object |
| warnings[].boxThe form box the finding is about, or null when the finding is about the return rather than a printed box. | null | string |
| warnings[].severity | string |
| warnings[].message | string |
| warnings[].gate_id | string |
| warnings[].citation | object |
| provisional | boolean |
| ready | boolean |
| coverageStatus | string |
| coverageReason | string |
| formId | string |
| formRevision | string |
| taxYear | integer |
| missing_required | array |
| warnings[].code | string |
| warnings[].notes | string |
| warnings[].section | string |
| warnings[].taxYear | integer |
| 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 |
| fired_gatesEvery registered gate this result raised, keyed by gate identifier. | object |