schedule353

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2021 and later
Strict profile
schedule353_v1
Payload schema version
0.1.0
Dependencies (run automatically)
none

Example request

Send this body to POST /api/v1/computations/batch. This example works with or without payloadContract.

{
  "compute": [
    "schedule353"
  ],
  "inputs": {
    "taxYear": 2025,
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "schedule353": {},
    "daysInYear": 365,
    "isCCPC": true
  }
}

Input cells (19)

Paths are relative to the request's inputs object. [] marks an array element.

Cells marked always require a non-null value in every request. Cells marked strict are required when you supply this target's payloadContract. See Run computations.

Unknown cells and JSON type mismatches return 400 with the affected cells in the error details.

Input cells for schedule353
CellTypesRequired
businessNumberFiling corporation CRA business number, as a nine-digit root or full 15-character program account, used to match corporation-specific allocations such as Schedule 23. Other root-level aliases and the jacket or GIFI schedule identities may supply it when omitted. Missing, malformed or conflicting roots prevent an allocation match.null | string
corporationNameFiling corporation name used for Schedule 511 and other filing headers when the jacket name is blank. Send the legal name. If neither source supplies a name, this reader returns no name and the consuming form applies its identity checks.null | string
daysInYearinteger
filerBnFiling corporation CRA business number, as a nine-digit root or full 15-character program account, used to match corporation-specific allocations such as Schedule 23. Other root-level aliases and the jacket or GIFI schedule identities may supply it when omitted. Missing, malformed or conflicting roots prevent an allocation match.null | string
filingCorpBnFiling corporation CRA business number, as a nine-digit root or full 15-character program account, used to match corporation-specific allocations such as Schedule 23. Other root-level aliases and the jacket or GIFI schedule identities may supply it when omitted. Missing, malformed or conflicting roots prevent an allocation match.null | string
fiscalEndstringstrict
fiscalStartstringstrict
isCCPCboolean
schedule100object
schedule101object
schedule101.insuranceUnderwritingTypeThe insurance underwriting subtype, read with isInsuranceCorp to decide whether the RC4088 Rev.23 p.5 PDF financial statement supplement advisory fires. Send it whenever isInsuranceCorp is true, using non_underwriting for brokerages, MGAs, agency subsidiaries and non-underwriting holding companies. No enum is published because the engine routes every unrecognized string to the ordinary-filer branch rather than rejecting it.null | string
schedule125object
schedule125.insuranceUnderwritingTypeThe insurance underwriting subtype, read with isInsuranceCorp to decide whether the RC4088 Rev.23 p.5 PDF financial statement supplement advisory fires. Send it whenever isInsuranceCorp is true, using non_underwriting for brokerages, MGAs, agency subsidiaries and non-underwriting holding companies. No enum is published because the engine routes every unrecognized string to the ordinary-filer branch rather than rejecting it.null | string
schedule353objectstrict
schedule38Schedule 38 Part VI Tax on Capital of Financial Institutions input object. Its capital and institution facts support the federal calculation, T2 line 720 and provincial financial-institution capital-tax inputs. Omission supplies no Schedule 38 prepass or fallback identity facts; applicable return triggers still require the relevant facts.null | object
schedule38.partVI2TaxPayableForYearS67Optional practitioner cross-check of the Schedule 67 T2 line 725 Part VI.2 instalment deductible under ITA s.190.1(3)(a). It is never authority: batch computation supplies the server-produced Schedule 67 t2_line_725_feed, and a missing or conflicting feed blocks the deduction.null | number | string
schedule38.unusedSurtaxCreditsClaimedFromS42Optional cross-check of the unused surtax credit claimed on Schedule 42 under ITA s.190.1(3)(b). It is an internal component of amount 7B and appears on no printed CRA box. The value is never authority: a positive amount reduces Part VI only when the server-authenticated Schedule 42 opening register, source-year evidence, seven-taxation-year window and s.190.1(6) review support the same claim.null | number | string
t2Jacketobject
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 (12 of 19 cells)

These constraints apply when you supply this target's payloadContract. Cells marked pinned must equal the listed value.

Strict profile accepted values for schedule353
CellAccepted values
businessNumber0 to 20000 characters
corporationName0 to 20000 characters
daysInYear1 to 1000000000000000
filerBn0 to 20000 characters
filingCorpBn0 to 20000 characters
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
schedule101.insuranceUnderwritingType0 to 20000 characters
schedule125.insuranceUnderwritingType0 to 20000 characters
schedule38.partVI2TaxPayableForYearS67-1000000000000000 to 1000000000000000; 0 to 20000 characters
schedule38.unusedSurtaxCreditsClaimedFromS42-1000000000000000 to 1000000000000000; 0 to 20000 characters
taxYearmatches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027

Output cells (100)

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

