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.

Input cells for schedule14
CellTypesRequired
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 | stringstrict
schedule14.rows[].managementFeesA reportable amount or an explicitly empty category.null | numberstrict
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 | stringstrict
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 | numberstrict
schedule14.rows[].royaltiesA reportable amount or an explicitly empty category.null | numberstrict
schedule14.rows[].similarPaymentsA reportable amount or an explicitly empty category.null | numberstrict
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 | numberstrict
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 (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.

Strict profile accepted values for schedule14
CellAccepted values
schedule14.rows[].addressmatches \S; 1 to 10000 characters
schedule14.rows[].managementFees-1000000000000000 to 1000000000000000
schedule14.rows[].namematches \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
taxYearmatches ^\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.

Output cells for schedule14
CellTypes
rows[].namenull | string
rows[].addressnull | 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[].royaltiesnull | number
rows[].rAndDFeesnull | number
rows[].managementFeesnull | number
rows[].technicalAssistanceFeesnull | number
rows[].similarPaymentsnull | number
rows[].rowTotalnumber
column_totals.300number
column_totals.400number
column_totals.500number
column_totals.600number
column_totals.700number
grand_totalA positive amount, returned as a string in ordinary or scientific notation.string
row_countinteger
input_row_countinteger
de_minimis_excludedarray
fired_gates.box_300_royalties_t5_exempt_onlyobject
fired_gates.filing_required_for_misc_payments_to_residentsobject
fired_gates.non_resident_payee_belongs_on_s29_not_s14object
fired_gates.payee_residence_assertion_requiredobject
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[].severitystring
warnings[].messagestring
warnings[].gate_idstring
warnings[].citationobject
provisionalboolean
readyboolean
coverageStatusstring
coverageReasonstring
formIdstring
formRevisionstring
taxYearinteger
missing_requiredarray
warnings[].codestring
warnings[].notesstring
warnings[].sectionstring
warnings[].taxYearinteger
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
fired_gatesEvery registered gate this result raised, keyed by gate identifier.object
Filemark | schedule14 cells