aoc

T2 Corporation Income Tax Return

Kind
batch
Supported tax years
—
Strict profile
aoc_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": [
    "aoc"
  ],
  "inputs": {
    "taxYear": 2025,
    "fiscalStart": "2025-01-01",
    "fiscalEnd": "2025-12-31",
    "acquisitionOfControlDate": "2026-01-01",
    "aocNondepreciableCapitalProperties": [],
    "aocAdventureTradeInventory": [],
    "aocDoubtfulDebtReserves111_5_3": [],
    "aocBecomesOrCeasesExemptAtEvent": false,
    "aocMainReasonIsToCauseProvisionToApply": false,
    "isCCPC": true,
    "daysInYear": 365
  }
}

Input cells (47)

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 aoc
CellTypesRequired
acquisitionOfControlDateThe date control of the corporation was acquired, in ISO YYYY-MM-DD form, which splits the taxation year for the acquisition-of-control stub returns. Schedule 8 requires the full date and rejects a bare year.null | stringstrict
aocAdventureTradeInventoryEntered acquisition-of-control property or reserve records; an empty list states there are no records.null | array
aocAdventureTradeInventory[]One entered property or reserve record.object
aocAdventureTradeInventory[].costnull | number | string
aocAdventureTradeInventory[].descriptionnull | string
aocAdventureTradeInventory[].fmvnull | number | string
aocBecomesOrCeasesExemptAtEventWhether the taxpayer becomes or ceases to be exempt from Part I tax at the loss restriction event. ITA s.111(5.1) is expressly subject to s.111(5.5)(a), which suppresses the depreciable-property write-down in that case, so the answer decides whether the write-down runs at all. Boolean is the canonical form; an unanswered fact blocks rather than assuming either branch.boolean | null | number | string
aocDesignatedProperty111_4_eEntered acquisition-of-control property or reserve records; an empty list states there are no records.null | array
aocDesignatedProperty111_4_e[]One entered property or reserve record.object
aocDesignatedProperty111_4_e[].acbnull | number | string
aocDesignatedProperty111_4_e[].dateAcquirednull | string
aocDesignatedProperty111_4_e[].descriptionnull | string
aocDesignatedProperty111_4_e[].designated_proceedsnull | number | string
aocDesignatedProperty111_4_e[].fmvnull | number | string
aocDesignatedProperty111_4_e[].foreignCurrencynull | string
aocDesignatedProperty111_4_e[].isActiveAssetboolean | null
aocDesignatedProperty111_4_e[].isDepreciablePropertyboolean | null
aocDesignatedProperty111_4_e[].isForeignAffiliateShareboolean | null
aocDesignatedProperty111_4_e[].isForeignSourceboolean | null
aocDesignatedProperty111_4_e[].isListedPersonalPropertyboolean | null
aocDesignatedProperty111_4_e[].paragraph40_2_fAppliesnull | string
aocDesignatedProperty111_4_e[].propertyIdnull | string
aocDesignatedProperty111_4_e[].propertyTypenull | string
aocDesignatedProperty111_4_e[].subsection111_5_1WouldApplyboolean | null
aocDoubtfulDebtReserves111_5_3Entered acquisition-of-control property or reserve records; an empty list states there are no records.null | array
aocDoubtfulDebtReserves111_5_3[]One entered property or reserve record.object
aocDoubtfulDebtReserves111_5_3[].debt_amountnull | number | string
aocDoubtfulDebtReserves111_5_3[].descriptionnull | string
aocDoubtfulDebtReserves111_5_3[].doubtful_debt_reserve_20_1_lnull | number | string
aocMainReasonIsToCauseProvisionToApplyWhether the main reason for the loss restriction event was to cause ITA paragraph 111(4)(d) or one of subsections 111(5.1) to (5.3) to apply. A Yes engages s.111(5.5)(b), which disapplies the targeted provision and paragraph 111(4)(e); answer aocMainReasonTargetedProvision as well so the engine knows which chain to suppress. This is a legal conclusion the engine cannot derive, so an unanswered fact holds the pre-event write-down rather than filing it either way. Boolean is the canonical form.boolean | null | number | string
aocMainReasonTargetedProvisionWhich provision the s.111(5.5)(b) main reason targeted. The subsection names a closed set — paragraph 111(4)(d) and subsections 111(5.1) to (5.3) — and disapplies exactly one of them plus paragraph 111(4)(e), never their union, so the answer selects the chain that is suppressed. Required whenever aocMainReasonIsToCauseProvisionToApply is Yes; any other string is refused rather than defaulted, because suppressing the wrong provision suppresses the wrong write-down.null | string
aocNondepreciableCapitalPropertiesEntered acquisition-of-control property or reserve records; an empty list states there are no records.null | array
aocNondepreciableCapitalProperties[]One entered property or reserve record.object
aocNondepreciableCapitalProperties[].acbnull | number | string
aocNondepreciableCapitalProperties[].descriptionnull | string
aocNondepreciableCapitalProperties[].fmvnull | number | string
aocNondepreciableCapitalProperties[].isActiveAssetboolean | null
aocNondepreciableCapitalProperties[].isForeignSourceboolean | null
aocNondepreciableCapitalProperties[].propertyIdnull | string
aocPropertyDesignationsPer-property ITA paragraph 111(4)(e) acquisition-of-control designations for depreciable property. Each row identifies the CCA class and property and supplies its fair market value, capital cost, and designated amount; omit the array only when no such designation is made.array | null
aocPropertyDesignations[]Per-property ITA paragraph 111(4)(e) acquisition-of-control designations for depreciable property. Each row identifies the CCA class and property and supplies its fair market value, capital cost, and designated amount; omit the array only when no such designation is made.object
daysInYearinteger
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
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
Strict profile accepted values (27 of 47 cells)

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

