schedule512

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
2009 and later
Strict profile
schedule512_v1
Payload schema version
0.1.0
Dependencies (run automatically)
schedule513

Example request

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

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

Input cells (76)

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 schedule512
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
daysInYearNumber of days in the taxation year, as a positive whole number, driving the ITA s.125(5)(b) short-year proration of the business limit. The third member of the canonical taxation-period trio with fiscalStart and fiscalEnd: all three are mandatory whenever the request reaches Part I through its dependency closure, which most targets do. A missing member is refused before any computation, and a day count that disagrees with the two dates is an error.null | number
entityIdIdentifier of the filing corporation, used by Schedule 42 and predecessor-continuity checks to match authenticated evidence, and to identify statutory proration periods. The identifier does not authorize access to another corporation. Omission prevents predecessor evidence from matching; proration labels may fall back to the filing BN or tax-year identifier.null | string
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
fiscalEndThe last day of the taxation year in ISO YYYY-MM-DD form, which bounds every disposition date. Send it with fiscalStart and daysInYear: the three are the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure. Strict YYYY-MM-DD, and not before fiscalStart.null | stringstrict
fiscalStartThe first day of the taxation year (ISO YYYY-MM-DD). With fiscalEnd and daysInYear it is the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure — the request is refused before any computation when one is missing. The bounds also drive Schedule 8's Reg 1100(3) short-year CCA proration and the Reg 1104(3.5)(b) immediate-expensing limit proration.null | stringstrict
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
schedule510Ontario Schedule 510 corporate minimum tax inputs, including assets, revenue, association facts and loss or credit continuity. When omitted, the engine still tests CMT liability if Schedule 5 establishes an Ontario permanent establishment; missing required facts remain unresolved.null | object
schedule510.has_associated_corporationsWhether the filer has associated corporations; an unanswered value remains unresolved.boolean | null
schedule512.capitalAllowanceForFirstTaxYearEndingInCalendarYearnull | number
schedule512.carriesOnBusinessInCanadaboolean | null
schedule512.carriesOnBusinessInOntarioboolean | null
schedule512.foreignInsuranceSubsidiariesarray
schedule512.foreignInsuranceSubsidiaries[].capitalStockInvestednull | number
schedule512.foreignInsuranceSubsidiaries[].capitalStockOrMembersContributionsnull | number
schedule512.foreignInsuranceSubsidiaries[].deferredTaxDebitOrFutureTaxAssetsnull | number
schedule512.foreignInsuranceSubsidiaries[].deficitDeductedInShareholdersEquitynull | number
schedule512.foreignInsuranceSubsidiaries[].longTermDebtnull | number
schedule512.foreignInsuranceSubsidiaries[].longTermDebtInvestednull | number
schedule512.foreignInsuranceSubsidiaries[].namestring
schedule512.foreignInsuranceSubsidiaries[].otherContributedSurplusnull | number
schedule512.foreignInsuranceSubsidiaries[].retainedEarningsnull | number
schedule512.foreignInsuranceSubsidiaries[].surplusesnull | number
schedule512.foreignInsuranceSubsidiaries[].totalReserveLiabilitiesnull | number
schedule512.isLifeInsuranceCorporationboolean | null
schedule512.line110null | number
schedule512.line112null | number
schedule512.line114null | number
schedule512.line116null | number
schedule512.line118null | number
schedule512.line130null | number
schedule512.line132null | number
schedule512.line164null | number
schedule512.line168null | number
schedule512.line180null | number
schedule512.line210null | number
schedule512.line214null | number
schedule512.line218null | number
schedule512.line222null | number
schedule512.line226null | number
schedule512.line310boolean | null
schedule512.line315string
schedule512.line320string
schedule512.line325string
schedule512.moreThanOneTaxYearEndingInCalendarYearWhileRelatedboolean | null
schedule512.ontarioCorporateIncomeTaxPayableDivisionBnull | number
schedule512.ontarioCorporateMinimumTaxPayableDivisionCnull | number
schedule512.ontarioTaxableIncomenull | number
schedule512.relatedSolelyViaCrownControlboolean | null
schedule512.relatedSolelyViaS251_5_bRightboolean | null
schedule512.residentInCanadaboolean | null
schedule512.s251_5_bRightAcquiredToAvoidCapitalAllowanceLimitboolean | null
schedule512.s63_10AllocationAgreementFiledboolean | null
schedule512.s63_10AmountsAllocatedToThisMemberarray
schedule512.s63_10AmountsAllocatedToThisMember[]One entered amount.null | number | string
schedule512.s63_10GroupTaxableCapitalEmployedInCanadanull | number
schedule512.s63_10TotalAllocatedToAllMembersnull | number
schedule512.taxableIncomeEarnedInAllProvincesnull | number
schedule512.taxableIncomeEarnedInCanadanull | number
schedule512.taxableIncomeT2Line360null | number
schedule513.currentYearIsFirstTaxYearEndingInCalendarYearWhether this is the first tax year ending in that calendar year. Only relevant when the Note applies: for the first such year the deemed allowance is this year's own column 400 allocation, and a later year is held because the earlier year's allowance is not carried.boolean | null
schedule513.members[].allocations[]integer | null | number | string
schedule513.members[].businessNumberBox 300. This member's Business Number, or "NR" when the corporation is not registered.null | string
schedule513.members[].lifeInsuranceCorporationCarryingOnBusinessInCanadaWhether this row is a life insurance corporation carrying on business in Canada. Only such a corporation is a member of the related group, and only its taxable capital sizes the line 410 ceiling. An unanswered row is held rather than assumed.boolean | null
schedule513.members[].nameBox 200. Name of this member of the related group.null | string
schedule513.members[].taxableCapitalEmployedInCanadaFootnote **. This member's taxable capital employed in Canada, being the amount from line 190 or line 290 on its own Schedule 512, whichever applies.integer | null | number
schedule513.multipleTaxYearsEndingInCalendarYearThe Schedule 513 Note. Whether a member has more than one tax year ending in this calendar year and is, in two or more of them, related to another life insurance corporation with a tax year ending in that calendar year. Unanswered is held, never read as No.boolean | null
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.number | stringalways
taxYearIdstring
Strict profile accepted values (54 of 76 cells)

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

