schedule11

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
1998 and later
Strict profile
s11_versioned_profile_target_value_v1
Payload schema version
0.4.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": [
    "schedule11"
  ],
  "inputs": {
    "taxYear": 2025,
    "schedule11": {
      "rows": [
        {
          "relationshipCode": 1,
          "payments": 50000,
          "reimbursement": null,
          "loansReceivable": 0,
          "assetsSoldOrPurchased": 300000,
          "section85Applies": "Yes",
          "section85TransferorType": "taxpayer"
        }
      ]
    }
  }
}

Input cells (9)

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 schedule11
CellTypesRequired
schedule11.rowsThe printed form has 12 rows. Empty rows (all fields null) are allowed; the engine treats them as no-op. Filemark preserves rows beyond 12 and blocks readiness for filing-method review because the current S11 page and PDF do not prescribe an overflow procedure.array
schedule11.rows[].assetsSoldOrPurchasedA JSON number or explicit null. Numeric strings, blanks, booleans, non-finite values, and magnitudes beyond the existing public guard are rejected.null | number
schedule11.rows[].loansReceivableA JSON number or explicit null. Numeric strings, blanks, booleans, non-finite values, and magnitudes beyond the existing public guard are rejected.null | number
schedule11.rows[].paymentsA JSON number or explicit null. Numeric strings, blanks, booleans, non-finite values, and magnitudes beyond the existing public guard are rejected.null | number
schedule11.rows[].reimbursementA JSON number or explicit null. Numeric strings, blanks, booleans, non-finite values, and magnitudes beyond the existing public guard are rejected.null | number
schedule11.rows[].relationshipCodeCRA box 100: 1 shareholder, 2 officer, or 3 employee.integer | null | objectstrict
schedule11.rows[].section85AppliesCRA box 550. Null or omission remains an unanswered semantic state; the engine returns an unready target when a non-zero box 500 amount lacks an answer.null | string
schedule11.rows[].section85TransferorTypeIdentifies the section 85 transferor so the prescribed election form can be determined: 'taxpayer' gives the subsection 85(1) joint election on Form T2057, 'partnership' gives the subsection 85(2) election on Form T2058. When section85Applies is 'Yes' and this fact is null, omitted, or unrecognized, the engine returns an unready target with an error-severity warning on box 550. It is never inferred from relationshipCode, because a partnership can be a shareholder.null | string
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 9 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 schedule11
CellAccepted values
schedule11.rows[].assetsSoldOrPurchased-1000000000000000 to 1000000000000000
schedule11.rows[].loansReceivable-1000000000000000 to 1000000000000000
schedule11.rows[].payments-1000000000000000 to 1000000000000000
schedule11.rows[].reimbursement-1000000000000000 to 1000000000000000
schedule11.rows[].relationshipCodeone of 1, 2, 3
schedule11.rows[].section85Appliesone of "Yes", "No", null
schedule11.rows[].section85TransferorTypeone of "taxpayer", "partnership", null
taxYearmatches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027

Output cells (49)

Paths are relative to this target’s result object in the response.

Output cells for schedule11
CellTypes
rows_countinteger
rows[].row_labelinteger
rows[].relationshipCodenull | number
rows[].paymentsnull | number
rows[].reimbursementnull | number
rows[].loansReceivablenull | number
rows[].assetsSoldOrPurchasednull | number
rows[].section85Appliesnull | string
column_totals.200The engine's total over at most twelve inputs, each bounded to 1e15.number
column_totals.300The engine's total over at most twelve inputs, each bounded to 1e15.number
column_totals.400The engine's total over at most twelve inputs, each bounded to 1e15.number
column_totals.500The engine's total over at most twelve inputs, each bounded to 1e15.number
relationship_breakdown.1integer
relationship_breakdown.2integer
relationship_breakdown.3integer
s85_election_rows[]integer
s85_prescribed_formsMaps each printed row label to the prescribed section 85 election form, resolved from the row's explicit transferor-type fact: 'taxpayer' gives T2057 under subsection 85(1), 'partnership' gives T2058 under subsection 85(2). Object keys are strings, even where the row labels are numbers. A box 550 Yes row with no resolvable transferor fact appears in warnings at error severity instead of in this map.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[].severitystring
warnings[].messagestring
warnings[].gate_idnull | string
warnings[].citationnull | object
fired_gates.box_200_payments_not_remunerationobject
fired_gates.box_300_reimbursement_other_than_expensesobject
fired_gates.box_400_loans_not_repaid_by_year_endobject
fired_gates.box_500_assets_sold_or_purchasedobject
fired_gates.box_550_section_85_election_appliesobject
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 | schedule11 cells