Strict profile accepted values for aoc
CellAccepted values
acquisitionOfControlDatedate (YYYY-MM-DD); 10 to 10 characters
aocAdventureTradeInventory[].cost-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocAdventureTradeInventory[].description0 to 20000 characters
aocAdventureTradeInventory[].fmv-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocBecomesOrCeasesExemptAtEventone of true, false, "true", "false", null
aocDesignatedProperty111_4_e[].acb-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocDesignatedProperty111_4_e[].dateAcquired0 to 20000 characters
aocDesignatedProperty111_4_e[].description0 to 20000 characters
aocDesignatedProperty111_4_e[].designated_proceeds-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocDesignatedProperty111_4_e[].fmv-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocDesignatedProperty111_4_e[].foreignCurrency0 to 20000 characters
aocDesignatedProperty111_4_e[].paragraph40_2_fApplies0 to 20000 characters
aocDesignatedProperty111_4_e[].propertyId0 to 20000 characters
aocDesignatedProperty111_4_e[].propertyType0 to 20000 characters
aocDoubtfulDebtReserves111_5_3[].debt_amount-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocDoubtfulDebtReserves111_5_3[].description0 to 20000 characters
aocDoubtfulDebtReserves111_5_3[].doubtful_debt_reserve_20_1_l-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocMainReasonIsToCauseProvisionToApplyone of true, false, "true", "false", null
aocMainReasonTargetedProvisionone of "111(4)(d)", "111(5.1)", "111(5.2)", "111(5.3)", null
aocNondepreciableCapitalProperties[].acb-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocNondepreciableCapitalProperties[].description0 to 20000 characters
aocNondepreciableCapitalProperties[].fmv-1000000000000000 to 1000000000000000; 0 to 20000 characters
aocNondepreciableCapitalProperties[].propertyId0 to 20000 characters
daysInYear1 to 1000000000000000
fiscalEnddate (YYYY-MM-DD); 10 to 10 characters
fiscalStartdate (YYYY-MM-DD); 10 to 10 characters
taxYearmatches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027

Output cells (132)

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