Strict profile accepted values for schedule512
CellAccepted values
businessNumber0 to 20000 characters
daysInYear1 to 1000000000000000
entityId0 to 20000 characters
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
schedule512.capitalAllowanceForFirstTaxYearEndingInCalendarYear-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].capitalStockInvested-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].capitalStockOrMembersContributions-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].deferredTaxDebitOrFutureTaxAssets-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].deficitDeductedInShareholdersEquity-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].longTermDebt-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].longTermDebtInvested-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].name0 to 20000 characters
schedule512.foreignInsuranceSubsidiaries[].otherContributedSurplus-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].retainedEarnings-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].surpluses-1000000000000000 to 1000000000000000
schedule512.foreignInsuranceSubsidiaries[].totalReserveLiabilities-1000000000000000 to 1000000000000000
schedule512.line110-1000000000000000 to 1000000000000000
schedule512.line112-1000000000000000 to 1000000000000000
schedule512.line114-1000000000000000 to 1000000000000000
schedule512.line116-1000000000000000 to 1000000000000000
schedule512.line118-1000000000000000 to 1000000000000000
schedule512.line130-1000000000000000 to 1000000000000000
schedule512.line132-1000000000000000 to 1000000000000000
schedule512.line164-1000000000000000 to 1000000000000000
schedule512.line168-1000000000000000 to 1000000000000000
schedule512.line180-1000000000000000 to 1000000000000000
schedule512.line210-1000000000000000 to 1000000000000000
schedule512.line214-1000000000000000 to 1000000000000000
schedule512.line218-1000000000000000 to 1000000000000000
schedule512.line222-1000000000000000 to 1000000000000000
schedule512.line226-1000000000000000 to 1000000000000000
schedule512.line3150 to 20000 characters
schedule512.line3200 to 20000 characters
schedule512.line3250 to 20000 characters
schedule512.ontarioCorporateIncomeTaxPayableDivisionB-1000000000000000 to 1000000000000000
schedule512.ontarioCorporateMinimumTaxPayableDivisionC-1000000000000000 to 1000000000000000
schedule512.ontarioTaxableIncome-1000000000000000 to 1000000000000000
schedule512.s63_10AmountsAllocatedToThisMember[]-1000000000000000 to 1000000000000000; 0 to 20000 characters
schedule512.s63_10GroupTaxableCapitalEmployedInCanada-1000000000000000 to 1000000000000000
schedule512.s63_10TotalAllocatedToAllMembers-1000000000000000 to 1000000000000000
schedule512.taxableIncomeEarnedInAllProvinces-1000000000000000 to 1000000000000000
schedule512.taxableIncomeEarnedInCanada-1000000000000000 to 1000000000000000
schedule512.taxableIncomeT2Line360-1000000000000000 to 1000000000000000
schedule513.members[].allocations[]-1000000000000000 to 1000000000000000; 0 to 20000 characters
schedule513.members[].businessNumber0 to 20000 characters
schedule513.members[].name0 to 20000 characters
schedule513.members[].taxableCapitalEmployedInCanada-1000000000000000 to 1000000000000000
taxYearmatches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027
taxYearId0 to 20000 characters

