schedule29

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
1998 and later
Strict profile
s29_versioned_profile_target_value_v1
Payload schema version
0.5.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": [
    "schedule29"
  ],
  "inputs": {
    "taxYear": 2025,
    "schedule29": {
      "rows": [
        {
          "name": "Cedar Ridge Software LLC",
          "address": "123 Market Street, Boston, MA 02110, USA",
          "paymentCode": 1,
          "partXiiiDetermination": "withholding-required",
          "informationReturnConfirmed": true,
          "amount": 50000
        }
      ]
    }
  }
}

Input cells (8)

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 schedule29
CellTypesRequired
schedule29.rowsRows of non-resident payees. Empty rows are elided by the backend.array
schedule29.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
schedule29.rows[].amountA positive JSON number for box 400. Numeric strings, blanks, booleans, zero, negative values, non-finite values, and magnitudes above 1e15 are rejected. No rule about cents precision is implied.null | numberstrict
schedule29.rows[].informationReturnConfirmedConfirmation that the separate Regulation 202 information-return workflow was handled outside Filemark when the payment code requires it.boolean
schedule29.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
schedule29.rows[].partXiiiDeterminationPractitioner Part XIII conclusion. Required for every payment code whose Note 1 label names a category ITA s.212 charges on its face: 1 and 2 (s.212(1)(d) rent, royalty or similar payment), 3 (s.212(1)(a) management or administration fee or charge), 6 (s.212(1)(b) interest), 7 (s.212(2) dividends) and 8 (s.212(5) film payments). Codes 4, 5 and 9 reach Part XIII only through s.212(1)(d)(ii)/(iii), whose contingency test the form label does not establish, so no determination is demanded on them. A row the canonical Part XIII workpaper already concludes on may leave this null. Filemark does not compute a withholding rate, exclusion, waiver or treaty result from this field.null | string
schedule29.rows[].paymentCodeCRA box 300 payment code from Note 1 on T2 SCH 29 (99).integer | null | objectstrict
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 (6 of 8 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 schedule29
CellAccepted values
schedule29.rows[].addressmatches \S; 1 to 10000 characters
schedule29.rows[].amount-1000000000000000 to 1000000000000000
schedule29.rows[].namematches \S; 1 to 10000 characters
schedule29.rows[].partXiiiDeterminationone of "withholding-required", "reduced-or-exempt", null
schedule29.rows[].paymentCodeone of 1, 2, 3, 4, 5, 6, 7, 8, 9
taxYearmatches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027

Output cells (40)

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

Output cells for schedule29
CellTypes
rows[].namenull | string
rows[].addressnull | string
rows[].paymentCodeinteger | null
rows[].amountnull | number
rows[].partXiiiDeterminationNormalized practitioner Part XIII conclusion; null for rows where no conclusion was supplied. Payment codes 1, 2, 3, 6, 7 and 8 name categories ITA s.212 charges on their face, so a null there is a blocking finding rather than a settled nil.null | string
rows[].informationReturnConfirmedNormalized boolean confirmation for the separate Regulation 202 information-return workflow.boolean
total_amountA positive amount, returned as a string in ordinary or scientific notation.string
warningsarray
fired_gatesEvery registered gate this result raised, keyed by gate identifier.object
provisionalboolean
readyboolean
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[].messageOne finding per payee, not per row. The message opens with the repr-quoted normalized payee name and the merged row numbers, and adds the explicit aggregation note whenever more than one row was merged into one payee.string
warnings[].gate_idstring
warnings[].citationobject
fired_gates.box_400_de_minimis_under_100object
fired_gates.filing_required_for_reg_202_or_105_paymentsobject
coverageStatusstring
coverageReasonstring
formIdstring
formRevisionstring
taxYearinteger
missing_requiredarray
warnings[].codestring
warnings[].notesstring
warnings[].sectionstring
warnings[].taxYearinteger
warnings[]Any finding this held branch can publish.any
fired_gates.code_7_part_xiii_determination_requiredobject
fired_gates.reg_202_information_return_confirmation_requiredobject
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
Filemark | schedule29 cells