Output cells for aoc
CellTypes
capabilityStatusstring
authoritativeForBatchboolean
coveredProvisions[]string
deferredProvisions.s.111(4)(a)/(b), s.111(5) loss-pool restriction and streamingstring
deferredProvisions.s.111(5.1) depreciable UCC write-down and s.111(4)(e) depreciable-class designationsstring
aocOccurredboolean
aocDatenull | string
taxYearinteger
section256_9Electionboolean | null
provisionalboolean
readyboolean
deemedCapitalLosses_111_4_cnumber
deemedCapitalGains_111_4_enumber
inventoryWritedown_10_10number
deniedReserve_111_5_3_anumber
badDebtDeduction_111_5_3_bnumber
designatedProperty_111_4_c_detail[].propertyIdstring
designatedProperty_111_4_c_detail[].descriptionstring
designatedProperty_111_4_c_detail[].deemedDispositionAuthoritystring
designatedProperty_111_4_c_detail[].acbnumber
designatedProperty_111_4_c_detail[].fmvnumber
designatedProperty_111_4_c_detail[].deemedLossnumber
designatedProperty_111_4_c_detail[].acbAfterAocnumber
designatedProperty_111_4_c_detail[].postEventAcbnumber
designatedProperty_111_4_c_detail[].isActiveAssetboolean | null | string
designatedProperty_111_4_c_detail[].isForeignSourceboolean | null | string
designatedProperty_111_4_e_detail[].propertyIdstring
designatedProperty_111_4_e_detail[].descriptionstring
designatedProperty_111_4_e_detail[].propertyTypestring
designatedProperty_111_4_e_detail[].dateAcquiredstring
designatedProperty_111_4_e_detail[].foreignCurrencystring
designatedProperty_111_4_e_detail[].deemedDispositionAuthoritystring
designatedProperty_111_4_e_detail[].acbnumber
designatedProperty_111_4_e_detail[].fmvnumber
designatedProperty_111_4_e_detail[].designatedProceedsnumber
designatedProperty_111_4_e_detail[].deemedProceedsnumber
designatedProperty_111_4_e_detail[].deemedGainnumber
designatedProperty_111_4_e_detail[].reacquisitionCost_111_4_e_iinumber
designatedProperty_111_4_e_detail[].postEventAcbnumber
designatedProperty_111_4_e_detail[].capitalCostAfter_111_4_e_iii_13_7_fnumber
designatedProperty_111_4_e_detail[].deemedCcaPer111_4_e_iiinumber
designatedProperty_111_4_e_detail[].isActiveAssetboolean | null | string
designatedProperty_111_4_e_detail[].isForeignSourceboolean | null | string
designatedProperty_111_4_e_detail[].isListedPersonalPropertyboolean | null | string
designatedProperty_111_4_e_detail[].isForeignAffiliateShareboolean | null | string
designatedProperty_111_4_e_detail[].paragraph40_2_fAppliesboolean | null | string
designatedProperty_111_4_e_detail[].isDepreciablePropertyboolean
adventureTradeInventory_10_10_detail[].descriptionstring
adventureTradeInventory_10_10_detail[].valuationAuthoritystring
adventureTradeInventory_10_10_detail[].costnumber
adventureTradeInventory_10_10_detail[].fmvnumber
adventureTradeInventory_10_10_detail[].writedownnumber
adventureTradeInventory_10_10_detail[].deemedCostnumber
doubtfulDebtReserves_111_5_3_detail[].descriptionstring
doubtfulDebtReserves_111_5_3_detail[].authoritystring
doubtfulDebtReserves_111_5_3_detail[].debtAmountnumber
doubtfulDebtReserves_111_5_3_detail[].separateDebt_111_5_3_b_inumber
doubtfulDebtReserves_111_5_3_detail[].badDebtDeduction_20_1_pnumber
doubtfulDebtReserves_111_5_3_detail[].residualSeparateDebt_111_5_3_b_iinumber
doubtfulDebtReserves_111_5_3_detail[].deniedReserve_20_1_lnumber
section111_4_c_dReceiver.statusstring
section111_4_c_dReceiver.preAocSchedule6Lossnumber
section111_4_c_dReceiver.rows[].propertyIdstring
section111_4_c_dReceiver.rows[].descriptionstring
section111_4_c_dReceiver.rows[].deemedDispositionAuthoritystring
section111_4_c_dReceiver.rows[].acbnumber
section111_4_c_dReceiver.rows[].fmvnumber
section111_4_c_dReceiver.rows[].deemedLossnumber
section111_4_c_dReceiver.rows[].acbAfterAocnumber
section111_4_c_dReceiver.rows[].postEventAcbnumber
section111_4_c_dReceiver.rows[].isActiveAssetboolean | null | string
section111_4_c_dReceiver.rows[].isForeignSourceboolean | null | string
section111_4_c_dReceiver.authoritystring
section111_4_c_dReceiver.postEventPropertyBasis[].propertyIdstring
section111_4_c_dReceiver.postEventPropertyBasis[].descriptionstring
section111_4_c_dReceiver.postEventPropertyBasis[].acbnumber
section111_4_c_dReceiver.postEventPropertyBasis[].fmvnumber
section111_4_c_dReceiver.postEventPropertyBasis[].postEventAcbnumber
section111_4_c_dReceiver.postEventPropertyBasis[].isDepreciablePropertyboolean
section111_4_c_dReceiver.postEventPropertyBasis[].basisAuthoritystring
section111_4_eReceiver.statusstring
section111_4_eReceiver.preAocSchedule6Gainnumber
section111_4_eReceiver.postEventPropertyBasis[].propertyIdstring
section111_4_eReceiver.postEventPropertyBasis[].descriptionstring
section111_4_eReceiver.postEventPropertyBasis[].propertyTypestring
section111_4_eReceiver.postEventPropertyBasis[].dateAcquiredstring
section111_4_eReceiver.postEventPropertyBasis[].foreignCurrencystring
section111_4_eReceiver.postEventPropertyBasis[].deemedDispositionAuthoritystring
section111_4_eReceiver.postEventPropertyBasis[].acbnumber
section111_4_eReceiver.postEventPropertyBasis[].fmvnumber
section111_4_eReceiver.postEventPropertyBasis[].designatedProceedsnumber
section111_4_eReceiver.postEventPropertyBasis[].deemedProceedsnumber
section111_4_eReceiver.postEventPropertyBasis[].deemedGainnumber
section111_4_eReceiver.postEventPropertyBasis[].reacquisitionCost_111_4_e_iinumber
section111_4_eReceiver.postEventPropertyBasis[].postEventAcbnumber
section111_4_eReceiver.postEventPropertyBasis[].capitalCostAfter_111_4_e_iii_13_7_fnumber
section111_4_eReceiver.postEventPropertyBasis[].deemedCcaPer111_4_e_iiinumber
section111_4_eReceiver.postEventPropertyBasis[].isActiveAssetboolean | null | string
section111_4_eReceiver.postEventPropertyBasis[].isForeignSourceboolean | null | string
section111_4_eReceiver.postEventPropertyBasis[].isListedPersonalPropertyboolean | null | string
section111_4_eReceiver.postEventPropertyBasis[].isForeignAffiliateShareboolean | null | string
section111_4_eReceiver.postEventPropertyBasis[].paragraph40_2_fAppliesboolean | null | string
section111_4_eReceiver.postEventPropertyBasis[].isDepreciablePropertyboolean
section111_4_eReceiver.preAocStubFilingReferencenull | string
section111_4_eReceiver.authoritystring
cdaTimingConsequence_111_4_f.authoritystring
cdaTimingConsequence_111_4_f.deemedTimestring
cdaTimingConsequence_111_4_f.inclusionRatenumber
cdaTimingConsequence_111_4_f.grossDeemedGain_111_4_enumber
cdaTimingConsequence_111_4_f.grossDeemedLoss_111_4_dnumber
cdaTimingConsequence_111_4_f.nonTaxableGainPortionnumber
cdaTimingConsequence_111_4_f.nonDeductibleLossPortionnumber
cdaTimingConsequence_111_4_f.netCdaAdjustmentnumber
cdaTimingConsequence_111_4_f.suppressedUnder_111_5_5_aboolean
cdaTimingConsequence_111_4_f.perProperty[].descriptionstring
cdaTimingConsequence_111_4_f.perProperty[].authoritystring
cdaTimingConsequence_111_4_f.perProperty[].amountnumber
cdaTimingConsequence_111_4_f.perProperty[].cdaPortionnumber
suppressedUnder_111_5_5_aboolean
suppressedUnder_111_5_5_bboolean
suppressedProvisionsUnder_111_5_5_b[]string
mainReasonIsToCauseProvisionToApply_111_5_5_bboolean | null
mainReasonTargetedProvision_111_5_5_bnull | string
warnings[].codeStable machine identity of the disclosure, independent of its prose.string
warnings[].severitystring
warnings[].messagestring
warnings[].sectionstring
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
Filemark | aoc cells