Output cells (168)

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

Output cells for schedule512
CellTypes
schedulestring
cra_form_refstring
statusstring
s5_receiver_boxstring
sch510_cmt_credit_feed_notestring
s5_division_b_sourcestring
s5_division_c_sourcestring
readyboolean
provisionalboolean
sat_payablenull | number
s5_receiver_amountnull | number
sat_added_to_cmt_credit_carryforwardnull | number
capital_allowance.line_330number
capital_allowance.sourcestring
capital_allowance.taxable_capital_employed_in_canadanumber
capital_allowance.s63_10_group_taxable_capital_employed_in_canadanull | number
capital_allowance.s63_10_group_ceilingnull | number
capital_allowance.s63_10_total_allocated_to_all_membersnull | number
capital_allowance.uncovered_band[]number
capital_allowance.tiers[].citationstring
capital_allowance.tiers[].labelstring
capital_allowance.tiers[].fractionnull | string
capital_allowance.tiers[].floornull | number
capital_allowance.tiers[].ceilingnull | number
capital_allowance.tiers[].basenull | number
capital_allowance.tiers[].amountnumber
capital_allowancenull
computed.amount_anumber
computed.amount_bnumber
computed.amount_cnumber
computed.amount_dnumber
computed.amount_enumber
computed.amount_gnumber
computed.amount_hnumber
computed.amount_jnumber
computed.amount_lnumber
computed.amount_nnumber
computed.amount_o_sat_payablenumber
computed.line_150number
computed.line_160number
computed.line_166number
computed.line_170number
computed.line_180number
computed.line_190number
computed.line_290number
computed.line_330number
computed.line_350number
computed.line_460number
computed.amount_k_ontario_domestic_factornumber
computed.sat_ratenumber
computed.days_in_tax_yearinteger
computed.ontario_domestic_factor_basisstring
computed.foreign_insurance_subsidiaries[].namestring
computed.foreign_insurance_subsidiaries[].capital_qnumber
computed.foreign_insurance_subsidiaries[].excluded_investments_rnumber
computed.foreign_insurance_subsidiaries[].capital_s63_6number
computed.foreign_insurance_subsidiaries[].total_reserve_liabilities_s63_7number
audit.amount_astring
audit.amount_bstring
audit.amount_cstring
audit.amount_dstring
audit.amount_estring
audit.amount_gstring
audit.amount_hstring
audit.amount_jstring
audit.amount_lstring
audit.amount_nstring
audit.amount_o_sat_payablestring
audit.line_150string
audit.line_160string
audit.line_166string
audit.line_170string
audit.line_180string
audit.line_190string
audit.line_290string
audit.line_330string
audit.line_350string
audit.line_460string
audit.amount_k_ontario_domestic_factorstring
audit.sat_ratestring
audit.days_in_tax_yearstring
audit.ontario_domestic_factor_basisstring
fired_gates[]string
warnings[].codeStable machine identity of the disclosure, independent of its prose.string
warnings[].findingCodestring
warnings[].severitystring
warnings[].messagestring
warnings[].subsectionstring
warnings[].authoritystring
warnings[].gate_idnull | string
warnings[].boxnull | string
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
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[].sources[]string
warnings[].taxYearThe taxation year whose rate tables are unverified.integer
warnings[].taxYears[]integer
warnings[].reasonstring
warnings[].sourcestring
warnings[].upstreamSourcestring
warnings[].kindstring
warnings[].keystring
warnings[].sectionstring
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[].citationarray | 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
computedobject
auditobject
Filemark | schedule512 cells