Output cells for schedule353
CellTypes
statusstring
readyboolean
provisionalboolean
warnings[].codeStable machine identity of the disclosure, independent of its prose.string
warnings[].severitystring
warnings[].messagestring
warnings[].boxnull | string
warnings[].citationarray | boolean | null | number | object | string
warnings[].notesWhat the rate manifest records against the year, including what is still outstanding before the year can be verified.string
warnings[].sourceModuleThe module that emitted the disclosure.string
warnings[].taxYearThe taxation year whose rate tables are unverified.integer
warnings[].reasonstring
warnings[].sourcestring
warnings[].upstreamSourcestring
warnings[].kindstring
warnings[].keystring
warnings[].sectionstring
warnings[].gate_idnull | string
warnings[].box_formstring
warnings[].targetstring
warnings[].fieldstring
warnings[].templateIdnull | string
warnings[].workpaperIdstring
warnings[].statusstring
warnings[].payerNamestring
warnings[].accountCodestring
warnings[].accountNamestring
warnings[].producerstring
warnings[].sourceStatestring
warnings[].openingFamilystring
warnings[].inputPathstring
warnings[].openingLabelstring
warnings[].manualValuenull | number
warnings[].canonicalValuenull | number
warnings[].amountnull | number
warnings[].accountBalancenull | number
warnings[].rowIndexnull | number
warnings[].accountIdboolean | null | number | string
warnings[].expectedarray | boolean | null | number | object | string
warnings[].actualarray | boolean | null | number | object | string
warnings[].producers[]string
warnings[].affectedOutputs[]string
warnings[].calculationUsableboolean
warnings[].isNilboolean | null
warnings[].adjustmentAmountThe dollar amount the finding is about, on the routing and slip-reconciliation notices that name one. Absent on every notice that does not.number
warnings[].competingS1Lines[]string
warnings[].competingTemplateIds[]string
warnings[].computedDirectionThe addition/deduction direction the workpaper or classification computed, on the routing findings that refuse it against the registered direction of the line.null | string
warnings[].conditionalOnThe statutory fact a conditional classification turns on and that the return has not resolved. Nothing is posted while it is open.string
warnings[].conflictingLines[]string
warnings[].controlledAffiliateCountThe number of box 300 code 1 selections Schedule 25 reports, on the ITA 91(1) foreign accrual property income finding.integer
warnings[].coveredByPostedAjeTrue on the reconciliation finding raised when a posted adjusting entry already moved the accounts a GL-built workpaper measures, so letting both amounts post would reconcile the same item twice.boolean
warnings[].gifiCodes[]string
warnings[].incomeAmountCountHow many foreign accrual income amounts share the affiliate class the prior-year claim was recorded against.integer
warnings[].incomeAmountIdThe foreign accrual income amount the finding is about, as the engine keys it.string
warnings[].inferredCategoryThe Schedule 1 category the engine inferred for an amount whose classification named no line.string
warnings[].itaReferences[]string
warnings[].lineThe Schedule 1 line whose amount a canonical producer replaced, on the cross-schedule finding that names the replacement.string
warnings[].lineDefaultTaxThe default tax treatment the chosen Schedule 1 line registers. Null when the line registers none, or when no line was chosen.null | string
warnings[].ownerThe schedule that owns the replaced Schedule 1 line, on the cross-schedule replacement finding.string
warnings[].pairedLineThe opposite-direction Schedule 1 line registered for the same concept, when one exists. Null when the registry pairs none.null | string
warnings[].pairedLineFeedsScheduleThe schedule the paired line is printed as sourced from, which is why the amount cannot simply be re-anchored there. Null when the registry pairs no line.null | string
warnings[].postedAjeAccountIds[]string
warnings[].producerKeyThe canonical producer whose amount replaced the account-derived one, on the cross-schedule replacement finding.string
warnings[].receiverThe canonical receiver that must carry this concept's opposite-direction amount, on the canonical-receiver refusal.string
warnings[].registeredDirectionThe direction the Schedule 1 line registry records for the line the amount was routed to. Null when the line is not in the registry.null | string
warnings[].replacedTotalThe account-derived total the canonical producer's amount replaced.number
warnings[].schedule1LineThe Schedule 1 line the finding is about. Null where the classification or the registry names none, which is itself the subject of several of these findings.null | string
warnings[].taxTreatmentThe tax treatment the classification states. Null when it states none.null | string
warnings[].treatmentThe classification's Schedule 1 treatment verdict. Null when the classification states none.null | string
warnings[].unfundedAccountIds[]string
warnings[].unreadableEntryCountHow many foreign accrual ledger entries could not be read, on the coverage finding that refuses to treat them as absent.integer
warnings[].sources[]string
warnings[].taxYears[]integer
blockers[]string
fired_gatesEvery T4012 gate this build evaluated, keyed by gate identifier, each carrying the verbatim CRA face text it was authored from.object
source.formstring
source.statutestring
combinedCapitalnull | number
basicCapitalDeductionnull | number
line_410null | number
filerAllocationnull | number
filerCapitalForYearnull | number
relatedCorporations[].namestring
relatedCorporations[].businessNumberstring
relatedCorporations[].allocationnumber
relatedCorporations[].capitalForYearnumber
relatedCorporations[].relatedForAllocationPurposesConfirmedboolean
relatedCorporations[].s190_15_5Appliesboolean
relatedCorporations[].firstTaxYearAllocationnull | number
form.allocationRows[].namestring
form.allocationRows[].businessNumberstring
form.allocationRows[].allocationnumber
form.supplementalRows[].namestring
form.supplementalRows[].businessNumberstring
form.supplementalRows[].allocationnumber
form.line_410null | number
institutionTypenull | string
registeredOfficeInNovaScotiaboolean | null
basicCapitalDeductionQualificationnull | string
Filemark | schedule353 cells